User’s Manual
32
V850ES/JG3-L (on-chip USB controller)
User’s Manual: Hardware
RENESAS MCU
V850ES/Jx3-L Microcontrollers
PD70F3794
PD70F3795
PD70F3796
All information contained in these materials, including products and product specifications,
represents information on the product at the time of publication and is subject to change by
Renesas Electronics Corp. without notice. Please review the latest information published by
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp.
website (http://www.renesas.com).
www.renesas.com
Rev.4.00
Mar 2014
Notice
1.
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.
2.
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.
3.
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.
4.
You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part.
Renesas Electronics assumes no responsibility for any losses incurred by you or third parties arising from such alteration,
modification, copy or otherwise misappropriation of Renesas Electronics product.
5.
Renesas Electronics products are classified according to the following two quality grades: “Standard” and “High Quality”. The
recommended applications for each Renesas Electronics product depends on the product’s quality grade, as indicated below.
“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 etc.
“High Quality”: Transportation equipment (automobiles, trains, ships, etc.); traffic control systems; anti-disaster systems; anticrime systems; and safety equipment etc.
Renesas Electronics products are neither intended nor authorized for use in products or systems that may pose a direct threat to
human life or bodily injury (artificial life support devices or systems, surgical implantations etc.), or may cause serious property
damages (nuclear reactor control systems, military equipment etc.). 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 for which it is not intended. 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 which the product is not intended by Renesas
Electronics.
6.
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.
7.
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 systems manufactured by
you.
8.
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.
9.
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. You should not use
Renesas Electronics products or 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. When exporting the Renesas
Electronics 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.
10. It is the responsibility of the buyer or distributor of Renesas Electronics products, who distributes, disposes of, or otherwise
places the product with a third party, to notify such third party in advance of the contents and conditions set forth in this
document, Renesas Electronics assumes no responsibility for any losses incurred by you or third parties as a result of
unauthorized use of Renesas Electronics products.
11. This document may not be reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas
Electronics.
12. Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document
or Renesas Electronics products, or if you have any other inquiries.
(Note 1) “Renesas Electronics” as 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.
(2012.4)
NOTES FOR CMOS DEVICES
1
VOLTAGE APPLICATION WAVEFORM AT INPUT PIN
Waveform distortion due to input noise or a reflected wave may cause malfunction. If the input of the
CMOS device stays in the area between VIL (MAX) and VIH (MIN) due to noise, etc., the device may
malfunction. Take care to prevent chattering noise from entering the device when the input level is fixed,
and also in the transition period when the input level passes through the area between VIL (MAX) and
VIH (MIN).
2
HANDLING OF UNUSED INPUT PINS
Unconnected CMOS device inputs can be cause of malfunction. If an input pin is unconnected, it is
possible that an internal input level may be generated due to noise, etc., causing malfunction. CMOS
devices behave differently than Bipolar or NMOS devices. Input levels of CMOS devices must be fixed
high or low by using pull-up or pull-down circuitry. Each unused pin should be connected to VDD or GND
via a resistor if there is a possibility that it will be an output pin. All handling related to unused pins must
be judged separately for each device and according to related specifications governing the device.
3
PRECAUTION AGAINST ESD
A 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 when it has occurred.
Environmental control must be
adequate. When it is dry, a humidifier should be used. It is recommended to avoid using insulators that
easily build up 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
benches and floors should be grounded.
The operator should be grounded using a wrist strap.
Semiconductor devices must not be touched with bare hands. Similar precautions need to be taken for
PW boards with mounted semiconductor devices.
4
STATUS BEFORE INITIALIZATION
Power-on does not necessarily define the initial status of a MOS device. Immediately after the power
source is turned ON, devices with reset functions have not yet been initialized. Hence, power-on does
not guarantee output pin levels, I/O settings or contents of registers. A device is not initialized until the
reset signal is received. A reset operation must be executed immediately after power-on for devices
with reset functions.
5
POWER ON/OFF SEQUENCE
In the case of a device that uses different power supplies for the internal operation and external
interface, as a rule, switch on the external power supply after switching on the internal power supply.
When switching the power supply off, as a rule, switch off the external power supply and then the
internal power supply. Use of the reverse power on/off sequences may result in the application of an
overvoltage to the internal elements of the device, causing malfunction and degradation of internal
elements due to the passage of an abnormal current.
The correct power on/off sequence must be judged separately for each device and according to related
specifications governing the device.
6
INPUT OF SIGNAL DURING POWER OFF STATE
Do not input signals or an I/O pull-up power supply while the device is not powered. The current
injection that results from input of such a signal or I/O pull-up power supply may cause malfunction and
the abnormal current that passes in the device at this time may cause degradation of internal elements.
Input of signals during the power off state must be judged separately for each device and according to
related specifications governing the device.
How to Use This Manual
Readers
This manual is intended for users who wish to understand the functions of the
V850ES/JG3-L and design application systems using these products.
Purpose
This manual is intended to give users an understanding of the hardware functions of the
V850ES/JG3-L shown in the Organization below.
Organization
This manual is divided into two parts: Hardware (this manual) and Architecture (V850ES
Architecture User’s Manual).
Hardware
How to Read This Manual
Architecture
Pin functions
Data types
CPU function
Register set
On-chip peripheral functions
Instruction format and instruction set
Flash memory programming
Interrupts and exceptions
Electrical specifications
Pipeline operation
It is assumed that the readers of this manual have general knowledge in the fields of
electrical engineering, logic circuits, and microcontrollers.
To understand the overall functions of the V850ES/JG3-L
Read this manual according to the CONTENTS.
To find the details of a register where the name is known
Use APPENDIX C REGISTER INDEX.
Register format
The name of the bit whose number is in angle brackets () in the figure of the register
format of each register is defined as a reserved word in the device file.
To understand the details of an instruction function
Refer to the V850ES Architecture User’s Manual available separately.
To know the electrical specifications of the V850ES/JG3-L
See CHAPTER 33
ELECTRICAL SPECIFICATIONS ( PD70F3794, 70F3795,
70F3796)
The “yyy bit of the xxx register” is described as the “xxx.yyy bit” in this manual. Note with
caution that if “xxx.yyy” is described as is in a program, however, the compiler/assembler
cannot recognize it correctly.
The mark shows major revised points. The revised points can be easily searched
by copying an “” in the PDF file and specifying it in the “Find what: ” field.
Conventions
Data significance:
Higher digits on the left and lower digits on the right
Active low representation:
xxx (overscore over pin or signal name)
Memory map address:
Higher addresses on the top and lower addresses on the
bottom
Note:
Footnote for item marked with Note in the text
Caution:
Information requiring particular attention
Remark:
Supplementary information
Numeric representation:
Binary ... xxxx or xxxxB
Decimal ... xxxx
Hexadecimal ... xxxxH
Prefix indicating power of 2 (address space, memory capacity):
K (kilo): 210 = 1,024
M (mega): 220 = 1,0242
G (giga): 230 = 1,0243
Related Documents
The related documents indicated in this publication may include preliminary versions.
However, preliminary versions are not marked as such.
Documents related to V850ES/JG3-L
Document Name
Document No.
V850ES Architecture User’s Manual
U15943E
V850ES/JG3-L (on-chip USB controller) Hardware User’s Manual
This manual
Documents related to development tools
Document Name
Document No.
QB-V850ESJX3L In-Circuit Emulator
To be prepared
QB-V850MINI, QB-V850MINIL On-Chip Debug Emulator
U17638E
QB-MINI2 On-Chip Debug Emulator with Programming Function
U18371E
CA850 Ver. 3.20 C Compiler Package
Operation
U18512E
C Language
U18513E
Assembly Language
U18514E
Link Directives
U18415E
PM+ Ver. 6.30 Project Manager
U18416E
ID850QB Ver. 3.40 Integrated Debugger
Operation
U18604E
SM850 Ver. 2.50 System Simulator
Operation
U16218E
SM850 Ver. 2.00 or Later System Simulator
External Part User Open
U14873E
Interface Specification
SM+ System Simulator
RX850 Ver. 3.20 Real-Time OS
RX850 Pro Ver. 3.21 Real-Time OS
Operation
U18601E
User Open Interface
U18212E
Basics
U13430E
Installation
U17419E
Technical
U13431E
Task Debugger
U17420E
Basics
U18165E
Installation
U17421E
Task Debugger
U17422E
AZ850 Ver. 3.30 System Performance Analyzer
U17423E
PG-FP5 Flash Memory Programmer
U18865E
Other Documents
Document Name
RENESAS MICROCOMPUTER GENERAL CATALOG
Document No.
R01CS0001E
Semiconductor Package Mount Manual
Note
Quality Grades on Renesas Semiconductor Devices
C11531E
Renesas Semiconductor Device Reliability/Quality Control
System
C10983E
Guide to Prevent Damage for Semiconductor Devices by
Electrostatic Discharge (ESD)
C11892E
Note See the “Semiconductor Package Mount Manual” website
(http://www.renesas.com/products/package/manual/index.jsp).
Caution
The related documents listed above are subject to change without notice.
Be sure to use the latest version of each document when designing.
Caution: This product uses SuperFlash® technology licensed from Silicon Storage Technology, Inc.
IECUBE is a registered trademark of Renesas Electronics Corporation in Japan and Germany.
MINICUBE is a registered trademark of Renesas Electronics Corporation in Japan and Germany or a trademark in
the United States of America.
EEPROM is a trademark of Renesas Electronics Corporation
Applilet is a registered trademark of Renesas Electronics in Japan, Germany, Hong Kong, China, the Republic of
Korea, the United Kingdom, and the United States of America.
Windows and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United
States and/or other countries.
SuperFlash is a registered trademark of Silicon Storage Technology, Inc. in several countries including the United
States and Japan.
PC/AT is a trademark of International Business Machines Corporation.
SPARCstation is a trademark of SPARC International, Inc.
Solaris and SunOS are trademarks of Sun Microsystems, Inc.
TRON is an abbreviation of The Realtime Operating System Nucleus.
ITRON is an abbreviation of Industrial TRON.
Table of Contents
CHAPTER 1 INTRODUCTION................................................................................................................. 21
1.1
General ..................................................................................................................................... 21
1.2
Features.................................................................................................................................... 23
1.3
Application Fields.................................................................................................................... 25
1.4
Ordering Information............................................................................................................... 25
1.5
Pin Configuration (Top View) ................................................................................................. 26
1.6
Function Block Configuration ................................................................................................ 30
1.6.1
Internal block diagram ....................................................................................................................30
1.6.2
Internal units...................................................................................................................................31
CHAPTER 2 PIN FUNCTIONS ............................................................................................................... 34
2.1
List of Pin Functions ............................................................................................................... 34
2.2
Pin States ................................................................................................................................. 44
2.3
Pin I/O Circuit Types, I/O Buffer Power Supplies, and Connection of Unused Pins ........ 45
2.4
Cautions ................................................................................................................................... 49
CHAPTER 3 CPU FUNCTION ................................................................................................................ 50
3.1
Features.................................................................................................................................... 50
3.2
CPU Register Set ..................................................................................................................... 51
3.2.1
Program register set.......................................................................................................................52
3.2.2
System register set ........................................................................................................................53
3.3
Operation Modes ..................................................................................................................... 59
3.4
Address Space......................................................................................................................... 60
3.4.1
CPU address space .......................................................................................................................60
3.4.2
Memory map ..................................................................................................................................61
3.4.3
Areas..............................................................................................................................................63
3.4.4
Wraparound of data space .............................................................................................................67
3.4.5
Recommended use of address space ............................................................................................67
3.4.6
Peripheral I/O registers ..................................................................................................................71
3.4.7
Special registers.............................................................................................................................82
3.4.8
Registers to be set first ..................................................................................................................86
3.4.9
Cautions.........................................................................................................................................87
CHAPTER 4 PORT FUNCTIONS ........................................................................................................... 89
4.1
Features.................................................................................................................................... 89
4.2
Basic Port Configuration ........................................................................................................ 89
4.3
Port Configuration ................................................................................................................... 90
4.3.1
Port 0 .............................................................................................................................................96
4.3.2
Port 1 ...........................................................................................................................................100
4.3.3
Port 3 ...........................................................................................................................................102
4.3.4
Port 4 ...........................................................................................................................................108
4.3.5
Port 5 ...........................................................................................................................................110
4.3.6
Port 7 ...........................................................................................................................................115
4.3.7
Port 9 ...........................................................................................................................................117
4.3.8
Port CM........................................................................................................................................125
4.3.9
Port CT.........................................................................................................................................127
4.3.10 Port DH ........................................................................................................................................129
4.3.11 Port DL.........................................................................................................................................131
4.4
Block Diagrams...................................................................................................................... 134
4.5
Port Register Settings When Alternate Function Is Used ................................................. 166
4.6
Cautions ................................................................................................................................. 174
4.6.1
Cautions on setting port pins........................................................................................................174
4.6.2
Cautions on bit manipulation instruction for port n register (Pn)...................................................177
4.6.3
Cautions on on-chip debug pins...................................................................................................178
4.6.4
Cautions on P05/INTP2/DRST pin ...............................................................................................178
4.6.5
Cautions on P10, P11, and P53 pins when power is turned on....................................................178
4.6.6
Hysteresis characteristics ............................................................................................................178
CHAPTER 5 BUS CONTROL FUNCTION .......................................................................................... 179
5.1
Features.................................................................................................................................. 179
5.2
Bus Control Pins.................................................................................................................... 180
5.2.1
Pin status when internal ROM, internal RAM, or on-chip peripheral I/O is accessed ...................180
5.2.2
Pin status in each operation mode ...............................................................................................180
5.3
Memory Block Function........................................................................................................ 181
5.4
Bus Access ............................................................................................................................ 182
5.5
5.4.1
Number of clock cycles required for access .................................................................................182
5.4.2
Bus size setting function ..............................................................................................................183
5.4.3
Access according to bus size .......................................................................................................184
Wait Function ......................................................................................................................... 191
5.5.1
Programmable wait function.........................................................................................................191
5.5.2
External wait function ...................................................................................................................192
5.5.3
Relationship between programmable wait and external wait........................................................193
5.5.4
Programmable address wait function ...........................................................................................194
5.6
Idle State Insertion Function ................................................................................................ 195
5.7
Bus Hold Function................................................................................................................. 196
5.7.1
Functional outline .........................................................................................................................196
5.7.2
Bus hold procedure ......................................................................................................................197
5.7.3
Operation in power save mode ....................................................................................................197
5.8
Bus Priority ............................................................................................................................ 198
5.9
Bus Timing ............................................................................................................................. 199
CHAPTER 6 CLOCK GENERATOR .................................................................................................... 203
6.1
Overview................................................................................................................................. 203
6.2
Configuration ......................................................................................................................... 204
6.3
Registers ................................................................................................................................ 207
6.4
6.5
6.6
Operations.............................................................................................................................. 213
6.4.1
Operation of each clock ...............................................................................................................213
6.4.2
Clock output function....................................................................................................................214
6.4.3
External clock signal input............................................................................................................214
PLL Function.......................................................................................................................... 214
6.5.1
Overview ......................................................................................................................................214
6.5.2
Registers......................................................................................................................................215
6.5.3
Usage...........................................................................................................................................219
How to Connect a Resonator ............................................................................................... 220
6.6.1
Main clock oscillator .....................................................................................................................220
6.6.2
Subclock oscillator .......................................................................................................................220
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP) ................................................................ 223
7.1
Overview................................................................................................................................. 223
7.2
Configuration ......................................................................................................................... 224
7.2.1
Pins used by TMPn ......................................................................................................................226
7.2.2
Interrupts......................................................................................................................................227
7.3
Registers ................................................................................................................................ 228
7.4
Operations.............................................................................................................................. 240
7.4.1
Interval timer mode (TPnMD2 to TPnMD0 bits = 000) .................................................................247
7.4.2
External event count mode (TPnMD2 to TPnMD0 bits = 001) .....................................................258
7.4.3
External trigger pulse output mode (TPnMD2 to TPnMD0 bits = 010) .........................................267
7.4.4
One-shot pulse output mode (TPnMD2 to TPnMD0 bits = 011) ...................................................279
7.4.5
PWM output mode (TPnMD2 to TPnMD0 bits = 100) ..................................................................287
7.4.6
Free-running timer mode (TPnMD2 to TPnMD0 bits = 101).........................................................296
7.4.7
Pulse width measurement mode (TPnMD2 to TPnMD0 bits = 110) .............................................312
7.4.8
Timer output operations ...............................................................................................................316
7.5
Selector................................................................................................................................... 317
7.6
Cautions ................................................................................................................................. 318
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)................................................................ 319
8.1
Functions................................................................................................................................ 319
8.2
Configuration ......................................................................................................................... 320
8.2.1
Pins used by TMQ0......................................................................................................................322
8.2.2
Interrupts......................................................................................................................................322
8.3
Registers ................................................................................................................................ 323
8.4
Operations.............................................................................................................................. 338
8.4.1
Interval timer mode (TQ0MD2 to TQ0MD0 bits = 000).................................................................345
8.4.2
External event count mode (TQ0MD2 to TQ0MD0 bits = 001).....................................................357
8.4.3
External trigger pulse output mode (TQ0MD2 to TQ0MD0 bits = 010).........................................367
8.4.4 One-shot pulse output mode (TQ0MD2 to TQ0MD0 bits = 011) ..................................................382
8.4.5 PWM output mode (TQ0MD2 to TQ0MD0 bits = 100)..................................................................392
8.4.6 Free-running timer mode (TQ0MD2 to TQ0MD0 bits = 101) ........................................................403
8.4.7 Pulse width measurement mode (TQ0MD2 to TQ0MD0 bits = 110) ............................................423
8.4.8 Timer output operations................................................................................................................428
8.5
Cautions ................................................................................................................................. 429
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM) ............................................................................ 430
9.1
Features.................................................................................................................................. 430
9.2
Configuration ......................................................................................................................... 431
9.3
Registers ................................................................................................................................ 432
9.4
Operation................................................................................................................................ 434
9.4.1
Interval timer mode ......................................................................................................................434
9.4.2
Cautions.......................................................................................................................................438
CHAPTER 10 WATCH TIMER.............................................................................................................. 439
10.1 Functions................................................................................................................................ 439
10.2 Configuration ......................................................................................................................... 440
10.3 Control Registers................................................................................................................... 442
10.4 Operation................................................................................................................................ 446
10.4.1 Watch timer operations ................................................................................................................446
10.4.2 Interval timer operations ..............................................................................................................447
10.5 Cautions ................................................................................................................................. 449
CHAPTER 11 REAL-TIME COUNTER................................................................................................. 450
11.1 Functions................................................................................................................................ 450
11.2 Configuration ......................................................................................................................... 451
11.2.1 Pin configuration ..........................................................................................................................453
11.2.2 Interrupt functions ........................................................................................................................453
11.3 Registers ................................................................................................................................ 454
11.4 Operation................................................................................................................................ 469
11.4.1 Initial settings ...............................................................................................................................469
11.4.2 Rewriting each counter during real-time counter operation..........................................................470
11.4.3 Reading each counter during real-time counter operation ...........................................................471
11.4.4 Changing INTRTC0 interrupt setting during real-time counter operation .....................................472
11.4.5 Changing INTRTC1 interrupt setting during real-time counter operation .....................................473
11.4.6 Initial INTRTC2 interrupt settings .................................................................................................474
11.4.7 Changing INTRTC2 interrupt setting during real-time counter operation .....................................475
11.4.8 Initializing real-time counter .........................................................................................................476
11.4.9 Watch error correction example of real-time counter ...................................................................477
CHAPTER 12 WATCHDOG TIMER 2 ................................................................................................. 481
12.1 Functions................................................................................................................................ 481
12.2 Configuration ......................................................................................................................... 482
12.3 Registers ................................................................................................................................ 483
12.4 Operation................................................................................................................................ 485
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)................................................................... 486
13.1 Function.................................................................................................................................. 486
13.2 Configuration ......................................................................................................................... 487
13.3 Registers ................................................................................................................................ 489
13.4 Operation................................................................................................................................ 491
13.5 Usage ...................................................................................................................................... 492
13.6 Cautions ................................................................................................................................. 492
CHAPTER 14 A/D CONVERTER ......................................................................................................... 493
14.1 Overview................................................................................................................................. 493
14.2 Functions................................................................................................................................ 493
14.3 Configuration ......................................................................................................................... 494
14.4 Registers ................................................................................................................................ 497
14.5 Operation................................................................................................................................ 508
14.5.1 Basic operation ............................................................................................................................508
14.5.2 Conversion timing ........................................................................................................................509
14.5.3 Trigger modes..............................................................................................................................510
14.5.4 Operation mode ...........................................................................................................................512
14.5.5 Power-fail compare mode ............................................................................................................518
14.6 Cautions ................................................................................................................................. 525
14.7 How to Read A/D Converter Characteristics Table............................................................ 530
CHAPTER 15 D/A CONVERTER ......................................................................................................... 534
15.1 Functions................................................................................................................................ 534
15.2 Configuration ......................................................................................................................... 535
15.3 Registers ................................................................................................................................ 536
15.4 Operation................................................................................................................................ 538
15.4.1 Operation in normal mode ...........................................................................................................538
15.4.2 Operation in real-time output mode..............................................................................................538
15.4.3 Cautions.......................................................................................................................................539
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA) ............................................. 540
16.1 Features.................................................................................................................................. 540
16.2 Configuration ......................................................................................................................... 541
16.2.1 Pin functions of each channel ......................................................................................................543
16.3 Mode Switching of UARTA and Other Serial Interfaces .................................................... 544
16.3.1 UARTA0 and CSIB4 mode switching...........................................................................................544
16.3.2 UARTA1 and I2C02 mode switching.............................................................................................545
16.3.3 UARTA2 and I2C00 mode switching.............................................................................................546
16.4 Registers ................................................................................................................................ 547
16.5 Interrupt Request Signals..................................................................................................... 554
16.6 Operation................................................................................................................................ 555
16.6.1 Data format ..................................................................................................................................555
16.6.2 UART transmission ......................................................................................................................557
16.6.3 Continuous transmission procedure.............................................................................................558
16.6.4 UART reception ...........................................................................................................................560
16.6.5 Reception errors ..........................................................................................................................562
16.6.6 Parity types and operations .........................................................................................................564
16.6.7 LIN transmission/reception format ...............................................................................................565
16.6.8 SBF transmission.........................................................................................................................567
16.6.9 SBF reception ..............................................................................................................................568
16.6.10 Receive data noise filter ............................................................................................................569
16.7 Dedicated Baud Rate Generator .......................................................................................... 570
16.8 Cautions ................................................................................................................................. 578
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC) ............................................. 579
17.1 Features.................................................................................................................................. 579
17.2 Configuration ......................................................................................................................... 580
17.2.1 Pin functions of each channel ......................................................................................................582
17.3 Mode Switching of UARTC and Other Serial Interfaces .................................................... 583
17.3.1 UARTC0 and CSIB1 mode switching...........................................................................................583
17.4 Registers ................................................................................................................................ 584
17.5 Interrupt Request Signals..................................................................................................... 593
17.6 Operation................................................................................................................................ 594
17.6.1 Data format ..................................................................................................................................594
17.6.2 UART transmission ......................................................................................................................596
17.6.3 Continuous transmission procedure.............................................................................................597
17.6.4 UART reception ...........................................................................................................................599
17.6.5 Reception errors ..........................................................................................................................601
17.6.6 Parity types and operations .........................................................................................................603
17.6.7 LIN transmission/reception format ...............................................................................................604
17.6.8 SBF transmission.........................................................................................................................606
17.6.9 SBF reception ..............................................................................................................................607
17.6.10 Receive data noise filter ............................................................................................................608
17.7 Dedicated Baud Rate Generator .......................................................................................... 609
17.8 Cautions ................................................................................................................................. 617
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)............................................................... 618
18.1 Features.................................................................................................................................. 618
18.2 Configuration ......................................................................................................................... 619
18.2.1 Pin functions of each channel ......................................................................................................620
18.3 Mode Switching of CSIB and Other Serial Interfaces ........................................................ 621
18.3.1 CSIB0 and I2C01 mode switching ................................................................................................621
18.3.2 CSIB4 and UARTA0 mode switching...........................................................................................622
18.4 Registers ................................................................................................................................ 623
18.5 Interrupt Request Signals..................................................................................................... 632
18.6 Operation................................................................................................................................ 633
18.6.1 Single transfer mode (master mode, transmission mode)............................................................633
18.6.2 Single transfer mode (master mode, reception mode) .................................................................635
18.6.3 Single transfer mode (master mode, transmission/reception mode) ............................................637
18.6.4 Single transfer mode (slave mode, transmission mode) ..............................................................639
18.6.5 Single transfer mode (slave mode, reception mode)....................................................................641
18.6.6 Single transfer mode (slave mode, transmission/reception mode)...............................................644
18.6.7 Continuous transfer mode (master mode, transmission mode)....................................................646
18.6.8 Continuous transfer mode (master mode, reception mode) .........................................................648
18.6.9 Continuous transfer mode (master mode, transmission/reception mode) ....................................651
18.6.10 Continuous transfer mode (slave mode, transmission mode) ....................................................655
18.6.11 Continuous transfer mode (slave mode, reception mode) .........................................................657
18.6.12 Continuous transfer mode (slave mode, transmission/reception mode) ....................................660
18.6.13 Reception errors ........................................................................................................................663
18.6.14 Clock timing ...............................................................................................................................664
18.7 Output Pins ............................................................................................................................ 666
18.8 Baud Rate Generator............................................................................................................. 667
18.8.1 Baud rate generation ...................................................................................................................668
18.9 Cautions ................................................................................................................................. 669
CHAPTER 19 I2C BUS .......................................................................................................................... 670
19.1 Mode Switching of I2C Bus and Other Serial Interfaces .................................................... 670
19.1.1 UARTA2 and I2C00 mode switching.............................................................................................670
19.1.2 CSIB0 and I2C01 mode switching ................................................................................................671
19.1.3 UARTA1 and I2C02 mode switching.............................................................................................672
19.2 Features.................................................................................................................................. 673
19.3 Configuration ......................................................................................................................... 674
19.4 Registers ................................................................................................................................ 678
19.5 I2C Bus Mode Functions........................................................................................................ 694
19.5.1 Pin configuration ..........................................................................................................................694
19.6 I2C Bus Definitions and Control Methods ........................................................................... 695
19.6.1 Start condition..............................................................................................................................695
19.6.2 Addresses....................................................................................................................................696
19.6.3 Transfer direction specification ....................................................................................................697
19.6.4 ACK .............................................................................................................................................698
19.6.5 Stop condition ..............................................................................................................................699
19.6.6 Wait state.....................................................................................................................................700
19.6.7 Wait state cancellation method ....................................................................................................702
19.7 I2C Interrupt Request Signals (INTIICn) ............................................................................... 703
19.7.1 Master device operation...............................................................................................................703
19.7.2 Slave device operation (when receiving slave address data (address match))............................706
19.7.3 Slave device operation (when receiving extension code).............................................................710
19.7.4 Operation without communication................................................................................................714
19.7.5 Operation when arbitration loss occurs (operation as slave after arbitration loss) .......................714
19.7.6 Operation when arbitration loss occurs (no communication after arbitration loss) .......................716
19.8 Interrupt Request Signal (INTIICn) Generation Timing and Wait Control........................ 723
19.9 Address Match Detection Method ....................................................................................... 725
19.10 Error Detection....................................................................................................................... 725
19.11 Extension Code...................................................................................................................... 725
19.12 Arbitration .............................................................................................................................. 726
19.13 Wakeup Function................................................................................................................... 727
19.14 Communication Reservation................................................................................................ 728
19.14.1 When communication reservation function is enabled (IICFn.IICRSVn bit = 0) .........................728
19.14.2 When communication reservation function is disabled (IICFn.IICRSVn bit = 1) ........................732
19.15 Cautions ................................................................................................................................. 733
19.16 Communication Operations ................................................................................................. 734
19.16.1 Master operation in single master system .................................................................................735
19.16.2 Master operation in multimaster system ....................................................................................736
19.16.3 Slave operation..........................................................................................................................739
19.17 Timing of Data Communication ........................................................................................... 742
CHAPTER 20 USB FUNCTION CONTROLLER (USBF) .................................................................. 749
20.1 Overview................................................................................................................................. 749
20.2 Configuration ......................................................................................................................... 750
20.2.1 Block diagram ..............................................................................................................................750
20.2.2 USB memory map .......................................................................................................................751
20.3 External Circuit Configuration ............................................................................................. 752
20.3.1 Outline .........................................................................................................................................752
20.3.2 Connection configuration .............................................................................................................753
20.4 Cautions ................................................................................................................................. 755
20.5 Requests................................................................................................................................. 756
20.5.1 Automatic requests ......................................................................................................................756
20.5.2 Other requests .............................................................................................................................763
20.6 Register Configuration.......................................................................................................... 764
20.6.1 USB control registers ...................................................................................................................764
20.6.2 USB function controller register list ..............................................................................................765
20.6.3 EPC control registers ...................................................................................................................781
20.6.4 Data hold registers.......................................................................................................................833
20.6.5 EPC request data registers..........................................................................................................856
20.6.6 Bridge register .............................................................................................................................871
20.6.7 DMA register................................................................................................................................875
20.6.8 Bulk-in register.............................................................................................................................879
20.6.9 Bulk-out register...........................................................................................................................880
20.6.10 Peripheral control registers........................................................................................................882
20.7 STALL Handshake or No Handshake .................................................................................. 886
20.8 Register Values in Specific Status....................................................................................... 887
20.9 FW Processing....................................................................................................................... 889
20.9.1 Initialization processing................................................................................................................891
20.9.2 Interrupt servicing ........................................................................................................................894
20.9.3 USB main processing ..................................................................................................................895
20.9.4 Suspend/Resume processing ......................................................................................................921
20.9.5 Processing after power application ..............................................................................................924
20.9.6 Receiving data for bulk transfer (OUT) in DMA mode..................................................................927
20.9.7 Transmitting data for bulk transfer (IN) in DMA mode..................................................................932
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER) ................................................................... 937
21.1 Features.................................................................................................................................. 937
21.2 Configuration ......................................................................................................................... 938
21.3 Registers ................................................................................................................................ 940
21.4 Transfer Sources and Destinations ..................................................................................... 948
21.5 Transfer Modes ...................................................................................................................... 948
21.6 Transfer Types ....................................................................................................................... 949
21.7 DMA Channel Priorities......................................................................................................... 950
21.8 Time Related to DMA Transfer ............................................................................................. 951
21.9 DMA Transfer Start Factors.................................................................................................. 952
21.10 DMA Abort Factors ................................................................................................................ 953
21.11 End of DMA Transfer ............................................................................................................. 953
21.12 Operation Timing ................................................................................................................... 953
21.13 Cautions ................................................................................................................................. 958
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION......................... 963
22.1 Features.................................................................................................................................. 963
22.2 Non-Maskable Interrupts ...................................................................................................... 967
22.2.1 Operation .....................................................................................................................................969
22.2.2 Restoration ..................................................................................................................................970
22.2.3 NP flag .........................................................................................................................................971
22.3 Maskable Interrupts............................................................................................................... 972
22.3.1 Operation .....................................................................................................................................972
22.3.2 Restoration ..................................................................................................................................974
22.3.3 Priorities of maskable interrupts...................................................................................................975
22.3.4 Interrupt control register (xxICn) ..................................................................................................979
22.3.5 Interrupt mask registers 0 to 3 (IMR0 to IMR3)............................................................................981
22.3.6 In-service priority register (ISPR) .................................................................................................983
22.3.7 ID flag ..........................................................................................................................................984
22.3.8 Watchdog timer mode register 2 (WDTM2) .................................................................................984
22.4 Software Exception ............................................................................................................... 985
22.4.1 Operation .....................................................................................................................................985
22.4.2 Restoration ..................................................................................................................................986
22.4.3 EP flag .........................................................................................................................................987
22.5 Exception Trap....................................................................................................................... 988
22.5.1 Illegal opcode...............................................................................................................................988
22.5.2 Debug trap ...................................................................................................................................990
22.6 Multiple Interrupt Servicing Control .................................................................................... 992
22.7 External Interrupt Request Input Pins (NMI, INTP0 to INTP7)........................................... 993
22.7.1 Noise elimination..........................................................................................................................993
22.7.2 Edge detection.............................................................................................................................993
22.8 Interrupt Response Time of CPU ......................................................................................... 999
22.9 Periods in Which Interrupts Are Not Acknowledged by CPU ......................................... 1000
22.10 Cautions ............................................................................................................................... 1000
22.10.1 Restored PC ............................................................................................................................1000
CHAPTER 23 KEY INTERRUPT FUNCTION ................................................................................... 1001
23.1 Function................................................................................................................................ 1001
23.2 Pin Functions ....................................................................................................................... 1002
23.3 Registers .............................................................................................................................. 1002
23.4 Cautions ............................................................................................................................... 1003
CHAPTER 24 STANDBY FUNCTION ................................................................................................ 1004
24.1 Overview............................................................................................................................... 1004
24.2 Registers .............................................................................................................................. 1006
24.3 HALT Mode........................................................................................................................... 1011
24.3.1 Setting and operation status ......................................................................................................1011
24.3.2 Releasing HALT mode...............................................................................................................1011
24.4 IDLE1 Mode .......................................................................................................................... 1013
24.4.1 Setting and operation status ......................................................................................................1013
24.4.2 Releasing IDLE1 mode ..............................................................................................................1014
24.5 IDLE2 Mode .......................................................................................................................... 1016
24.5.1 Setting and operation status ......................................................................................................1016
24.5.2 Releasing IDLE2 mode ..............................................................................................................1017
24.5.3 Securing setup time when releasing IDLE2 mode .....................................................................1019
24.6 STOP Mode/Low-Voltage STOP Mode............................................................................... 1020
24.6.1 Setting and operation status ......................................................................................................1020
24.6.2 Releasing STOP mode/low-voltage STOP mode.......................................................................1024
24.6.3 Re-setting after release of low-voltage STOP mode ..................................................................1025
24.6.4 Securing oscillation stabilization time when releasing STOP mode ...........................................1026
24.7 Subclock Operation Mode/Low-Voltage Subclock Operation Mode .............................. 1027
24.7.1 Setting and operation status ......................................................................................................1027
24.7.2 Releasing subclock operation mode ..........................................................................................1031
24.7.3 Releasing low-voltage subclock operation mode .......................................................................1031
24.8 Sub-IDLE Mode/Low-Voltage Sub-IDLE Mode.................................................................. 1032
24.8.1 Setting and operation status ......................................................................................................1032
24.8.2 Releasing sub-IDLE mode/low-voltage sub-IDLE mode ............................................................1035
24.9 RTC backup Mode ............................................................................................................... 1036
24.9.1 Registers....................................................................................................................................1036
24.9.2 RTC backup mode setting conditions ........................................................................................1038
24.9.3 RTC backup mode setting procedure ........................................................................................1039
CHAPTER 25 RESET FUNCTION...................................................................................................... 1046
25.1 Overview............................................................................................................................... 1046
25.2 Configuration ....................................................................................................................... 1047
25.3 Register to Check Reset Source ........................................................................................ 1048
25.4 Operation.............................................................................................................................. 1049
25.4.1 Reset operation via RESET pin .................................................................................................1049
25.4.2 Reset operation by watchdog timer 2.........................................................................................1052
25.4.3 Reset operation by low-voltage detector....................................................................................1054
25.4.4 Operation immediately after reset ends .....................................................................................1055
25.4.5 Reset function operation ............................................................................................................1057
25.5 Cautions ............................................................................................................................... 1058
CHAPTER 26 CLOCK MONITOR ...................................................................................................... 1059
26.1 Functions.............................................................................................................................. 1059
26.2 Configuration ....................................................................................................................... 1059
26.3 Registers .............................................................................................................................. 1060
26.4 Operation.............................................................................................................................. 1061
CHAPTER 27 LOW-VOLTAGE DETECTOR (LVI) ........................................................................... 1064
27.1 Functions.............................................................................................................................. 1064
27.2 Configuration ....................................................................................................................... 1064
27.3 Registers .............................................................................................................................. 1065
27.4 Operation.............................................................................................................................. 1067
27.4.1 To use for internal reset signal...................................................................................................1067
27.4.2 To use for interrupt ....................................................................................................................1068
CHAPTER 28 CRC FUNCTION.......................................................................................................... 1069
28.1 Functions.............................................................................................................................. 1069
28.2 Configuration ....................................................................................................................... 1069
28.3 Registers .............................................................................................................................. 1070
28.4 Operation.............................................................................................................................. 1071
28.5 Usage .................................................................................................................................... 1072
CHAPTER 29 REGULATOR ............................................................................................................... 1074
29.1 Outline .................................................................................................................................. 1074
29.2 Operation.............................................................................................................................. 1075
CHAPTER 30 OPTION BYTE............................................................................................................. 1076
30.1 Program Example ................................................................................................................ 1078
CHAPTER 31 FLASH MEMORY ........................................................................................................ 1079
31.1 Features................................................................................................................................ 1079
31.2 Memory Configuration ........................................................................................................ 1080
31.3 Functional Outline ............................................................................................................... 1081
31.4 Rewriting by Dedicated Flash Memory Programmer ....................................................... 1084
31.4.1 Programming environment.........................................................................................................1084
31.4.2 Communication mode ................................................................................................................1085
31.4.3 Interface.....................................................................................................................................1087
31.4.4 Flash memory control ................................................................................................................1092
31.4.5 Selection of communication mode .............................................................................................1093
31.4.6 Communication commands .......................................................................................................1094
31.4.7 Pin connection in on-board programming ..................................................................................1095
31.5 Rewriting by Self Programming ......................................................................................... 1099
31.5.1 Overview....................................................................................................................................1099
31.5.2 Features.....................................................................................................................................1100
31.5.3 Standard self programming flow ................................................................................................1101
31.5.4 Flash functions...........................................................................................................................1102
31.5.5 Pin processing ...........................................................................................................................1102
31.5.6 Internal resources used .............................................................................................................1103
CHAPTER 32 ON-CHIP DEBUG FUNCTION ................................................................................... 1104
32.1 Debugging with DCU ........................................................................................................... 1106
32.1.1 Connection circuit example........................................................................................................1106
32.1.2 Interface signals.........................................................................................................................1107
32.1.3 Mask function.............................................................................................................................1108
32.1.4 Registers....................................................................................................................................1109
32.1.5 Operation ...................................................................................................................................1110
32.1.6 Cautions.....................................................................................................................................1111
32.2 Debugging Without Using DCU.......................................................................................... 1112
32.2.1 Circuit connection examples ......................................................................................................1112
32.2.2 Mask function.............................................................................................................................1114
32.2.3 Allocation of user resources.......................................................................................................1115
32.2.4 Cautions.....................................................................................................................................1122
32.3 ROM Security Function....................................................................................................... 1123
32.3.1 Security ID .................................................................................................................................1123
32.3.2 Setting........................................................................................................................................1124
CHAPTER 33 ELECTRICAL SPECIFICATIONS ( PD70F3794, 70F3795, 70F3796) .................... 1125
33.1 Absolute Maximum Ratings ............................................................................................... 1125
33.2 Capacitance.......................................................................................................................... 1126
33.3 Operating Conditions .......................................................................................................... 1127
33.4 Oscillator Characteristics ................................................................................................... 1128
33.4.1 Main clock oscillator characteristics ...........................................................................................1128
33.4.2 Subclock oscillator characteristics .............................................................................................1132
33.4.3 PLL characteristics.....................................................................................................................1134
33.4.4 Internal oscillator characteristics ................................................................................................1134
33.5 Regulator Characteristics................................................................................................... 1135
33.6 DC Characteristics .............................................................................................................. 1136
33.6.1 Pin characteristics......................................................................................................................1136
33.6.2 Supply current characteristics....................................................................................................1138
33.6.3 Data retention characteristics (in STOP mode)..........................................................................1139
33.7 AC Characteristics .............................................................................................................. 1140
33.7.1 Measurement conditions............................................................................................................1140
33.7.2 CLKOUT output timing...............................................................................................................1141
33.7.3 Bus timing ..................................................................................................................................1142
33.7.4 Power on/power off/reset timing ................................................................................................1149
33.8 Peripheral Function Characteristics.................................................................................. 1150
33.8.1 Interrupt timing...........................................................................................................................1150
33.8.2 Key return timing........................................................................................................................1150
33.8.3 Timer timing ...............................................................................................................................1150
33.8.4 UART timing ..............................................................................................................................1151
33.8.5 CSIB timing................................................................................................................................1151
33.8.6 I2C bus mode .............................................................................................................................1153
33.8.7 A/D converter.............................................................................................................................1154
33.8.8 D/A converter.............................................................................................................................1155
33.8.9 LVI circuit characteristics ...........................................................................................................1155
33.8.10 RTC back-up mode characteristics..........................................................................................1156
33.9 Flash Memory Programming Characteristics................................................................... 1157
CHAPTER 34 PACKAGE DRAWINGS .............................................................................................. 1159
CHAPTER 35 RECOMMENDED SOLDERING CONDITIONS......................................................... 1161
APPENDIX A DEVELOPMENT TOOLS............................................................................................. 1163
A.1
Software Package ................................................................................................................ 1165
A.2
Language Processing Software ......................................................................................... 1165
A.3
Control Software.................................................................................................................. 1165
A.4
Debugging Tools (Hardware) ............................................................................................. 1166
A.4.1 When using IECUBE QB-V850ESJX3L ...................................................................................1166
A.4.2 When using MINICUBE QB-V850MINI ......................................................................................1169
A.4.3 When using MINICUBE2 QB-MINI2...........................................................................................1170
A.5
Debugging Tools (Software)............................................................................................... 1171
A.6
Embedded Software ............................................................................................................ 1172
A.7
Flash Memory Writing Tools .............................................................................................. 1173
APPENDIX B MAJOR DIFFERENCES BETWEEN PRODUCTS..................................................... 1174
APPENDIX C REGISTER INDEX ....................................................................................................... 1177
APPENDIX D INSTRUCTION SET LIST ........................................................................................... 1196
D.1
Conventions ......................................................................................................................... 1196
D.2
Instruction Set (in Alphabetical Order) ............................................................................. 1199
V850ES/JG3-L (on-chip USB controller)
RENESAS MCU
R01UH0001EJ0400
Rev.4.00
Mar 25, 2014
CHAPTER 1 INTRODUCTION
The V850ES/JG3-L is one of the products in the Renesas Electronics V850 single-chip microcontroller series designed
for low-power operation for real-time control applications.
1.1
General
The V850ES/JG3-L is a 32-bit single-chip microcontroller that includes the V850ES CPU core and peripheral functions
such as ROM/RAM, timer/counters, serial interfaces, an A/D converter, a D/A converter, USB function controller.
In addition to high real-time response characteristics and 1-clock-pitch basic instructions, the V850ES/JG3-L features
multiply instructions, saturated operation instructions, bit manipulation instructions, etc., realized by a hardware multiplier,
as optimum instructions for digital servo control applications. Moreover, as a real-time control system, the V850ES/JG3-L
enables an extremely high cost-performance for applications that require USB function controller, such as PC peripheral
device, ECR peripheral device, and industrial instrument.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 21 of 1210
V850ES/JG3-L
CHAPTER 1 INTRODUCTION
Table 1-1. V850ES/JG3-L Product List
Generic Name
Part Number
Internal Flash memory
memory RAM
Memory Logical space
space
External memory area
External bus interface
PD70F3794
256 KB
V850ES/JG3-L
PD70F3795
384 KB
40 KB
64 MB
13 MB
PD70F3796
512 KB
Address bus: 6
Address data bus: 16
Multiplexed bus mode
General-purpose register
32 bits 32 registers
Clock
Ceramic/crystal
(in PLL mode: fX = 2.5 to 6 MHz (multiplied by 4/8), in clock through mode: fX = 2.5 to 10 MHz)
External clock
(in PLL mode: fX = 2.5 to 6 MHz (multiplied by 4/8), in clock through mode: fX = 2.5 to 6 MHz
Crystal (fXT = 32.768 kHz)
Main clock
(oscillation frequency)
Subclock
(oscillation frequency)
Internal oscillator
fR = 220 kHz (TYP.)
Minimum instruction
execution time
50 ns (main clock (fXX) = 20 MHz: When USB is not used)
62.5 ns (main clock (fXX) = 16 MHz: When USB is used)
I/O: 80 (5 V tolerant/N-ch open-drain output selectable: 28)
I/O port
Timer
16-bit TMP
6 channels
16-bit TMQ
1 channel
16-bit TMM
1 channel
Watch timer
1 channel
RTC
1 channel
WDT
1 channel
Real-time output port
4 bits 1 channel, 2 bits 1 channel, or 6 bits 1 channel
10-bit A/D converter
12 channels
8-bit D/A converter
2 channels
Serial
interface
3 channels
CSIB
UARTA/CSIB
1 channel
2
CSIB/I C bus
1 channel
2
UARTA/I C bus
2 channels
UARTA
3 channels
UARTC
1 channel
USB function
DMA controller
Interrupt source External
1 channel
4 channels (transfer target: on-chip peripheral I/O, internal RAM, external memory)
Note
9 (9)
Internal
Power save function
55
HALT/IDLE1/IDLE2/STOP/subclock/sub-IDLE/
low-voltage STOP/low-voltage subclock/low-voltage sub-IDLE mode/RTC backup mode
Reset source
RESET pin input, watchdog timer 2 (WDT2), clock monitor (CLM), low-voltage detector (LVI)
CRC function
16-bit error detection code generated for 8-bit unit data
On-chip debug
MINICUBE, MINICUBE2 supported
Operating power supply voltage
2.0 V@2.5 MHz, 2.2 V@5 MHz, 2.7 V@20 MHz, 3.0 V to 3.6 V (USB operating)
Operating ambient temperature
40 to +85C
Package
100-pin LQFP (14 14 mm)
121-pin FBGA (8 8 mm)
Note The figure in parentheses indicates the number of external interrupts that can release the STOP mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 22 of 1210
V850ES/JG3-L
1.2
CHAPTER 1 INTRODUCTION
Features
Minimum instruction execution time: 50 ns (operating on main clock (fXX) of 20 MHz: VDD = 2.7 to 3.6 V)
(In PLL mode: 4 : 5 MHz)
62.5 ns (operating on main clock (fXX) of 16 MHz: VDD = 3.0 to 3.6 V)
(In PLL mode: 8, 1/3 : 6 MHz)
200 ns (operating on main clock (fXX) of 5 MHz: VDD = 2.2 to 3.6 V)
(In clock-through mode)
400 ns (operating on main clock (fXX) of 2.5 MHz: VDD = 2.0 to 3.6 V)
(In clock-through mode)
30.5 s (operating on subclock (fXT) of 32.768 kHz: VDD = 2.0 to 3.6 V)
General-purpose registers:
32 bits 32 registers
CPU features:
Signed multiplication (16 16 32): 1 to 2 clocks
Signed multiplication (32 32 64): 1 to 5 clocks
Saturated operations (overflow and underflow detection functions included)
Most instructions can be executed in 1 clock cycle by using 32-bit RISC-based 5-stage
pipeline architecture
Instruction fetching from internal ROM and accessing internal RAM for data can be
executed separately, by using Harvard architecture
High code efficiency achieved by using variable length instructions
32-bit shift instruction: 1 clock cycle
Bit manipulation instructions
Load/store instructions with long/short format
Memory space:
64 MB of linear address space (for programs and data)
External expansion: Up to 16 MB (including 1 MB used as internal ROM/RAM)
Internal memory:
RAM:
40 K (see Table 1-1)
Flash memory: 256 K/384 K/512 K (see Table 1-1)
External bus interface: Multiplexed bus mode
8/16 bit data bus sizing function
Wait function
Programmable wait function
External wait function
Idle state function
Bus hold function
Interrupts and exceptions:
maskable
Internal
Nonmaskable
total
maskable
external:
Nonmaskable
total
PD70F3794
1
54
55
1
8
9
PD70F3795
1
54
55
1
8
9
PD70F3796
1
54
55
1
8
9
Ports:
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Software exceptions:
32 sources
Exception trap:
2 sources
I/O ports:
80
Page 23 of 1210
V850ES/JG3-L
Timer function:
CHAPTER 1 INTRODUCTION
16-bit interval timer M (TMM):
1 channel
16-bit timer/event counter P (TMP): 6 channels
16-bit timer/event counter Q (TMQ): 1 channel
Watch timer:
1 channel
Watchdog timer: 1 channel
Real-time counter:
1 channel
Real-time output port:
6 bits 1 channel
Serial interface:
Asynchronous serial interface A (UARTA)
3-wire variable-length serial interface B (CSIB)
I2C bus interface (I2C)
UARTA/CSIB:
2
1 channel
UARTA/I C:
2 channels
CSIB/I2C:
1 channel
CSIB:
3 channels
UARTA:
3 channels
UARTC:
1 channel
USB function:
1 channel
A/D converter:
10-bit resolution:
12 channels
D/A converter:
8-bit resolution:
2 channels
DMA controller:
4 channels
DCU (debug control unit):
JTAG interface
Clock generator:
During main clock or subclock operation
7-level CPU clock (fXX, fXX/2, fXX/4, fXX/8, fXX/16, fXX/32, fXT)
Clock-through mode/PLL mode selectable
Internal oscillator clock:
220 kHz (TYP.)
Power-save functions:
HALT/IDLE1/IDLE2/STOP/low-voltage STOP/subclock/sub-IDLE/
low-voltage subclock/low-voltage sub-IDLE mode/RTC backup mode
Package:
100-pin plastic LQFP (fine pitch) (14 14)
121-pin plastic FBGA (8 8)
Power supply voltage:
VDD = 2.0 V to 3.6 V (2.5 MHz)
VDD = 2.2 V to 3.6 V (5 MHz)
VDD = 2.7 V to 3.6 V (20 MHz)
VDD = 3.0 V to 3.6 V (USB operating)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 24 of 1210
V850ES/JG3-L
1.3
CHAPTER 1 INTRODUCTION
Application Fields
Equipment requiring a USB interfaces such as PC peripheral device, ECR peripheral device (bar code scanner, IC card
reader/writer, printer, etc), industrial instrument, etc
.
1.4
Ordering Information
Part Number
Package
Internal Flash Memory
PD70F3794GC-UEU-AX
PD70F3795GC-UEU-AX
PD70F3796GC-UEU-AX
PD70F3794F1-CAH-A
PD70F3795F1-CAH-A
PD70F3796F1-CAH-A
100-pin plastic LQFP (fine pitch) (14 14)
256 KB
100-pin plastic LQFP (fine pitch) (14 14)
384 KB
100-pin plastic LQFP (fine pitch) (14 14)
512 KB
121-pin plastic FBGA (8 8 )
256 KB
121-pin plastic FBGA (8 8 )
384 KB
121-pin plastic FBGA (8 8 )
512 KB
Remark
The V850ES/JG3-L is a lead-free product.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 25 of 1210
V850ES/JG3-L
1.5
CHAPTER 1 INTRODUCTION
Pin Configuration (Top View)
100-pin plastic LQFP (fine pitch) (14 14)
PD70F3795GC-UEU-AX
PD70F3796GC-UEU-AX
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
P70/ANI0
P71/ANI1
P72/ANI2
P73/ANI3
P74/ANI4
P75/ANI5
P76/ANI6
P77/ANI7
P78/ANI8
P79/ANI9
P710/ANI10
P711/ANI11
PDH1/A17
PDH0/A16
PDL15/AD15
PDL14/AD14
PDL13/AD13
PDL12/AD12
PDL11/AD11
PDL10/AD10
PDL9/AD9
PDL8/AD8
PDL7/AD7
PDL6/AD6
PDL5/AD5/FLMD1
PD70F3794GC-UEU-AX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
PDL4/AD4
PDL3/AD3
PDL2/AD2
PDL1/AD1
PDL0/AD0
EVDD
EVSS
PCT6/ASTB
PCT4/RD
PCT1/WR1
PCT0/WR0
PCM3/HLDRQ
PCM2/HLDAK
PCM1/CLKOUT
PCM0/WAIT
PDH3/A19
PDH2/A18
P915/INTP6/TIP50/TOP50
P914/INTP5/TIP51/TOP51
P913/INTP4
P912/SCKB3
P911/SOB3
P910/SIB3
P99/SCKB1
P98/SOB1
P31/RXDA0/INTP7/SIB4
P32/ASCKA0/SCKB4/TIP00/TOP00
UDMF
UDPF
UVDD
P36/TXDA3
P37/RXDA3
EVSS
EVDD
P38/TXDA2/SDA00
P39/RXDA2/SCL00
P50/TIQ01/KR0/TOQ01/RTP00
P51/TIQ02/KR1/TOQ02/RTP01
P52/TIQ03/KR2/TOQ03/RTP02/DDI
P53/SIB2/KR3/TIQ00/TOQ00/RTP03/DDO
P54/SOB2/KR4/RTP04/DCK
P55/SCKB2/KR5/RTP05/DMS
P90/KR6/TXDA1/SDA02
P91/KR7/RXDA1/SCL02
P92/TIP41/TOP41/TXDA4
P93/TIP40/TOP40RXDA4
P94/TIP31/TOP31/TXDA5
P95/TIP30/TOP30/RXDA5
P96/TXDC0/TIP21/TOP21
P97/SIB1/RXDC0/TIP20/TOP20
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
AVREF0
AVSS
P10/ANO0
P11/ANO1
AVREF1
PDH4/A20
P02/NMI/A21
FLMD0Note 1
VDD
REGCNote 2
VSS
X1
X2
RESET
XT1
XT2
RVDD
P03/INTP0/ADTRG/UCLK/RTC1HZ
P04/INTP1/RTCDIV/RTCCL
P05/INTP2/DRST
P06/INTP3
P40/SIB0/SDA01
P41/SOB0/SCL01
P42/SCKB0
P30/TXDA0/SOB4
Notes 1. The FLMD0 pin is used in flash programming. Connect this pin to VSS in the normal operation mode.
2. Connect the REGC pin to VSS via a 4.7 F (recommended value) capacitor.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 26 of 1210
V850ES/JG3-L
CHAPTER 1 INTRODUCTION
121-pin plastic FBGA (8 8)
PF70F3794F1-CAH-A
PF70F3795F1-CAH-A
PF70F3796F1-CAH-A
Top View
Bottom View
11
10
9
8
7
6
5
4
3
2
1
A B C D E F G H J K L
L K J H G F E D C B A
Index mark
Index mark
(1/2)
Pin No.
Pin Name
Pin No.
Pin Name
Pin No.
Pin Name
Note 1
A1
AVREF0
C1
AVSS
E1
REGC
A2
AVREF0
C2
AVSS
E2
REGCNote 1
A3
P70/ANI0
C3
P72/ANI2
E3
P10/ANO0
A4
P74/ANI4
C4
P76/ANI6
E4
P11/ANO1
A5
P78/ANI8
C5
P710/ANI10
E5
EVSS
A6
EVSS
C6
PDH0/A16
E6
EVSS
A7
PDL11/AD11
C7
PDL13/AD13
E7
EVSS
A8
PDL8/AD8
C8
PDL10/AD10
E8
PCT0/WR0
A9
PDL6/AD6
C9
PDL2/AD2
E9
PCM3/HLDRQ
A10
PDL5/AD5/FLMD1
C10
PDL1/AD1
E10
PCM2/HLDAK
A11
EVDD
C11
PDL0/AD0
E11
EVSS
B1
AVREF0
D1
VDD
F1
X1
B2
AVREF1
D2
RVDD
F2
X2
B3
P71/ANI1
D3
P73/ANI3
F3
FLMD0Note 2
B4
P75/ANI5
D4
P77/ANI7
F4
PDH4/A20
B5
P79/ANI9
D5
P711/ANI11
F5
EVSS
B6
PDL15/AD15
D6
PDH1/A17
F6
EVSS
B7
PDL12/AD12
D7
PDL14/AD14
F7
EVSS
B8
PDL9/AD9
D8
PCT6/ASTB
F8
PDH3/A19
B9
PDL7/AD7
D9
PCT4/RD
F9
PDH2/A18
B10
PDL4/AD4
D10
PCT1/WR1
F10
PCM1/CLKOUT
B11
PDL3/AD3
D11
EVDD
F11
PCM0/WAIT
Notes 1. Connect the E1 and E2 pins by using the shortest possible pattern and connect them to VSS via a 4.7 F
(recommended value) capacitor.
2. The FLMD0 pin is used in flash programming. Connect this pin to VSS in the normal operation mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 27 of 1210
V850ES/JG3-L
CHAPTER 1 INTRODUCTION
(2/2)
Pin No.
Pin Name
Pin No.
Pin Name
Pin No.
Pin Name
G1
VSS
H9
P911/SOB3
K6
UVDD
G2
VSS
H10
P910/SIB3
K7
P51/TIQ02/KR1/TOQ02/RTP01
G3
P03/INTP0/ADTRG/UCLK/
H11
P99/SCKB1
K8
P54/SOB2/KR4/RTP04/DCK
J1
VSS
K9
P92/TIP41/TOP41/TXDA4
K10
P95/TIP30/TOP30/RXDA5
RTC1HZ
G4
PDH5/NMI/A21
Note
G5
EVSS
J2
IC
G6
EVSS
J3
P05/INTP2/DRST
K11
P96/TXDC0/TIP21/TOP21
G7
EVSS
J4
P06/INTP3
L1
EVSS
G8
P915/INTP6/TIP50/TOP50
J5
EVSS
L2
P42/SCKB0
G9
P914/INTP5/TIP51/TOP51
J6
P37/RXDA3
L3
P30/TXDA0/SOB4
G10
P913/INTP4
J7
P52/TIQ03/KR2/TOQ03
L4
P32/ASCKA0/SCKB4/TIP00
/RTP02/DDI
/TOP00
G11
P912/SCKB3
J8
P55/SCKB2/KR5/RTP05/DMS
L5
EVSS
H1
XT1
J9
P93/TIP40/TOP40/RXDA4
L6
EVDD
H2
XT2
J10
P98/SOB1
L7
P50/TIQ01/KR0/TOQ01/RTP00
H3
RESET
J11
P97/SIB1/RXDC0/TIP20/
L8
P53/SIB2/KR3/TIQ00/TOQ00
TOP20
/RTP03/DDO
H4
P04/INTP1/RTCDIV/RTCCL
K1
P40/SIB0/SDA01
L9
P91/KR7/RXDA1/SCL02
H5
P36/TXDA3
K2
P41/SOB0/SCL01
L10
P94/TIP31/TOP31/TXDA5
H6
P38/TXDA2/SDA00
K3
P31/RXDA0/INTP7/SIB4
L11
EVDD
H7
P39/RXDA2/SCL00
K4
UDMF
H8
P90/KR6/TXDA1/SDA02
K5
UDPF
Note
Be sure to open.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 28 of 1210
V850ES/JG3-L
CHAPTER 1 INTRODUCTION
Pin functions
A16 to A21:
Address bus
RTC1HZ,
AD0 to AD15:
Address/data bus
RTCCL, RTCDIV
ADTRG:
A/D trigger input
RTP00 to RTP05:
Real-time output port
ANI0 to ANI11:
Analog input
RVDD
Power Supply for RTC
ANO0, ANO1:
Analog output
RXDA0 to RXDA5:
Receive data
ASCKA0:
Asynchronous serial clock
RXDC0:
ASTB:
Address strobe
SCKB0 to SCKB4:
Serial clock
AVREF0, AVREF1:
Analog reference voltage
SCL00 to SCL02:
Serial clock
AVSS:
Analog VSS
SDA00 to SDA02:
Serial data
CLKOUT:
Clock output
SIB0 to SIB4:
Serial input
DCK:
Debug clock
SOB0 to SOB4:
Serial output
DDI:
Debug data input
TIP00,
Timer input
DDO:
Debug data output
TIP20, TIP21,
DMS:
Debug mode select
TIP30, TIP31,
DRST:
Debug reset
TIP40, TIP41,
EVDD:
Power supply for external pin
TIP50, TIP51,
EVSS:
Ground for external pin
TIQ00 to TIQ03:
FLMD0, FLMD1:
Flash programming mode
TOP00,
HLDAK:
Hold acknowledge
TOP20, TOP21,
HLDRQ:
Hold request
TOP30, TOP31,
IC:
Internal Connected
TOP40, TOP41,
INTP0 to INTP7:
External interrupt input
TOP50, TOP51,
KR0 to KR7:
Key return
TOQ00 to TOQ03:
NMI:
Non-maskable interrupt request
TXDA0 to TXDA5:
P02 to P06:
Port 0
TXDC0:
P10, P11:
Port 1
UCLK:
USB clock
P30 to P32:
Port 3
UDMF:
USB data I/O () function
Real-time Counter Clock Output
Timer output
Transmit data
UDPF:
USB data I/O (+) function
P40 to P42:
Port 4
UVDD:
Power supply for external USB
P50 to P55:
Port 5
VDD:
Power supply
P70 to P711:
Port 7
VSS:
Ground
P90 to P915:
Port 9
WAIT:
Wait
PCM0 to PCM3:
Port CM
WR0:
Lower byte write strobe
P36 to P39
WR1:
Upper byte write strobe
PCT4, PCT6:
Port CT
X1, X2:
Crystal for main clock
PDH0 to PDH4
Port DH
XT1, XT2:
Crystal for subclock
PDL0 to PDL15:
Port DL
RD:
Read strobe
REGC:
Regulator control
RESET:
Reset
PCT0, PCT1,
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 29 of 1210
V850ES/JG3-L
1.6
CHAPTER 1 INTRODUCTION
Function Block Configuration
1.6.1
Internal block diagram
Timer/counter function
TIP00, TIP20 to TIP50,
TIP21 to TIP51
TOP00, TOP20 to TOP50,
TOP21 to TOP51
TIQ00 to TIQ03
TOQ00 to TOQ03
16-bit timer/
event counter P:
5 ch
ROM
RAM
Note 1
Note 2
DMA
CPU
PC
16-bit timer/
event counter Q:
1 ch
Multiplier
16 × 16 → 32
16-bit interval
timer M:
1 ch
HLDRQ
System
registers
ALU
HLDAK
32-bit barrel
shifter
ASTB
RD
BCU
WR0, WR1
General-purpose
registers 32 bits × 32
Watchdog
timer 2: 1ch
A16 to A21
AD0 to AD15
Watch timer:
1ch
RTO : 1 ch
Serial interface function
SOB0 to SOB4
SIB0 to SIB4
SCKB0 to SCKB4
SDA00 to SDA02
CSIB: 5 ch
I2C: 3 ch
D/A
converter
A/D
converter
ADTRG
AVREF0
AVSS
ANI0 to ANI11
RTP00 to RTP05
Ports
ANO0, ANO1
AVREF1
Real-time
counter:
1 ch
PCM0 to PCM3
PCT0, PCT1, PCT4, PCT6
PDH0 to PDH4
PDL0 to PDL15
P90 to P915
P70 to P711
P50 to P55
P40 to P42
P30 to P32, P36 to P39
P10, P11
P02 to P06
RTC1HZ
RTCCL
RTCDIV
WAIT
CLKOUT
X1
X2
XT1
XT2
RESET
PLL
CG
Internal
oscillator
CLM
LVI
Regulator
VDD
VSS
REGC
SCL00 to SCL02
Interrupt function
TXDA0 to TXDA5
RXDA0 to RXDA5
ASCKA0
UARTA:
6 ch
TXDC0
RXDC0
UARTC:
1 ch
INTC
Key interrupt
function
Regulator
INTP0 to INTP7
KR0 to KR7
Debug function
DRST
UDMF
UDPF
Flash
controller
FLMD0
FLMD1
DMS
USB function
DCU
CRC
RVDD
NMI
DDI
UVDD
DCK
EVDD
DDO
EVSS
PD70F3794: 256 KB
PD70F3795: 384 KB
PD70F3796: 512 KB
2. PD70F3794, 70F3795, 70F3796: 40 KB
Notes1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 30 of 1210
V850ES/JG3-L
1.6.2
CHAPTER 1 INTRODUCTION
Internal units
(1) CPU
The CPU uses five-stage pipeline control to enable single-clock execution of address calculations, arithmetic logic
operations, data transfers, and almost all other instruction processing.
Other dedicated on-chip hardware, such as a multiplier (16 bits 16 bits 32 bits) and a barrel shifter (32 bits)
contribute to faster complex processing.
(2) Bus control unit (BCU)
The BCU starts a required external bus cycle based on the physical address obtained by the CPU. When an
instruction is fetched from external memory space and the CPU does not send a bus cycle start request, the BCU
generates a prefetch address and prefetches the instruction code. The prefetched instruction code is stored in an
instruction queue.
(3) Flash memory (ROM)
This is a 512 K/384 K/256 KB flash memory mapped to addresses 0000000H to 007FFFFH/0000000H to
005FFFFH/0000000H to 003FFFFH.
It can be accessed from the CPU in one clock during instruction fetch.
(4) RAM
This is a 40 KB RAM mapped to addresses 3FF5000H to 3FFEFFFH. It can be accessed from the CPU in one
clock during data access.
(5) Interrupt controller (INTC)
This controller handles hardware interrupt requests (NMI, INTP0 to INTP7) from on-chip peripheral hardware and
external hardware. Eight levels of interrupt priorities can be specified for these interrupt requests, and multiplexed
interrupt servicing control can be performed.
(6) Clock generator (CG)
A main clock oscillator and subclock oscillator are provided and generate the main clock oscillation frequency (fX)
and subclock frequency (fXT), respectively. There are two modes: In the clock-through mode, fX is used as the main
clock frequency (fXX) as is. In the PLL mode, fX is used multiplied by 4.
The CPU clock frequency (fCPU) can be selected from among fXX, fXX/2, fXX/4, fXX/8, fXX/16, fXX/32, and fXT.
(7) Internal oscillator
An internal oscillator is provided on chip. The oscillation frequency is 220 kHz (TYP). The internal oscillator
supplies the clock for watchdog timer 2 and timer M.
(8) Timer/counter
Six-channel 16-bit timer/event counter P (TMP), one-channel 16-bit timer/event counter Q (TMQ), and one-channel
16-bit interval timer M (TMM), are provided on chip.
(9) Watch timer
This timer counts the reference time period (0.5 s) for counting the clock (the 32.768 kHz subclock or the 32.768
kHz fBRG clock from the prescaler). The watch timer can also be used as an interval timer based on the main clock.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 31 of 1210
V850ES/JG3-L
CHAPTER 1 INTRODUCTION
(10) Real-time counter (for watch)
The real-time counter counts the reference time (one second) for watch counting based on the subclock (32.768
kHz) or main clock. This can simultaneously be used as the interval timer based on the main clock. Hardware
counters dedicated to year, month, day of week, day, hour, minute, and second are provided, and can count up to
99 years.
(11) Watchdog timer 2
A watchdog timer is provided on chip to detect inadvertent program loops, system abnormalities, etc.
The internal oscillator clock, the main clock, or the subclock can be selected as the source clock.
Watchdog timer 2 generates a non-maskable interrupt request signal (INTWDT2) or a system reset signal
(WDT2RES) after an overflow occurs.
(12) Serial interface
The V850ES/JG3-L includes three kinds of serial interfaces: asynchronous serial interface A (UARTA), 3-wire
variable-length serial interface B (CSIB), and an I2C bus interface (I2C), USB function controller (USBF).
In the case of UARTA, data is transferred via the TXDA0 to TXDA2 pins and RXDA0 to RXDA2 pins.
In the case of CSIB, data is transferred via the SOB0 to SOB4 pins, SIB0 to SIB4 pins, and SCKB0 to SCKB4
pins.
In the case of I2C, data is transferred via the SDA00 to SDA02 and SCL00 to SCL02 pins.
In the case of USBF, data is transferred via the UDMF and UDPF pins.
(13) A/D converter
This 10-bit A/D converter includes 12 analog input pins.
Conversion is performed using the successive
approximation method.
(14) D/A converter
A two-channel, 8-bit-resolution D/A converter that uses the R-2R ladder method is provided on chip.
(15) DMA controller
A 4-channel DMA controller is provided on chip. This controller transfers data between the internal RAM and onchip peripheral I/O devices in response to interrupt requests sent by on-chip peripheral I/O.
(16) Key interrupts function
A key interrupt request signal (INTKR) can be generated by inputting a falling edge to the key input pins (8
channels).
(17) Real-time output function
The real-time output function transfers preset 6-bit data to output latches upon the occurrence of a timer compare
register match signal.
(18) CRC function
A CRC operation circuit that generates a 16-bit CRC (Cyclic Redundancy Check) code upon the setting of 8-bit
data is provided on-chip.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 32 of 1210
V850ES/JG3-L
CHAPTER 1 INTRODUCTION
(19) DCU (debug control unit)
An on-chip debug function that uses the JTAG (Joint Test Action Group) communication specifications is provided.
Switching between the normal port function and on-chip debugging function is done with the control pin input
level and the OCDM register.
(20) Ports
The following general-purpose port functions and control pin functions are available.
Table 1-2. Port Functions
Port
I/O
Alternate Function
P0
5-bit I/O
NMI, external interrupt, A/D converter trigger, debug reset, real-time counter output
P1
2-bit I/O
D/A converter analog output
P3
7-bit I/O
External interrupt, serial interface, timer I/O
P4
3-bit I/O
Serial interface
P5
6-bit I/O
Timer I/O, real-time output, key interrupt input, serial interface, debug I/O
P7
12-bit I/O
A/D converter analog input
P9
16-bit I/O
Serial interface, key interrupt input, timer I/O, external interrupt
PCM
4-bit I/O
External control signal
PCT
4-bit I/O
External control signal
PDH
5-bit I/O
External address bus
PDL
16-bit I/O
External address/data bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 33 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
CHAPTER 2 PIN FUNCTIONS
2.1
List of Pin Functions
The functions of the pins in the V850ES/JG3-L are described below.
There are four types of pin I/O buffer power supplies: AVREF0, AVREF1, EVDD, and UVDD. The relationship between these
power supplies and the pins is described below.
Table 2-1. Pin I/O Buffer Power Supplies
Power Supply
Corresponding Pins
AVREF0
Port 7
AVREF1
Port 1
EVDD
RESET, ports 0, 3 to 5, 9, CM, CT, DH, DL, FLMD0
UVDD
UDMF, UDPF
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 34 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(1) Port functions
(1/3)
Function
P02
P03
Pin No.
GC
F1
7
G4
18
P04
I/O
H4
20
J3
P06
21
J4
P10
3
E3
P05
Port 0 (refer to 4.3.1)
5-bit I/O port
G3
19
Note
I/O
Description
Input/output can be specified in 1-bit units.
N-ch open-drain output can be specified in 1-bit units.
5 V tolerant.
Alternate Function
NMI/A21
INTP0/ADTRG/UCLK/RTC1HZ
INTP1/RTCDIV/RTCCL
INTP2/DRST
INTP3
I/O
Port 1 (refer to 4.3.2)
ANO0
2-bit I/O port
P11
4
E4
P30
25
L3
P31
26
K3
P32
27
L4
P36
31
H5
P37
32
J6
RXDA3
P38
35
H6
TXDA2/SDA00
P39
36
H7
RXDA2/SCL00
P40
22
K1
Input/output can be specified in 1-bit units.
I/O
Port 3 (refer to 4.3.3)
7-bit I/O port
Input/output can be specified in 1-bit units.
ANO1
TXDA0/SOB4
RXDA0/INTP7/SIB4
N-ch open-drain output can be specified in 1-bit units. ASCKA0/SCKB4/TIP00/TOP00
TXDA3
5 V tolerant.
I/O
Port 4 (refer to 4.3.4)
SIB0/SDA01
3-bit I/O port
P41
23
Input/output can be specified in 1-bit units.
K2
SOB0/SCL01
N-ch open-drain output can be specified in 1-bit units.
P42
24
L2
P50
37
L7
P51
38
5 V tolerant.
I/O
K7
Port 5 (refer to 4.3.5)
6-bit I/O port
Input/output can be specified in 1-bit units.
SCKB0
TIQ01/KR0/TOQ01/RTP00
TIQ02/KR1/TOQ02/RTP01
P52
39
J7
P53
40
L8
P54
41
K8
SOB2/KR4/RTP04/DCK
P55
42
J8
SCKB2/KR5/RTP05/DMS
Note
Remark
N-ch open-drain output can be specified in 1-bit units. TIQ03/KR2/TOQ03/RTP02/DDI
SIB2/KR3/TIQ00/TOQ00/RTP03/DDO
5 V tolerant.
Incorporates a pull-down resistor. It can be disconnected by clearing the OCDM.OCDM0 bit to 0.
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 35 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(2/3)
Function
P70
P71
Pin No.
GC
F1
100
A3
99
I/O
I/O
Description
Port 7 (refer to 4.3.6)
12-bit I/O port
B3
Input/output can be specified in 1-bit units.
Alternate Function
ANI0
ANI1
P72
98
C3
P73
97
D3
ANI3
P74
96
A4
ANI4
P75
95
B4
ANI5
P76
94
C4
ANI6
P77
93
D4
ANI7
P78
92
A5
ANI8
P79
91
B5
ANI9
P710
90
C5
ANI10
P711
89
D5
ANI11
P90
43
H8
I/O
Port 9 (refer to 4.3.7)
16-bit I/O port
ANI2
KR6/TXDA1/SDA02
P91
44
L9
P92
45
K9
P93
46
J9
P94
47
L10
TIP31/TOP31/TXDA5
P95
48
K10
TIP30/TOP30/RXDA5
P96
49
K11
TXDC0/TIP21/TOP21
P97
50
J11
SIB1/RXDC0 /TIP20/TOP20
P98
51
J10
SOB1
P99
52
H11
SCKB1
P910
53
H10
SIB3
P911
54
H9
SOB3
P912
55
G11
SCKB3
P913
56
G10
INTP4
Input/output can be specified in 1-bit units.
KR7/RXDA1/SCL02
N-ch open-drain output can be specified in 1-bit units. TIP41/TOP41/TXDA4
TIP40/TOP40/RXDA4
5 V tolerant.(P90 to P96)
P914
57
G9
INTP5/TIP51/TOP51
P915
58
G8
INTP6/TIP50/TOP50
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 36 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(3/3)
Function
PCM0
Pin No.
GC
F1
61
F11
PCM1
62
F10
PCM2
63
E10
PCM3
64
E9
PCT0
65
E8
Description
I/O
I/O
Port CM (refer to 4.3.8)
4-bit I/O port
Input/output can be specified in 1-bit units.
Alternate Function
WAIT
CLKOUT
HLDAK
HLDRQ
I/O
Port CT (refer to 4.3.9)
4-bit I/O port
WR0
PCT1
66
D10
PCT4
67
D9
RD
PCT6
68
D8
ASTB
PDH0
87
C6
Input/output can be specified in 1-bit units.
I/O
Port DH (refer to 4.3.10)
5-bit I/O port
WR1
A16
PDH1
88
D6
PDH2
59
F9
A18
PDH3
60
F8
A19
PDH4
6
F4
PDL0
71
C11
Input/output can be specified in 1-bit units.
A17
A20
I/O
Port DL (refer to 4.3.11)
16-bit I/O port
AD0
PDL1
72
C10
PDL2
73
C9
AD2
PDL3
74
B11
AD3
PDL4
75
B10
AD4
PDL5
76
A10
AD5/FLMD1
PDL6
77
A9
AD6
PDL7
78
B9
AD7
PDL8
79
A8
AD8
Input/output can be specified in 1-bit units.
AD1
PDL9
80
B8
AD9
PDL10
81
C8
AD10
PDL11
82
A7
AD11
PDL12
83
B7
AD12
PDL13
84
C7
AD13
PDL14
85
D7
AD14
PDL15
86
B6
AD15
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 37 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(2) Non-port functions
(1/6)
Function
Pin No.
GC
Description
I/O
Alternate Function
F1
A16
87
C6
A17
88
D6
PDH1
A18
59
F9
PDH2
A19
60
F8
PDH3
A20
6
F4
PDH4
A21
7
G4
P02/NMI
AD0
71
C11
AD1
72
C10
AD2
73
C9
PDL2
AD3
74
B11
PDL3
AD4
75
B10
PDL4
AD5
76
A10
PDL5/FLMD1
AD6
77
A9
PDL6
AD7
78
B9
PDL7
AD8
79
A8
PDL8
AD9
80
B8
PDL9
AD10
81
C8
PDL10
AD11
82
A7
PDL11
AD12
83
B7
PDL12
AD13
84
C7
PDL13
AD14
85
D7
PDL14
AD15
86
B6
PDL15
Remark
Output Address bus for external memory
I/O
Address bus/data bus for external memory
PDH0
PDL0
PDL1
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 38 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(2/6)
Function
Pin No.
Description
I/O
Alternate Function
GC
F1
ADTRG
18
G3
Input
A/D converter external trigger input. 5 V tolerant.
P03/INTP0/UCLK/RTC1HZ
ANI0
100
A3
Input
Analog voltage input for A/D converter
P70
ANI1
99
B3
P71
ANI2
98
C3
P72
ANI3
97
D3
P73
ANI4
96
A4
P74
ANI5
95
B4
P75
ANI6
94
C4
P76
ANI7
93
D4
P77
ANI8
92
A5
P78
ANI9
91
B5
P79
ANI10
90
C5
P710
ANI11
89
D5
ANO0
3
E3
ANO1
4
E4
ASCKA0
27
L4
ASTB
68
D8
AVREF0
1
A1,
A2,
B1
AVREF1
5
B2
AVSS
2
C1,
C2
CLKOUT
62
F10
DCK
41
K8
DDI
P711
Output Analog voltage output for D/A converter
P10
P11
Input
UARTA0 baud rate clock input. 5 V tolerant.
Output Address strobe signal output for external memory
P32/SCKB4/TIP00/TOP00
PCT6
Reference voltage input for A/D converter/positive power
supply for port 7
Reference voltage input for D/A converter/positive power
supply for port 1
Ground potential for A/D and D/A converters (same
potential as VSS)
Output Internal system clock output
Input
Debug clock input. 5 V tolerant.
Input
Debug data input. 5 V tolerant.
PCM1
P54/SOB2/KR4/RTP04
39
J7
DDO
40
L8
DMS
42
J8
Input
Debug mode select input. 5 V tolerant.
P55/SCKB2/KR5/RTP05
DRST
20
J3
Input
Debug reset input. 5 V tolerant.
P05/INTP2
EVDD
34, 70
Note 2
Positive power supply for external (same potential as VDD)
EVSS
Ground potential for external (same potential as VSS)
Flash memory programming mode setting pin
Note 1
Output Debug data output.
N-ch open-drain output selectable. 5 V tolerant.
33, 69
Note 3
FLMD0
8
F3
Input
FLMD1
76
A10
HLDAK
63
E10
HLDRQ
64
E9
P52/TIQ03/KR2/TOQ03/RTP02
P53/SIB2/KR3/TIQ00/TOQ00/
RTP03
PDL5/AD5
Output Bus hold acknowledge output
Input
Bus hold request input
PCM2
PCM3
Notes 1. In the on-chip debug mode, high-level output is forcibly set.
2. A11, D11, K6, L6, L11
3. A6, E5 to E7, E11, F5 to F7, G5 to G7, L1, L5
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 39 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(3/6)
Function
Pin No.
GC
Description
I/O
Alternate Function
F1
IC
J2
INTP0
18
G3
Input
INTP1
19
H4
INTP2
20
J3
INTP3
21
J4
INTP4
56
G10
P913
INTP5
57
G9
P914/TIP51/TOP51
INTP6
58
G8
P915/TIP50/TOP50
INTP7
Internal connected
External interrupt request input
(maskable, analog noise elimination).
Analog noise elimination or digital noise elimination
selectable for INTP3 pin.
5 V tolerant.
P03/ADTRG/UCLK/RTC1HZ
P04/RTCDIV/RTCCL
P05/DRST
P06
26
K3
KR0
Note 1
37
L7
KR1
Note 1
38
K7
KR2
Note 1
39
J7
KR3
Note 1
40
L8
P53/SIB2/TIQ00/TOQ00/
RTP03/DDO
KR4
Note 1
41
K8
P54/SOB2/RTP04/DCK
KR5
Note 1
42
J8
P55/SCKB2/RTP05/DMS
KR6
Note 1
43
H8
P90/TXDA1/SDA02
KR7
Note 1
44
L9
Note 2
17
G4
RD
67
D9
REGC
10
E1,E2
RESET
14
H3
RTC1HZ
18
G3
Output Real-time counter correction clock (1 Hz) output
RTCCL
19
H4
Output Real-time counter clock (32 kHz primary oscillation) P04/INTP1/RTCDIV
output
RTCDIV
19
H4
Output Real-time counter clock (32 kHz division) output
P04/INTP1/RTCCL
RTP00
37
L7
P50/TIQ01/KR0/TOQ01
RTP01
38
K7
RTP02
39
J7
Output Real-time output port.
N-ch open-drain output selectable.
5 V tolerant.
RTP03
40
L8
P53/SIB2/KR3/TIQ00/TOQ00/DDO
RTP04
41
K8
P54/SOB2/KR4/DCK
RTP05
42
J8
P55/SCKB2/KR5/DMS
NMI
Notes1.
2.
Remark
P31/RXDA0/SIB4
Input
Key interrupt input (on-chip analog noise
eliminator).
5 V tolerant.
P50/TIQ01/TOQ01/RTP00
P51/TIQ02/TOQ02/RTP01
P52/TIQ03/TOQ03/RTP02/DDI
P91/RXDA1/SCL02
Input
External interrupt input (non-maskable, analog
noise elimination).
5 V tolerant.
Output Read strobe signal output for external memory
Input
P02/A21
PCT4
Connection of regulator output stabilization
capacitance (4.7 F (recommended value))
System reset input
P03/INTP0/ADTRG/UCLK
P51/TIQ02/KR1/TOQ02
P52/TIQ03/KR2/TOQ03/DDI
Connect a pull-up resistor externally.
The NMI pin alternately functions as the P02 pin. It functions as the P02 pin after reset. To enable the NMI
function, set the PMC0.PMC02 bit to 1. The initial setting of the NMI pin is “No edge detected”. Select the NMI
pin valid edge using the INTF0 and INTR0 registers.
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 40 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(4/6)
Function
RXDA0
Pin No.
GC
F1
26
K3
Description
I/O
Input
Alternate Function
Serial receive data input (UARTA0 to UARTA2)
P31/INTP7/SIB4
5 V tolerant.
P91/KR7/SCL02
RXDA1
44
L9
RXDA2
36
H7
P39/SCL00
RXDA3
32
J6
P37
RXDA4
46
J9
P93/TIP40/TOP40
RXDA5
48
K10
P95/TIP30/TOP30
RXDC0
50
J11
RVDD
17
D2
SCKB0
24
L2
I/O
SCKB1
52
H11
SCKB2
42
J8
SCKB3
55
G11
SCKB4
27
L4
SCL00
SCL01
SCL02
SDA00
SDA01
36
23
44
35
22
H7
43
H8
22
K1
SIB1
50
J11
SIB2
40
L8
SIB3
53
H10
SIB4
26
K3
SOB0
23
K2
51
Serial clock I/O (CSIB0 to CSIB4)
P42
N-ch open-drain output selectable.
P99
P55/KR5/RTP05/DMS
P32/ASCKA0/TIP00/TOP00
I/O
2
2
Serial clock I/O (I C00 to I C02)
P39/RXDA2
N-ch open-drain output selectable.
P41/SOB0
5 V tolerant.
I/O
K1
SIB0
Positive power supply for RTC
P912
L9
H6
P97/SIB1/TIP20/TOP20
5 V tolerant.
K2
SDA02
SOB1
Serial receive data input (UARTC0)
P91/KR7/RXDA1
2
2
Serial transmit/receive data I/O (I C00 to I C02)
P38/TXDA2
N-ch open-drain output selectable.
P40/SIB0
5 V tolerant.
Input
P90/KR6/TXDA1
Serial receive data input (CSIB0 to CSIB4)
P40/SDA01
5 V tolerant.
P97/RXDC0 /TIP20/TOP20
P53/KR3/TIQ00/TOQ00/RTP03/DDO
P910
P31/RXDA0/INTP7
Output Serial transmit data output (CSIB0 to CSIB4)
J10
N-ch open-drain output selectable.
5 V tolerant.
P41/SCL01
P98
SOB2
41
K8
SOB3
54
H9
P911
SOB4
25
L3
P30/TXDA0
Remark
P54/KR4/RTP04/DCK
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 41 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(5/6)
Function
TIP00
Pin No.
GC
F1
27
L4
Description
I/O
Input
External event count input/capture trigger input/external
Alternate Function
P32/ASCKA0/SCKB4/TOP00
trigger input (TMP0).
5 V tolerant.
TIP20
50
External event count input/capture trigger input/external
J11
P97/SIB1/TOP20
trigger input (TMP2).
5 V tolerant.
TIP21
49
K11
TIP30
48
K10
Capture trigger input (TMP2).
P96/TOP21
5 V tolerant.
External event count input/capture trigger input/external
P95/TOP30
trigger input (TMP3).
5 V tolerant.
TIP31
47
Capture trigger input (TMP3).
L10
P94/TOP31
5 V tolerant.
TIP40
46
External event count input/capture trigger input/external
J9
P93/TOP40
trigger input (TMP4).
5 V tolerant.
TIP41
45
Capture trigger input (TMP4).
K9
P92/TOP41
5 V tolerant.
TIP50
58
External event count input/capture trigger input/external
G8
P915/INTP6/TOP50
trigger input (TMP5).
5 V tolerant.
TIP51
57
Capture trigger input (TMP5).
G9
P914/INTP5/TOP51
5 V tolerant.
TIQ00
40
L8
Input
External event count input/capture trigger input/external
P53/SIB2/KR3/TOQ00/RTP03
trigger input (TMQ0).
/DDO
5 V tolerant.
TIQ01
37
L7
Capture trigger input (TMQ0).
P50/KR0/TOQ01/RTP00
TIQ02
38
K7
5 V tolerant.
P51/KR1/TOQ02/RTP01
TIQ03
39
J7
TOP00
27
L4
Output Timer output (TMP0)
N-ch open-drain output selectable. 5 V tolerant.
TOP20
50
J11
TOP21
49
K11
Timer output (TMP2)
N-ch open-drain output selectable. 5 V tolerant.
P96/TIP21
TOP30
48
K10
TOP31
47
L10
Timer output (TMP3)
N-ch open-drain output selectable. 5 V tolerant.
P94/TIP31
TOP40
46
J9
TOP41
45
K9
Timer output (TMP4)
N-ch open-drain output selectable. 5 V tolerant.
P92/TIP41
TOP50
58
G8
TOP51
57
G9
Remark
P52/KR2/TOQ03/RTP02/DDI
Timer output (TMP5)
N-ch open-drain output selectable. 5 V tolerant.
P32/ASCKA0/SCKB4/TIP00
P97/SIB1/TIP20
P95/TIP30
P93/TIP40
P915/INTP6/TIP50
P914/INTP5/TIP51
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 42 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(6/6)
Function
TOQ00
TOQ01
Pin No.
GC
F1
40
L8
37
38
K7
TOQ03
39
J7
TXDA0
25
L3
TXDA1
43
Output
L7
TOQ02
Description
I/O
Alternate Function
Timer output (TMQ0)
P53/SIB2/KR3/TIQ00/RTP03/DDO
N-ch open-drain output selectable.
P50/TIQ01/KR0/RTP00
5 V tolerant.
P51/TIQ02/KR1/RTP01
P52/TIQ03/KR2/RTP02/DDI
Output
H8
Serial transmit data output (UARTA0 to UARTA5)
P30/SOB4
N-ch open-drain output selectable.
P90/KR6/SDA02
5 V tolerant.
TXDA2
35
H6
TXDA3
31
H5
P36
TXDA4
45
K9
P92/TIP41/TOP41
TXDA5
47
L10
P94/TIP31/TOP31
TXDC0
49
K11
Serial transmit data output (UARTAC)
P38/SDA00
P96/TIP21/TOP21
N-ch open-drain output selectable.
5 V tolerant.
UCLK
18
G3
Input
USB clock signal input
P03/INTP0/ADTRG/UCLK/RTC1HZ
UDMF
28
K4
I/O
USB data I/O () function
UDPF
29
K5
I/O
USB data I/O (+) function
UVDD
30
K6
Power supply for USB
VDD
9
D1
Positive power supply pin for internal circuits
VSS
11
G1, G2,
Ground potential for internal circuits
J1
WAIT
61
F11
Input
WR0
WR1
65
E8
Output
66
D10
X1
12
F1
Input
X2
13
F2
XT1
15
H1
Input
XT2
16
H2
Remark
External wait input
PCM0
Write strobe for external memory (lower 8 bits)
PCT0
Write strove for external memory (higher 8 bits)
PCT1
Connection of resonator for main clock
Connection of resonator for subclock
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 43 of 1210
V850ES/JG3-L
2.2
CHAPTER 2 PIN FUNCTION
Pin States
The operation states of pins in the various modes are described below.
Table 2-2. Pin Operation States in Various Modes
Pin Name
When Power During Reset
Is Turned
(Except When
Note 1
On
Power Is
Turned On)
HALT Mode
Note 2
IDLE1,
IDLE2,
Sub-IDLE
Note 2
Mode
STOP
Note 2
Mode
Idle
Note 3
State
Bus Hold
P05/DRST
Pulled down
Pulled
Note 4
down
Held
Held
Held
Held
Held
P10/ANO0,
P11/ANO1
Undefined
Hi-Z
Held
Held
Hi-Z
Held
Held
Held
Held
Held
Held
Held
Hi-Z
Hi-Z
Held
Hi-Z
P53/DDO
Hi-Z
AD0 to AD15
Hi-Z
Note 6
Hi-Z
Note5
Note 6
A16 to A21
Notes 7, 8
Undefined
CLKOUT
L
L
Operating
Operating
H
H
H
Hi-Z
Note 7
WR0, WR1
Undefined
Note9
Note7
Operating
WAIT
RTC Back up
mode
H
RD
ASTB
Operating
HLDAK
HLDRQ
Other port pins
Notes 1.
Hi-Z
Hi-Z
Held
L
Operating
Held
Held
Held
Held
Duration until 1 ms elapses after the supply voltage reaches the operating supply voltage range (lower limit)
when the power is turned on.
2.
Operates while an alternate function is operating.
3.
The state of the pins in the idle state inserted after the T3 state is shown (only after a read operation).
4.
Pulled down during external reset. During internal reset by the watchdog timer, clock monitor, etc., the state of
this pin differs according to the OCDM.OCDM0 bit setting.
5.
DDO output is specified in the on-chip debug mode.
6.
The bus control pins function alternately as port pins, so they are initialized to the input mode (port mode).
7.
Operates even in the HALT mode, during DMA operation.
8.
In separate bus mode: Hi-Z
In multiplexed bus mode: Undefined
9.
Remark
Because the VDD and EVDD voltages are less than the minimum operating voltage, the pin status is undefined.
Hi-Z: High impedance
Held: The state during the immediately preceding external bus cycle is held.
L:
Low-level output
H:
High-level output
:
Input without sampling (not acknowledged)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 44 of 1210
V850ES/JG3-L
2.3
CHAPTER 2 PIN FUNCTION
Pin I/O Circuit Types, I/O Buffer Power Supplies, and Connection of Unused Pins
(1/3)
Pin
P02
Alternate Function
NMI/A21
I/O Circuit
Pin No.
GC
F1
Type
7
G4
10-D
Recommended Connection of Unused Pin
Input:
Independently connect to EVDD or EVSS
via a resistor.
Output: Leave open.
P03
INTP0/ADTRG/UCLK/RTC1HZ
18
G3
P04
INTP1/RTCDIV/RTCCL
19
H4
P05
INTP2/DRST
20
J3
10-N
Input:
Independently connect to EVSS via a
resistor. Fixing to VDD level is prohibited.
Output: Leave open.
Internally pull-down after reset by
RESET pin.
P06
INTP3
21
J4
10-D
Input:
Independently connect to EVDD or EVSS
via a resistor.
Output: Leave open.
12-D
P10
ANO0
3
E3
P11
ANO1
4
E4
P30
TXDA0/SOB4
25
L3
10-G
P31
RXDA0/INTP7/SIB4
26
K3
10-D
Input:
Independently connect to AVREF1 or AVSS
via a resistor.
P32
ASCKA0/SCKB4/TIP00
27
L4
P36
TXDA3
31
H5
P37
RXDA3
32
J6
P38
TXDA2/SDA00
35
H6
P39
RXDA2/SCL00
36
H7
P40
SIB0/SDA01
22
K1
P41
SOB0/SCL01
23
K2
P42
SCKB0
24
L2
P50
TIQ01/KR0/TOQ01/RTP00
37
L7
P51
TIQ02/KR1/TOQ02/RTP01
38
K7
P52
TIQ03/KR2/TOQ03/RTP02/DDI
39
J7
P53
SIB2/KR3/TIQ00/TOQ00
40
L8
Output: Leave open.
Input:
Independently connect to EVDD or EVSS
via a resistor.
Output: Leave open.
10-D
/RTP03/DDO
P54
SOB2/KR4/RTP04/DCK
41
K8
P55
SCKB2/KR5/RTP05/DMS
42
J8
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 45 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(2/3)
Pin
Alternate Function
GC
P70 to P711
ANI0 to ANI11
I/O Circuit Recommended Connection of Unused Pin
Pin No.
F1
100 to 89 A3 to A5,
Type
11-G
Input:
B3 to B5,
Independently connect to AVREF0
or AVSS via a resistor.
C3 to C5,
Output: Leave open.
D3 to D5
P90
KR6/TDXA1/SDA02
43
H8
P91
KR7/RXDA1/SCL02
44
L9
10-D
EVSS via a resistor.
TIP41/TOP41/TXDA4
45
K9
P93
TIP40/TOP40/RXDA4
46
J9
P94
TIP31/TOP31/TXDA5
47
L10
P95
TIP30/TOP30/RXDA5
48
K10
P96
TXDC0/TIP21/TOP21
49
K11
P97
SIB1/RXDC0/TIP20/TOP20
50
J11
P98
SOB1
51
J10
10-G
P99
SCKB1
52
H11
10-D
P910
SIB3
53
H10
P911
SOB3
54
H9
10-G
P912
SCKB3
55
G11
10-D
P913
INTP4
56
G10
P914
INTP5/TIP51/TOP51
57
G9
P915
INTP6/TIP50/TOP50
58
G8
PCM0
WAIT
61
F11
PCM1
CLKOUT
62
F10
PCM2
HLDAK
63
E10
PCM3
HLDRQ
PCT0, PCT1
WR0, WR1
PCT4
64
E9
E8, D10
RD
67
D9
PCT6
ASTB
68
D8
PDH0 toPDH4
A16 to A20
87, 88,
C6, D6,
Independently connect to EVDD or
Output: Leave open.
P92
65, 66
Input:
5
59, 60, 6 F9, F8, F4
PDL0 to PDL4
AD0 to AD4
71 to 75 B10, B11,
C9 to C11
PDL5
Remark
AD5/FLMD1
76
A10
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 46 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
(3/3)
Pin
Alternate Function
I/O
Pin No.
GC
F1
Recommended Connection of Unused Pin
Circuit
Type
PDL6 to
AD6 to AD15
A7 to A9, B6 to
77 to 86
5
Input:
B9, C7, C8, D7
PDL15
a resistor.
Output:
UDMF
28
K4
Independently connect to EVDD or EVSS via
Leave open.
Pull this pin down to the level of VSS by using a
resistor with a resistance of 50 k or higher.
UDPF
29
K5
Pull this pin down to the level of VSS by using a
UVDD
30
K6
Directly connect to VDD and always supply power.
AVREF0
1
A1, A2,
Directly connect to VDD and always supply power.
resistor with a resistance of 50 k or higher.
B1
AVREF1
5
B2
Directly connect to VDD and always supply power.
AVSS
2
C1, C2
Directly connect to VSS and always supply power.
RVDD
17
D2
Directly connect to VDD and always supply power.
EVDD
34, 70
A11, D11, K6, L11,
Directly connect to VDD and always supply power.
Directly connect to VSS and always supply power.
L6
EVSS
33, 69
Note
FLMD0
8
F3
Directly connect to VSS in a mode other than the
flash memory programming mode.
REGC
10
E1, E2
Connection of regulator output stabilization
capacitance
(4.7 F (recommended value))
RESET
14
H3
2
VDD
9
D1
VSS
11
G1,
G2, J1
X1
12
F1
X2
13
F2
XT1
15
H1
16-C
Connect to VSS.
XT2
16
H2
16-C
Leave open.
Note A6, E5 to E7, E11, F5 to F7, G5 to G7, L1, L5
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 47 of 1210
V850ES/JG3-L
CHAPTER 2 PIN FUNCTION
Figure 2-1. Pin I/O Circuits
Type 10-N
Type 2
EVDD
Data
P-ch
IN
IN/OUT
Schmitt-triggered input with hysteresis characteristics
IN/OUT
Open drain
N-ch
Output
disable
Note
Input
enable
Type 5
EVDD
Data
EVSS
N-ch
OCDM0 bit
P-ch
Output
disable
IN/OUT
N-ch
Type 11-G
AVREF0
Data
EVSS
Input
enable
P-ch
IN/OUT
Output
disable
N-ch
Type 10-D
AVSS
EVDD
Data
P-ch
IN/OUT
Open drain
N-ch
Output
disable
Note
P-ch
Comparator
+
_
VREF0
(Threshold voltage)
N-ch
AVSS
Input enable
EVSS
Input
enable
Type 12-D
AVREF1
Type 10-G
Data
P-ch
Output
disable
N-ch
EVDD
Data
P-ch
IN/OUT
AVSS
IN/OUT
Open drain
Output
disable
N-ch
Input
enable
EVSS
Input
enable
P-ch
Analog output
voltage
N-ch
Type 16-C
Feedback cut-off
P-ch
XT1
XT2
Note Hysteresis characteristics are not available in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 48 of 1210
V850ES/JG3-L
2.4
CHAPTER 2 PIN FUNCTION
Cautions
When the power is turned on, the following pins may output an undefined level temporarily even during reset.
P10/ANO0 pin
P11/ANO1 pin
P53/SIB2/KR3/TIQ00/TOQ00/RTP03/DDO pin
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 49 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
CHAPTER 3 CPU FUNCTION
The CPU of the V850ES/JG3-L is based on RISC architecture and executes almost all instructions in one clock cycle by
using a 5-stage pipeline.
3.1
Features
Variable length instructions (16 bits/32 bits)
Minimum instruction execution time: 50 ns (operating on main clock (fXX) of 20 MHz: VDD = 2.7 to 3.6 V,
When USB is not used)
62.5 ns (operating on main clock (fXX) of 16 MHz: VDD = 3.0 to 3.6 V,
When USB is used)
200 ns (operating on main clock (fXX) of 5 MHz: VDD = 2.2 to 3.6 V)
400 ns (operating on main clock (fXX) of 2.5 MHz: VDD = 2.0 to 3.6 V)
30.5 s (operating on subclock (fXT) of 32.768 kHz: VDD = 2.0 to 3.6 V))
Memory space
Program space:
64 MB linear
Data space:
4 GB linear
General-purpose registers: 32 bits 32 registers
Internal 32-bit architecture
5-stage pipeline control
Multiplication/division instruction
Saturation operation instruction
32-bit shift instruction: 1 clock
Load/store instruction with long/short format
Four types of bit manipulation instructions
SET1
CLR1
NOT1
TST1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 50 of 1210
V850ES/JG3-L
3.2
CHAPTER 3 CPU FUNCTION
CPU Register Set
The registers of the V850ES/JG3-L can be classified into two types: general-purpose program registers and dedicated
system registers. All the registers are 32 bits wide.
For details, refer to the V850ES Architecture User’s Manual.
(1) Program register set
31
r0
General-purpose registers
(2) System register set
0
31
0
(Zero register)
EIPC
(Interrupt status saving register)
(Assembler-reserved register)
EIPSW
(Interrupt status saving register)
r3
(Stack pointer (SP))
FEPC
(NMI status saving register)
r4
(Global pointer (GP))
FEPSW (NMI status saving register)
r5
(Text pointer (TP))
r1
r2
r6
ECR
(Interrupt source register)
PSW
(Program status word)
CTPC
(CALLT execution status saving register)
r7
r8
r9
r10
r11
CTPSW (CALLT execution status saving register)
r12
r13
DBPC
r14
(Exception/debug trap status saving register)
DBPSW (Exception/debug trap status saving register)
r15
r16
CTBP
r17
(CALLT base pointer)
r18
r19
r20
r21
r22
r23
r24
r25
r26
r27
r28
r29
r30
(Element pointer (EP))
r31
(Link pointer (LP))
31
PC
0
(Program counter)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 51 of 1210
V850ES/JG3-L
3.2.1
CHAPTER 3 CPU FUNCTION
Program register set
The program registers include general-purpose registers and a program counter.
(1) General-purpose registers (r0 to r31)
Thirty-two general-purpose registers, r0 to r31, are available. Any of these registers can be used to store a data
variable or an address variable.
However, r0 and r30 are implicitly used by instructions and care must be exercised when these registers are used.
r0 always holds 0 and is used for an operation that uses 0 or addressing of offset 0. r30 is used by the SLD and
SST instructions as a base pointer when these instructions access the memory. r1, r3 to r5, and r31 are implicitly
used by the assembler and C compiler. When using these registers, save their contents for protection, and then
restore the contents after using the registers. r2 is sometimes used by the real-time OS. If the real-time OS does
not use r2, it can be used as a register for variables.
Table 3-1. Program Registers
Name
Usage
Operation
r0
Zero register
Always holds 0.
r1
Assembler-reserved register
Used as working register to create 32-bit immediate data
r2
Register for address/data variable (if real-time OS does not use r2)
r3
Stack pointer
Used to create a stack frame when a function is called
r4
Global pointer
Used to access a global variable in the data area
r5
Text pointer
Used as register that indicates the beginning of a text area (area
where program codes are located)
r6 to r29
Register for address/data variable
r30
Element pointer
Used as base pointer to access memory
r31
Link pointer
Used when the compiler calls a function
PC
Program counter
Holds the instruction address during program execution
Remark
For further details on the r1, r3 to r5, and r31 that are used in the assembler and C compiler, refer to the
CA850 (C Compiler Package) Assembly Language User’s Manual.
(2) Program counter (PC)
The program counter holds the instruction address during program execution. The lower 32 bits of this register are
valid. Bits 31 to 26 are fixed to 0. A carry from bit 25 to 26 is ignored even if it occurs.
Bit 0 is fixed to 0. This means that execution cannot branch to an odd address.
31
PC
26 25
Fixed to 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
1 0
Instruction address during program execution
0
Default value
00000000H
Page 52 of 1210
V850ES/JG3-L
3.2.2
CHAPTER 3 CPU FUNCTION
System register set
The system registers control the status of the CPU and hold interrupt information.
These registers can be read or written by using system register load/store instructions (LDSR and STSR), using the
system register numbers listed below.
Table 3-2. System Register Numbers
System
System Register Name
Register
Number
Operand Specification
LDSR Instruction STSR Instruction
Note 1
0
Interrupt status saving register (EIPC)
1
Interrupt status saving register (EIPSW)
Note 1
Note 1
2
NMI status saving register (FEPC)
3
NMI status saving register (FEPSW)
4
Interrupt source register (ECR)
5
Program status word (PSW)
Reserved for future function expansion (operation is not guaranteed if these
6 to 15
Note 1
registers are accessed)
16
CALLT execution status saving register (CTPC)
17
CALLT execution status saving register (CTPSW)
Exception/debug trap status saving register (DBPC)
19
Exception/debug trap status saving register (DBPSW)
20
CALLT base pointer (CTBP)
Reserved for future function expansion (operation is not guaranteed if these
18
21 to 31
Note 2
Note 2
Note 2
Note 2
registers are accessed)
Notes 1. Because only one set of these registers is available, the contents of these registers must be saved by
program if multiple interrupts are enabled.
2. These registers can be accessed only during the interval between the execution of the DBTRAP instruction
or illegal opcode and DBRET instruction execution.
Caution
Even if EIPC or FEPC, or bit 0 of CTPC is set to 1 by the LDSR instruction, bit 0 is ignored when
execution is returned to the main routine by the RETI instruction after interrupt servicing (this is
because bit 0 of the PC is fixed to 0). Set an even value to EIPC, FEPC, and CTPC (bit 0 = 0).
Remark
: Can be accessed
: Access prohibited
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 53 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(1) Interrupt status saving registers (EIPC and EIPSW)
EIPC and EIPSW are used to save the status when an interrupt occurs.
If a software exception or a maskable interrupt occurs, the contents of the program counter (PC) are saved to EIPC,
and the contents of the program status word (PSW) are saved to EIPSW (these contents are saved to the NMI
status saving registers (FEPC and FEPSW) if a non-maskable interrupt occurs).
The address of the instruction next to the instruction under execution, except some instructions (see 22.9 Periods
in Which Interrupts Are Not Acknowledged by CPU), is saved to EIPC when a software exception or a maskable
interrupt occurs.
The current contents of the PSW are saved to EIPSW.
Because only one set of interrupt status saving registers is available, the contents of these registers must be saved
by program when multiple interrupts are enabled.
Bits 31 to 26 of EIPC and bits 31 to 8 of EIPSW are reserved for future function expansion (these bits are always
fixed to 0).
The value of EIPC is restored to the PC and the value of EIPSW to the PSW by the RETI instruction.
31
EIPC
0 0 0 0 0 0
31
EIPSW
26 25
0
Default value
0xxxxxxxH
(x: Undefined)
(Contents of saved PC)
8 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
0
(Contents of
saved PSW)
Default value
000000xxH
(x: Undefined)
Page 54 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(2) NMI status saving registers (FEPC and FEPSW)
FEPC and FEPSW are used to save the status when a non-maskable interrupt (NMI) occurs.
If an NMI occurs, the contents of the program counter (PC) are saved to FEPC, and those of the program status
word (PSW) are saved to FEPSW.
The address of the instruction next to the one of the instruction under execution, except some instructions, is saved
to FEPC when an NMI occurs.
The current contents of the PSW are saved to FEPSW.
Because only one set of NMI status saving registers is available, the contents of these registers must be saved by
program when multiple interrupts are enabled (for multiple interrupt servicing using the NMI pin and the INTWDT2
interrupt request signal).
Bits 31 to 26 of FEPC and bits 31 to 8 of FEPSW are reserved for future function expansion (these bits are always
fixed to 0).
The value of FEPC is restored to the PC and the value of FEPSW to the PSW by the RETI instruction.
31
FEPC
26 25
0 0 0 0 0 0
0
31
FEPSW
Default value
0xxxxxxxH
(x: Undefined)
(Contents of saved PC)
8 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
Default value
000000xxH
(x: Undefined)
(Contents of
saved PSW)
(3) Interrupt source register (ECR)
The interrupt source register (ECR) holds the source of an exception or interrupt if an exception or interrupt occurs.
This register holds the exception code of each interrupt source. Because this register is a read-only register, data
cannot be written to this register using the LDSR instruction.
31
16 15
ECR
Bit position
FECC
Bit name
0
EICC
Meaning
31 to 16
FECC
Exception code of non-maskable interrupt (NMI)
15 to 0
EICC
Exception code of exception or maskable interrupt
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Default value
00000000H
Page 55 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(4) Program status word (PSW)
The program status word (PSW) is a collection of flags that indicate the status of the program (result of instruction
execution) and the status of the CPU.
If the contents of a bit of this register are changed by using the LDSR instruction, the new contents are validated
immediately after completion of LDSR instruction execution. However if the ID flag is set to 1, interrupt requests will
not be acknowledged while the LDSR instruction is being executed.
Bits 31 to 8 of this register are reserved for future function expansion (these bits are fixed to 0).
(1/2)
31
PSW
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NP EP ID SAT CY OV S Z
Bit position
7
8 7 6 5 4 3 2 1 0
Flag name
NP
Default value
00000020H
Meaning
Indicates that a non-maskable interrupt (NMI) is being serviced. This bit is set to 1 when an
NMI request is acknowledged, disabling multiple interrupts.
0: NMI is not being serviced.
1: NMI is being serviced.
6
EP
Indicates that an exception is being processed. This bit is set to 1 when an exception
occurs. Even if this bit is set, interrupt requests are acknowledged.
0: Exception is not being processed.
1: Exception is being processed.
5
ID
Indicates whether a maskable interrupt can be acknowledged.
0: Interrupt enabled
1: Interrupt disabled
4
Note
SAT
Indicates that the result of a saturation operation has overflowed and is saturated. Because
this is a cumulative flag, it is set to 1 when the result of a saturation operation instruction is
saturated, and is not cleared to 0 even if the subsequent operation result is not saturated.
Use the LDSR instruction to clear this bit. This flag is neither set to 1 nor cleared to 0 by
execution of an arithmetic operation instruction.
0: Not saturated
1: Saturated
3
CY
Indicates whether a carry or a borrow occurs as a result of an operation.
0: Carry or borrow does not occur.
1: Carry or borrow occurs.
2
OV
Note
Indicates whether an overflow occurs during operation.
0: Overflow does not occur.
1: Overflow occurs.
1
S
Note
Indicates whether the result of an operation is negative.
0: The result is positive or 0.
1: The result is negative.
0
Z
Indicates whether the result of an operation is 0.
0: The result is not 0.
1: The result is 0.
Remark
Also read Note on the next page.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 56 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(2/2)
Note The result of the operation that has performed saturation processing is determined by the contents of the
OV and S flags. The SAT flag is set to 1 only when the OV flag is set to 1 when a saturation operation is
performed.
Status of Operation Result
Flag Status
SAT
OV
S
Result of Operation of
Saturation Processing
Maximum positive value is exceeded
1
1
0
7FFFFFFFH
Maximum negative value is exceeded
1
1
1
80000000H
0
0
Operation result itself
Positive (maximum value is not exceeded)
Negative (maximum value is not exceeded)
Holds value
before operation
1
(5) CALLT execution status saving registers (CTPC and CTPSW)
CTPC and CTPSW are CALLT execution status saving registers.
When the CALLT instruction is executed, the contents of the program counter (PC) are saved to CTPC, and those
of the program status word (PSW) are saved to CTPSW.
The contents saved to CTPC are the address of the instruction next to CALLT.
The current contents of the PSW are saved to CTPSW.
Bits 31 to 26 of CTPC and bits 31 to 8 of CTPSW are reserved for future function expansion (fixed to 0).
31
CTPC
0 0 0 0 0 0
31
CTPSW
26 25
0
Default value
0xxxxxxxH
(x: Undefined)
(Saved PC contents)
8 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
0
(Saved PSW
contents)
Default value
000000xxH
(x: Undefined)
Page 57 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(6) Exception/debug trap status saving registers (DBPC and DBPSW)
DBPC and DBPSW are exception/debug trap status registers.
If an exception trap or debug trap occurs, the contents of the program counter (PC) are saved to DBPC, and those
of the program status word (PSW) are saved to DBPSW.
The contents to be saved to DBPC are the address of the instruction next to the one that is being executed when
an exception trap or debug trap occurs.
The current contents of the PSW are saved to DBPSW.
This register can be read or written only during the interval between the execution of the DBTRAP instruction or
illegal opcode and the DBRET instruction.
Bits 31 to 26 of DBPC and bits 31 to 8 of DBPSW are reserved for future function expansion (fixed to 0).
The value of DBPC is restored to the PC and the value of DBPSW to the PSW by the DBRET instruction.
31
DBPC
26 25
0 0 0 0 0 0
0
31
DBPSW
Default value
0xxxxxxxH
(x: Undefined)
(Saved PC contents)
8 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
Default value
000000xxH
(x: Undefined)
(Saved PSW
contents)
(7) CALLT base pointer (CTBP)
The CALLT base pointer (CTBP) is used to specify a table address or generate a target address (bit 0 is fixed to 0).
Bits 31 to 26 of this register are reserved for future function expansion (fixed to 0).
31
CTBP
26 25
0 0 0 0 0 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
0
(Base address)
0
Default value
0xxxxxxxH
(x: Undefined)
Page 58 of 1210
V850ES/JG3-L
3.3
CHAPTER 3 CPU FUNCTION
Operation Modes
The V850ES/JG3-L has the following operation modes.
Normal operation mode
Flash memory programming mode
Self programming mode
On-chip debug mode
The operation mode is specified according to the status (input level) of the FLMD0 and FLMD1 pins.
To specify the normal operation mode, input a low level to the FLMD0 pin during the reset period.
A high level is input to the FLMD0 pin by the flash memory programmer in the flash memory programming mode if a
flash programmer is connected. In the self-programming mode, input a high level to this pin from an external circuit.
Fix the specification of these pins in the application system and do not change the setting of these pins during operation.
FLMD0
FLMD1
L
Normal operation mode
H
L
Flash memory programming mode
H
H
Setting prohibited
Remark
Operation Mode
H: High level
L: Low level
: don’t care
(1) Normal operation mode
After the system has been released from the reset state, the pins related to the bus interface are set to the port
mode, execution branches to the reset entry address of the internal ROM, and instruction processing is started.
(2) Flash memory programming mode
When this mode is specified, the internal flash memory can be programmed by using a flash programmer.
(3) Self programming mode
Data can be erased and written from/to the flash memory by using a user application program. For details, see
CHAPTER 31 FLASH MEMORY.
(4) On-chip debug mode
The V850ES/JG3-L is provided with an on-chip debug function that employs the JTAG (Joint Test Action Group)
communication specifications.
For details, see CHAPTER 32 ON-CHIP DEBUG FUNCTION.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 59 of 1210
V850ES/JG3-L
3.4
3.4.1
CHAPTER 3 CPU FUNCTION
Address Space
CPU address space
For instruction addressing, up to a combined total of 16 MB of external memory area and internal ROM area, plus an
internal RAM area, are supported in a linear address space (program space) of up to 64 MB. For operand addressing
(data access), up to 4 GB of a linear address space (data space) is supported. The 4 GB address space, however, is
viewed as 64 images of a 64 MB physical address space. This means that the same 64 MB physical address space is
accessed regardless of the value of bits 31 to 26.
Figure 3-1. Address Space Image
Data space
Image 63Note
Image 62Note
4 GB
•
•
•
Image 2Note
Program space
Image 1Note
Access-prohibited area
On-chip peripheral I/O area
Internal RAM area
Internal RAM area
Access-prohibited area
64 MB
Access-prohibited area
Image 0
USB function area
USB function area
External memory area, etc.
External memory area, etc.
16 MB
Internal ROM area
(external memory)
16 MB
Internal ROM area
(external memory)
Note Image 0 appears repeatedly for images 1 to 63.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 60 of 1210
V850ES/JG3-L
3.4.2
CHAPTER 3 CPU FUNCTION
Memory map
The areas shown below are reserved in the V850ES/JG3-L.
Figure 3-2. Data Memory Map (Physical Addresses)
FFFFFFFFH
Image 63
FC000000H
FBFFFFFFH
Image 62
F8000000H
F7FFFFFFH
Image 61
03FFFFFFH
F4000000H
F3FFFFFFH
(64 KB)
Image 60
03FF0000H
03FEFFFFH
F0000000H
EFFFFFFFH
On-chip peripheral I/O area 0 3 F F F F F F H
(4 KB)
03FFF000H
03FFEFFFH
Internal RAM area
(60 KB)
03FF0000H
Use prohibited
01000000H
00FFFFFFH
003FFFFFH
Use prohibited
External memory
areaNote 2
(12 MB)
10000000H
0FFFFFFFH
00250000H
0024FFFFH
Image 3
USB function area
0C000000H
0BFFFFFFH
00200000H
Image 2
08000000H
07FFFFFFH
(2 MB)
External memory
areaNote 1
(1 MB)
(2 MB)
Internal ROM
areaNote 2
(1 MB)
Image 1
04000000H
03FFFFFFH
Image 0
(Physical memory
address)
00000000H
00200000H
001FFFFFH
00000000H
001FFFFFH
00100000H
000FFFFFH
00000000H
Notes 1. The V850ES/JG3-L has 22 bits address bus, so the external memory area appears as a repeated 4
MB image.
2. Fetch and read accesses to addresses 00000000H to 000FFFFFH are made to the internal ROM
area. However, data write accesses to these addresses are made to the external memory area.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 61 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
Figure 3-3. Program Memory Map
03FFFFFFH
03FFF000H
03FFEFFFH
Use prohibited
(program fetch prohibited area)
Internal RAM area (60 KB)
03FF0000H
03FEFFFFH
Use prohibited
(program fetch prohibited area)
01000000H
00FFFFFFH
External memory areaNote
(12 MB)
00400000H
003FFFFFH
Use prohibited
(program fetch prohibited area)
00200000H
001FFFFFH
00100000H
000FFFFFH
00000000H
External memory area
(1 MB)
Internal ROM area
(1 MB)
Note The V850ES/JG3-L has 22 bits address bus, so the external memory area appears as a repeated 4 MB
image.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 62 of 1210
V850ES/JG3-L
3.4.3
CHAPTER 3 CPU FUNCTION
Areas
(1) Internal ROM area
Up to 1 MB is reserved as an internal ROM area.
(a) Internal ROM (256 KB)
256 KB are allocated to addresses 00000000H to 0003FFFFH in the PD70F3794.
Accessing addresses 00040000H to 000FFFFFH is prohibited.
Figure 3-4. Internal ROM Area (256 KB)
000FFFFFH
Access-prohibited
area
00040000H
0003FFFFH
Internal ROM
(256 KB)
00000000H
(b) Internal ROM (384 KB)
384 KB are allocated to addresses 00000000H to 0005FFFFH in the PD70F3795.
Accessing addresses 00060000H to 000FFFFFH is prohibited.
Figure 3-5. Internal ROM Area (384 KB)
000FFFFFH
Access-prohibited
area
00060000H
0005FFFFH
Internal ROM
(384 KB)
00000000H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 63 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(c) Internal ROM (512 KB)
512 KB are allocated to addresses 00000000H to 0007FFFFH in the PD70F3796.
Accessing addresses 00080000H to 000FFFFFH is prohibited.
Figure 3-6. Internal ROM Area (512 KB)
000FFFFFH
Access-prohibited
area
00080000H
0007FFFFH
Internal ROM
(512 KB)
00000000H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 64 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(2) Internal RAM area
Up to 60 KB allocated to physical addresses 03FF0000H to 03FFEFFFH are reserved as the internal RAM area.
The RAM capacity of V850ES/JG3-L is as follows.
Table 3-3 RAM area
Product Name
Internal RAM
PD70F3794
40 KB
PD70F3795
40 KB
PD70F3796
40 KB
(a) Internal RAM (40 KB)
40 KB are allocated to addresses 03FF5000H to 03FFEFFFH of PD70F3794, 70F3795, 70F3796.
Accessing addresses 03FF0000H to 03FF4FFFH is prohibited.
Figure 3-7. Internal RAM Area (40 KB)
Physical address space
Logical address space
FFFFEFFFH
03FFEFFFH
Internal RAM
(40 KB)
03FF5000H
03FF4FFFH
FFFF5000H
FFFF4FFFH
Access-prohibited
area
03FF0000H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
FFFF0000H
Page 65 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(3) On-chip peripheral I/O area
4 KB allocated to physical addresses 03FFF000H to 03FFFFFFH are reserved as the on-chip peripheral I/O area.
Figure 3-8. On-Chip Peripheral I/O Area
Physical address space
Logical address space
03FFFFFFH
FFFFFFFFH
On-chip peripheral I/O area
(4 KB)
03FFF000H
FFFFF000H
Peripheral I/O registers that have functions to specify the operation mode for and monitor the status of the on-chip
peripheral I/O are mapped to the on-chip peripheral I/O area. Program cannot be fetched from this area.
Cautions 1. When a peripheral I/O register is accessed in word units, a word area is accessed twice in
halfword units in the order of lower area then higher area, with the lower 2 bits of the address
ignored.
2. If a peripheral I/O register that can be accessed in byte units is accessed in halfword units,
the lower 8 bits are valid. The higher 8 bits are undefined when the register is read and are
invalid when the register is written.
3. Addresses not defined as registers are reserved for future expansion.
The operation is
undefined and not guaranteed when these addresses are accessed.
4. The internal ROM/RAM area and on-chip peripheral I/O area are assigned to successive
addresses.
When accessing the internal ROM/RAM area by incrementing or decrementing addresses
using a pointer operation for example, be careful not to access the on-chip peripheral I/O area
by mistakenly extending over the internal ROM/RAM area boundary.
(4) External memory area
13 MB (00100000H to 001FFFFFH, 00400000H to 00FFFFFFH) are allocated as the external memory area. For
details, see CHAPTER 5 BUS CONTROL FUNCTION.
Caution
The V850ES/JG3-L has 22 bits address bus, so the external memory area appears as a repeated 4
MB image.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 66 of 1210
V850ES/JG3-L
3.4.4
CHAPTER 3 CPU FUNCTION
Wraparound of data space
The result of an operand address calculation operation that exceeds 32 bits is ignored.
Therefore, the highest address of the data space, FFFFFFFFH, and the lowest address, 00000000H, are contiguous,
and wraparound occurs at the boundary of these addresses.
Figure 3-9. Wraparound of Data Space
Data space
00000001H
00000000H
(+) direction
(−) direction
FFFFFFFFH
FFFFFFFEH
Data space
3.4.5
Recommended use of address space
The architecture of the V850ES/JG3-L requires that a register that serves as a pointer be secured for address
generation when operand data in the data space is accessed. The address stored in this pointer 32 KB can be directly
accessed by an instruction for operand data. Because the number of general-purpose registers that can be used as a
pointer is limited, however, by keeping the performance from dropping during address calculation when a pointer value is
changed, as many general-purpose registers as possible can be secured for variables, and the program size can be
reduced.
(1) Program space
Of the 32 bits of the PC (program counter), the higher 6 bits are fixed to 0, and only the lower 26 bits are valid.
Regarding the program space, therefore, a 64 MB space of contiguous addresses starting from 00000000H
unconditionally corresponds to the memory map.
To use the internal RAM area as the program space, access the following addresses.
Caution
If a branch instruction is at the upper limit of the internal RAM area, a prefetch operation (invalid
fetch) straddling the on-chip peripheral I/O area does not occur.
Product Name
PD70F3794
RAM Size
40 KB
Access Address
03FF5000H to 03FFEFFFH
PD70F3795
PD70F3796
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 67 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(2) Data space
With the V850ES/JG3-L, it seems that there are sixty-four 64 MB (26-bit address) physical address spaces on the 4
GB (32-bit address) CPU address space. Therefore, the most significant bit (bit 25) of a 26-bit address of these 64
MB spaces is sign-extended to 32 bits and allocated as an address.
Figure 3-10. Sign Extension in Data Space
31
26 25
0
0 0 0 0 0 0
A 26-bit address (64 MB)
can be specified.
3FFFFFFH
Image 0
64 MB
Image 63
64 MB
Image 62
64 MB
Image 61
64 MB
Image 60
64 MB
0000000H
31
26 25
0
FFFFFFFFH
FC000000H
FBFFFFFFH
F8000000H
F7FFFFFFH
F4000000H
F3FFFFFFH
F0000000H
EFFFFFFFH
4 GB
10000000H
0FFFFFFFH
Image 3
64 MB
Image 2
64 MB
Image 1
64 MB
Image 0
64 MB
0C000000H
0BFFFFFFH
08000000H
07FFFFFFH
04000000H
03FFFFFFH
A 32-bit address (4 GB) can be
specified.
An image of 64 MB appears
repeatedly in the 4 GB space.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
00000000H
Page 68 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(a) Application example of wraparound
If R = r0 (zero register) is specified for the LD/ST disp16 [R] instruction, a range of addresses 00000000H 32
KB can be addressed by sign-extended disp16. All the resources, including the internal hardware, can be
addressed by one pointer.
The zero register (r0) is a register fixed to 0 by hardware, and practically eliminates the need for registers
dedicated to pointers.
Figure 3-11. Example of Data Space Usage in PD70F3794
0003FFFFH
00007FFFH
(R = ) 0 0 0 0 0 0 0 0 H
FFFFF000H
Internal ROM area
32 KB
On-chip peripheral
I/O area
4 KB
Internal RAM area
28 KB
FFFFEFFFH
FFFF8000H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 69 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
Figure 3-12. Recommended Memory Map (PD70F3794)
Program space
Data space
FFFFFFFFH
On-chip
peripheral I/O
FFFFF000H
FFFFEFFFH
Internal RAM
FFFFFFFFH
FFFF0000H
FFFEFFFFH
On-chip
peripheral I/O
FFFFF000H
FFFFEFFFH
Internal RAM
FFFFB000H
FFFFAFFFH
FFFF0000H
FFFEFFFFH
04000000H
03FFFFFFH
Access-prohibited
03FFF000H
03FFEFFFH
Internal RAM
Access-prohibited
03FFB000H
03FFAFFFH
03FF0000H
03FEFFFFH
Access-prohibited
Program space
64 MB
External
memoryNote
01000000H
00FFFFFFH
00100000H
000FFFFFH
External
memoryNote
00100000H
000FFFFFH
00040000H
0003FFFFH
00000000H
Internal ROM
Internal ROM
00000000H
Internal ROM
Note The V850ES/JG3-L has 22 bits address bus, so the external memory area appears as a repeated 4 MB
image.
Remark
indicates the recommended area.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 70 of 1210
V850ES/JG3-L
3.4.6
CHAPTER 3 CPU FUNCTION
Peripheral I/O registers
(1/11)
Address
Function Register Name
Symbol
R/W Manipulatable Bits Default Value
1
FFFFF004H
Port DL register
PDL
8
16
R/W
0000H
FFFFF004H
Port DL register L
PDLL
00H
FFFFF005H
Port DL register H
PDLH
00H
FFFFF006H
Port DH register
PDH
00H
FFFFF00AH
Port CT register
PCT
00H
FFFFF00CH
Port CM register
PCM
00H
FFFFF024H
Port DL mode register
PMDL
FFFFF024H
Port DL mode register L
PMDLL
FFH
FFFFF025H
Port DL mode register H
PMDLH
FFH
FFFFF026H
Port DH mode register
PMDH
FFH
FFFFF02AH
Port CT mode register
PMCT
FFH
FFFFF02CH
Port CM mode register
PMCM
FFFFF044H
Port DL mode control register
PMCDL
Port DL mode control register L
PMCDLL
00H
FFFFF044H
Note
Note
Note
Note
Note
Note
FFFFH
FFH
0000H
Port DL mode control register H
PMCDLH
00H
FFFFF046H
Port DH mode control register
PMCDH
00H
FFFFF04AH
Port CT mode control register
PMCCT
00H
FFFFF04CH
Port CM mode control register
PMCCM
00H
FFFFF066H
Bus size configuration register
BSC
FFFFF06EH
System wait control register
VSWC
FFFFF080H
DMA source address register 0L
DSA0L
Undefined
FFFFF082H
DMA source address register 0H
DSA0H
Undefined
FFFFF084H
DMA destination address register 0L
DDA0L
Undefined
FFFFF086H
DMA destination address register 0H
DDA0H
Undefined
FFFFF045H
5555H
77H
FFFFF088H
DMA source address register 1L
DSA1L
Undefined
FFFFF08AH
DMA source address register 1H
DSA1H
Undefined
FFFFF08CH
DMA destination address register 1L
DDA1L
Undefined
FFFFF08EH
DMA destination address register 1H
DDA1H
Undefined
FFFFF090H
DMA source address register 2L
DSA2L
Undefined
FFFFF092H
DMA source address register 2H
DSA2H
Undefined
FFFFF094H
DMA destination address register 2L
DDA2L
Undefined
FFFFF096H
DMA destination address register 2H
DDA2H
Undefined
FFFFF098H
DMA source address register 3L
DSA3L
Undefined
FFFFF09AH
DMA source address register 3H
DSA3H
Undefined
FFFFF09CH
DMA destination address register 3L
DDA3L
Undefined
FFFFF09EH
DMA destination address register 3H
DDA3H
Undefined
FFFFF0C0H
DMA transfer count register 0
DBC0
Undefined
FFFFF0C2H
DMA transfer count register 1
DBC1
Undefined
FFFFF0C4H
DMA transfer count register 2
DBC2
Undefined
FFFFF0C6H
DMA transfer count register 3
DBC3
Undefined
FFFFF0D0H
DMA addressing control register 0
DADC0
0000H
Note The output latch is 00H or 0000H. When these registers are in the input mode, the pin statuses are read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 71 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(2/11)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits Default Value
1
8
16
0000H
DADC2
0000H
DADC3
0000H
R/W
FFFFF0D2H
DMA addressing control register 1
DADC1
FFFFF0D4H
DMA addressing control register 2
FFFFF0D6H
DMA addressing control register 3
FFFFF0E0H
DMA channel control register 0
DCHC0
00H
FFFFF0E2H
DMA channel control register 1
DCHC1
00H
FFFFF0E4H
DMA channel control register 2
DCHC2
00H
FFFFF0E6H
DMA channel control register 3
DCHC3
FFFFF100H
Interrupt mask register 0
IMR0
FFFFF100H
Interrupt mask register 0L
IMR0L
FFFFF101H
Interrupt mask register 0H
IMR0H
Interrupt mask register 1
IMR1
FFFFF102H
00H
FFFFH
FFH
FFH
FFFFH
FFFFF102H
Interrupt mask register 1L
IMR1L
FFH
FFFFF103H
Interrupt mask register 1H
IMR1H
FFH
Interrupt mask register 2
IMR2
FFFFF104H
FFFFH
FFFFF104H
Interrupt mask register 2L
IMR2L
FFH
FFFFF105H
Interrupt mask register 2H
IMR2H
FFH
Interrupt mask register 3
IMR3
FFFFF106H
FFFFH
FFFFF106H
Interrupt mask register 3L
IMR3L
FFH
FFFFF107H
Interrupt mask register 3H
IMR3H
FFH
FFFFF110H
Interrupt control register (INTLVI)
LVIIC
47H
FFFFF112H
Interrupt control register (INTP0)
PIC0
47H
FFFFF114H
Interrupt control register (INTP1)
PIC1
47H
FFFFF116H
Interrupt control register (INTP2)
PIC2
47H
FFFFF118H
Interrupt control register (INTP3)
PIC3
47H
FFFFF11AH
Interrupt control register (INTP4)
PIC4
47H
FFFFF11CH
Interrupt control register (INTP5)
PIC5
47H
FFFFF11EH
Interrupt control register (INTP6)
PIC6
47H
FFFFF120H
Interrupt control register (INTP7)
PIC7
47H
FFFFF122H
Interrupt control register (INTTQ0OV)
TQ0OVIC
47H
FFFFF124H
Interrupt control register (INTTQ0CC0)
TQ0CCIC0
47H
FFFFF126H
Interrupt control register (INTTQ0CC1)
TQ0CCIC1
47H
FFFFF128H
Interrupt control register (INTTQ0CC2)
TQ0CCIC2
47H
FFFFF12AH
Interrupt control register (INTTQ0CC3)
TQ0CCIC3
47H
FFFFF12CH
Interrupt control register (INTTP0OV)
TP0OVIC
47H
FFFFF12EH
Interrupt control register (INTTP0CC0)
TP0CCIC0
47H
FFFFF130H
Interrupt control register (INTTP0CC1)
TP0CCIC1
47H
FFFFF132H
Interrupt control register (INTTP1OV)
TP1OVIC
47H
FFFFF134H
Interrupt control register (INTTP1CC0)
TP1CCIC0
47H
FFFFF136H
Interrupt control register (INTTP1CC1)
TP1CCIC1
47H
FFFFF138H
Interrupt control register (INTTP2OV)
TP2OVIC
47H
FFFFF13AH
Interrupt control register (INTTP2CC0)
TP2CCIC0
47H
FFFFF13CH
Interrupt control register (INTTP2CC1)
TP2CCIC1
47H
FFFFF13EH
Interrupt control register (INTTP3OV)
TP3OVIC
47H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 72 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(3/11)
Address
Function Register Name
FFFFF140H
Interrupt control register (INTTP3CC0)
FFFFF142H
Interrupt control register (INTTP3CC1)
FFFFF144H
Interrupt control register (INTTP4OV)
FFFFF146H
Interrupt control register (INTTP4CC0)
Symbol
R/W Manipulatable Bits Default Value
1
8
47H
TP3CCIC1
47H
TP4OVIC
47H
TP4CCIC0
47H
TP3CCIC0
R/W
16
FFFFF148H
Interrupt control register (INTTP4CC1)
TP4CCIC1
47H
FFFFF14AH
Interrupt control register (INTTP5OV)
TP5OVIC
47H
FFFFF14CH
Interrupt control register (INTTP5CC0)
TP5CCIC0
47H
FFFFF14EH
Interrupt control register (INTTP5CC1)
TP5CCIC1
47H
FFFFF150H
Interrupt control register (INTTM0EQ0)
TM0EQIC0
47H
FFFFF152H
Interrupt control register (INTCB0R/INTIIC1)
CB0RIC/IICIC1
47H
FFFFF154H
Interrupt control register (INTCB0T)
CB0TIC
47H
FFFFF156H
Interrupt control register (INTCB1R)
CB1RIC
47H
FFFFF158H
Interrupt control register (INTCB1T)
CB1TIC
47H
FFFFF15AH
Interrupt control register (INTCB2R)
CB2RIC
47H
FFFFF15CH
Interrupt control register (INTCB2T)
CB2TIC
47H
FFFFF15EH
Interrupt control register (INTCB3R)
CB3RIC
47H
FFFFF160H
Interrupt control register (INTCB3T)
CB3TIC
47H
FFFFF162H
Interrupt control register (INTUA0R/INTCB4R)
UA0RIC/CB4RIC
47H
FFFFF164H
Interrupt control register (INTUA0T/INTCB4T)
UA0TIC/CB4TIC
47H
FFFFF166H
Interrupt control register (INTUA1R/INTIIC2)
UA1RIC/IICIC2
47H
FFFFF168H
Interrupt control register (INTUA1T)
UA1TIC
47H
FFFFF16AH
Interrupt control register (INTUA2R/INTIIC0)
UA2RIC/IICIC0
47H
FFFFF16CH
Interrupt control register (INTUA2T)
UA2TIC
47H
FFFFF16EH
Interrupt control register (INTAD)
ADIC
47H
FFFFF170H
Interrupt control register (INTDMA0)
DMAIC0
47H
FFFFF172H
Interrupt control register (INTDMA1)
DMAIC1
47H
FFFFF174H
Interrupt control register (INTDMA2)
DMAIC2
47H
FFFFF176H
Interrupt control register (INTDMA3)
DMAIC3
47H
FFFFF178H
Interrupt control register (INTKR)
KRIC
47H
FFFFF17AH
Interrupt control register (INTWTI/INTRTC2)
WTIIC/RTC2IC
47H
FFFFF17CH
Interrupt control register (INTWT/INTRTC0)
WTIC/RTC0IC
47H
FFFFF17EH
Interrupt control register (INTRTC1)
RTC1C
47H
FFFFF180H
Interrupt control register (INTUA3R)
UA3RIC
47H
FFFFF182H
Interrupt control register (INTUA3T)
UA3TI
47H
FFFFF184H
Interrupt control register (INTUA4R)
UA4RIC
47H
FFFFF186H
Interrupt control register (INTUA4T)
UA4TIC
47H
FFFFF188H
Interrupt control register (INTUC0R)
UC0RIC
47H
FFFFF18AH
Interrupt control register (INTUC0T)
UC0TIC
47H
FFFFF1FAH
In-service priority register
ISPR
R
FFFFF1FCH
Command register
PRCMD
W
FFFFF1FEH
Power save control register
PSC
Note
R/W
00H
Undefined
00H
Note This is a special register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 73 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(4/11)
Address
Function Register Name
Symbol
R/W
1
8
16
FFFFF200H
A/D converter mode register 0
FFFFF201H
A/D converter mode register 1
ADA0M1
00H
FFFFF202H
A/D converter channel specification register
ADA0S
00H
FFFFF203H
A/D converter mode register 2
ADA0M2
00H
FFFFF204H
Power-fail compare mode register
ADA0PFM
00H
FFFFF205H
Power-fail compare threshold value register
ADA0PFT
FFFFF210H
A/D conversion result register 0
ADA0CR0
FFFFF211H
FFFFF212H
FFFFF213H
FFFFF214H
FFFFF215H
FFFFF216H
FFFFF217H
FFFFF218H
FFFFF219H
FFFFF21AH
FFFFF21BH
FFFFF21CH
FFFFF21DH
FFFFF21EH
FFFFF21FH
FFFFF220H
FFFFF221H
FFFFF222H
FFFFF223H
FFFFF224H
FFFFF225H
FFFFF226H
ADA0M0
R/W Manipulatable Bits Default Value
A/D conversion result register 0H
ADA0CR0H
A/D conversion result register 1
ADA0CR1
A/D conversion result register 1H
ADA0CR1H
A/D conversion result register 2
ADA0CR2
A/D conversion result register 2H
ADA0CR2H
A/D conversion result register 3
ADA0CR3
A/D conversion result register 3H
ADA0CR3H
A/D conversion result register 4
ADA0CR4
A/D conversion result register 4H
ADA0CR4H
A/D conversion result register 5
ADA0CR5
A/D conversion result register 5H
ADA0CR5H
A/D conversion result register 6
ADA0CR6
A/D conversion result register 6H
ADA0CR6H
A/D conversion result register 7
ADA0CR7
A/D conversion result register 7H
ADA0CR7H
A/D conversion result register 8
ADA0CR8
A/D conversion result register 8H
ADA0CR8H
A/D conversion result register 9
ADA0CR9
A/D conversion result register 9H
ADA0CR9H
A/D conversion result register 10
ADA0CR10
A/D conversion result register 10H
ADA0CR10H
00H
00H
R
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
Undefined
A/D conversion result register 11
ADA0CR11
A/D conversion result register 11H
ADA0CR11H
FFFFF280H
D/A conversion value setting register 0
DA0CS0
FFFFF281H
D/A conversion value setting register 1
DA0CS1
FFFFF282H
D/A converter mode register
DA0M
FFFFF300H
Key return mode register
KRM
00H
FFFFF308H
Selector operation control register 0
SELCNT0
00H
FFFFF310H
CRC input register
CRCIN
FFFFF312H
CRC data register
CRCD
FFFFF318H
Noise elimination control register
NFC
FFFFF320H
Prescaler mode register 1
PRSM1
FFFFF321H
Prescaler compare register 1
PRSCM1
FFFFF324H
Prescaler mode register 2
PRSM2
FFFFF325H
Prescaler compare register 2
PRSCM2
FFFFF328H
Prescaler mode register 3
PRSM3
FFFFF329H
Prescaler compare register 3
PRSCM3
FFFFF227H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
R/W
Undefined
Undefined
00H
00H
00H
00H
0000H
00H
00H
00H
00H
00H
00H
00H
Page 74 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(5/11)
Address
Function Register Name
Symbol
R/W Manipulatable Bits Default Value
1
8
16
00H
REGOVL0
00H
IIC division clock select register
OCKS0
00H
IIC division clock select register
OCKS1
00H
FFFFF348H
Clock select register
OCKS2
00H
FFFFF380H
Clock through select register
CKTHSEL
00H
FFFFF400H
Port 0 register
P0
00H
FFFFF402H
Port 1 register
P1
00H
FFFFF406H
Port 3 register
P3
FFFFF331H
Regulator protection register
REGPR
FFFFF332H
Regulator output voltage level control register
FFFFF340H
FFFFF344H
R/W
Note
Note
0000H
FFFFF406H
Port 3 register L
P3L
00H
FFFFF407H
Port 3 register H
P3H
00H
FFFFF408H
Port 4 register
P4
00H
FFFFF40AH
Port 5 register
P5
00H
FFFFF40EH
Port 7 register L
P7L
00H
FFFFF40FH
Port 7 register H
P7H
00H
FFFFF412H
Port 9 register
P9
FFFFF412H
Port 9 register L
P9L
00H
FFFFF413H
Port 9 register H
P9H
00H
FFFFF420H
Port 0 mode register
PM0
FFH
FFFFF422H
Port 1 mode register
PM1
FFFFF426H
Port 3 mode register
PM3
Port 3 mode register L
PM3L
FFH
FFFFF426H
Note
Note
Note
Note
Note
0000H
Note
FFH
FFFFH
Port 3 mode register H
PM3H
FFH
Port 4 mode register
PM4
FFH
FFFFF42AH
Port 5 mode register
PM5
FFH
FFFFF42EH
Port 7 mode register L
PM7L
FFH
FFFFF42FH
Port 7 mode register H
PM7H
FFH
FFFFF432H
Port 9 mode register
PM9
FFFFF432H
Port 9 mode register L
PM9L
FFH
FFFFH
FFFFF433H
Port 9 mode register H
PM9H
FFH
FFFFF440H
Port 0 mode control register
PMC0
00H
FFFFF446H
Port 3 mode control register
PMC3
0000H
FFFFF446H
Port 3 mode control register L
PMC3L
00H
FFFFF447H
Port 3 mode control register H
PMC3H
00H
FFFFF448H
Port 4 mode control register
PMC4
00H
FFFFF44AH
Port 5 mode control register
PMC5
FFFFF452H
Port 9 mode control register
PMC9
Port 9 mode control register L
PMC9L
FFFFF452H
00H
0000H
00H
Port 9 mode control register H
PMC9H
00H
FFFFF460H
Port 0 function control register
PFC0
00H
FFFFF466H
FFFFF453H
Note
Note
FFFFF428H
FFFFF427H
Note
Note
Port 3 function control register
PFC3
FFFFF466H
Port 3 function control register L
PFC3L
0000H
00H
FFFFF467H
Port 3 function control register H
PFC3H
00H
Note The output latch is 00H or 0000H. When these registers are input, the pin statuses are read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 75 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(6/11)
Address
Function Register Name
Symbol
R/W Manipulatable Bits
R/W
Default Value
1
8
16
00H
00H
FFFFF468H
Port 4 function control register
PFC4
FFFFF46AH
Port 5 function control register
PFC5
FFFFF472H
Port 9 function control register
PFC9
FFFFF472H
Port 9 function control register L
PFC9L
00H
FFFFF473H
Port 9 function control register H
PFC9H
00H
0000H
FFFFF484H
Data wait control register 0
DWC0
7777H
FFFFF488H
Address wait control register
AWC
FFFFH
FFFFF48AH
Bus cycle control register
BCC
AAAAH
FFFFF540H
TMQ0 control register 0
TQ0CTL0
00H
FFFFF541H
TMQ0 control register 1
TQ0CTL1
00H
FFFFF542H
TMQ0 I/O control register 0
TQ0IOC0
00H
FFFFF543H
TMQ0 I/O control register 1
TQ0IOC1
00H
FFFFF544H
TMQ0 I/O control register 2
TQ0IOC2
00H
FFFFF545H
TMQ0 option register 0
TQ0OPT0
FFFFF546H
TMQ0 capture/compare register 0
TQ0CCR0
0000H
FFFFF548H
TMQ0 capture/compare register 1
TQ0CCR1
0000H
FFFFF54AH
TMQ0 capture/compare register 2
TQ0CCR2
0000H
FFFFF54CH
TMQ0 capture/compare register 3
TQ0CCR3
0000H
FFFFF54EH
TMQ0 counter read buffer register
TQ0CNT
R
FFFFF590H
TMP0 control register 0
TP0CTL0
R/W
FFFFF591H
TMP0 control register 1
FFFFF592H
FFFFF593H
FFFFF594H
00H
0000H
00H
TP0CTL1
00H
TMP0 I/O control register 0
TP0IOC0
00H
TMP0 I/O control register 1
TP0IOC1
00H
TMP0 I/O control register 2
TP0IOC2
00H
FFFFF595H
TMP0 option register 0
TP0OPT0
FFFFF596H
TMP0 capture/compare register 0
TP0CCR0
FFFFF598H
TMP0 capture/compare register 1
TP0CCR1
FFFFF59AH
TMP0 counter read buffer register
TP0CNT
R
FFFFF5A0H
TMP1 control register 0
TP1CTL0
R/W
FFFFF5A6H
TMP1 capture/compare register 0
TP1CCR0
0000H
FFFFF5A8H
TMP1 capture/compare register 1
TP1CCR1
0000H
FFFFF5AAH
TMP1 counter read buffer register
TP1CNT
R
0000H
FFFFF5B0H
TMP2 control register 0
TP2CTL0
R/W
FFFFF5B1H
TMP2 control register 1
FFFFF5B2H
FFFFF5B3H
FFFFF5B4H
FFFFF5B5H
FFFFF5B6H
00H
0000H
0000H
0000H
00H
00H
TP2CTL1
00H
TMP2 I/O control register 0
TP2IOC0
00H
TMP2 I/O control register 1
TP2IOC1
00H
TMP2 I/O control register 2
TP2IOC2
00H
TMP2 option register 0
TP2OPT0
00H
TMP2 capture/compare register 0
TP2CCR0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
0000H
Page 76 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(7/11)
Address
Function Register Name
Symbol
R/W Manipulatable Bits
1
FFFFF5B8H
TMP2 capture/compare register 1
TP2CCR1
FFFFF5BAH
TMP2 counter read buffer register
TP2CNT
R
FFFFF5C0H
TMP3 control register 0
TP3CTL0
R/W
FFFFF5C1H
TMP3 control register 1
FFFFF5C2H
FFFFF5C3H
FFFFF5C4H
8
R/W
Default Value
16
0000H
0000H
00H
TP3CTL1
00H
TMP3 I/O control register 0
TP3IOC0
00H
TMP3 I/O control register 1
TP3IOC1
00H
TMP3 I/O control register 2
TP3IOC2
00H
FFFFF5C5H
TMP3 option register 0
TP3OPT0
FFFFF5C6H
TMP3 capture/compare register 0
TP3CCR0
00H
0000H
0000H
0000H
FFFFF5C8H
TMP3 capture/compare register 1
TP3CCR1
FFFFF5CAH
TMP3 counter read buffer register
TP3CNT
R
FFFFF5D0H
TMP4 control register 0
TP4CTL0
R/W
00H
FFFFF5D1H
TMP4 control register 1
TP4CTL1
00H
FFFFF5D2H
TMP4 I/O control register 0
TP4IOC0
00H
FFFFF5D3H
TMP4 I/O control register 1
TP4IOC1
00H
FFFFF5D4H
TMP4 I/O control register 2
TP4IOC2
00H
FFFFF5D5H
TMP4 option register 0
TP4OPT0
FFFFF5D6H
TMP4 capture/compare register 0
TP4CCR0
FFFFF5D8H
TMP4 capture/compare register 1
TP4CCR1
FFFFF5DAH
TMP4 counter read buffer register
TP4CNT
R
FFFFF5E0H
TMP5 control register 0
TP5CTL0
R/W
FFFFF5E1H
TMP5 control register 1
FFFFF5E2H
TMP5 I/O control register 0
FFFFF5E3H
TMP5 I/O control register 1
FFFFF5E4H
FFFFF5E5H
00H
0000H
0000H
0000H
00H
TP5CTL1
00H
TP5IOC0
00H
TP5IOC1
00H
TMP5 I/O control register 2
TP5IOC2
00H
TMP5 option register 0
TP5OPT0
00H
FFFFF5E6H
TMP5 capture/compare register 0
TP5CCR0
0000H
FFFFF5E8H
TMP5 capture/compare register 1
TP5CCR1
0000H
FFFFF5EAH
TMP5 counter read buffer register
TP5CNT
0000H
FFFFF680H
Watch timer operation mode register
WTM
FFFFF690H
TMM0 control register 0
TM0CTL0
FFFFF694H
TMM0 compare register 0
TM0CMP0
FFFFF6C0H
Oscillation stabilization time select register
OSTS
06H
FFFFF6C1H
PLL lockup time specification register
PLLS
03H
FFFFF6D0H
Watchdog timer mode register 2
WDTM2
67H
FFFFF6D1H
Watchdog timer enable register
WDTE
9AH
FFFFF6E0H
Real-time output buffer register 0L
RTBL0
00H
FFFFF6E2H
Real-time output buffer register 0H
RTBH0
00H
FFFFF6E4H
Real-time output port mode register 0
RTPM0
00H
FFFFF6E5H
Real-time output port control register 0
RTPC0
00H
FFFFF700H
Port 0 function control expansion register
PFCE0
00H
FFFFF706H
Port 3 function control expansion register L
PFCE3L
00H
FFFFF70AH
Port 5 function control expansion register
PFCE5
00H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
R
R/W
00H
00H
0000H
Page 77 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(8/11)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
FFFFF712H
FFFFF712H
8
16
R/W
Default Value
Port 9 function control expansion register
PFCE9
0000H
Port 9 function control expansion register L
PFCE9L
00H
Port 9 function control expansion register H
PFCE9H
00H
System status register
SYS
00H
FFFFF80CH
Internal oscillation mode register
RCM
00H
FFFFF810H
DMA trigger factor register 0
DTFR0
00H
FFFFF812H
DMA trigger factor register 1
DTFR1
00H
FFFFF814H
DMA trigger factor register 2
DTFR2
00H
FFFFF816H
DMA trigger factor register 3
DTFR3
00H
FFFFF820H
Power save mode register
PSMR
00H
FFFFF713H
FFFFF802H
0AH
R
00H
R/W
03H
01H
R
00H
R/W
00H
RESF
00H
Low-voltage detection register
LVIM
Low-voltage detection level select register
LVIS
Prescaler mode register 0
PRSM0
FFFFF822H
Clock control register
CKC
FFFFF824H
Lock register
LOCKR
FFFFF828H
Processor clock control register
PCC
FFFFF82CH
PLL control register
PLLCTL
FFFFF82EH
CPU operation clock status register
CCLS
FFFFF870H
Clock monitor mode register
CLM
FFFFF888H
Reset source flag register
FFFFF890H
FFFFF891H
FFFFF8B0H
Note
00H
00H
00H
00H
01H
10H
00H
FFH
14H
00H
FFFFF8B1H
Prescaler compare register 0
PRSCM0
FFFFF9FCH
On-chip debug mode register
OCDM
FFFFFA00H
UARTA0 control register 0
UA0CTL0
FFFFFA01H
UARTA0 control register 1
UA0CTL1
FFFFFA02H
UARTA0 control register 2
UA0CTL2
FFFFFA03H
UARTA0 option control register 0
UA0OPT0
FFFFFA04H
UARTA0 status register
UA0STR
FFFFFA06H
UARTA0 receive data register
UA0RX
R
FFH
FFFFFA07H
UARTA0 transmit data register
UA0TX
R/W
FFH
FFFFFA10H
UARTA1 control register 0
UA1CTL0
10H
Note
FFFFFA11H
UARTA1 control register 1
UA1CTL1
00H
FFFFFA12H
UARTA1 control register 2
UA1CTL2
FFH
FFFFFA13H
UARTA1 option control register 0
UA1OPT0
14H
FFFFFA14H
UARTA1 status register
UA1STR
00H
FFFFFA16H
UARTA1 receive data register
UA1RX
R
FFH
FFFFFA17H
UARTA1 transmit data register
UA1TX
R/W
FFH
FFFFFA20H
UARTA2 control register 0
UA2CTL0
10H
FFFFFA21H
UARTA2 control register 1
UA2CTL1
00H
FFFFFA22H
UARTA2 control register 2
UA2CTL2
FFH
FFFFFA23H
UARTA2 option control register 0
UA2OPT0
14H
FFFFFA24H
UARTA2 status register
UA2STR
00H
FFFFFA26H
UARTA2 receive data register
UA2RX
R
FFH
FFFFFA27H
UARTA2 transmit data register
UA2TX
R/W
FFH
Note
This is a special register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 78 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(9/11)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
Default Value
1
8
16
10H
FFFFFA30H
UARTA3 control register 0
UA3CTL0
FFFFFA31H
UARTA3 control register 1
UA3CTL1
00H
FFFFFA32H
UARTA3 control register 2
UA3CTL2
FFH
FFFFFA33H
UARTA3 option control register 0
UA3OPT0
14H
FFFFFA34H
UARTA3 status register
UA3STR
00H
FFFFFA36H
UARTA3 receive data register
UA3RX
R
FFH
FFFFFA37H
UARTA3 transmit data register
UA3TX
R/W
FFH
FFFFFA40H
UARTA4 control register 0
UA4CTL0
10H
FFFFFA41H
UARTA4 control register 1
UA4CTL1
00H
FFFFFA42H
UARTA4 control register 2
UA4CTL2
FFH
FFFFFA43H
UARTA4 option control register 0
UA4OPT0
14H
FFFFFA44H
UARTA4 status register
UA4STR
00H
FFFFFA46H
UARTA4 receive data register
UA4RX
R
FFH
FFFFFA47H
UARTA4 transmit data register
UA4TX
R/W
FFH
FFFFFA50H
UARTA5 control register 0
UA5CTL0
10H
FFFFFA51H
UARTA5 control register 1
UA5CTL1
00H
FFFFFA52H
UARTA5 control register 2
UA5CTL2
FFH
FFFFFA53H
UARTA5 option control register 0
UA5OPT0
14H
FFFFFA54H
UARTA5 status register
UA5STR
00H
FFFFFA56H
UARTA5 receive data register
UA5RX
R
FFH
FFFFFA57H
UARTA5 transmit data register
UA5TX
R/W
FFH
FFFFFAA0H
UARTC0 control register 0
UC0CTL0
10H
FFFFFAA1H
UARTC0 control register 1
UC0CTL1
00H
R/W
FFFFFAA2H
UARTC0 control register 2
UC0CTL2
FFH
FFFFFAA3H
UARTC0 option control register 0
UC0OPT0
14H
FFFFFAA4H
UARTC0 status register
UC0STR
00H
FFFFFAA6H
FFFFFAA6H
FFFFFAA8H
UARTC0 receive data register
UC0RX
UARTC0 receive data register L
UC0RXL
UARTC0 transmit data register
UC0TX
UARTC0 transmit data register L
UC0TXL
FFFFFAAAH
UARTC0 option control register 1
UC0OPT1
FFFFFAD0H
Sub-count register
RC1SUBC
FFFFFAD2H
Second count register
RC1SEC
FFFFFAA8H
R
FFH
R/W
00H
R/W
01FFH
FFH
R
01FFH
0000H
00H
FFFFFAD3H
Minute count register
RC1MIN
00H
FFFFFAD4H
Hour count register
RC1HOUR
12H
FFFFFAD5H
Week count register
RC1WEEK
00H
FFFFFAD6H
Day count register
RC1DAY
01H
FFFFFAD7H
Month count register
RC1MONTH
01H
FFFFFAD8H
Year count register
RC1YEAR
00H
FFFFFAD9H
Time error correction register
RC1SUBU
00H
FFFFFADAH
Alarm minute set register
RC1ALM
00H
FFFFFADBH
Alarm time set register
RC1ALH
12H
FFFFFADCH
Alarm week set register
RC1ALW
00H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 79 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(10/11)
Address
Function Register Name
Symbol
1
8
00H
RC1CC1
00H
00H
00H
00H
FFFFFADDH
RTC control register 0
RC1CC0
FFFFFADEH
RTC control register 1
FFFFFADFH
RTC control register 2
RC1CC2
FFFFFAE0H
RTC control register 3
RC1CC3
FFFFFB00H
RTC backup control register 0
R/W Manipulatable Bits Default Value
R/W
Note
RTCBUMCTL0
16
FFFFFB03H
Subclock low-power operation control register
SOSCAMCTL
00H
FFFFFC00H
External interrupt falling edge specification register 0
INTF0
00H
FFFFFC06H
External interrupt falling edge specification register 3
INTF3
00H
FFFFFC13H
External interrupt falling edge specification register 9H
INTF9H
00H
FFFFFC20H
External interrupt rising edge specification register 0
INTR0
00H
FFFFFC26H
External interrupt rising edge specification register 3
INTR3
00H
FFFFFC33H
External interrupt rising edge specification register 9H
INTR9H
00H
FFFFFC60H
Port 0 function register
PF0
00H
FFFFFC66H
Note
Port 3 function register
PF3
FFFFFC66H
Port 3 function register L
PF3L
00H
0000H
FFFFFC67H
Port 3 function register H
PF3H
00H
FFFFFC68H
Port 4 function register
PF4
00H
FFFFFC6AH
Port 5 function register
PF5
00H
FFFFFC72H
Port 9 function register
PF9
FFFFFC72H
Port 9 function register L
PF9L
00H
FFFFFC73H
Port 9 function register H
PF9H
00H
FFFFFD00H
CSIB0 control register 0
CB0CTL0
01H
FFFFFD01H
CSIB0 control register 1
CB0CTL1
00H
FFFFFD02H
CSIB0 control register 2
CB0CTL2
00H
FFFFFD03H
CSIB0 status register
CB0STR
00H
FFFFFD04H
CSIB0 receive data register
CB0RX
CSIB0 receive data register L
CB0RXL
FFFFFD04H
FFFFFD06H
FFFFFD06H
FFFFFD10H
CSIB0 transmit data register
CB0TX
CSIB0 transmit data register L
CB0TXL
CSIB1 control register 0
CB1CTL0
FFFFFD11H
CSIB1 control register 1
CB1CTL1
FFFFFD12H
CSIB1 control register 2
CB1CTL2
FFFFFD13H
CSIB1 status register
CB1STR
FFFFFD14H
CSIB1 receive data register
CB1RX
CSIB1 receive data register L
CB1RXL
FFFFFD14H
FFFFFD16H
R
00H
01H
00H
00H
00H
R
CB1TX
CB1TXL
FFFFFD20H
CSIB2 control register 0
CB2CTL0
FFFFFD21H
CSIB2 control register 1
CB2CTL1
FFFFFD22H
CSIB2 control register 2
CB2CTL2
FFFFFD23H
CSIB2 status register
CB2STR
FFFFFD24H
CSIB2 receive data register
CB2RX
CSIB2 receive data register L
CB2RXL
Note
R/W
0000H
00H
CSIB1 transmit data register
FFFFFD24H
0000H
CSIB1 transmit data register L
FFFFFD16H
0000H
00H
R/W
0000H
0000H
00H
01H
00H
00H
00H
R
0000H
00H
This is a special register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 80 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(11/11)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
FFFFFD26H
CSIB2 transmit data register
CB2TX
CSIB2 transmit data register L
CB2TXL
FFFFFD30H
CSIB3 control register 0
CB3CTL0
FFFFFD31H
CSIB3 control register 1
CB3CTL1
FFFFFD32H
CSIB3 control register 2
CB3CTL2
FFFFFD33H
CSIB3 status register
CB3STR
FFFFFD26H
FFFFFD34H
FFFFFD34H
FFFFFD36H
CSIB3 receive data register
CB3RX
CSIB3 receive data register L
CB3RXL
CSIB3 transmit data register
CB3TX
CSIB3 transmit data register L
CB3TXL
FFFFFD40H
CSIB4 control register 0
CB4CTL0
FFFFFD41H
CSIB4 control register 1
CB4CTL1
FFFFFD42H
CSIB4 control register 2
CB4CTL2
FFFFFD43H
CSIB4 status register
CB4STR
FFFFFD44H
CSIB4 receive data register
CB4RX
CSIB4 receive data register L
CB4RXL
FFFFFD36H
FFFFFD44H
FFFFFD46H
00H
01H
00H
00H
00H
00H
01H
00H
00H
00H
CB4TX
FFFFFD80H
IIC shift register 0
IIC0
FFFFFD82H
IIC control register 0
IICC0
FFFFFD83H
Slave address register 0
SVA0
FFFFFD84H
IIC clock select register 0
IICCL0
FFFFFD85H
IIC function expansion register 0
IICX0
FFFFFD86H
IIC status register 0
IICS0
R
FFFFFD8AH
IIC flag register 0
IICF0
R/W
FFFFFD90H
IIC shift register 1
IIC1
FFFFFD92H
IIC control register 1
IICC1
FFFFFD93H
Slave address register 1
SVA1
FFFFFD94H
IIC clock select register 1
IICCL1
FFFFFD95H
IIC function expansion register 1
IICX1
FFFFFD96H
IIC status register 1
IICS1
R
FFFFFD9AH
IIC flag register 1
IICF1
R/W
FFFFFDA0H
IIC shift register 2
IIC2
FFFFFDA2H
IIC control register 2
IICC2
FFFFFDA3H
Slave address register 2
SVA2
FFFFFDA4H
IIC clock select register 2
IICCL2
FFFFFDA5H
IIC function expansion register 2
IICX2
FFFFFDA6H
IIC status register 2
IICS2
R
FFFFFDAAH
IIC flag register 2
IICF2
R/W
FFFFFF40H
USB clock control register
UCKSEL
FFFFFF41H
USB function control register
UFCKMSK
0000H
R
CB4TXL
0000H
00H
R/W
R/W
0000H
CSIB4 transmit data register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
16
R
CSIB4 transmit data register L
FFFFFD46H
8
R/W
Default Value
00H
R/W
0000H
0000H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
00H
03H
Page 81 of 1210
V850ES/JG3-L
3.4.7
CHAPTER 3 CPU FUNCTION
Special registers
Special registers are registers that are protected from being written with illegal data due to a program hang-up. The
V850ES/JG3-L has the following nine special registers.
Power save control register (PSC)
Clock control register (CKC)
Processor clock control register (PCC)
Clock monitor mode register (CLM)
Reset source flag register (RESF)
Low-voltage detection register (LVIM)
On-chip debug mode register (OCDM)
RTC backup control register 0 (RTCBUMCTL0)
Subclock low-power operation control register 0 (SOSCAMCTL)
In addition, the PRCDM register is provided to protect against a write access to the special registers so that the
application system does not inadvertently stop due to a program hang-up. A write access to the special registers is made
in a specific sequence, and an illegal store operation is reported to the SYS register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 82 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(1) Setting data to special registers
Set data to the special registers in the following sequence.
Disable DMA operation.
Prepare data to be set to the special register in a general-purpose register.
Write the data prepared in to the PRCMD register.
Write the setting data to the special register (by using the following instructions).
Store instruction (ST/SST instruction)
Bit manipulation instruction (SET1/CLR1/NOT1 instruction)
( to Insert NOP instructions (5 instructions).)Note
Enable DMA operation if necessary.
Note When switching to the IDLE mode or the STOP mode (PSC.STP bit = 1), 5 NOP instructions must be
inserted immediately after switching is performed.
Caution To resume the DMA operation in the status before the DMA operation was disabled after a special
sequence, the DCHCn register status must be stored before the DMA operation is disabled.
After the DCHCn register status is stored, the DCHCn.TCn bit must be checked before the DMA
operation is resumed and the following processing must be executed according to the TCn bit
status, because completion of DMA transfer may occur before the DMA operation is disabled.
• When the TCn bit is 0 (DMA transfer not completed), the contents of the DCHCn register stored
before the DMA operation was disabled are written to the DCHCn register again.
• When the TCn bit is 1 (DMA transfer completed), DMA transfer completion processing is
executed.
Remark n = 0 to 3
[Example] PSC register (setting standby mode)
ST.B r11, PSMR[r0]
CLR1 0, DCHCn[r0]
; Set PSMR register (setting IDLE1, IDLE2, and STOP modes).
; Disable DMA operation. n = 0 to 3
MOV0x02, r10
ST.B r10, PRCMD[r0] ; Write PRCMD register.
ST.B r10, PSC[r0]
; Set PSC register.
Note
; Dummy instruction
NOPNote
; Dummy instruction
Note
; Dummy instruction
NOPNote
; Dummy instruction
NOP
NOP
NOP
Note
SET1 0, DCHCn[r0]
; Dummy instruction
; Enable DMA operation. n = 0 to 3
(next instruction)
There is no special sequence required to read a special register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 83 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
Note Five NOP instructions or more must be inserted immediately after setting the IDLE1 mode, IDLE2 mode, or
STOP mode (by setting the PSC.STP bit to 1).
Caution
When a store instruction is executed to store data in the command register, interrupts are not
acknowledged. This is because it is assumed that steps and above are performed by
successive store instructions. If another instruction is placed between and , and if an
interrupt is acknowledged by that instruction, the above sequence may not be established,
causing malfunction.
Remark
Although dummy data is written to the PRCMD register, use the same general-purpose register used to
set the special register ( in the example) to write data to the PRCMD register ( in the example).
The same applies when a general-purpose register is used for addressing.
(2) Command register (PRCMD)
The PRCMD register is an 8-bit register that protects the registers that may seriously affect the application system
from being written, so that the system does not inadvertently stop due to a program hang-up. The first write access
to a special register is valid after data has been written in advance to the PRCMD register. In this way, the value of
the special register can be rewritten only in a specific sequence, so as to protect the register from an illegal write
access.
The PRCMD register is write-only, in 8-bit units (undefined data is read when this register is read).
After reset: Undefined
PRCMD
W
Address: FFFFF1FCH
7
6
5
4
3
2
1
0
REG7
REG6
REG5
REG4
REG3
REG2
REG1
REG0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 84 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(3) System status register (SYS)
Status flags that indicate the operation status of the overall system are allocated to this register.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address: FFFFF802H
< >
SYS
0
0
0
PRERR
0
0
0
0
PRERR
Detects protection error
0
Protection error did not occur.
1
Protection error occurred.
The PRERR flag operates under the following conditions.
(a) Set condition (PRERR flag = 1)
(i) When data is written to a special register without writing anything to the PRCMD register (when is
executed without executing in 3.4.7 (1) Setting data to special registers)
(ii) When data is written to an on-chip peripheral I/O register other than a special register (including execution
of a bit manipulation instruction) after writing data to the PRCMD register (if in 3.4.7 (1) Setting data
to special registers is not the setting of a special register)
Remark
Even if an on-chip peripheral I/O register is read (except by a bit manipulation instruction) or the
internal RAM is accessed between an operation to write the PRCMD register and an operation to
write a special register, the PRERR flag is not set, and the set data can be written to the special
register.
(b) Clear condition (PRERR flag = 0)
(i) When 0 is written to the PRERR flag
(ii) When the system is reset
Cautions 1. If 0 is written to the PRERR bit of the SYS register, which is not a special register,
immediately after a write access to the PRCMD register, the PRERR bit is cleared to 0 (the
write access takes precedence).
2. If data is written to the PRCMD register, which is not a special register, immediately after a
write access to the PRCMD register, the PRERR bit is set to 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 85 of 1210
V850ES/JG3-L
3.4.8
CHAPTER 3 CPU FUNCTION
Registers to be set first
Be sure to set the following registers first when using the V850ES/JG3-L.
System wait control register (VSWC)
On-chip debug mode register (OCDM)
Watchdog timer mode register 2 (WDTM2)
After setting the VSWC, OCDM, and WDTM2 registers, set the other registers as necessary.
When using the external bus, set each pin to the alternate-function bus control pin mode by using the port-related
registers after setting the above registers.
(a) System wait control register (VSWC)
The VSWC register controls wait of bus access to the on-chip peripheral I/O registers.
Three clock cycles are required to access an on-chip peripheral I/O register (without a wait cycle). The
V850ES/JG3-L requires wait cycles according to the operating frequency. Set the following value to the VSWC
register in accordance with the frequency used.
This register can be read or written in 8-bit units.
Reset sets this register to 77H (number of waits: 14).
After reset: 77H
7
R/W
6
Address: FFFFF06EH
5
4
3
2
1
0
VSWC
Operating Frequency (fCLK)
Set Value of VSWC
Number of Waits
32 kHz fCLK < 16.6 MHz
00H
0 (no waits)
16.6 MHz fCLK 20 MHz
01H
1
(b) On-chip debug mode register (OCDM)
For details, see CHAPTER 32 ON-CHIP DEBUG FUNCTION.
(c) Watchdog timer mode register 2 (WDTM2)
The WDTM2 register sets the overflow time and the operation clock of watchdog timer 2.
Watchdog timer 2 automatically starts in the reset mode after reset is released. To specify the operation of
watchdog timer 2, write to the WDTM2 register after reset is released.
For details, see CHAPTER 12 WATCHDOG TIMER 2.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 86 of 1210
V850ES/JG3-L
3.4.9
CHAPTER 3 CPU FUNCTION
Cautions
(1) Accessing special on-chip peripheral I/O registers
This product has two types of internal system buses.
One is a CPU bus and the other is a peripheral bus that interfaces with low-speed peripheral hardware.
The clock of the CPU bus and the clock of the peripheral bus are asynchronous. If an access to the CPU and an
access to the peripheral hardware conflict, therefore, unexpected illegal data may be transferred. If there is a
possibility of a conflict, the number of cycles for accessing the CPU changes when the peripheral hardware is
accessed, so that correct data is transferred. As a result, the CPU does not start processing of the next instruction
but enters the wait status. If this wait status occurs, the number of clocks required to execute an instruction
increases by the number of wait clocks shown below.
This must be taken into consideration if real-time processing is required.
When special on-chip peripheral I/O registers are accessed, more wait states may be required in addition to the
wait states set by the VSWC register.
The access conditions and how to calculate the number of wait states to be inserted (number of CPU clocks) at this
time are shown below.
Table 3-4. Registers That Requires Waits
Peripheral Function
Register Name
Access
k
16-bit timer/event counter P (TMP)
TPnCNT
Read
1 or 2
(n = 0 to 5)
TPnCCR0, TPnCCR1
Write
1 access: No wait
st
Continuous write: 3 or 4
Read
16-bit timer/event counter Q (TMQ)
1 or 2
TQ0CNT
Read
1 or 2
TQ0CCR0 to TQ0CCR3
Write
1 access: No wait
st
Continuous write: 3 or 4
Watchdog timer 2 (WDT2)
WDTM2
Read
1 or 2
Write
3
(when WDT2 operating)
Real-time output function (RTO)
RTBL0, RTBH0
Write
1
(RTPC0.RTPOE0 bit = 0)
A/D converter
ADA0M0
Read
1 or 2
ADA0CR0 to ADA0CR11
Read
1 or 2
ADA0CR0H to ADA0CR11H
Read
1 or 2
I C00 to I C02
IICS0 to IICS2
Read
1
CRC
CRCD
Write
1
2
2
Number of clocks necessary for access = 3 + i + j + (2 + j) k
Caution Accessing the above registers is prohibited in the following statuses. If a wait cycle is generated,
it can only be cleared by a reset.
• When the CPU operates on the subclock and main clock oscillation is stopped
• When the CPU operates on the internal oscillator clock
(However, this only applies immediately after reset ends or if a WDT2 overflow occurs during
the oscillation stabilization time.)
Remark
i:
Value (0) of higher 4 bits of VSWC register
j:
Value (0 or 1) of lower 4 bits of VSWC register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 87 of 1210
V850ES/JG3-L
CHAPTER 3 CPU FUNCTION
(2) Conflict between sld instruction and interrupt request
(a) Description
If a conflict occurs between the decode operation of an instruction in immediately before the sld instruction
following an instruction in and an interrupt request before the instruction in is complete, the execution
result of the instruction in may not be stored in a register.
Instruction
ld instruction:
ld.b, ld.h, ld.w, ld.bu, ld.hu
sld instruction:
sld.b, sld.h, sld.w, sld.bu, sld.hu
Multiplication instruction: mul, mulh, mulhi, mulu
Instruction
mov reg1, reg2
not reg1, reg2
satsubr reg1, reg2
satsub reg1, reg2
satadd reg1, reg2
satadd imm5, reg2
or reg1, reg2
xor reg1, reg2
and reg1, reg2
tst reg1, reg2
subr reg1, reg2
sub reg1, reg2
add reg1, reg2
add imm5, reg2
cmp reg1, reg2
cmp imm5, reg2
mulh reg1, reg2
shr imm5, reg2
sar imm5, reg2
shl imm5, reg2
ld.w [r11], r10
If the decode operation of the mov instruction immediately before the sld
instruction and an interrupt request conflict before execution of the ld instruction
is complete, the execution result of instruction may not be stored in a register.
mov r10, r28
sld.w 0x28, r10
(b) Countermeasure
When compiler (CA850) is used
Use CA850 Ver. 2.61 or later because generation of the corresponding instruction sequence can be
automatically suppressed.
For assembler
When executing the sld instruction immediately after instruction , avoid the above operation using
either of the following methods.
Insert a nop instruction immediately before the sld instruction.
Do not use the same register as the sld instruction destination register in the above instruction
executed immediately before the sld instruction.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 88 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
CHAPTER 4 PORT FUNCTIONS
4.1
Features
I/O port pins: 80
N-ch open-drain output selectable: 37 (5 V tolerant: 28)
Input/output specifiable in 1-bit units
4.2
Basic Port Configuration
The V850ES/JG3-L features a total of 80 I/O port pins organized as ports 0, 1, 3 to 5, 7, 9, CM, CT, DH, and DL. The
port configuration is shown below.
Figure 4-1. Port Configuration
P02
Port 0
P06
P70
Port 7
P711
P90
P10
Port 1
P11
Port 9
P915
PCM0
P30
Port CM
PCM3
Port 3
P32
P36
PCT0
PCT1
P39
P40
Port 4
PCT4
Port CT
PCT6
PDH0
P42
P50
Port 5
Port DH
PDH4
PDL0
Port DL
P55
PDL15
Caution
Ports 0, 3 to 5, and 9 (P90 to P96) are 5 V tolerant.
Table 4-1. I/O Buffer Power Supplies for Pins
Power Supply
Corresponding Pins
AVREF0
Port 7
AVREF1
Port 1
EVDD
RESET, ports 0, 3 to 5, 9, CM, CT, DH, DL
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 89 of 1210
V850ES/JG3-L
4.3
CHAPTER 4 PORT FUNCTIONS
Port Configuration
The ports consist of the following hardware.
Table 4-2. Port Configuration
Item
Control registers
Configuration
Port n mode register (PMn: n = 0, 1, 3 to 5, 7, 9, CD, CM, CT, DH, DL)
Port n mode control register (PMCn: n = 0, 3 to 5, 9, CM, CT, DH, DL)
Port n function control register (PFCn: n = 0, 3 to 5, 9)
Port n function control expansion register (PFCEn: n = 0, 3, 5, 9 )
Port n function register (PFn: n = 0, 3 to 5, 9)
Port pins
I/O: 80
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 90 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(1) Port n register (Pn)
Data I/O with external devices is performed by writing to and reading from the Pn register. The Pn register is made
up of a port latch that retains the output data and a circuit that reads the pin status.
Each bit of the Pn register corresponds to one pin of port n and can be read or written in 1-bit units.
After reset: 00HNote (output latch)
Pn
R/W
7
6
5
7
3
2
1
0
Pn7
Pn6
Pn5
Pn4
Pn3
Pn2
Pn1
Pn0
Pnm
Control of output data (in output mode)
0
0 is output.
1
1 is output.
Note This value is undefined for input-only ports.
The operation when writing or reading the Pn register differs depending on the specified mode.
Table 4-3. Reading and Writing Pn Register
PMCn Register Setting
PMn Register Setting
Port mode
Output mode
(PMCnm bit = 0)
(PMnm bit = 0)
Writing Pn Register
Write to the output latch
Note
.
The contents of the output latch are output
Reading Pn Register
The value of the output
latch is read.
from the pin.
Input mode
(PMnm bit = 1)
Alternate-function mode
Output mode
(PMCnm bit = 1)
(PMnm bit = 0)
Write to the output latch
Note
.
The pin status is read.
The status of the pin is not affected.
Write to the output latch
Note
.
The status of the pin is not affected.
The value of the output
latch is read.
The pin operates as an alternate-function
pin.
Input mode
(PMnm bit = 1)
Write to the output latch
Note
.
The pin status is read.
The status of the pin is not affected.
The pin operates as an alternate-function
pin.
Note The value written to the output latch is retained until a new value is written to the output latch.
The output latch value is cleared by a reset.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 91 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(2) Port n mode register (PMn)
PMn specifies the input mode or output mode of the port.
Each bit of the PMn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: FFH
PMn
PMn7
R/W
PMn6
PMn5
PMn4
PMnm
PMn3
PMn2
PMn1
PMn0
Control of I/O mode
0
Output mode
1
Input mode
(3) Port n mode control register (PMCn)
If the port function and the alternate function need to be switched, specify the port mode or the alternate function
mode by using this register.
Each bit of the PMCn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
PMCn
PMCn7
R/W
PMCn6
PMCnm
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
PMCn5
PMCn4
PMCn3
PMCn2
PMCn1
PMCn0
Specification of operation mode
0
Port mode
1
Alternate function mode
Page 92 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(4) Port n function control register (PFCn)
PFCn is a register that specifies the alternate function to be used when one pin has two or more alternate functions.
Each bit of the PFCn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
PFCn
PFCn7
R/W
PFCn6
PFCn5
PFCnm
PFCn4
PFCn3
PFCn2
PFCn1
PFCn0
Specification of alternate function
0
Alternate function 1
1
Alternate function 2
(5) Port n function control expansion register (PFCEn)
The PFCEn register specifies the alternate function of a port pin in combination with the PFCn register if the pin
has three or more alternate functions.
Each bit of the PFCEn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
PFCEn
PFCn
R/W
PFCEn7 PFCEn6
PFCEn5 PFCEn4
PFCEn3 PFCEn2
PFCEn1
PFCEn0
PFCn7
PFCn6
PFCn5
PFCn3
PFCn1
PFCn0
PFCEnm
PFCnm
0
0
Alternate function 1
0
1
Alternate function 2
1
0
Alternate function 3
1
1
Alternate function 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
PFCn4
PFCn2
Specification of alternate function
Page 93 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(6) Port n function register (PFn)
PFn is a register that specifies normal output (CMOS output) or N-ch open-drain output.
Each bit of the PFn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
PFn
PFn7
PFnmNote
R/W
PFn6
PFn5
PFn4
PFn3
PFn2
PFn1
PFn0
Specification of normal output (CMOS output)/N-ch open-drain output
0
Normal output (CMOS output)
1
N-ch open-drain output
Note Regardless of the settings of the PMCn register, the PFnm bit is valid only if the
PMn.PMnm bit is set to 0 (output mode). If the PMnm bit is set to 1 (input mode), the
values specified for the PFn register are invalid.
Example The PFn register values are valid when:
PFnm bit = 1 … N-ch open drain output is specified.
PMnm bit = 0 … Output mode is specified.
PMCnm bit = Any value
The PFn register values are invalid when:
PFnm bit = 1 … N-ch open drain output is specified.
PMnm bit = 1 … Input mode is specified.
PMCnm bit = Any value
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 94 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(7) Port setting
Set a port as illustrated below.
Figure 4-2. Setting of Each Register and Pin Function
Port mode
Output mode
“0”
PMn register
Input mode
“1”
Alternate function
(when two alternate
functions are available)
“0”
“0”
Alternate function 1
PFCn register
Alternate function 2
PMCn register
“1”
Alternate function
(when three or more alternate
functions are available)
“1”
Alternate function 1
(a)
Alternate function 2
(b)
PFCn register
(c)
PFCEn register
Alternate function 3
(d)
Alternate function 4
Remark
(a)
(b)
(c)
(d)
PFCEnm
PFCnm
0
0
1
1
0
1
0
1
Set the alternate functions in the following sequence.
Set the PFCn and PFCEn registers.
Set the PMCn register.
Set the INTRn or INTFn register (to specify an external interrupt pin).
If the PMCn register is set first, an unintended function may be set while the PFCn and PFCEn
registers are being set.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 95 of 1210
V850ES/JG3-L
4.3.1
CHAPTER 4 PORT FUNCTIONS
Port 0
Port 0 is a 5-bit port for which I/O settings can be controlled in 1-bit units.
Port 0 includes the following alternate-function pins.
Table 4-4. Port 0 Alternate-Function Pins
Function Name
Pin No.
GC
Remark
Alternate Function
F1
Name
Block Type
I/O
7
G4
P02
NMI/A21
Input/Output
Selectable as N-ch
N-2
18
G3
P03
INTP0/ADTRG/UCLK/RTC1HZ
Input/Output
open-drain output
U-17
19
H4
P04
INTP1/RTCDIV/RTCCL
Input/Output
N-2
Input
AA-1
Input
L-1
20
J3
P05
INTP2/DRST
21
J4
P06
INTP3
Note
Note The DRST pin is used for on-chip debugging.
If on-chip debugging is not used, fix the P05/INTP2/DRST pin to low level between when the reset signal of the
RESET pin is released and when the OCDM.OCDM0 bit is cleared (0).
For details, see 4.6.3 Cautions on on-chip debug pins.
Caution
The P02 to P06 pins have hysteresis characteristics in the input mode of the alternate function, but
do not have hysteresis characteristics in the port mode.
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
(1) Port 0 register (P0)
After reset: 00H (output latch)
P0
0
P06
P0n
P05
Address: FFFFF400H
P04
P03
P02
0
0
Output data control (in output mode) (n = 2 to 6)
0
Outputs 0
1
Outputs 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
R/W
Page 96 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(2) Port 0 mode register (PM0)
After reset: FFH
R/W
PM0
PM06
1
Address: FFFFF420H
PM05
PM0n
PM04
PM03
PM02
1
1
0
0
I/O mode control (n = 2 to 6)
0
Output mode
1
Input mode
(3) Port 0 mode control register (PMC0)
After reset: 00H
PMC0
0
R/W
PMC06
Address: FFFFF440H
PMC05
PMC06
PMC03
PMC02
Specification of pin operation
0
I/O port (p06)
1
INTP3 input
PMC05
Specification of pin operation
0
I/O port (p05)
1
INTP2 input
PMC04
Specification of pin operation
0
I/O port (p04)
1
INTP1 input/RTCDIV output/RTCCL output
PMC03
Specification of pin operation
0
I/O port (p03)
1
INTP0 input/ADTRG input/UCLK input/RTC1HZ output
PMC02
Caution
PMC04
Specification of pin operation
0
I/O port (p02)
1
NMI input/A21 output
The P05/INTP2/DRST pin becomes the DRST pin regardless of the value of the PMC05 bit
when the OCDM.OCDM0 bit is 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 97 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(4) Port 0 function control register (PFC0)
After reset: 00H
PFC0
Remark
R/W
0
Address: FFFFF460H
0
0
PFC04
PFC03
PFC02
0
For details of alternate function specification, see 4.3.1 (6)
0
Port 0 alternate function
specifications.
(5) Port 0 function control expansion register (PFCE0)
After reset: 00H
PFCE0
Remark
0
R/W
Address: FFFFF700H
0
0
PFCE04
PFCE03
0
0
0
For details of alternate function specification, see 4.3.1 (6) Port 0 alternate function
specifications.
(6) Port 0 alternate function specifications
PFCE04
PFC04
Specification of P04 pin alternate function
0
0
INTP1 input
0
1
RTCDIV output
1
0
RTCCL output
1
1
Setting prohibited
PFCE03
PFC03
0
0
INTP0 input
0
1
ADTRG input
1
0
UCLK input
1
1
RTC1HZ output
Specification of P03 pin alternate function
PFC02
Specification of P02 pin alternate function
0
NMI input
1
A21 output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 98 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(7) Port 0 function register (PF0)
After reset: 00H
PF0
0
PF0n
Caution
R/W
PF06
Address: FFFFFC60H
PF05
PF04
PF03
PF02
0
0
Specification of normal output (CMOS output) or N-ch open-drain output (n = 2 to 6)
0
Normal output (CMOS output)
1
N-ch open-drain output
When an output pin is pulled up to EVDD or higher, be sure to set the PF0n bit to 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 99 of 1210
V850ES/JG3-L
4.3.2
CHAPTER 4 PORT FUNCTIONS
Port 1
Port 1 is a 2-bit port for which I/O settings can be controlled in 1-bit units.
Port 1 includes the following alternate-function pins.
Table 4-5. Port 1 Alternate-Function Pins
Function
Pin No.
GC
Name
F1
Remark
Alternate Function
Name
Block Type
I/O
3
E3
P10
ANO0
Output
A-2
4
E4
P11
ANO1
Output
A-2
Caution
When the power is turned on, the P10 and P11 pins may output an undefined level temporarily even
during reset.
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
(1) Port 1 register (P1)
After reset: 00H (output latch)
P1
0
0
P1n
Caution
R/W
0
Address: FFFFF402H
0
0
0
P11
P10
Output data control (in output mode) (n = 0, 1)
0
Outputs 0
1
Outputs 1
Do not read or write the P1 register during D/A conversion (see 15.4.3 Cautions).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 100 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(2) Port 1 mode register (PM1)
After reset: FFH
PM1
R/W
1
Address: FFFFF422H
1
PM1n
1
1
1
1
PM11
PM10
I/O mode control (n = 0, 1)
0
Output mode
1
Input mode
Cautions 1. When using P1n as the alternate function (ANOn pin output), specify the input mode
(PM1n bit = 1).
2. When using one of the P10 and P11 pins as an I/O port and the other as a D/A output
pin, do so in an application where the port I/O level does not change during D/A
output.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 101 of 1210
V850ES/JG3-L
4.3.3
CHAPTER 4 PORT FUNCTIONS
Port 3
Port 3 is a 7-bit port for which I/O settings can be controlled in 1-bit units.
Port 3 includes the following alternate-function pins.
Table 4-6. Port 3 Alternate-Function Pins
Pin No.
GC
F1
Function
Remark
Alternate Function
Name
Name
Block Type
I/O
Selectable as N-ch open-drain output
25
L3
P30
TXDA0/SOB4
Output
26
K3
P31
RXDA0/INTP7/SIB4
Input
N-3
27
L4
P32
ASCKA0/SCKB4/TIP00/TOP00
I/O
U-1
31
H5
P36
TXDA3
Output
G-2
32
J6
P37
RXDA3
Input
G-2
35
H6
P38
TXDA2/SDA00
I/O
G-12
36
H7
P39
RXDA2/SCL00
I/O
G-6
Caution
G-3
The P31, P32, P37 to P39 pins have hysteresis characteristics in the input mode of the alternatefunction pin, but do not have hysteresis characteristics in the port mode.
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 102 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(1) Port 3 register (P3)
After reset: 0000H (output latch)
14
13
12
11
10
9
8
0
0
0
0
0
0
P39
P38
P37
P36
0
0
0
P32
P31
P30
P3n
Caution
Address: P3 FFFFF406H,
P3L FFFFF406H, P3H FFFFF407H
15
P3 (P3H)
(P3L)
R/W
Output data control (in output mode) (n = 0 to 2, 6 to 9)
0
Outputs 0
1
Outputs 1
Be sure to clear bits 15 to 10, 5 to 3 to “0”.
Remarks 1. The P3 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the P3 register as the P3H register and the lower 8
bits as the P3L register, P3 can be read or written in 8-bit or 1-bit units.
2. To read/write bits 8 to 15 of the P3 register in 8-bit or 1-bit units, specify them as bits 0 to 7 of
the P3H register.
(2) Port 3 mode register (PM3)
After reset: FFFFH
Address: PM3 FFFFF426H,
PM3L FFFFF426H, PM3H FFFFF427H
15
14
13
12
11
10
9
8
1
1
1
1
1
1
PM39
PM38
PM37
PM36
1
1
1
PM32
PM31
PM30
PM3 (PM3H)
(PM3L)
R/W
PM3n
Caution
I/O mode control (n = 0 to 2, 6 to 9)
0
Output mode
1
Input mode
Be sure to clear bits 15 to 10, 5 to 3 to “1”.
Remarks 1. The PM3 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PM3 register as the PM3H register and the
lower 8 bits as the PM3L register, PM3 can be read or written in 8-bit or 1-bit units.
2. To read/write bits 8 to 15 of the PM3 register in 8-bit or 1-bit units, specify them as bits 0 to 7
of the PM3H register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 103 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(3) Port 3 mode control register (PMC3)
After reset: 0000H
PMC3 (PMC3H)
(PMC3L)
R/W
Address: PMC3 FFFFF446H,
PMC3L FFFFF446H, PMC3H FFFFF447H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
PMC39
PMC38
PMC37
PMC36
0
0
0
PMC32
PMC31
PMC30
PMC39
Specification of pin operation
0
I/O port (P39)
1
RXDA2 input/SCL00 I/O
PMC38
Specification of pin operation
0
I/O port (P38)
1
TXDA2 output/SDA00 I/O
PMC37
Specification of pin operation
0
I/O port (P37)
1
RXDA3 input
PMC36
Specification of pin operation
0
I/O port (P36)
1
TXDA3 output
PMC32
Specification of pin operation
0
I/O port (P32)
1
ASCKA0 input/SCKB4 I/O/TIP00 input/TOP00 output
PMC31
Specification of pin operation
0
I/O port (P31)
1
RXDA0 input/SIB4 input/INTP7 input
PMC30
Caution
Specification of pin operation
0
I/O port (P30)
1
TXDA0 output/SOB4 output
Be sure to clear bits 15 to 10, 5 to 3 to “0”.
Remarks 1. The PMC3 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PMC3 register as the PMC3H register and the
lower 8 bits as the PMC3L register, PMC3 can be read or written in 8-bit or 1-bit units.
2.
To read/write bits 8 to 15 of the PMC3 register in 8-bit or 1-bit units, specify them as bits 0 to
7 of the PMC3H register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 104 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(4) Port 3 function control register (PFC3)
After reset: 0000H
R/W
Address: PFC3 FFFFF466H,
PFC3L FFFFF466H, PFC3H FFFFF467H
15
14
13
12
11
10
9
8
PFC3 (PFC3H)
0
0
0
0
0
0
PFC39
PFC38
(PFC3L)
0
0
0
0
0
PFC32
PFC31
PFC30
Caution
Be sure to clear bits 15 to 10, 7 to 3 to “0”.
Remarks 1. For details of alternate function specification, see 4.3.3 (6)
Port 3 alternate function
specifications.
2. The PFC3 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PFC3 register as the PFC3H register and the
lower 8 bits as the PFC3L register, PFC3 can be read or written in 8-bit and 1-bit units.
3. To read/write bits 8 to 15 of the PFC3 register in 8-bit or 1-bit units, specify them as bits 0 to 7
of the PFC3H register.
(5) Port 3 function control expansion register L (PFCE3L)
After reset: 00H
PFCE3L
0
R/W
0
Address: FFFFF706H
0
0
0
PFCE32
Caution
Be sure to clear bits 7 to 3, 1, 0 to “0”.
Remark
For details of alternate function specification, see 4.3.3 (6)
0
0
Port 3 alternate function
specifications.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 105 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(6) Port 3 alternate function specifications
PFC39
Specification of P39 pin alternate function
0
RXDA2 input
1
SCL00 I/O
PFC38
Specification of P38 pin alternate function
0
TXDA2 output
1
SDA00 I/O
PFCE32
PFC32
Specification of P32 pin alternate function
0
0
ASCKA0 input
0
1
SCKB4 I/O
1
0
TIP00 input
1
1
TOP00 output
PFC31
Specification of P31 pin alternate function
Note
0
RXDA0 input/INTP7
1
SIB4 input
PFC30
input
Specification of P30 pin alternate function
0
TXDA0 output
1
SOB4 output
Note INTP7 and RXDA0 are alternate functions. When using the pin for RXDA0, disable edge detection for
INTP7 (clear the INTF3.INTF31 bit and the INTR3.INTR31 bit to 0). When using the pin for INTP7, stop
UARTA0 reception (clear the UA0CTL0.UA0RXE bit to 0).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 106 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(7) Port 3 function register (PF3)
After reset: 0000H
Address: PF3 FFFFFC66H,
PF3L FFFFFC66H, PF3H FFFFFC67H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
PF39
PF38
PF37
PF36
0
0
0
PF32
PF31
PF30
PF3 (PF3H)
(PF3L)
R/W
PF3n
Specification of normal output (CMOS output) or N-ch open-drain output (n = 0 to 2, 6 to 9)
0
Normal output (CMOS output)
1
N-ch open-drain output
Cautions1. When an output pin is pulled up to EVDD or higher, be sure to set the PF3n bit to 1.
2. Be sure to clear bits 15 to 10, 5 to 3 to “0”.
Remarks 1. The PF3 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PF3 register as the PF3H register and the lower
8 bits as the PF3L register, PF3 can be read or written in 8-bit or 1-bit units.
2. To read/write bits 8 to 15 of the PF3 register in 8-bit or 1-bit units, specify them as bits 0 to 7
of the PF3H register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 107 of 1210
V850ES/JG3-L
4.3.4
CHAPTER 4 PORT FUNCTIONS
Port 4
Port 4 is a 3-bit port that controls I/O in 1-bit units.
Port 4 includes the following alternate-function pins.
Table 4-7. Port 4 Alternate-Function Pins
Function
Pin No.
GC
F1
Remark
Alternate Function
Name
Name
Block Type
I/O
Selectable as N-ch open-drain output
22
K1
P40
SIB0/SDA01
I/O
23
K2
P41
SOB0/SCL01
I/O
G-12
24
L2
P42
SCKB0
I/O
E-3
Caution
G-6
The P40 to P42 pins have hysteresis characteristics in the input mode of the alternate-function pin,
but do not have hysteresis characteristics in the port mode.
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
(1) Port 4 register (P4)
After reset: 00H (output latch)
P4
0
0
R/W
0
P4n
Address: FFFFF408H
0
0
P42
P41
P40
Output data control (in output mode) (n = 0 to 2)
0
Outputs 0
1
Outputs 1
(2) Port 4 mode register (PM4)
After reset: FFH
PM4
1
R/W
Address: FFFFF428H
1
PM4n
1
1
PM42
PM41
PM40
I/O mode control (n = 0 to 2)
0
Output mode
1
Input mode
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
1
Page 108 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(3) Port 4 mode control register (PMC4)
After reset: 00H
PMC4
R/W
0
Address: FFFFF448H
0
0
0
PMC42
0
PMC42
PMC41
PMC40
PFC41
PFC40
Specification of pin operation
0
I/O port (P42)
1
SCKB0 I/O
PMC41
Specification of pin operation
0
I/O port (P41)
1
SOB0 output/SCL01 I/O
PMC40
Specification of pin operation
0
I/O port (P40)
1
SIB0 input/SDA01 I/O
(4) Port 4 function control register (PFC4)
After reset: 00H
PFC4
0
R/W
Address: FFFFF468H
0
0
PFC41
0
0
0
Specification of P41 pin alternate function
0
SOB0 output
1
SCL01 I/O
PFC40
Specification of P40 pin alternate function
0
SIB0 input
1
SDA01 I/O
(5) Port 4 function register (PF4)
After reset: 00H
PF4
0
PF4n
Caution
R/W
0
Address: FFFFFC68H
0
0
0
PF42
PF41
PF40
Specification of normal output (CMOS output) or N-ch open-drain output (n = 0 to 2)
0
Normal output (CMOS output)
1
N-ch open-drain output
When an output pin is pulled up to EVDD or higher, be sure to set the PF4n bit to 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 109 of 1210
V850ES/JG3-L
4.3.5
CHAPTER 4 PORT FUNCTIONS
Port 5
Port 5 is a 6-bit port that controls I/O in 1-bit units.
Port 5 includes the following alternate-function pins.
Table 4-8. Port 5 Alternate-Function Pins
Pin No.
GC
37
38
39
40
41
42
F1
L7
K7
J7
L8
K8
J8
Function
Remark
Alternate Function
Name
Name
P50
I/O
TIQ01/KR0/TOQ01/RTP00
P51
TIQ02/KR1/TOQ02/RTP01
P52
TIQ03/KR2/TOQ03/RTP02/DDI
Note
Note
P53
SIB2/KR3/TIQ00/TOQ00/RTP03/DDO
P54
SOB2/KR4/RTP04/DCK
P55
Block Type
Note
SCKB2/KR5/RTP05/DMS
Note
I/O
Selectable as N-ch open-
U-5
I/O
drain output
U-5
I/O
U-6
I/O
U-7
I/O
U-8
I/O
U-9
Note The DDI, DDO, DCK, and DMS pins are used for on-chip debugging.
Cautions 1. When the power is turned on, the P53 pin may output an undefined level temporarily even during
reset.
2. The P50 to P55 pins have hysteresis characteristics in the input mode of the alternate function,
but do not have hysteresis characteristics in the port mode.
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
(1) Port 5 register (P5)
After reset: 00H (output latch)
P5
0
0
P5n
P55
Address: FFFFF40AH
P54
P53
P52
P51
P50
Output data control (in output mode) (n = 0 to 5)
0
Outputs 0
1
Outputs 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
R/W
Page 110 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(2) Port 5 mode register (PM5)
After reset: FFH
PM5
1
R/W
Address: FFFFF42AH
1
PM55
PM5n
PM54
PM53
PM52
PM51
PM50
PMC51
PMC50
I/O mode control (n = 0 to 5)
0
Output mode
1
Input mode
(3) Port 5 mode control register (PMC5)
After reset: 00H
PMC5
0
R/W
0
Address: FFFFF44AH
PMC55
PMC55
PMC54
PMC53
PMC52
Specification of pin operation
0
I/O port (P55)
1
SCKB2 I/O/KR5 input/RTP05 output
PMC54
Specification of pin operation
0
I/O port (P54)
1
SOB2 output/KR4 input/RTP04 output
PMC53
Specification of pin operation
0
I/O port (P53)
1
SIB2 input/KR3 input/TIQ00 input/TOQ00 output/RTP03 output
PMC52
Specification of pin operation
0
I/O port (P52)
1
TIQ03 input/KR2 input/TOQ03 output/RTP02 output
PMC51
Specification of pin operation
0
I/O port (P51)
1
TIQ02 input/KR1 input/TOQ02 output/RTP01 output
PMC50
Specification of pin operation
0
I/O port (P50)
1
TIQ01 input/KR0 input/TOQ01 output/RTP00 output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 111 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(4) Port 5 function control register (PFC5)
After reset: 00H
PFC5
Remark
R/W
0
0
Address: FFFFF46AH
PFC55
PFC54
PFC53
PFC52
For details of alternate function specification, see 4.3.5 (6)
PFC51
PFC50
Port 5 alternate function
specifications.
(5) Port 5 function control expansion register (PFCE5)
After reset: 00H
PFCE5
Remark
R/W
0
0
Address: FFFFF70AH
PFCE55 PFCE54
PFCE53 PFCE52
For details of alternate function specification, see 4.3.5 (6)
PFCE51
PFCE50
Port 5 alternate function
specifications.
(6) Port 5 alternate function specifications
PFCE55
PFC55
0
0
SCKB2 I/O
0
1
KR5 input
1
0
Setting prohibited
1
1
RTP05 output
PFCE54
PFC54
0
0
SOB2 output
0
1
KR4 input
1
0
Setting prohibited
1
1
RTP04 output
PFCE53
PFC53
0
0
SIB2 input
0
1
TIQ00 input/KR3
1
0
TOQ00 output
1
1
RTP03 output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Specification of P55 pin alternate function
Specification of P54 pin alternate function
Specification of P53 pin alternate function
Note
input
Page 112 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
PFCE52
PFC52
Specification of P52 pin alternate function
0
0
Setting prohibited
0
1
TIQ03 input/KR2
1
0
TOQ03 input
1
1
RTP02 output
PFCE51
PFC51
0
0
Setting prohibited
0
1
TIQ02 input/KR1
1
0
TOQ02 output
1
1
RTP01 output
PFCE50
PFC50
0
0
Setting prohibited
0
1
TIQ01 input/KR0
1
0
TOQ01 output
1
1
RTP00 output
Note
input
Specification of P51 pin alternate function
Note
input
Specification of P50 pin alternate function
Note
input
Note KRn and TIQ0m are alternate functions. When using the pin for TIQ0m, disable key return detection for
KRn (clear the KRM.KRMn bit to 0). When using the pin for KRn, disable edge detection for TIQ0m (n = 0
to 3, m = 0 to 3).
Alternate Function Name
Use as TIQ0m Function
Use as KRn Function
KR0/TIQ01
KRM.KRM0 bit = 0
TQ0IOC1. TQ0TIG2, TQ0IOC1. TQ0TIG3 bits = 0
KR1/TIQ02
KRM.KRM1 bit = 0
TQ0IOC1.TQ0TIG4, TQ0IOC1.TQ0TIG5 bits = 0
KR2/TIQ03
KRM.KRM2 bit = 0
TQ0IOC1.TQ0TIG6, TQ0IOC1.TQ0TIG7 bits = 0
KR3/TIQ00
KRM.KRM3 bit = 0
TQ0IOC1.TQ0TIG0, TQ0IOC1.TQ0TIG1 bits = 0
TQ0IOC2.TQ0EES0, TQ0IOC2.TQ0EES1 bits = 0
TQ0IOC2.TQ0ETS0, TQ0IOC2.TQ0ETS1 bits = 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 113 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(7) Port 5 function register (PF5)
After reset: 00H
PF5
0
PF5n
R/W
0
Address: FFFFFC6AH
PF55
PF54
PF53
PF52
PF51
PF50
Specification of normal output (CMOS output) or N-ch open-drain output (n = 0 to 5)
0
Normal output (CMOS output)
1
N-ch open-drain output
Cautions 1. When an output pin is pulled up to EVDD or higher, be sure to set the PF5n bit to 1.
2. Bits 6 and 7 of the PF5 register must always be set to 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 114 of 1210
V850ES/JG3-L
4.3.6
CHAPTER 4 PORT FUNCTIONS
Port 7
Port 7 is a 12-bit port for which I/O settings can be controlled in 1-bit units.
Port 7 includes the following alternate-function pins.
Table 4-9. Port 7 Alternate-Function Pins
Function
Pin No.
GC
F1
Alternate Function
Name
Name
Remark
Block Type
I/O
100
A3
P70
ANI0
Input
99
B3
P71
ANI1
Input
A-1
98
C3
P72
ANI2
Input
A-1
97
D3
P73
ANI3
Input
A-1
96
A4
P74
ANI4
Input
A-1
95
B4
P77
ANI5
Input
A-1
94
C4
P76
ANI6
Input
A-1
93
D4
P77
ANI7
Input
A-1
92
A5
P78
ANI8
Input
A-1
91
B5
P79
ANI9
Input
A-1
90
C5
P710
ANI10
Input
A-1
89
D5
P711
ANI11
Input
A-1
Remark
A-1
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 115 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(1) Port 7 register H, port 7 register L (P7H, P7L)
After reset: 00H (output latch)
Address: P7L FFFFF40EH, P7H FFFFF40FH
P7H
0
0
0
0
P711
P710
P79
P78
P7L
P77
P76
P75
P74
P73
P72
P71
P70
P7n
Caution
R/W
Output data control (in output mode) (n = 0 to 11)
0
Outputs 0
1
Outputs 1
Do not read or write the P7H and P7L registers during A/D conversion (see 14.6 (4)
Alternate I/O).
Remark
These registers cannot be accessed in 16-bit units as the P7 register. They can be read or
written in 8-bit or 1-bit units as the P7H and P7L registers.
(2) Port 7 mode register H, port 7 mode register L (PM7H, PM7L)
After reset: FFH
R/W
Address: PM7L FFFFF42EH, PM7H FFFFF42FH
PM7H
1
1
1
1
PM711
PM710
PM79
PM78
PM7L
PM77
PM76
PM75
PM74
PM73
PM72
PM71
PM70
PM7n
I/O mode control (n = 0 to 11)
0
Output mode
1
Input mode
Caution
When using the P7n pin as its alternate function (ANIn pin), set the PM7n bit to 1.
Remark
These registers cannot be accessed in 16-bit units as the PM7 register. They can be read or
written in 8-bit or 1-bit units as the PM7H and PM7L registers.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 116 of 1210
V850ES/JG3-L
4.3.7
CHAPTER 4 PORT FUNCTIONS
Port 9
Port 9 is a 16-bit port for which I/O settings can be controlled in 1-bit units.
Port 9 includes the following alternate-function pins.
Table 4-10. Port 9 Alternate-Function Pins
Function
Pin No.
GC
43
F1
H8
P90
Remark
Alternate Function
Name
Name
KR6/TXDA1/SDA02
Block Type
I/O
I/O
Selectable as N-ch open-
U-10
drain output
U-11
44
L9
P91
KR7/RXDA1/SCL02
I/O
45
K9
P92
TIP41/TOP41/TXDA4
I/O
U-16
46
J9
P93
TIP40/TOP40 /RXDA4
I/O
U-14
47
L10
P94
TIP31/TOP31 /TXDA5
I/O
U-16
48
K10
P95
TIP30/TOP30 /RXDA5
I/O
U-14
49
K11
P96
TXDC0/TIP21/TOP21
I/O
U-16
50
J11
P97
SIB1/RXDC0/TIP20/TOP20
I/O
U-14
51
J10
P98
SOB1
Output
G-3
52
H11
P99
SCKB1
I/O
G-5
53
H10
P910
SIB3
I/O
G-2
54
H9
P911
SOB3
Output
G-3
55
G11
P912
SCKB3
I/O
G-5
56
G10
P913
INTP4
I/O
N-2
57
G9
P914
INTP5/TIP51/TOP51
I/O
U-15
58
G8
P915
INTP6/TIP50/TOP50
I/O
U-15
Caution
The P90 to P97, P99, P910, and P912 to P915 pins have hysteresis characteristics in the input mode
of the alternate-function pin, but do not have hysteresis characteristics in the port mode.
Remark
GC:
100-pin plastic LQFP (fine pitch) (14 14)
F1:
121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 117 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(1) Port 9 register (P9)
After reset: 0000H (output latch)
R/W
Address: P9 FFFFF412H,
P9L FFFFF412H, P9H FFFFF413H
15
14
13
12
11
10
9
8
P9 (P9H)
P915
P914
P913
P912
P911
P910
P99
P98
(P9L)
P97
P96
P95
P94
P93
P92
P91
P90
P9n
Output data control (in output mode) (n = 0 to 15)
0
Outputs 0
1
Outputs 1
Remarks 1. The P9 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the P9 register as the P9H register and the lower 8
bits as the P9L register, P9 can be read or written in 8-bit or 1-bit units.
2. To read/write bits 8 to 15 of the P9 register in 8-bit or 1-bit units, specify them as bits 0 to 7 of
the P9H register.
(2) Port 9 mode register (PM9)
After reset: FFFFH
PM9 (PM9H)
(PM9L)
R/W
Address: PM9 FFFFF432H,
PM9L FFFFF432H, PM9H FFFFF433H
15
14
13
12
11
10
9
8
PM915
PM914
PM913
PM912
PM911
PM910
PM99
PM98
PM97
PM96
PM95
PM94
PM93
PM92
PM91
PM90
PM9n
I/O mode control (n = 0 to 15)
0
Output mode
1
Input mode
Remarks 1. The PM9 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PM9 register as the PM9H register and the
lower 8 bits as the PM9L register, PM9 can be read or written in 8-bit and 1-bit units.
2. To read/write bits 8 to 15 of the PM9 register in 8-bit or 1-bit units, specify them as bits 0 to 7
of the PM9H register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 118 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(3) Port 9 mode control register (PMC9)
(1/2)
After reset: 0000H
15
PMC9 (PMC9H)
(PMC9L)
R/W
Address: PMC9 FFFFF452H,
PMC9L FFFFF452H, PMC9H FFFFF453H
14
9
8
PMC915 PMC914 PMC913 PMC912 PMC911 PMC910
PMC99
PMC98
PMC97
PMC91
PMC90
PMC96
13
PMC95
PMC915
12
PMC94
11
PMC93
10
PMC92
Specification of pin operation
0
I/O port (P915)
1
INTP6 input/TIP50 input/TOP50 output
PMC914
Specification of pin operation
0
I/O port (P914)
1
INTP5 input/TIP51 input/TOP51 output
PMC913
Specification of pin operation
0
I/O port (P913)
1
INTP4 input
PMC912
Specification of pin operation
0
I/O port (P912)
1
SCKB3 I/O
PMC911
Specification of pin operation
0
I/O port (P911)
1
SOB3 output
PMC910
Specification of pin operation
0
I/O port (P910)
1
SIB3 input
PMC99
Specification of pin operation
0
I/O port (P99)
1
SCKB1 I/O
PMC98
Specification of pin operation
0
I/O port (P98)
1
SOB1 output
Remarks 1. The PMC9 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PMC9 register as the PMC9H register and the
lower 8 bits as the PMC9L register, PMC9 can be read or written in 8-bit or 1-bit units.
2. To read/write bits 8 to 15 of the PMC9 register in 8-bit or 1-bit units, specify them as bits 0 to
7 of the PMC9H register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 119 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(2/2)
PMC97
Specification of pin operation
0
I/O port (P97)
1
SIB1 input/RXDC0 input/TIP20 input/TOP20 output
PMC96
Specification of pin operation
0
I/O port (P96)
1
TXDC0 output/TIP21 input/TOP21 output
PMC95
Specification of pin operation
0
I/O port (P95)
1
TIP30 input/TOP30 output/RXDA5 input
PMC94
Specification of pin operation
0
I/O port (P94)
1
TIP31 input/TOP31 output/TXDA5 output
PMC93
Specification of pin operation
0
I/O port (P93)
1
TIP40 input/TOP40 outputt/RXDA4 input
PMC92
Specification of pin operation
0
I/O port (P92)
1
TIP41 input/TOP41 output/TXDA4 output
PMC91
Specification of pin operation
0
I/O port (P91)
1
KR7 input/RXDA1 input/SCL02 I/O
PMC90
Specification of pin operation
0
I/O port (P90)
1
KR6 input/TXDA1 output/SDA02 I/O
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 120 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(4) Port 9 function control register (PFC9)
After reset: 0000H
PFC9 (PFC9H)
R/W
Address: PFC9 FFFFF472H,
PFC9L FFFFF472H, PFC9H FFFFF473H
15
14
PFC915
PFC914
PFC913 PFC912
PFC97
PFC96
PFC95
(PFC9L)
13
12
PFC94
11
10
9
8
PFC911 PFC910
PFC99
PFC98
PFC93
PFC91
PFC90
PFC92
Remarks 1. For details of alternate function specification, see 4.3.7 (6)
Port 9 alternate function
specifications.
2. The PFC9 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PFC9 register as the PFC9H register and the
lower 8 bits as the PFC9L register, PFC9 can be read or written in 8-bit or 1-bit units.
3. To read/write bits 8 to 15 of the PFC9 register in 8-bit or 1-bit units, specify them as bits 0 to 7
of the PFC9H register.
(5) Port 9 function control expansion register (PFCE9)
After reset: 0000H
15
PFCE9 (PFCE9H)
(PFCE9L)
R/W
14
PFCE915 PFCE914
PFCE97 PFCE96
Address: PFCE9 FFFFF712H,
PFCE9L FFFFF712H, PFCE9H FFFFF713H
13
12
11
10
9
8
0
0
0
0
0
0
PFCE91
PFCE90
PFCE95 PFCE94
PFCE93 PFCE92
Remarks 1. For details of alternate function specification, see 4.3.7 (6)
Port 9 alternate function
specifications.
2. The PFCE9 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PFCE9 register as the PFCE9H register and the
lower 8 bits as the PFCE9L register, PFCE9 can be read or written in 8-bit or 1-bit units.
3. To read/write bits 8 to 15 of the PFCE9 register in 8-bit or 1-bit units, specify them as bits 0 to
7 of the PFCE9H register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 121 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(6) Port 9 alternate function specifications
PFCE915
PFC915
Specification of P915 pin alternate function
0
0
Setting prohibited
0
1
INTP6 input
1
0
TIP50 input
1
1
TOP50 output
PFCE914
PFC914
Specification of P914 pin alternate function
0
0
Setting prohibited
0
1
INTP5 input
1
0
TIP51 input
1
1
TOP51 output
PFC913
Specification of P913 pin alternate function
0
Setting prohibited
1
INTP4 input
PFC912
Specification of P912 pin alternate function
0
Setting prohibited
1
SCKB3 I/O
PFC911
Specification of P911 pin alternate function
0
Setting prohibited
1
SOB3 output
PFC910
Specification of P910 pin alternate function
0
Setting prohibited
1
SIB3 input
PFC99
Specification of P99 pin alternate function
0
Setting prohibited
1
SCKB1 I/O
PFC98
Specification of P98 pin alternate function
0
Setting prohibited
1
SOB1 output
PFCE97
PFC97
0
0
Setting prohibited
0
1
SIB1 input/RXDC0 input
1
0
TIP20 input
1
1
TOP20 output
Note
Specification of P97 pin alternate function
Note
The SIB1 and RXDC0 functions cannot be used at the same time. When using the pin for SIB1,
stop UARTC0 reception. (clear the UC0CTL0.UC0RXE bit to 0.) When using the pin for RXDC0,
stop CSIB1 reception. (clear the CB1CTL0.CB1RXE bit to 0.)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 122 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
PFCE96
PFC96
Specification of P96 pin alternate function
0
0
Setting prohibited
0
1
TXDC0 output
1
0
TIP21 input
1
1
TOP21 output
PFCE95
PFC95
0
0
Setting prohibited
0
1
TIP30 input
1
0
TOP30 output
1
1
RXDA5 input
PFCE94
PFC94
0
0
Setting prohibited
0
1
TIP31 input
1
0
TOP31 output
1
1
TXDA5 output
PFCE93
PFC93
0
0
Setting prohibited
0
1
TIP40 input
1
0
TOP40 output
1
1
RXDA4 input
PFCE92
PFC92
0
0
Setting prohibited
0
1
TIP41 input
1
0
TOP41 output
1
1
TXDA4 output
PFCE91
PFC91
Specification of P95 pin alternate function
Specification of P94 pin alternate function
Specification of P93 pin alternate function
Specification of P92 pin alternate function
Specification of P91 pin alternate function
0
0
Setting prohibited
0
1
KR7 input
1
0
RXDA1 input/KR7 input
1
1
SCL02 I/O
PFCE90
PFC90
0
0
Note
Specification of P90 pin alternate function
Setting prohibited
0
1
KR6 input
1
0
TXDA1 output
1
1
SDA02 I/O
Note The RXDA1 and KR7 functions cannot be used at the same time. When using the pin for RXDA1, do
not use the KR7 function.
When using the pin for KR7, do not use the RXDA1 function. (It is
recommended to set the PFC91 bit to 1 and clear the PFCE91 bit to 0.)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 123 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(7) Port 9 function register (PF9)
After reset: 0000H
PF9 (PF9H)
(PF9L)
Address: PF9 FFFFFC72H,
PF9L FFFFFC72H, PF9H FFFFFC73H
15
14
13
12
11
10
9
8
PF915
PF914
PF913
PF912
PF911
PF910
PF99
PF98
PF97
PF96
PF95
PF94
PF93
PF92
PF91
PF90
PF9n
Caution
R/W
Specification of normal output (CMOS output) or N-ch open-drain output (n = 0 to 15)
0
Normal output (CMOS output)
1
N-ch open-drain output
When output pins P90 to P96 are pulled up to EVDD or higher, be sure to set the PF9n bit to
1.
Pull up output pins P97 to P915 to the same potential as EVDD, even when they are used as
N-ch open-drain output pins.
Remarks 1. The PF9 register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PF9 register as the PF9H register and the lower
8 bits as the PF9L register, PF9 can be read or written in 8-bit or 1-bit units.
2. To read/write bits 8 to 15 of the PF9 register in 8-bit or 1-bit units, specify them as bits 0 to 7
of the PF9H register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 124 of 1210
V850ES/JG3-L
4.3.8
CHAPTER 4 PORT FUNCTIONS
Port CM
Port CM is a 4-bit port for which I/O settings can be controlled in 1-bit units.
Port CM includes the following alternate-function pins.
Table 4-11. Port CM Alternate-Function Pins
Function
Pin No.
GC
F1
Remark
Alternate Function
Name
Name
Block Type
I/O
61
F11
PCM0
WAIT
Input
62
F10
PCM1
CLKOUT
Output
D-2
63
E10
PCM2
HLDAK
Output
D-2
64
E9
PCM3
HLDRQ
Input
D-1
Remark
D-1
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
(1) Port CM register (PCM)
After reset: 00H (output latch)
R/W
PCM
0
0
0
PCMn
Address: FFFFF00CH
0
PCM3
PCM2
PCM1
PCM0
Output data control (in output mode) (n = 0 to 3)
0
Outputs 0
1
Outputs 1
(2) Port CM mode register (PMCM)
After reset: FFH
PMCM
1
R/W
Address: FFFFF02CH
1
PMCMn
1
PMCM3
PMCM2
PMCM1
PMCM0
I/O mode control (n = 0 to 3)
0
Output mode
1
Input mode
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
1
Page 125 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(3) Port CM mode control register (PMCCM)
After reset: 00H
PMCCM
0
R/W
Address: FFFFF04CH
0
0
PMCCM3
PMCCM3 PMCCM2 PMCCM1 PMCCM0
Specification of pin operation
0
I/O port (PCM3)
1
HLDRQ input
PMCCM2
Specification of pin operation
0
I/O port (PCM2)
1
HLDAK output
PMCCM1
Specification of pin operation
0
I/O port (PCM1)
1
CLKOUT output
PMCCM0
Specification of pin operation
0
I/O port (PCM0)
1
WAIT input
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
0
Page 126 of 1210
V850ES/JG3-L
4.3.9
CHAPTER 4 PORT FUNCTIONS
Port CT
Port CT is a 4-bit port for which I/O settings can be controlled in 1-bit units.
Port CT includes the following alternate-function pins.
Table 4-12. Port CT Alternate-Function Pins
Function
Pin No.
GC
F1
Remark
Alternate Function
Name
Name
Block Type
I/O
65
E8
PCT0
WR0
Output
66
D10
PCT1
WR1
Output
D-2
67
D9
PCT4
RD
Output
D-2
68
D8
PCT6
ASTB
Output
D-2
Remark
D-2
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
(1) Port CT register (PCT)
After reset: 00H (output latch)
PCT
0
PCT6
PCTn
R/W
Address: FFFFF00AH
0
PCT4
0
0
PCT1
PCT0
Output data control (in output mode) (n = 0, 1, 4, 6)
0
Outputs 0
1
Outputs 1
(2) Port CT mode register (PMCT)
After reset: FFH
PMCT
1
R/W
Address: FFFFF02AH
PMCT6
PMCTn
PMCT4
1
1
PMCT1
PMCT0
I/O mode control (n = 0, 1, 4, 6)
0
Output mode
1
Input mode
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
1
Page 127 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(3) Port CT mode control register (PMCCT)
After reset: 00H
PMCCT
0
R/W
Address: FFFFF04AH
PMCCT6
0
PMCCT6
0
0
PMCCT1 PMCCT0
Specification of pin operation
0
I/O port (PCT6)
1
ASTB output
PMCCT4
Specification of pin operation
0
I/O port (PCT4)
1
RD output
PMCCT1
Specification of pin operation
0
I/O port (PCT1)
1
WR1 output
PMCCT0
Specification of pin operation
0
I/O port (PCT0)
1
WR0 output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
PMCCT4
Page 128 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
4.3.10 Port DH
Port DH is a 5-bit port for which I/O settings can be controlled in 1-bit units.
Port DH includes the following alternate-function pins.
Table 4-13. Port DH Alternate-Function Pins
Function
Pin No.
GC
F1
Remark
Alternate Function
Name
Name
Block Type
I/O
87
C6
PDH0
A16
Output
88
D6
PDH1
A17
Output
D-2
59
F9
PDH2
A18
Output
D-2
60
F8
PDH3
A19
Output
D-2
6
F4
PDH4
A20
Output
D-2
Caution
D-2
When specifying the port or alternate function mode on a bit by bit basis, make sure that the address
bus output functions normally.
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
(1) Port DH register (PDH)
After reset: 00H (output latch)
R/W
Address: FFFFF006H
PDH
0
PDH4
0
0
PDHn
PDH2
PDH1
PDH0
Output data control (in output mode) (n = 0 to 4)
0
Outputs 0
1
Outputs 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
PDH3
Page 129 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(2) Port DH mode register (PMDH)
After reset: FFH
PMDH
1
R/W
Address: FFFFF026H
1
1
PMDHn
PMDH4
PMDH3
PMDH2
PMDH1
PMDH0
I/O mode control (n = 0 to 4)
0
Output mode
1
Input mode
(3) Port DH mode control register (PMCDH)
After reset: 00H
PMCDH
0
R/W
0
Address: FFFFF046H
0
PMCDHn
PMCDH4 PMCDH3 PMCDH2 PMCDH1 PMCDH0
Specification of pin operation (n = 0 to 4)
0
I/O port (PDHn)
1
Ax output (address bus output) (x = 16 to 20)
Caution
When specifying the port or alternate function mode on a bit by bit basis,
make sure that the address bus output functions normally.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 130 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
4.3.11 Port DL
Port DL is a 16-bit port for which I/O settings can be controlled in 1-bit units.
Port DL includes the following alternate-function pins.
Table 4-14. Port DL Alternate-Function Pins
Function
Pin No.
GC
F1
Alternate Function
Name
Name
Remark
Block Type
I/O
71
C11
PDL0
AD0
I/O
72
C10
PDL1
AD1
I/O
D-3
73
C9
PDL2
AD2
I/O
D-3
74
B11
PDL3
AD3
I/O
D-3
75
B10
PDL4
AD4
I/O
D-3
I/O
D-3
Note
D-3
76
A10
PDL5
AD5/FLMD1
77
A9
PDL6
AD6
I/O
D-3
78
B9
PDL7
AD7
I/O
D-3
79
A8
PDL8
AD8
I/O
D-3
80
B8
PDL9
AD9
I/O
D-3
81
C8
PDL10
AD10
I/O
D-3
82
A7
PDL11
AD11
I/O
D-3
83
B7
PDL12
AD12
I/O
D-3
84
C7
PDL13
AD13
I/O
D-3
85
D7
PDL14
AD14
I/O
D-3
86
B6
PDL15
AD15
I/O
D-3
Note Since this pin is set in the flash memory programming mode, it does not need to be manipulated by using the port
control register. For details, see CHAPTER 31 FLASH MEMORY.
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 131 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(1) Port DL register (PDL)
After reset: 0000H (output latch)
R/W
Address: PDL FFFFF004H,
PDLL FFFFF004H, PDLH FFFFF005H
15
14
13
12
11
10
9
8
PDL (PDLH)
PDL15
PDL14
PDL13
PDL12
PDL11
PDL10
PDL9
PDL8
(PDLL)
PDL7
PDL6
PDL5
PDL4
PDL3
PDL2
PDL1
PDL0
PDLn
Output data control (in output mode) (n = 0 to 15)
0
Outputs 0
1
Outputs 1
Remarks 1. The PDL register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PDL register as the PDLH register and the
lower 8 bits as the PDLL register, PDL can be read or written in 8-bit or 1-bit units.
2. To read/write bits 8 to 15 of the PDL register in 8-bit or 1-bit units, specify them as bits 0
to 7 of the PDLH register.
(2) Port DL mode register (PMDL)
After reset: FFFFH
15
PMDL (PMDLH)
R/W
Address: PMDL FFFFF024H,
PMDLL FFFFF024H, PMDLH FFFFF025H
9
8
PMDL15 PMDL14 PMDL13 PMDL12 PMDL11 PMDL10
PMDL9
PMDL8
PMDL7
PMDL1
PMDL0
(PMDLL)
14
PMDL6
13
PMDL5
PMDLn
12
PMDL4
11
PMDL3
10
PMDL2
I/O mode control (n = 0 to 15)
0
Output mode
1
Input mode
Remarks 1. The PMDL register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PMDL register as the PMDLH register and
the lower 8 bits as the PMDLL register, PMDL can be read or written in 8-bit or 1-bit units.
2. To read/write bits 8 to 15 of the PMDL register in 8-bit or 1-bit units, specify them as bits
0 to 7 of the PMDLH register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 132 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
(3) Port DL mode control register (PMCDL)
After reset: 0000H
15
R/W
14
Address: PMCDL FFFFF044H,
PMCDLL FFFFF044H, PMCDLH FFFFF045H
13
12
11
10
9
8
PMCDL (PMCDLH)
PMCDL15 PMCDL14PMCDL13 PMCDL12 PMCDL11PMCDL10 PMCDL9 PMCDL8
(PMCDLL)
PMCDL7 PMCDL6 PMCDL5 PMCDL4 PMCDL3 PMCDL2 PMCDL1 PMCDL0
PMCDLn
Specification of pin operation (n = 0 to 15)
0
I/O port (PDLn)
1
ADn I/O (address/data bus I/O)
Cautions 1. When the BS30 to BS00 bits of the BSC register = 0 (8-bit bus width), do not
specify the AD8 to AD15 pins.
2. When specifying the port or ADn I/O mode on a bit by bit basis, specify the mode
in accordance with the external memory used.
Remarks 1. The PMCDL register can be read or written in 16-bit units.
However, when using the higher 8 bits of the PMCDL register as the PMCDLH register
and the lower 8 bits as the PMCDLL register, PMCDL can be read or written in 8-bit or 1bit units.
2. To read/write bits 8 to 15 of the PMCDL register in 8-bit or 1-bit units, specify them as bits
0 to 7 of the PMCDLH register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 133 of 1210
V850ES/JG3-L
4.4
CHAPTER 4 PORT FUNCTIONS
Block Diagrams
Figure 4-3. Block Diagram of Type A-1
WRPM
PMmn
WRPORT
Selector
Pmn
Selector
Internal bus
Pmn
Address
P-ch
RD
A/D input signal
N-ch
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 134 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-4. Block Diagram of Type A-2
WRPM
PMmn
WRPORT
Selector
Pmn
Selector
Internal bus
Pmn
Address
P-ch
RD
D/A output signal
N-ch
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 135 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-5. Block Diagram of Type C-1
WRPF
PFmn
WRPM
Internal bus
PMmn
EVDD
WRPORT
Pmn
P-ch
Pmn
Selector
Selector
N-ch
EVSS
Address
RD
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 136 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-6. Block Diagram of Type D-1
WRPMC
PMCmn
WRPM
Internal bus
PMmn
WRPORT
Pmn
Selector
Selector
Pmn
Address
RD
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Input signal when
alternate function is used
Page 137 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-7. Block Diagram of Type D-2
WRPMC
PMCmn
WRPM
Internal bus
PMmn
Selector
Output signal when
alternate function is used
WRPORT
Pmn
Selector
Selector
Pmn
Address
RD
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 138 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-8. Block Diagram of Type D-3
WRPMC
PMCmn
Output enable signal
of address/data bus
Output buffer off signal
Selector
WRPM
Internal bus
PMmn
Selector
Output signal when
alternate function is used
WRPORT
Pmn
Selector
Selector
Pmn
Address
Input enable signal of
address/data bus
Input signal when
alternate function is used
RD
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 139 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-9. Block Diagram of Type E-3
WRPF
PFmn
Output enable signal when
alternate function is used
WRPMC
PMCmn
PMmn
EVDD
Output signal when
alternate function is used
Selector
Internal bus
WRPM
WRPORT
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal when
alternate function is used
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 140 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-10. Block Diagram of Type G-1
WRPF
PFmn
WRPFC
PFCmn
WRPMC
Internal bus
PMCmn
WRPM
PMmn
Selector
WRPORT
EVDD
Output signal when
alternate function is used
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal when
alternate function is used
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 141 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-11. Block Diagram of Type G-2
WRPF
PFmn
WRPFC
PFCmn
WRPMC
Internal bus
PMCmn
WRPM
PMmn
Selector
WRPORT
EVDD
Output signal when
alternate function is used
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal when
alternate function is used
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 142 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-12. Block Diagram of Type G-3
WRPF
PFmn
WRPFC
PFCmn
WRPMC
WRPM
PMmn
WRPORT
Selector
Output signal 1 when
alternate function is used
Output signal 2 when
alternate function is used
EVDD
Selector
Internal bus
PMCmn
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Address
RD
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 143 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-13. Block Diagram of Type G-5
WRPF
PFmn
Output enable signal when
alternate function is used
WRPFC
PFCmn
WRPMC
WRPM
PMmn
Selector
Output signal 1 when
alternate function is used
Output signal 2 when
alternate function is used
WRPORT
EVDD
Selector
Internal bus
PMCmn
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal when
alternate function is used
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 144 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-14. Block Diagram of Type G-6
WRPF
PFmn
WRPFC
PFCmn
WRPMC
Internal bus
PMCmn
WRPM
PMmn
EVDD
Selector
Output signal when
alternate function is used
WRPORT
P-ch
Pmn
Pmn
Selector
N-ch
Selector
EVSS
Address
Note
Input signal 1 when
alternate function is used
Input signal 2 when
alternate function is used
Selector
RD
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 145 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-15. Block Diagram of Type G-12
WRPF
PFmn
WRPFC
PFCmn
WRPMC
Internal bus
PMCmn
WRPM
PMmn
Selector
Output signal 1 when
alternate function is used
Selector
Output signal 2 when
alternate function is used
EVDD
WRPORT
P-ch
Pmn
Pmn
Selector
N-ch
RD
Selector
Address
EVSS
Note
Input signal when
alternate function is used
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 146 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-16. Block Diagram of Type L-1
WRPF
PFmn
WRINTR
INTRmnNote 1
WRINTF
INTFmnNote 1
WRPMC
Internal bus
PMCmn
WRPM
PMmn
EVDD
WRPORT
Pmn
P-ch
Pmn
Selector
N-ch
Selector
EVSS
Note 2
Address
RD
Input signal 1 when
alternate function is used
Edge
detection
Noise
elimination
Notes 1. See 22.7 External Interrupt Request Input Pins (NMI, INTP0 to INTP7).
2. There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 147 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-17. Block Diagram of Type N-1
WRPF
PFmn
WRINTR
INTRmnNote 1
WRINTF
INTFmnNote 1
WRPFC
Internal bus
PFCmn
WRPMC
PMCmn
WRPM
PMmn
EVDD
WRPORT
Pmn
P-ch
Pmn
Selector
N-ch
Selector
EVSS
Note 2
Address
Input signal 1 when
alternate function is used
Edge
detection
Noise
elimination
Input signal 2 when
alternate function is used
Selector
RD
Notes 1. See 22.7 External Interrupt Request Input Pins (NMI, INTP0 to INTP7).
2. There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 148 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-18. Block Diagram of Type N-2
WRPF
PFmn
WRINTR
INTRmnNote 1
WRINTF
INTFmnNote 1
WRPFC
Internal bus
PFCmn
WRPMC
PMCmn
WRPM
PMmn
Output signal when
alternate function is used
EVDD
Selector
WRPORT
Pmn
P-ch
Pmn
Selector
N-ch
Selector
EVSS
Note 2
Address
RD
Input signal when
alternate function is used
Edge
detection
Noise
elimination
Notes 1. See 22.7 External Interrupt Request Input Pins (NMI, INTP0 to INTP7).
2. There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 149 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-19. Block Diagram of Type N-3
WRPF
PFmn
WRINTR
INTRmnNote 1
WRINTF
INTFmnNote 1
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
EVDD
WRPORT
P-ch
Pmn
Pmn
Selector
N-ch
Selector
EVSS
Note 2
Address
Input signal 1-1 when
alternate function is used
Edge
detection
Noise
elimination
Input signal 1-2 when
alternate function is used
Selector
RD
Input signal 2 when
alternate function is used
Notes 1. See 22.7 External Interrupt Request Input Pins (NMI, INTP0 to INTP7).
2. There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 150 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-20. Block Diagram of Type U-1
WRPF
PFmn
Output enable signal
whenalternate
WRPFCE
function is used
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
Output signal 2
when alternate
function is used
EVDD
Selector
WRPORT
Selector
Output signal 1
when alternate
function is used
P-ch
Pmn
Pmn
EVSS
Selector
Selector
N-ch
Note
Address
Input signal 1 when
alternate function is used
Input signal 2 when
alternate function is used
Input signal 3 when
alternate function is used
Selector
RD
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 151 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-21. Block Diagram of Type U-5
WRPF
PFmn
WRPFCE
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
Output signal 2 when
alternate function is used
WRPORT
EVDD
Selector
Selector
Output signal 1 when
alternate function is used
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal 1-1 when
alternate function is used
Input signal 1-2 when
alternate function is used
Noise
elimination
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 152 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-22. Block Diagram of Type U-6
WRPF
PFmn
WROCDM0
OCDM0
WRPFCE
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
Output signal 2 when
alternate function is used
WRPORT
EVDD
Selector
Selector
Output signal 1 when
alternate function is used
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal 1-1 when
alternate function is used
Input signal 1-2 when
alternate function is used
Noise
elimination
Input signal when
on-chip debugging
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 153 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-23. Block Diagram of Type U-7
WRPF
PFmn
WROCDM0
OCDM0
WRPFCE
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
Selector
Output signal 1 when
alternate function is used
Output signal 2 when
alternate function is used
EVDD
Selector
WRPORT
Output signal when
on-chip debugging
Selector
PMmn
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Selector
Input signal 1 when
alternate function is used
Input signal 2-1 when
alternate function is used
Input signal 2-2 when
alternate function is used
Noise
elimination
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 154 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-24. Block Diagram of Type U-8
WRPF
PFmn
WROCDM0
OCDM0
WRPFCE
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
Output signal 2 when
alternate function is used
WRPORT
EVDD
Selector
Selector
Output signal 1 when
alternate function is used
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal when
alternate function is used
Noise
elimination
Input signal when
on-chip debugging
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 155 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-25. Block Diagram of Type U-9
WRPF
PFmn
WROCDM0
OCDM0
Output enable signal when
alternate function is used
WRPFCE
PFCEmn
WRPFC
Internal bus
PFCmn
WRPMC
PMCmn
WRPM
PMmn
Selector
Output signal 1 when
alternate function is used
EVDD
Selector
Output signal 2 when
alternate function is used
WRPORT
P-ch
Pmn
Pmn
EVSS
Selector
Selector
N-ch
Note
RD
Input signal 1 when
alternate function is used
Input signal 2 when
alternate function is used
Noise
elimination
Selector
Address
Input signal when
on-chip debugging
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 156 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-26. Block Diagram of Type U-10
WRPF
PFmn
WRPFCE
PFCEmn
WRPFC
PFCmn
WRPMC
Internal bus
PMCmn
WRPM
PMmn
Selector
Output signal 1 when
alternate function is used
Output signal 2 when
alternate function is used
EVDD
Selector
Output signal 3 when
alternate function is used
WRPORT
P-ch
Pmn
Pmn
Selector
N-ch
Selector
EVSS
Address
Note
Input signal 1 when
alternate function is used
Input signal 2 when
alternate function is used
Noise
elimination
Selector
RD
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 157 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-27. Block Diagram of Type U-11
WRPF
PFmn
WRPFCE
PFCEmn
WRPFC
PFCmn
WRPMC
Internal bus
PMCmn
WRPM
PMmn
Selector
Output signal 1 when
alternate function is used
EVDD
Selector
Output signal 2 when
alternate function is used
WRPORT
P-ch
Pmn
Pmn
Selector
N-ch
Selector
EVSS
Address
Note
RD
Input signal 2 when
alternate function is used
Noise
elimination
Selector
Input signal 1 when
alternate function is used
Input signal 3 when
alternate function is used
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 158 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-28. Block Diagram of Type U-12
WRPF
PFmn
WRPFCE
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
Output signal 2 when
alternate function is used
WRPORT
EVDD
Selector
Selector
Output signal 1 when
alternate function is used
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal when
alternate function is used
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 159 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-29. Block Diagram of Type U-13
WRPF
PFmn
WRPFCE
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
Output signal 2 when
alternate function is used
WRPORT
EVDD
Selector
Selector
Output signal 1 when
alternate function is used
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note
Address
RD
Input signal when
alternate function is used
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 160 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-30. Block Diagram of Type U-14
WRPF
PFmn
WRPFCE
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
Selector
Output signal 1 when
alternate function is used
EVDD
Selector
Output signal 2 when
alternate function is used
WRPORT
P-ch
Pmn
Pmn
EVSS
Selector
Selector
N-ch
Note
Address
Input signal 1 when
alternate function is used
Input signal 2 when
alternate function is used
Selector
RD
Note There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 161 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-31. Block Diagram of Type U-15
WRPF
PFmn
WRINTR
INTRmnNote 1
WRINTF
INTFmnNote 1
WRPFCE
PFCEmn
WRPFC
PFCmn
Internal bus
WRPMC
PMCmn
WRPM
PMmn
Output signal 2 when
alternate function is used
WRPORT
EVDD
Selector
Selector
Output signal 1 when
alternate function is used
P-ch
Pmn
Pmn
N-ch
Selector
Selector
EVSS
Note 2
Address
Input signal 1 when
alternate function is used
Input signal 2 when
alternate function is used
Edge
detection
Noise
elimination
Selector
RD
Notes 1. See 22.7 External Interrupt Request Input Pins (NMI, INTP0 to INTP7).
2. There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 162 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-32. Block Diagram of Type U-16
WRPF
PFmn
WRPFCE
PFCEmn
WRPFC
PFCmn
WRPMC
Internal bus
PMCmn
WRPM
PMmn
Selector
Output signal 1 when
alternate function is used
Output signal 2 when
alternate function is used
EVDD
Selector
Output signal 3 when
alternate function is used
WRPORT
P-ch
Pmn
Pmn
Selector
N-ch
Selector
Address
EVSS
Note
Input signal when
alternate function is used
RD
Note
There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 163 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-33. Block Diagram of Type U-17
WRPF
PFmn
WRPFCE
PFCEmn
WRPFC
PFCmn
WRPMC
WRPM
PMmn
Selector
Output signal 1 when
alternate function is used
Output signal 2 when
alternate function is used
WRPORT
EVDD
Selector
Internal bus
PMCmn
P-ch
Pmn
Pmn
EVSS
Selector
Selector
N-ch
Note
RD
Input signal 1 when
alternate function is used
Input signal 2 when
alternate function is used
Note
Selector
Address
There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 164 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-34. Block Diagram of Type AA-1
WRPF
PFmn
External
reset signal
WROCDM0
OCDM0
WRINTR
INTRmnNote 1
Internal bus
WRINTF
INTFmnNote 1
WRPMC
PMCmn
WRPM
PMmn
EVDD
WRPORT
Pmn
P-ch
Pmn
EVSS
Selector
Selector
N-ch
Note 2
Address
RD
Input signal when
on-chip debugging
Edge
detection
Noise
elimination
N-ch
Input signal when
alternate function is used
EVSS
Notes 1. See 22.7 External Interrupt Request Input Pins (NMI, INTP0 to INTP7).
2. There are no hysteresis characteristics in port mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 165 of 1210
V850ES/JG3-L
4.5
CHAPTER 4 PORT FUNCTIONS
Port Register Settings When Alternate Function Is Used
Table 4-15 shows the port register settings when each port pin is used for an alternate function. When using a port pin
as an alternate-function pin, refer to the description of each pin.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 166 of 1210
Function
Name
P02
P03
P04
P05
Alternate Function
Name
I/O
Pnx Bit of
Pn Register
PMnx Bit of
PMn Register
PMCnx Bit of
PMCn Register
PFCEnx Bit of
PFCEn Register
NMI
Input
P02 = Setting not required PM02 = Setting not required PMC02 = 1
−
PFC02 = 0
A21
Input
P02 = Setting not required PM02 = Setting not required PMC02 = 1
−
PFC02 = 1
INTP0
Input
P03 = Setting not required PM03 = Setting not required PMC03 = 1
PFCE03 = 0
PFC03 = 0
ADTRG
Input
P03 = Setting not required PM03 = Setting not required PMC03 = 1
PFCE03 = 0
PFC03 = 1
UCLK
Input
P03 = Setting not required PM03 = Setting not required PMC03 = 1
PFCE03 = 1
PFC03 = 0
RTC1HZ
Input
P03 = Setting not required PM03 = Setting not required PMC03 = 1
PFCE03 = 1
PFC03 = 1
INTP1
Output
P04 = Setting not required PM04 = Setting not required PMC04 = 1
PFCE04 = 0
PFC04 = 0
RTCDIV
Output
P04 = Setting not required PM04 = Setting not required PMC04 = 1
PFCE04 = 0
PFC04 = 1
RTCCL
Input
P04 = Setting not required PM04 = Setting not required PMC04 = 1
PFCE04 = 1
PFC04 = 0
INTP2
Input
P05 = Setting not required PM05 = Setting not required PMC05 = 1
−
−
DRST
Input
P05 = Setting not required PM05 = Setting not required PMC05 = Setting not required
−
−
−
INTP3
Output
P06 = Setting not required PM06 = Setting not required PMC06 = 1
P10
ANO0
Output
P10 = Setting not required PM10 = 1
−
−
−
P11
ANO1
Output
P11 = Setting not required PM11 = 1
−
−
−
P30
TXDA0
Output
P30 = Setting not required PM30 = Setting not required PMC30 = 1
−
PFC30 = 0
SOB4
Input
P30 = Setting not required PM30 = Setting not required PMC30 = 1
−
PFC30 = 1
RXDA0
Input
P31 = Setting not required PM31 = Setting not required PMC31 = 1
−
Note, PFC31 = 0
INTP7
Input
P31 = Setting not required PM31 = Setting not required PMC31 = 1
−
Note, PFC31 = 0
SIB4
Input
P31 = Setting not required PM31 = Setting not required PMC31 = 1
−
PFC31 = 1
ASCKA0
I/O
P32 = Setting not required PM32 = Setting not required PMC32 = 1
−
PFC32 = 0
SCKB4
Input
P32 = Setting not required PM32 = Setting not required PMC32 = 1
−
PFC32 = 1
TIP00
Output
P32 = Setting not required PM32 = Setting not required PMC32 = 1
PFCE32 = 0
PFC32 = 0
TOP00
Input
P32 = Setting not required PM32 = Setting not required PMC32 = 1
PFCE32 = 0
PFC32 = 1
P32
Note
OCDM0 (OCDM) = 1
INTP7 and RXDA0 are alternate functions. When using the pin for RXDA0, disable edge detection for INTP7 (clear the INTF3.INTF31 bit and
the INTR3.INTR31 bit to 0). When using the pin for INTP7, stop UARTA0 reception (clear the UA0CTL0.UA0RXE bit to 0).
Page 167 of 1210
Caution When using one of the P10/ANO0 and P11/ANO1 pins for the I/O port function and the other for D/A output (ANO0, ANO1), do so in an
application where the port I/O level does not change during D/A output.
CHAPTER 4 PORT FUNCTIONS
P06
−
P31
Other Bits
(Registers)
PFCnx Bit of
PFCn Register
V850ES/JG3-L
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Table 4-15. Settings When Pins Are Used for Alternate Functions (1/7)
Function
Name
Alternate Function
Name
I/O
Pnx Bit of
Pn Register
PMnx Bit of
PMn Register
PMCnx Bit of
PMCn Register
PFCEnx Bit of
PFCEn Register
P36
TXDA3
Outpt
P36 = Setting not required PM36 = Setting not required
PMC36 = 1
−
−
P37
RXDA3
Input
P37 = Setting not required PM37 = Setting not required
PMC37 = 1
−
−
TXDA2
Output
P38 = Setting not required PM38 = Setting not required
PMC38 = 1
−
PFC38 = 0
SDA00
I/O
P38 = Setting not required PM38 = Setting not required
PMC38 = 1
−
PFC38 = 1
RXDA2
Input
P39 = Setting not required PM39 = Setting not required
PMC39 = 1
−
PFC39 = 0
SCL00
I/O
P39 = Setting not required PM39 = Setting not required
PMC39 = 1
−
PFC39 = 1
SIB0
Input
P40 = Setting not required PM40 = Setting not required
PMC40 = 1
−
PFC40 = 0
SDA01
I/O
P40 = Setting not required PM40 = Setting not required
PMC40 = 1
−
PFC40 = 1
SOB0
Output
P41 = Setting not required PM41 = Setting not required
PMC41 = 1
−
PFC41 = 0
SCL01
I/O
P41 = Setting not required PM41 = Setting not required
PMC41 = 1
−
PFC41 = 1
SCKB0
I/O
P42 = Setting not required PM42 = Setting not required
PMC42 = 1
−
−
TIQ01
Input
P50 = Setting not required PM50 = Setting not required
PMC50 = 1
PFCE50 = 0
PFC50 = 1
KR0
Input
P50 = Setting not required PM50 = Setting not required
PMC50 = 1
PFCE50 = 0
PFC50 = 1
TOQ01
Output
P50 = Setting not required PM50 = Setting not required
PMC50 = 1
PFCE50 = 1
PFC50 = 0
RTP00
Output
P50 = Setting not required PM50 = Setting not required
PMC50 = 1
PFCE50 = 1
PFC50 = 1
P38
P39
P40
P41
P42
P50
Other Bits
(Registers)
PFCnx Bit of
PFCn Register
V850ES/JG3-L
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Table 4-15. Settings When Pins Are Used for Alternate Functions (2/7)
PF38 (PF3) = 1
PF39 (PF3) = 1
PF40 (PF4) = 1
PF41 (PF4) = 1
KRM0 (KRM) = 0
TQ0TIG2, TQ0TIG3 (TQ0IOC1) = 0
CHAPTER 4 PORT FUNCTIONS
Page 168 of 1210
Function
Name
P51
P52
P53
Alternate Function
Name
I/O
Pnx Bit of
Pn Register
PMnx Bit of
PMn Register
PMCnx Bit of
PMCn Register
PFCEnx Bit of
PFCEn Register
Other Bits
(Registers)
PFCnx Bit of
PFCn Register
TIQ02
Input
P51 = Setting not required PM51 = Setting not required PMC51 = 1
PFCE51 = 0
PFC51 = 1
KRM1 (KRM) = 0
KR1
Input
P51 = Setting not required PM51 = Setting not required PMC51 = 1
PFCE51 = 0
PFC51 = 1
TQ0TIG4, TQ0TIG5 (TQ0IOC1) = 0
TOQ02
Output
P51 = Setting not required PM51 = Setting not required PMC51 = 1
PFCE51 = 1
PFC51 = 0
RTP01
Output
P51 = Setting not required PM51 = Setting not required PMC51 = 1
PFCE51 = 1
PFC51 = 1
TIQ03
Input
P52 = Setting not required PM52 = Setting not required PMC52 = 1
PFCE52 = 0
PFC52 = 1
KRM2 (KRM) = 0
KR2
Input
P52 = Setting not required PM52 = Setting not required PMC52 = 1
PFCE52 = 0
PFC52 = 1
TQ0TIG6, TQ0TIG7 (TQ0I0C1) = 0
TOQ03
Output
P52 = Setting not required PM52 = Setting not required PMC52 = 1
PFCE52 = 1
PFC52 = 0
RTP02
Output
P52 = Setting not required PM52 = Setting not required PMC52 = 1
PFCE52 = 1
PFC52 = 1
DDI
Input
P52 = Setting not required PM52 = Setting not required PMC52 = Setting not required PFCE52 = Setting not required PFC52 = Setting not required
SIB2
Input
P53 = Setting not required PM53 = Setting not required PMC53 = 1
PFCE53 = 0
PFC53 = 0
TIQ00
Input
P53 = Setting not required PM53 = Setting not required PMC53 = 1
PFCE53 = 0
PFC53 = 1
KRM3 (KRM) = 0
KR3
Input
P53 = Setting not required PM53 = Setting not required PMC53 = 1
PFCE53 = 0
PFC53 = 1
TQ0TIG0, TQ0TIG1 (TQ0IOC1) = 0,
V850ES/JG3-L
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Table 4-15. Settings When Pins Are Used for Alternate Functions (3/7)
OCDM0 (OCDM) = 1
TQ0EES0, TQ0EES1 (TQ0IOC2) = 0,
TQ0ETS0, TQ0ETS1 (TQ0IOC2) = 0
P54
Output
P53 = Setting not required PM53 = Setting not required PMC53 = 1
PFCE53 = 1
PFC53 = 0
RTP03
Output
P53 = Setting not required PM53 = Setting not required PMC53 = 1
PFCE53 = 1
PFC53 = 1
DDO
Output
P53 = Setting not required PM53 = Setting not required PMC53 = Setting not required PFCE53 = Setting not required PFC53 = Setting not required
SOB2
Output
P54 = Setting not required PM54 = Setting not required PMC54 = 1
PFCE54 = 0
PFC54 = 0
KR4
Input
P54 = Setting not required PM54 = Setting not required PMC54 = 1
PFCE54 = 0
PFC54 = 1
RTP04
Output
P54 = Setting not required PM54 = Setting not required PMC54 = 1
PFCE54 = 1
PFC54 = 1
DCK
Input
P54 = Setting not required PM54 = Setting not required PMC54 = Setting not required PFCE54 = Setting not required PFC54 = Setting not required
SCKB2
I/O
P55 = Setting not required PM55 = Setting not required PMC55 = 1
PFCE55 = 0
PFC55 = 0
KR5
Input
P55 = Setting not required PM55 = Setting not required PMC55 = 1
PFCE55 = 0
PFC55 = 1
RTP05
Output
P55 = Setting not required PM55 = Setting not required PMC55 = 1
PFCE55 = 1
PFC55 = 1
DMS
Input
P55 = Setting not required PM55 = Setting not required PMC55 = Setting not required PFCE55 = Setting not required PFC55 = Setting not required
OCDM0 (OCDM) = 1
OCDM0 (OCDM) = 1
OCDM0 (OCDM) = 1
Page 169 of 1210
CHAPTER 4 PORT FUNCTIONS
P55
TOQ00
Function
Name
Alternate Function
Name
I/O
Pnx Bit of
Pn Register
PMnx Bit of
PMn Register
PMCnx Bit of
PMCn Register
PFCEnx Bit of
PFCEn Register
PFCnx Bit of
PFCn Register
P70
ANI0
Input
P70 = Setting not required
PM70 = 1
−
−
−
P71
ANI1
Input
P71 = Setting not required
PM71 = 1
−
−
−
P72
ANI2
Input
P72 = Setting not required
PM72 = 1
−
−
−
P73
ANI3
Input
P73 = Setting not required
PM73 = 1
−
−
−
P74
ANI4
Input
P74 = Setting not required
PM74 = 1
−
−
−
P75
ANI5
Input
P75 = Setting not required
PM75 = 1
−
−
−
P76
ANI6
Input
P76 = Setting not required
PM76 = 1
−
−
−
P77
ANI7
Input
P77 = Setting not required
PM77 = 1
−
−
−
P78
ANI8
Input
P78 = Setting not required
PM78 = 1
−
−
−
PM79 = 1
−
−
−
P79
ANI9
Input
P79 = Setting not required
P710
ANI10
Input
P710 = Setting not required PM710 = 1
−
−
−
−
−
−
P711
ANI11
Input
P711 = Setting not required PM711 = 1
P90
KR6
Input
P90 = Setting not required
PM90 = Setting not required
PMC90 = 1
PFCE90 = 0
PFC90 = 1
TXDA1
Output
P90 = Setting not required
PM90 = Setting not required
PMC90 = 1
PFCE90 = 1
PFC90 = 0
SDA02
I/O
P90 = Setting not required
PM90 = Setting not required
PMC90 = 1
PFCE90 = 1
PFC90 = 1
KR7
Input
P91 = Setting not required
PM91 = Setting not required
PMC91 = 1
PFCE91 = 0
PFC91 = 1
RXDA1/KR7Note
Input
P91 = Setting not required
PM91 = Setting not required
PMC91 = 1
PFCE91 = 1
PFC91 = 0
SCL02
I/O
P91 = Setting not required
PM91 = Setting not required
PMC91 = 1
PFCE91 = 1
PFC91 = 1
P91
Other Bits
(Registers)
PF90 (PF9) = 1
PF91 (PF9) = 1
Page 170 of 1210
CHAPTER 4 PORT FUNCTIONS
Note The RXDA1 and KR7 functions cannot be used at the same time. When using the pin for RXDA1, do not use the KR7 function. When using the pin for KR7,
do not use the RXDA1 function. (It is recommended to set the PFC91 bit to 1 and clear the PFCE91 bit to 0.)
V850ES/JG3-L
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Table 4-15. Settings When Pins Are Used for Alternate Functions (4/7)
Function
Name
P92
P93
P94
Alternate Function
Name
I/O
Pnx Bit of
Pn Register
PMnx Bit of
PMn Register
PMCnx Bit of
PMCn Register
PFCEnx Bit of
PFCEn Register
PFCnx Bit of
PFCn Register
TIP41
Input
P92 = Setting not required
PM92 = Setting not required
PMC92 = 1
PFCE92 = 0
PFC92 = 1
TOP41
Output
P92 = Setting not required
PM92 = Setting not required
PMC92 = 1
PFCE92 = 1
PFC92 = 0
TXDA4
Output
P92 = Setting not required
PM92 = Setting not required
PMC92 = 1
PFCE92 = 1
PFC92 = 1
TIP40
Input
P93 = Setting not required
PM93 = Setting not required
PMC93 = 1
PFCE93 = 0
PFC93 = 1
TOP40
Output
P93 = Setting not required
PM93 = Setting not required
PMC93 = 1
PFCE93 = 1
PFC93 = 0
RXDA4
Input
P93 = Setting not required
PM93 = Setting not required
PMC93 = 1
PFCE93 = 1
PFC93 = 1
TIP31
Input
P94 = Setting not required
PM94 = Setting not required
PMC94 = 1
PFCE94 = 0
PFC94 = 1
TOP31
Output
P94 = Setting not required
PM94 = Setting not required
PMC94 = 1
PFCE94 = 1
PFC94 = 0
TXDA5
Output
P94 = Setting not required
PM94 = Setting not required
PMC94 = 1
PFCE94 = 1
PFC94 = 1
TIP30
Input
P95 = Setting not required
PM95 = Setting not required
PMC95 = 1
PFCE95 = 0
PFC95 = 1
TOP30
Output
P95 = Setting not required
PM95 = Setting not required
PMC95 = 1
PFCE95 = 1
PFC95 = 0
RXDA5
Input
P95 = Setting not required
PM95 = Setting not required
PMC95 = 1
PFCE95 = 1
PFC95 = 1
TXDC0
Input
P96 = Setting not required
PM96 = Setting not required
PMC96 = 1
PFCE96 = 0
PFC96 = 1
TIP21
Output
P96 = Setting not required
PM96 = Setting not required
PMC96 = 1
PFCE96 = 1
PFC96 = 0
TOP21
Output
P96 = Setting not required
PM96 = Setting not required
PMC96 = 1
PFCE96 = 1
PFC96 = 1
SIB1Note
Input
P97 = Setting not required
PM97 = Setting not required
PMC97 = 1
PFCE97 = 0
PFC97 = 1
RXDC0Note
Input
P97 = Setting not required
PM97 = Setting not required
PMC97 = 1
PFCE97 = 0
PFC97 = 1
TIP20
Input
P97 = Setting not required
PM97 = Setting not required
PMC97 = 1
PFCE97 = 1
PFC97 = 0
TOP20
Output
P97 = Setting not required
PM97 = Setting not required
PMC97 = 1
PFCE97 = 1
PFC97 = 1
P98
SOB1
Output
P98 = Setting not required
PM98 = Setting not required
PMC98 = 1
−
PFC98 = 1
P99
SCKB1
I/O
P99 = Setting not required
PM99 = Setting not required
PMC99 = 1
−
PFC99 = 1
P95
P96
P97
Other Bits
(Registers)
0.) When using the pin for RXDC0, stop CSIB1 reception. (clear the CB1CTL0.CB1RXE bit to 0.)
Page 171 of 1210
CHAPTER 4 PORT FUNCTIONS
Note The SIB1 and RXDC0 functions cannot be used at the same time. When using the pin for SIB1, stop UARTC0 reception. (clear the UC0CTL0.UC0RXE bit to
V850ES/JG3-L
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Table 4-15. Settings When Pins Are Used for Alternate Functions (5/7)
Function
Name
Alternate Function
Name
I/O
Pnx Bit of
Pn Register
PMnx Bit of
PMn Register
PMCnx Bit of
PMCn Register
PFCEnx Bit of
PFCEn Register
PFCnx Bit of
PFCn Register
P910
SIB3
Input
P910 = Setting not required PM910 = Setting not required
PMC910 = 1
−
PFC910 = 1
P911
SOB3
Output
P911 = Setting not required PM911 = Setting not required
PMC911 = 1
−
PFC911 = 1
P912
SCKB3
I/O
P912 = Setting not required PM912 = Setting not required
PMC912 = 1
−
PFC912 = 1
−
PFC913 = 1
P913
INTP4
Input
P913 = Setting not required PM913 = Setting not required
PMC913 = 1
P914
INTP5
Input
P914 = Setting not required PM914 = Setting not required
PMC914 = 1
PFCE914 = 0
PFC914 = 1
TIP51
Input
P914 = Setting not required PM914 = Setting not required
PMC914 = 1
PFCE914 = 1
PFC914 = 0
TOP51
Output
P914 = Setting not required PM914 = Setting not required
PMC914 = 1
PFCE914 = 1
PFC914 = 1
INTP6
Input
P915 = Setting not required PM915 = Setting not required
PMC915 = 1
PFCE915 = 0
PFC915 = 1
TIP50
Input
P915 = Setting not required PM915 = Setting not required
PMC915 = 1
PFCE915 = 1
PFC915 = 0
TOP50
Output
P915 = Setting not required PM915 = Setting not required
PMC915 = 1
PFCE915 = 1
PFC915 = 1
P915
PCM0
WAIT
Input
PCM0 = Setting not required PMCM0 = Setting not required PMCCM0 = 1
−
PCM1
CLKOUT
Output
PCM1 = Setting not required PMCM1 = Setting not required PMCCM1 = 1
−
−
PCM2
HLDAK
Output
PCM2 = Setting not required PMCM2 = Setting not required PMCCM2 = 1
−
−
−
−
PCM3
HLDRQ
Input
PCM3 = Setting not required PMCM3 = Setting not required PMCCM3 = 1
−
PCT0
WR0
Output
PCT0 = Setting not required PMCT0 = Setting not required PMCCT0 = 1
−
−
−
PCT1
WR1
Output
PCT1 = Setting not required PMCT1 = Setting not required PMCCT1 = 1
−
PCT4
RD
Output
PCT4 = Setting not required PMCT4 = Setting not required PMCCT4 = 1
−
−
Output
PCT6 = Setting not required PMCT6 = Setting not required PMCCT6 = 1
−
−
PCT6
ASTB
Other Bits
(Registers)
V850ES/JG3-L
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Table 4-15. Settings When Pins Are Used for Alternate Functions (6/7)
CHAPTER 4 PORT FUNCTIONS
Page 172 of 1210
Function
Name
PDH0
Alternate Function
Name
I/O
Output
A16
PFCEnx Bit of
PFCEn Register
PFCnx Bit of
PFCn Register
PDH0 = Setting not required PMDH0 = Setting not required PMCDH0 = 1
−
−
−
Pnx Bit of
Pn Register
PMnx Bit of
PMn Register
PMCnx Bit of
PMCn Register
PDH1
A17
Output
PDH1 = Setting not required PMDH1 = Setting not required PMCDH1 = 1
−
PDH2
A18
Output
PDH2 = Setting not required PMDH2 = Setting not required PMCDH2 = 1
−
−
PDH3
A19
Output
PDH3 = Setting not required PMDH3 = Setting not required PMCDH3 = 1
−
−
−
PDH4
A20
Output
PDH4 = Setting not required PMDH4 = Setting not required PMCDH4 = 1
−
PDL0
AD0
I/O
PDL0 = Setting not required
PMDL0 = Setting not required
PMCDL0 = 1
−
−
PDL1
AD1
I/O
PDL1 = Setting not required
PMDL1 = Setting not required
PMCDL1 = 1
−
−
−
PDL2
AD2
I/O
PDL2 = Setting not required
PMDL2 = Setting not required
PMCDL2 = 1
−
PDL3
AD3
I/O
PDL3 = Setting not required
PMDL3 = Setting not required
PMCDL3 = 1
−
−
PDL4
AD4
I/O
PDL4 = Setting not required
PMDL4 = Setting not required
PMCDL4 = 1
−
−
−
PDL5
I/O
PDL5 = Setting not required
PMDL5 = Setting not required
PMCDL5 = 1
−
FLMD1
Input
PDL5 = Setting not required
PMDL5 = Setting not required
PMCDL5 = Setting not required
−
−
AD6
I/O
PDL6 = Setting not required
PMDL6 = Setting not required
PMCDL6 = 1
−
−
−
AD5
Note
PDL6
PDL7
AD7
I/O
PDL7 = Setting not required
PMDL7 = Setting not required
PMCDL7 = 1
−
PDL8
AD8
I/O
PDL8 = Setting not required
PMDL8 = Setting not required
PMCDL8 = 1
−
−
PDL9
AD9
I/O
PDL9 = Setting not required
PMDL9 = Setting not required
PMCDL9 = 1
−
−
−
AD10
I/O
PDL10 = Setting not required PMDL10 = Setting not required PMCDL10 = 1
PDL11
AD11
I/O
PDL11 = Setting not required PMDL11 = Setting not required PMCDL11 = 1
−
−
PDL12
AD12
I/O
PDL12 = Setting not required PMDL12 = Setting not required PMCDL12 = 1
−
−
−
PDL13
AD13
I/O
PDL13 = Setting not required PMDL13 = Setting not required PMCDL13 = 1
−
PDL14
AD14
I/O
PDL14 = Setting not required PMDL14 = Setting not required PMCDL14 = 1
−
−
PDL15
AD15
I/O
PDL15 = Setting not required PMDL15 = Setting not required PMCDL15 = 1
−
−
Note
Since this pin is set in the flash memory programming mode, it does not need to be manipulated by using the port control register. For details, see
CHAPTER 31
FLASH MEMORY.
Page 173 of 1210
CHAPTER 4 PORT FUNCTIONS
PDL10
−
Other Bits
(Registers)
V850ES/JG3-L
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Table 4-15. Settings When Pins Are Used for Alternate Functions (7/7)
V850ES/JG3-L
4.6
4.6.1
CHAPTER 4 PORT FUNCTIONS
Cautions
Cautions on setting port pins
(1) In the V850ES/JG3-L, general-purpose port pins are shared with several peripheral I/O functions. To switch
between using a pin as a general-purpose port pin (port mode) and as a peripheral function I/O pin (alternatefunction mode), use the PMCn register. Note the following when setting this register.
(a) Cautions when switching from port mode to alternate-function mode
Switch from the port mode to the alternate-function mode in the following order:
Set the PFn registerNote 1:
N-ch open-drain setting
Set the PFCn and PFCEn registers:
Alternate-function selection
Set the corresponding bit of the PMCn register to 1: Switch to alternate-function mode
Set the INTRn and INTFn registersNote 2:
External interrupt setting
Note that if the PMCn register is set first, an unexpected operation may occur at the moment the register is set
or when the pin states change in accordance with the setting of the PFn, PFCn, and PFCEn registers.
A specific example is shown below.
Notes 1. N-ch open-drain output pin only.
2. Only when the external interrupt function is selected.
Caution
Regardless of the port mode/alternate-function mode setting, the Pn register is read and
written as follows:
Pn register read: The port output latch value is read (when PMn.PMnm bit = 0), or the pin
state is read (PMn.PMnm bit = 1).
Pn register write: The port output latch is written
[Example] SCL01 pin setting example
The SCL01 pin is used alternately as the P41/SOB0 pin. Select the desired pin function by using
the PMC4, PFC4, and PF4 registers.
PMC41 Bit
PFC41 Bit
PF41 Bit
Pin Function
0
don’t care
1
P41 (in output port mode, N-ch open-drain output)
1
0
1
SOB0 output (N-ch open-drain output)
1
1
SCL01 I/O (N-ch open-drain output)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 174 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
The setting order that may cause a malfunction when switching from the P41 pin function to the
SCL01 pin function is shown below.
Setting Order
Setting
Initial value
Pin State
Pin Level
Port mode (input)
Hi-Z
SOB0 output
Low level (may be high level depending
(PMC41 bit = 0,
PFC41 bit = 0,
PF41 bit = 0)
PMC41 bit 1
on the CSIB0 setting)
PFC41 bit 1
SCL01 I/O
High level (CMOS output)
PF41 bit 1
SCL01 I/O
Hi-Z (N-ch open-drain output)
In , I2C communication may be affected since the alternate-function SOB0 output is output to the
pin. In the CMOS output period of or , an unnecessary current may be generated.
(b) Cautions on alternate-function mode (input)
The signal input to the alternate-function block is low level when the PMCn.PMCnm bit is 0 due to the ANDed
output of the PMCn register set value and the pin level. Thus, depending on the port setting and alternatefunction operation enable timing, an unexpected operation may occur. Therefore, switch between the port
mode and alternate-function mode in the following sequence.
Switching from port mode to alternate-function mode (input)
Set the pins to the alternate-function mode using the PMCn register and then enable the alternate-function
operation.
Switching from alternate-function mode (input) to port mode
Stop the alternate-function operation and then switch the pins to the port mode.
Specific examples are shown below.
[Example 1] Switching from general-purpose port pin (P02) to external interrupt pin (NMI)
When the P02/NMI pin is pulled up as shown in Figure 4-33 and the rising edge is specified by
the NMI pin edge detection setting, even though a high level is input continuously to the NMI pin
while switching from the P02 pin to the NMI pin (PMC02 bit = 0 1), this is detected as a rising
edge, as if the low level changed to a high level, and an NMI interrupt occurs.
To avoid this, set the NMI pin’s valid edge after switching from the P02 pin to the NMI pin.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 175 of 1210
V850ES/JG3-L
CHAPTER 4 PORT FUNCTIONS
Figure 4-35. Example of Switching from P02 to NMI (Incorrect)
7
PMC0
6
5
4
3
2
0→1
0
1
0
0 0
3V
PMC0m bit = 0: Port mode
PMC0m bit = 1: Alternate-function mode
NMI interrupt occurrence
Rising
edge
detector
P02/NMI
PMC02 bit = 0: Low level
↓
PMC02 bit = 1: High level
Remark
m = 2 to 6
[Example 2] Switching from external pin (NMI) to general-purpose port pin (P02)
When the P02/NMI pin is pulled up as shown in Figure 4-34 and the falling edge is specified by
the NMI pin edge detection setting, even though a high level is input continuously to the NMI pin
when switching from the NMI pin to the P02 pin (PMC02 bit = 1 0), this is detected as a falling
edge, as if the high level changed to a low level, and an NMI interrupt occurs.
To avoid this, set the NMI pin edge detection as “No edge detected” before switching to the P02
pin.
Figure 4-36. Example of Switching from NMI to P02 (Incorrect)
7
PMC0
6
5
4
3
0
2
1→0
1
0
0 0
3V
PMC0m bit = 0: Port mode
PMC0m bit = 1: Alternate-function mode
NMI interrupt occurrence
Falling
edge
detector
P02/NMI
PMC02 bit = 1: High level
↓
PMC02 bit = 0: Low level
Remark
m = 2 to 6
(2) In port mode, the PFn.PFnm bit is valid only in the output mode (PMn.PMnm bit = 0). In the input mode (PMnm bit
= 1), the value of the PFnm bit is not reflected in the buffer.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 176 of 1210
V850ES/JG3-L
4.6.2
CHAPTER 4 PORT FUNCTIONS
Cautions on bit manipulation instruction for port n register (Pn)
When a 1-bit manipulation instruction is executed on a port that provides both input and output functions or
port/alternate functions, the value of the output latch of an input port that is not subject to manipulation may be written in
addition to the targeted bit.
Therefore, it is recommended to rewrite the output latch when switching a port from input mode to output mode.
When the P90 pin is an output pin, the P91 to P97 pins are input pins (the status of all pins is high level),
and the value of the port latch is 00H, if the output of the P90 pin is changed from low level to high level
via a bit manipulation instruction, the value of the port latch is FFH.
Explanation: When writing to and reading from the Pn register of a port whose PMnm bit is 1, the output
latch is written and the pin status is read.
A bit manipulation instruction is executed in the following order in the V850ES/JG3-L.
The Pn register is read in 8-bit units.
The targeted bit is manipulated.
The Pn register is written in 8-bit units.
In step , the value of the output latch (0) of the P90 pin, which is an output pin, is read, while the pin
statuses of the P91 to P97 pins, which are input pins, are read. If the pin statuses of the P91 to P97
pins are high level at this time, the value read is FEH.
The value is changed to FFH by the manipulation in .
FFH is written to the output latch by the manipulation in .
Figure 4-37. Bit Manipulation Instruction (P90 Pin)
Bit manipulation
instruction
(set1 0, P9L[r0])
is executed for
P90 bit.
P90
Low-level output
P91 to P97
P90
High-level output
P91 to P97
Pin status: High level
Pin status: High level
Port 9L latch
0
0
Port 9L latch
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Bit manipulation instruction for P90 bit
The P9L register is read in 8-bit units.
• In the case of P90, an output pin, the value of the port latch (0) is read.
• In the case of P91 to P97, input pins, the pin status (1) is read.
Set (1) to the P90 bit.
Write the results of to the output latch of the P9L register in 8-bit units.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 177 of 1210
V850ES/JG3-L
4.6.3
CHAPTER 4 PORT FUNCTIONS
Cautions on on-chip debug pins
The DRST, DCK, DMS, DDI, and DDO pins are on-chip debug pins.
After reset by the RESET pin, the P05/INTP2/DRST pin is initialized to function as an on-chip debug pin (DRST). If a
high level is input to the DRST pin at this time, the on-chip debug mode is set, and the DCK, DMS, DDI, and DDO pins can
be used.
The following action must be taken if on-chip debugging is not used.
Clear the OCDM0 bit of the OCDM register (special register) (0)
At this time, fix the P05/INTP2/DRST pin to low level from when reset by the RESET pin is released until the above
action is taken.
If a high level is input to the DRST pin before the above action is taken, it may cause a malfunction (CPU deadlock).
Handle the P05 pin with the utmost care.
Caution
After reset by the WDT2RES signal, clock monitor (CLM), or low-voltage detector (LVI), the
P05/INTP2/DRST pin is not initialized to function as an on-chip debug pin (DRST). The OCDM register
holds the current value.
4.6.4
Cautions on P05/INTP2/DRST pin
The P05/INTP2/DRST pin has an internal pull-down resistor (30 k TYP.). After a reset by the RESET pin, the pulldown resistor is connected. The pull-down resistor is disconnected when the OCDM0 bit is cleared (0).
4.6.5
Cautions on P10, P11, and P53 pins when power is turned on
When the power is turned on, the following pins may output an undefined level temporarily even during reset.
P10/ANO0 pin
P11/ANO1 pin
P53/SIB2/KR3/TIQ00/TOQ00/RTP03/DDO pin
4.6.6
Hysteresis characteristics
In port mode, the following port pins do not have hysteresis characteristics.
P02 to P06
P30 to P32, P37 to P39
P40 to P42
P50 to P55
P90 to P97, P99, P910, P912 to P915
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 178 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
CHAPTER 5 BUS CONTROL FUNCTION
The external bus interface function is used to connect external devices to areas other than the internal ROM, RAM, or
on-chip I/O registers via ports, CM, CT, DL, and DH. These ports control address/data I/O, the read/write strobe signal,
waits, the clock output, bus hold, and the address strobe signal.
The V850ES/JG3-L is provided with an external bus interface function by which external memories such as ROM and
RAM, and external I/O devices can be connected.
5.1
Features
A multiplexed bus with a minimum of 3 bus cycles output are available.
An 8-bit or 16-bit data bus can be selected (specifiable for each memory block).
Wait function
Programmable wait function of up to 7 states (specifiable for each memory block)
External wait function using WAIT pin
Idle state insertion function
A low-speed device can be connected by inserting an idle state after a read cycle.
Bus hold function
Misalign access is possible.
Up to 4 MB of physical memory can be connected.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 179 of 1210
V850ES/JG3-L
5.2
CHAPTER 5 BUS CONTROL FUNCTION
Bus Control Pins
The following signals can be used to control an external device.
Table 5-1. Bus Control Signals
Bus Control
I/O
Function
Register to Switch Between Port
Alternate Function
Mode/Alternate-Function Mode
Signal
AD0 to AD15
A16 to A21
WAIT
I/O
Output
Input
Address/data bus
PDL0 to PDL15
PMCDL register
Address bus
PDH0 to PDH4, P02
PMCDH register, PMC0 register
External wait control
PCM0
PMCCM register
CLKOUT
Output
Internal system clock output
PCM1
PMCCM register
WR0, WR1
Output
Write strobe signal
PCT0, PCT1
PMCCT register
RD
Output
Read strobe signal
PCT4
PMCCT register
ASTB
Output
Address strobe signal
PCT6
PMCCT register
Bus hold control
PCM3
PMCCM register
HLDRQ
Input
HLDAK
Output
5.2.1
PCM2
Pin status when internal ROM, internal RAM, or on-chip peripheral I/O is accessed
When the internal ROM, internal RAM, or on-chip peripheral I/O is accessed, the status of each pin is as follows.
Table 5-2. Pin Statuses When Internal ROM, Internal RAM, or On-Chip Peripheral I/O Is Accessed
Bus Control Pin
Multiplexed Bus Mode
Internal ROM/RAM
Address/data bus
Peripheral I/O
USB function area
Undefined
Undefined
Undefined
Address bus (A21 to A16)
Low level
Undefined
Undefined
Control signal
Inactive
Inactive
Inactive
(AD15 to AD0)
Caution
When the internal ROM area is written, address, data, and control signals are activated in the same
way as when the external memory area is written.
5.2.2
Pin status in each operation mode
For the status of the V850ES/JG3-L pins in each operation mode, see 2.2 Pin States.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 180 of 1210
V850ES/JG3-L
5.3
CHAPTER 5 BUS CONTROL FUNCTION
Memory Block Function
The lower 16 MB of the 64 MB memory space is reserved for external memory expansion and is divided into memory
blocks of 2 MB, 2 MB, 4 MB, and 8 MB. The bus width and programmable wait function can be independently specified
for each block.
Figure 5-1. Data Memory Map: Physical Addresses
03FFFFFFH
On-chip peripheral
I/O area (4 KB)
(64 KB)
03FFFFFFH
03FFF000H
03FFEFFFH
03FF0000H
03FEFFFFH
Internal RAM area
(60 KB)
03FF0000H
Use prohibited
01000000H
00FFFFFFH
External memory areaNote 1
Memory block 3
(8 MB)
003FFFFFH
Use prohibited
00800000H
007FFFFFH
Memory block 2
(4 MB)
USB function area
00250000H
0024FFFFH
00200000H
00400000H
003FFFFFH
001FFFFFH
Memory block 1
(2 MB)
External memory areaNote 1
(1 MB)
Memory block 0
(2 MB)
Internal ROM areaNote 2
(1 MB)
00100000H
000FFFFFH
00200000H
001FFFFFH
00000000H
00000000H
Notes 1. The V850ES/JG3-L has 22 bits address busd, so the external memory area appears as a repeated 4
MB image.
2. When the internal ROM area is read, the data in the internal ROM is read.
When the area is written, a bus cycle occurs.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 181 of 1210
V850ES/JG3-L
5.4
5.4.1
CHAPTER 5 BUS CONTROL FUNCTION
Bus Access
Number of clock cycles required for access
The following table shows the number of basic clock cycles required for accessing each resource.
Table 5-3. Number of Clock Cycles Required for Access
Area (Bus Width)
Bus Cycle Type
Instruction fetch (normal access)
Instruction fetch (branch)
Internal ROM
Internal RAM
External Memory
On-Chip Peripheral I/O
(32 Bits)
(32 Bits)
(16 Bits)
(16 Bits)
1
2
Operand data access
3
DMA transfer
Note 1
1
2
Note 1
1
2
3+n+i
Note 2
3+ n + i
Note 2
3 +n + i
Note 2
3
Note 3
Note2
3
Note 3
3 +n + i
Notes 1. If the access conflicts with a data access, the number of clock is increased by 1.
2. i = Idle state
3. This value varies depending on the setting of the VSWC register
Remark
Unit: Clock cycles/access
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 182 of 1210
V850ES/JG3-L
5.4.2
CHAPTER 5 BUS CONTROL FUNCTION
Bus size setting function
The external memory area of the V850ES/JG3-L is selected by memory blocks 0 to 3.
The bus size of each external memory area selected by memory block n can be set (to 8 bits or 16 bits) by using the
BSC register.
If a 16-bit bus width is specified, the lower 8 bits are used for even addresses and the higher 8 bits are used for odd
addresses.
(1) Bus size configuration register (BSC)
This register controls the bus width of the memory block space.
This register can be read or written in 16-bit units.
Reset sets this register to 5555H.
Caution
Write to the BSC register after reset, and then do not change the set values. Also, do not access
an external memory area until the initial settings of the BSC register are complete.
After reset: 5555H
BSC
R/W
Address: FFFFF066H
15
14
13
12
11
10
9
8
0
1
0
1
0
1
0
1
7
6
5
4
3
2
1
0
0
BS30
0
BS20
0
1
0
BS00
Memory
Memory block 3
block n signal
BSn0
Memory block 2
Memory block 0
Data bus width of memory block n space (n = 0, 2, 3)
0
8 bits
1
16 bitsNote
Notes1. The BS10 bit is used to specify the bus size for the USB function
controller. When using the USB function controller, set this bit to 1
(which specifies bus size is 16 bit).
2. If a 16-bit bus width is specified, writing can be controlled in 8-bit units
via two control pins (WR0 and WR1) but reading can be controlled only
in 16-bit units because reading is controlled via one control pin (RD). In
the V850ES/JG3-L, however, unnecessary data is ignored, so byte
access is possible.
Caution
Be sure to set bits 14, 12, 10, 8 and 2 to “1”, and clear bits 15, 13,
11, 9, 7, 5, 3, and 1 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 183 of 1210
V850ES/JG3-L
5.4.3
CHAPTER 5 BUS CONTROL FUNCTION
Access according to bus size
The V850ES/JG3-L accesses the on-chip peripheral I/O and external memory in 8-bit, 16-bit, or 32-bit units. The bus
size is as follows.
The bus size of the on-chip peripheral I/O is fixed to 16 bits.
The bus size of the external memory is selectable from 8 bits or 16 bits (by using the BSC register).
The operation when each of the above is accessed is described below. All data is accessed starting from the lower
side.
The V850ES/JG3-L supports only the little endian format.
Figure 5-2. Little Endian Address in Word Data
31
24 23
16 15
8 7
0
000BH
000AH
0009H
0008H
0007H
0006H
0005H
0004H
0003H
0002H
0001H
0000H
(1) Data space
The V850ES/JG3-L has an address misalign function.
With this function, data can be placed at all addresses, regardless of the format of the data (word data or halfword
data). However, if the word data or halfword data is not aligned at the boundary, redundant bus cycles are
generated, causing the bus efficiency to drop.
Examples of an 8-bit, 16-bit, and 32-bit access are shown below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 184 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
(2) Byte access (8 bits)
(a) 16-bit data bus width
8-bit data is transmitted/received via a 16-bit bus. Therefore, if an even address is specified, the lower byte of
the external data bus address is accessed. If an odd address is specified, the higher byte of the external data
bus address is accessed.
Access to even address (2n)
Access to odd address (2n + 1)
Address
Address
15
15
7
8
7
7
8
7
0
0
0
0
Byte data
External
data bus
2n + 1
2n
Byte data
External
data bus
(b) 8-bit data bus width
8-bit data is transmitted/received via an 8-bit bus. Therefore, the specified even/odd address of the external
data bus is accessed.
Access to even address (2n)
Access to odd address (2n + 1)
Address
Address
7
7
0
0
0
External
data bus
Byte data
External
data bus
7
7
0
Byte data
2n + 1
2n
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 185 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
(3) Halfword access (16 bits)
(a) 16-bit data bus width
16-bit data is transmitted/received via a 16-bit bus. Therefore, if an even address is specified, the lower and
higher bytes of the external data bus address are accessed at the same time. If an odd address is specified,
the lower byte of the data is transmitted/received to/from an odd address via the higher byte of the external
data bus address in the first access. In the second access, the higher byte of the data is transmitted/received
to/from an odd address via the lower byte of the external data bus address.
Access to even address (2n)
Access to odd address (2n + 1)
First access
Address
Address
15
15
8
7
8
7
0
0
External
data bus
Halfword
data
15
15
8
7
8
7
0
Halfword
data
Second access
Address
15
15
8
7
8
7
0
0
0
External
data bus
Halfword
data
External
data bus
2n + 1
2n + 1
2n
2n + 2
2n
(b) 8-bit data bus width
16-bit data is transmitted/received via an 8-bit bus.
Therefore, the data is transmitted/received in two
accesses. The lower/higher byte of the data is transmitted/received to/from the corresponding lower/higher
byte of the external bus address.
Access to even address (2n)
First access
15
15
Address
8
7
7
0
Address
8
7
7
0
0
0
External
data bus
Halfword
data
External
data bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
First access
15
8
7
Second access
15
Address
7
2n + 1
2n
Halfword
data
Access to odd address (2n + 1)
Second access
8
7
Address
7
2n + 2
2n + 1
0
Halfword
data
0
0
0
External
data bus
Halfword
data
External
data bus
Page 186 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
(4) Word access (32 bits)
(a) 16-bit data bus width (1/2)
32-bit data is transmitted/received via a 16-bit bus. Therefore, if an even address is specified, the data is
transmitted/received in two accesses in 16-bit units. If an odd address is specified, the lower quarter-word
data is transmitted/received to/from the higher byte (first access), the middle halfword data is
transmitted/received to/from the middle bytes (second access), and the upper quarter-word data is
transmitted/received to/from the lower byte (third access), of the external data bus address.
Access to address (4n)
First access
Second access
31
31
24
23
24
23
Address
16
15
15
8
7
8
7
0
Word data
Address
16
15
15
8
7
8
7
0
0
0
External
data bus
Word data
External
data bus
4n + 1
4n + 3
4n
4n + 2
Access to address (4n + 1)
First access
Second access
Third access
31
31
31
24
23
24
23
24
23
Address
16
15
15
8
7
0
Address
16
15
15
8
7
8
7
8
7
0
0
0
4n + 1
Address
16
15
15
8
7
8
7
0
0
4n + 3
4n + 2
Word data
External
data bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Word data
External
data bus
4n + 4
Word data
External
data bus
Page 187 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
(a) 16-bit data bus width (2/2)
Access to address (4n + 2)
First access
Second access
31
31
24
23
24
23
Address
16
15
15
8
7
8
7
0
Address
16
15
15
8
7
8
7
0
0
0
External
data bus
Word data
External
data bus
4n + 3
4n + 5
4n + 2
Word data
4n + 4
Access to address (4n + 3)
First access
Second access
Third access
31
31
31
24
23
24
23
24
23
Address
16
15
15
8
7
0
Address
16
15
15
8
7
8
7
8
7
0
0
0
4n + 3
Address
16
15
15
8
7
8
7
0
0
4n + 5
4n + 4
Word data
External
data bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Word data
External
data bus
4n + 6
Word data
External
data bus
Page 188 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
(b) 8-bit data bus width (1/2)
32-bit data is transmitted/received via an 8-bit bus.
Therefore, the data is transmitted/received in four
accesses. The data is transmitted/received to/from the specified even/odd address of the external data bus.
Access to address (4n)
First access
Second access
Third access
Fourth access
31
31
31
31
24
23
24
23
24
23
24
23
16
15
16
15
16
15
16
15
Address
8
7
7
0
0
Address
8
7
7
0
0
4n
Word data
External
data bus
Address
8
7
7
0
0
4n + 1
Word data
External
data bus
Address
8
7
7
4n + 2
Word data
External
data bus
0
Word data
4n + 3
0
External
data bus
Access to address (4n + 1)
First access
Second access
Third access
Fourth access
31
31
31
31
24
23
24
23
24
23
24
23
16
15
16
15
16
15
16
15
8
7
7
0
0
Address
8
7
7
0
0
4n + 1
Word data
External
data bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Address
8
7
7
0
0
4n + 2
Word data
External
data bus
Address
8
7
7
0
0
4n + 3
Word data
External
data bus
Address
4n + 4
Word data
External
data bus
Page 189 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
(b) 8-bit data bus width (2/2)
Access to address (4n + 2)
First access
Second access
Third access
Fourth access
31
31
31
31
24
23
24
23
24
23
24
23
16
15
16
15
16
15
16
15
Address
8
7
7
0
0
Address
8
7
7
0
0
4n + 2
Word data
External
data bus
Address
8
7
7
0
0
4n + 3
Word data
External
data bus
Address
8
7
7
0
Word data
4n + 5
0
External
data bus
4n + 4
Word data
External
data bus
Access to address (4n + 3)
First access
Second access
Third access
Fourth access
31
31
31
31
24
23
24
23
24
23
24
23
16
15
16
15
16
15
16
15
Address
8
7
7
0
0
Address
8
7
7
0
0
4n + 3
Word data
External
data bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Address
8
7
7
0
0
4n + 4
Word data
External
data bus
Address
8
7
7
0
0
4n + 5
Word data
External
data bus
4n + 6
Word data
External
data bus
Page 190 of 1210
V850ES/JG3-L
5.5
5.5.1
CHAPTER 5 BUS CONTROL FUNCTION
Wait Function
Programmable wait function
(1) Data wait control register 0 (DWC0)
To realize interfacing with a low-speed memory or I/O device, up to seven data wait states can be inserted in the
bus cycle that is executed for each memory block space.
The number of wait states can be programmed by using the DWC0 register. Immediately after system reset, 7
data wait states are inserted for all the memory block areas.
The DWC0 register can be read or written in 16-bit units.
Reset sets this register to 7777H.
Cautions 1. The internal ROM and internal RAM areas are not subject to programmable wait, and are
always accessed without a wait state. The on-chip peripheral I/O area is also not subject to
programmable wait, and only wait control from each peripheral function is performed.
2. Write to the DWC0 register after reset, and then do not change the set values. Also, when
changing the initial values of the DWC0 register, do not access an external memory area until
the settings are complete.
After reset: 7777H
R/W
Address: FFFFF484H
15
14
13
12
11
10
9
8
0
DW32
DW31
DW30
0
DW22
DW21
DW20
3
2
1
0
0
DW02
DW01
DW00
DWC0
Memory block n signal
Memory block 3
7
5
0
6
Note
DW12
Memory block 2
4
Note
DW11
Note
DW10
Memory block 0
Memory block n signal
Number of wait states inserted in memory block n space (n = 0 to 3)
DWn2
DWn1
DWn0
0
0
0
None
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
Note The DW12 to DW10 bits are used to specify whether to insert access wait
states for the USB function controller.
When using the USB function
controller, set these bits to 001B (which specifies inserting 1 wait state).
Caution
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Be sure to clear bits 15, 11, 7, 3 to “0”.
Page 191 of 1210
V850ES/JG3-L
5.5.2
CHAPTER 5 BUS CONTROL FUNCTION
External wait function
To synchronize a low-speed device or asynchronous system, any number of wait states can be inserted in the bus
cycle by using the external wait pin (WAIT).
Access to each area of the internal ROM, internal RAM, and on-chip peripheral I/O is not subject to control by the
external wait function, in the same manner as the programmable wait function.
The WAIT signal can be input asynchronously to CLKOUT, and is sampled at the falling edge of the clock in the T2 and
TW states of the bus cycle. If the setup/hold time of the sampling timing is not satisfied, whether a wait state is inserted in
the next state is undefined.
The WAIT input function is enabled by setting the PMCCM.PMCCM0 bit to 1 (see 4.3.8 Port CM).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 192 of 1210
V850ES/JG3-L
5.5.3
CHAPTER 5 BUS CONTROL FUNCTION
Relationship between programmable wait and external wait
Wait cycles are inserted as the result of an OR operation between the wait cycles specified by the set programmable
wait value and the wait cycles controlled by the WAIT pin.
Programmable wait
Wait control
Wait via WAIT pin
For example, if the timing of the programmable wait and the WAIT pin signal is as shown in the Figure 5-3, three wait
states will be inserted in the bus cycle. If wait insertion is controlled by the WAIT pin, wait states might not be inserted at
the expected timing. In this case, adjust the insertion timing by specifying a programmable wait value.
Figure 5-3. Example of Inserting Wait States
T1
T2
TW
TW
TW
T3
CLKOUT
WAIT pin
Wait via WAIT pin
Programmable wait
Wait control
Remark
The circles indicate the sampling timing.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 193 of 1210
V850ES/JG3-L
5.5.4
CHAPTER 5 BUS CONTROL FUNCTION
Programmable address wait function
Address-setup or address-hold waits to be inserted in each bus cycle can be set by using the AWC register. Address
wait insertion is set for each memory block area (memory blocks 0 to 3).
If an address-setup wait is inserted, it seems that the high-clock period of the T1 state is extended by 1 clock. If an
address-hold wait is inserted, it seems that the low-clock period of the T1 state is extended by 1 clock.
(1) Address wait control register (AWC)
This register can be read or written in 16-bit units.
Reset sets this register to FFFFH.
Cautions 1. The internal ROM, internal RAM, and on-chip peripheral I/O areas are not subject to addresssetup wait or address-hold wait insertion.
2. Write the AWC register after reset, and then do not change the set values.
Also, when
changing the initial values of the AWC register, do not access an external memory area until
the settings are complete.
After reset: FFFFH
R/W
Address: FFFFF488H
15
14
13
12
11
10
9
8
1
1
1
1
1
1
1
1
3
2
AWC
7
6
5
4
AHW3
ASW3
AHW2
ASW2
Memory
block n signal Memory block 3
AHWn
Memory block 2
1
0
AHW0
ASW0
Memory block 0
Specifies insertion of address-hold wait (n = 0 to 3)
0
Not inserted
1
Inserted
ASWn
AHW1Note ASW1Note
Specifies insertion of address-setup wait (n = 0 to 3)
0
Not inserted
1
Inserted
Note The AHW1 and ASW1 bits are used to specify whether to insert wait
states for the USB function controller.
When using the USB function
controller, set these bits to 00B.
Caution
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Be sure to set bits 15 to 8, to “1”.
Page 194 of 1210
V850ES/JG3-L
5.6
CHAPTER 5 BUS CONTROL FUNCTION
Idle State Insertion Function
To realize interfacing with a low-speed device, one idle state (TI) can be inserted after the T3 state only in the read
access of the bus cycle that is executed for each space selected By inserting idle states, the data output float delay time of
the memory can be secured during a read access (an idle state cannot be inserted during a write access).
Whether an idle state is to be inserted can be programmed by using the BCC register.
An idle state is inserted for all the areas immediately after system reset.
(1) Bus cycle control register (BCC)
This register can be read or written in 16-bit units.
Reset sets this register to AAAAH.
Cautions 1.
The internal ROM, internal RAM, and on-chip peripheral I/O areas are not subject to idle state
insertion.
2. Write to the BCC register after reset, and then do not change the set values. Also, when
changing the initial values of the BCC register, do not access an external memory area until
the settings are complete.
After reset: AAAAH
15
BCC
R/W
14
13
1
0
1
7
6
5
BC31
0
Memory
Memory block 3
block n signal
BCn1
Note
Address: FFFFF48AH
BC21
Memory block 2
12
11
10
9
8
0
1
0
1
0
4
3
2
1
0
0
BC01
0
0
Note
BC11
Memory block 0
Specifies insertion of idle state (n = 0 to 3)
0
Not inserted
1
Inserted
The BC11 bit is used to specify whether to insert idle states for the USB
function controller. When using the USB function controller, set this bit to 0.
Caution
Be sure to set bits 15, 13, 11, and 9 to “1”, and clear bits 14, 12, 10, 8, 6, 4,
2, and 0 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 195 of 1210
V850ES/JG3-L
5.7
5.7.1
CHAPTER 5 BUS CONTROL FUNCTION
Bus Hold Function
Functional outline
The HLDRQ and HLDAK signals are valid if the PCM2 and PCM3 pins are set to the control mode.
When the HLDRQ signal is asserted (low level), indicating that another bus master has requested bus mastership, the
external address/data bus goes into a high-impedance state, the HLDAK signal is asserted (low level), and the bus is
released (bus hold status). If the request for the bus mastership is cleared and the HLDRQ signal is deasserted (high
level), driving these signals is started again.
During the bus hold period, the CPU continues executing the program in the internal ROM and internal RAM until an
on-chip peripheral I/O register or the external memory is accessed.
The bus hold function enables the configuration of multi-processor type systems in which two or more bus masters
exist.
Note that a bus hold request is not acknowledged during a multiple-access cycle initiated by the bus sizing function or a
bit manipulation instruction. The timing at which a bus hold request is not acknowledged is shown below.
Table 5-4. Timing at Which Bus Hold Request Is Not Acknowledged
Status
Data Bus
Access Type
Width
CPU bus lock
16 bits
Timing at Which Bus Hold Request Is
Not Acknowledged
Word access to even address
Between first and second access
Word access to odd address
Between first and second access
Between second and third access
8 bits
Halfword access to odd address
Between first and second access
Word access
Between first and second access
Between second and third access
Between third and fourth access
Halfword access
Read-modify-write access by bit
Between first and second access
Between read access and write access
manipulation instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 196 of 1210
V850ES/JG3-L
5.7.2
CHAPTER 5 BUS CONTROL FUNCTION
Bus hold procedure
The bus hold status transition procedure is shown below.
A low level signal is input to the HLDRQ pin.
All bus cycle start requests are inhibited.
Normal status
End of the current bus cycle.
Shift to the bus idle status.
A low level signal is output from the HLDAK pin.
Bus hold status
A high level signal is input to the HLDRQ pin.
A high level signal is output from the HLDAK pin.
Bus cycle start request inhibition is released.
The bus cycle starts.
Normal status
HLDRQ (input)
HLDAK (output)
5.7.3
Operation in power save mode
Because the internal system clock is stopped in the STOP and IDLE modes, the bus hold status is not entered even if
the HLDRQ pin is asserted.
In the HALT mode, the HLDAK pin is asserted as soon as the HLDRQ pin has been asserted, and the bus hold status
is entered. When the HLDRQ pin is later deasserted, the HLDAK pin is also deasserted, and the bus hold status is exited.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 197 of 1210
V850ES/JG3-L
5.8
CHAPTER 5 BUS CONTROL FUNCTION
Bus Priority
Bus hold, branch instruction fetch, successive instruction fetch, operand data access, and DMA transfer are executed
in the external bus cycle.
Bus hold has the highest priority, followed by DMA transfer, operand data access, branch instruction fetch, and then
successive instruction fetch.
However, an instruction fetch may be inserted between the read access and write access in a read-modify-write access.
If an instruction is executed for two or more accesses, an instruction fetch and bus hold are not inserted between
accesses due to bus size limitations.
Table 5-5. Bus Priority
Priority
High
Low
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
External Bus Cycle
Bus Master
Bus hold
External device
DMA transfer
DMAC
Operand data access
CPU
Branch instruction fetch
CPU
Successive instruction fetch
CPU
Page 198 of 1210
V850ES/JG3-L
5.9
CHAPTER 5 BUS CONTROL FUNCTION
Bus Timing
Typical bus timing diagrams are shown below.
Figure 5-4. Multiplexed Bus Read Timing (Bus Size: 16 Bits, 16-bit Access)
T1
T2
T3
T1
T2
TW
TW
T3
TI
T1
CLKOUT
A21 to A16
A1
A2
A3
D2
A3
ASTB
WAIT
AD15 to AD0
A1
D1
A2
RD
Programmable External
wait
wait
Idle state
Remarks 1. The validity of data if 8-bit access is executed when 16-bit access has been specified is shown below.
8-bit access
Odd address
Even address
AD15 to AD8
Valid data
Invalid data
AD7 to AD0
Invalid data
Valid data
2. The broken lines indicate high impedance.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 199 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
Figure 5-5. Multiplexed Bus Read Timing (Bus Size: 8 Bits)
T1
T2
T3
T1
T2
TW
TW
T3
TI
T1
CLKOUT
A21 to A16,
AD15 to AD8
A1
A2
A3
D2
A3
ASTB
WAIT
AD7 to AD0
A1
D1
A2
RD
Programmable External
wait
wait
Remark
Idle state
The broken lines indicate high impedance.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 200 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
Figure 5-6. Multiplexed Bus Write Timing (Bus Size: 16 Bits, 16-bit Access)
T1
T2
T3
T1
T2
TW
TW
T3
T1
CLKOUT
A21 to A16
A1
A2
A3
D2
A3
ASTB
WAIT
AD15 to AD0
WR1, WR0
A1
D1
11
00
A2
11
11
00
11
Programmable External
wait
wait
Remark
The validity of data if 8-bit access is executed when 16-bit access has been specified is shown below.
8-bit access
Odd address
Even address
AD15 to AD8
Valid data
Invalid data
AD7 to AD0
Invalid data
Valid data
WR1, WR0
01
10
Figure 5-7. Multiplexed Bus Write Timing (Bus Size: 8 Bits)
T1
T2
T3
T1
T2
TW
TW
T3
T1
CLKOUT
A21 to A16,
AD15 to AD8
A1
A2
A3
D2
A3
ASTB
WAIT
AD7 to AD0
WR1, WR0
A1
11
D1
10
A2
11
11
10
11
Programmable External
wait
wait
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 201 of 1210
V850ES/JG3-L
CHAPTER 5 BUS CONTROL FUNCTION
Figure 5-8. Multiplexed Bus Hold Timing (Bus Size: 16 Bits, 16-bit Access)
T1
T2
T3
TINote
TH
TH
TH
TH
TINote
T1
T2
T3
CLKOUT
HLDRQ
HLDAK
A21 to A16
A1
AD15 to AD0
A1
Undefined
Undefined
D1
Undefined
Undefined
A2
A2
D2
ASTB
RD
Note This idle state (TI) does not depend on the BCC register settings.
Remarks 1. See Table 2-2 for the pin statuses in the bus hold mode.
2. The broken lines indicate high impedance.
Figure 5-9. Address Wait Timing (Bus Size: 16 Bits, 16-bit Access)
T1
T2
TASW
CLKOUT
CLKOUT
ASTB
ASTB
WAIT
WAIT
A1
A21 to A16
A21 to A16
RD
AD15 to AD0
T1
TAHW
T2
A1
RD
A1
D1
AD15 to AD0
A1
D1
Remarks 1. TASW (address-setup wait): Image of high-level width of T1 state expanded.
2. TAHW (address-hold wait): Image of low-level width of T1 state expanded.
3. The broken lines indicate high impedance.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 202 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
CHAPTER 6 CLOCK GENERATOR
6.1
Overview
The clock generator generates the clock signals that are input to the CPU and peripherals. The clock generator
includes a PLL circuit, which enables the clock frequency to be multiplied by four or eight. The clock frequency can also
be divided before clock signals are input to the CPU or on-chip peripherals. Clock oscillation can also be stopped to save
power.
The clock generator has the following features:
Main clock oscillator
When USB is not used
In clock-through mode :
fX = 2.5 to 10 MHz (fXX = 1.25 to 10 MHz)
In PLL mode :
fX = 2.5 to 5 MHz (4 : fXX = 10 to 20 MHz)
When USB is used (UCLK is not used)
In clock-through mode :
Setting prohibited
In PLL mode :
fX = 6 MHz (8, 1/3 : fXX = 16 MHz, fUSB = 48 MHz)
When USB is used (UCLK is used)
In clock-through mode :
fX = 2.5 to 10 MHz (fXX = 1.25 to 10 MHz)
In PLL mode :
fX = 2.5 to 4 MHz (4 : fXX = 10 to 16 MHz)
fX = 6 MHz (8, 1/3 : fXX = 16 MHz)
Subclock oscillator
fXT = 32.768 kHz
Internal oscillator
fR = 220 kHz (TYP.)
Multiplication (4) function via PLL (Phase Locked Loop)
Clock-through mode/PLL mode selectable (fX = 2.5 to 5 MHz)
Internal system clock generation
7 steps (fXX, fXX/2, fXX/4, fXX/8, fXX/16, fXX/32, fXT)
Peripheral clock generation
Clock output
Remark fX:
Main clock oscillation frequency
fXX: Main clock frequency
fXT: Subclock frequency
fR:
Internal oscillator clock frequency
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 203 of 1210
V850ES/JG3-L
6.2
CHAPTER 6 CLOCK GENERATOR
Configuration
Figure 6-1. Clock Generator
FRC bit
XT1
Subclock
oscillator
XT2
fXT
Timer M clock
RTC/Watch timer clock,
Watchdog timer 2 clock
fXT
fX/2-fX/212
Main clock
oscillator
stop control
1/2
MCK STOP
mode
bit
fXX/32
fXX/16
fXX/8
fXX/4
fXX/2
fXX
SELPLL
bit
Port 03
CLKOUT
Port CM
UUSEL1
bit
Internal
oscillator
Selector
CKTHSEL
bit
UCLK
RSTOP bit
Prescaler 1
Note
Note
Prescaler 2
Selector
1/3
CK2 to CK0
bits
fR
HALT
mode
Selector
PLL
IDLE fXX
control
Selector
fX
Selector
X2
Main clock
oscillator
CK3
bits
IDLE mode
Selector
X1
IDLE
control
OCKS20
bit
PLLON
bit
Selector
MFRC
bit
RTC/Watch timer clock
1/8 divider
HALT fCPU
control
fCLK
fR/8
fUSB
fXX to fXX/1,024
CPU clock
Internal
system clock
Watchdog timer 2 clock,
timer M clock
USB clock
Peripheral clock,
watchdog timer 2 clock
The internal oscillator clock is selected when watchdog timer 2 overflows during the oscillation
stabilization time.
Remark
f X:
Main clock oscillation frequency
fXX:
Main clock frequency
fCLK: Internal system clock frequency
fXT:
Subclock frequency
fCPU: CPU clock frequency
fR:
Internal oscillator clock frequency
fUSB: USB clock frequency
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 204 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(1) Main clock oscillator
The main clock oscillator uses a ceramic/crystal resonator connected to X1 and X2 pins to oscillate the following
frequencies (fX).
(a) When USB is not used
In clock-through mode:
In PLL mode:
fX = 2.5 to 10 MHz (fXX = 1.25 to 10 MHz)
fX = 2.5 to 5 MHz (4 : fXX = 10 to 20 MHz)
An external clock of the following frequency is input to the X1 pin.
In clock-through mode:
PLL mode:
fX = 2.5 to 6 MHz (fXX = 1.25 to 6 MHz)
fX = 2.5 to 5 MHz (4 : fXX = 10 to 20 MHz)
(b) When USB is used (UCLK is not used) Note
In clock-through mode:
In PLL mode:
Setting prohibited
fX = 6 MHz (8, 1/3 : fXX = 16 MHz, fUSB = 48 MHz)
An external clock of the following frequency is input to the X1 pin.
PLL mode:
(c) When USB is used (UCLK is used)
In clock-through mode:
In PLL mode:
fX = 6 MHz (8, 1/3 : fXX = 16 MHz, fUSB = 48 MHz)
fX = 2.5 to 10 MHz (fXX = 1.25 to 10 MHz)
fX = 2.5 to 4 MHz (4 : fXX = 10 to 16 MHz)
fX = 6 MHz (8, 1/3 : fXX = 16 MHz)
An external clock of the following frequency is input to the X1 pin.
In clock-through mode:
PLL mode:
Note
fX = 2.5 to 6 MHz (fXX = 1.25 to 6 MHz)
fX = 2.5 to 4 MHz (4 : fXX = 10 to 16 MHz)
fX = 6 MHz (8, 1/3 : fXX = 16 MHz)
Apply a clock with an accuracy of 6 MHz 500 ppm (max.) to satisfy the USB rating of USB communication
data.
(2) Subclock oscillator
The subclock oscillator oscillates a frequency of 32.768 kHz (fXT).
this is in the RTC backup area and causes the subclock to continue oscillating even in the RTC backup mode.
(3) Main clock oscillator stop control
This circuit generates a control signal that stops oscillation of the main clock oscillator.
Oscillation of the main clock oscillator is stopped in the STOP mode or when the PCC.MCK bit is 1 (valid only when
the PCC.CLS bit is 1).
(4) Internal oscillator
Oscillates a frequency (fR) of 220 kHz (TYP.).
(5) Prescaler 1
This prescaler generates the clock (fXX to fXX/1,024) to be supplied to the following on-chip peripheral functions:
TMP0 to TMP5, TMQ0, TMM0, CSIB0 to CSIB4, UARTA0 to UARTA5, UARTC0, I2C00 to I2C02, ADC, and WDT2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 205 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(6) Prescaler 2
This circuit divides the main clock (fXX).
The clock generated by prescaler 2 (fXX to fXX/32) is supplied to the selector that generates the CPU clock (fCPU)
and internal system clock (fCLK).
fCLK is the clock supplied to the INTC, ROM, RAM, and DMA blocks, and can be output from the CLKOUT pin.
(7) PLL
This circuit multiplies the clock generated by the main clock oscillator (fX) by 4 or 8.
It operates in two modes: clock-through mode in which fX is output as is, and PLL mode in which a multiplied clock
is output. These modes can be selected by using the PLLCTL.SELPLL bit.
PLL is started or stopped by the PLLCTL.PLLON bit.
(8) Clock I/O Circuit
This circuit outputs the internal system clock to the CLKOUT pin.
The PMCCM1 bit of the PMCCM register for port CM controls whether the PMC1 pin operates as an I/O port or as
CLKOUT output.
(9) OPS2 control Circuit
This circuit divides the clock multiplied by and output from the PLL circuit by an odd number.
When using the USB function controller, a main clock oscillation frequency (fx) of 6 MHz is multiplied by
8 to generate a 48 MHz USB clock. The OPS2 circuit divides this clock by 3 and the resulting 16 MHz
clock is used as the main clock to run peripherals other than the USB function controller.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 206 of 1210
V850ES/JG3-L
6.3
CHAPTER 6 CLOCK GENERATOR
Registers
(1) Processor clock control register (PCC)
The PCC register is a special register.
Data can be written to this register only in combination of specific
sequences (see 3.4.7 Special registers).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 03H.
(1/2)
After reset: 03H
R/W
Address: FFFFF828H
< >
< >
PCC
Notes1, 2
FRC
MCK
MFRC
FRCNotes1, 2
CLS
Note3
< >
CK3
CK2
CK1
CK0
Use of subclock on-chip feedback resistor
0
Used
1
Not used
MCK
Main clock oscillator control
0
Oscillation enabled
1
Oscillation stopped
MFRC
Use of main clock on-chip feedback resistor
0
Used (when ceramic/crystal resonator is used)
1
Not used (when external clock is used)
CLSNote3
Status of CPU clock (fCPU)
0
Main clock operation
1
Subclock operation
CK3
CK2
CK1
CK0
0
0
0
0
fXX
0
0
0
1
fXX/2
0
0
1
0
fXX/4
0
0
1
1
fXX/8 (Initial value)
0
1
0
0
fXX/16
0
1
0
1
fXX/32
0
1
1
×
Setting prohibited
1
×
×
×
fXT
Notes1.
Clock selection (fCLK/fCPU)
When the FRC bit is set (to 1), the subclock stops
oscillating
2.
When
return
to
the
RTC
backup
mode,
specify
RTCBUMCTL0.
RBMSET (to 0) and then set the FRC bit (to 1)
3.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
The CLS bit is a read-only bit.
Page 207 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(2/2)
Cautions 1. Do not change the CPU clock (by using the CK3 to CK0 bits) while CLKOUT is being output.
2. Use a bit manipulation instruction to manipulate the CK3 bit. When using an 8-bit
manipulation instruction, do not change the set values of the CK2 to CK0 bits.
3. When the external clock is used, set the MFRC bit to “1” so as not to use the internal
feedback resistor.
4. Even if the MCK bit is set (1) while the system is operating with the main clock as the CPU
clock, the operation of the main clock does not stop. It stops after the CPU clock has been
changed to the subclock.
5. Before changing the MCK bit from 0 to 1, stop the on-chip peripheral functions operating on
the main clock.
6. When the main clock is stopped and the device is operating on the subclock, clear (0) the
MCK bit and secure the oscillation stabilization time by software before switching the CPU
clock to the main clock or operating the on-chip peripheral functions.
Remark
: don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 208 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(a) Example of changing main clock operation to subclock operation
CK3 bit 1:
Use of a bit manipulation instruction is recommended. Do not change the CK2 to
CK0 bits.
Subclock operation: Read the CLS bit to check if subclock operation has started. It takes the following
time after the CK3 bit is set until subclock operation is started.
Max.: 1/fXT (1/subclock frequency)
MCK bit 1:
Set the MCK bit to 1 only when stopping the main clock.
Cautions 1. When stopping the main clock, stop the PLL. Also stop the operations of the on-chip
peripheral functions operating on the main clock.
2. If the following condition is not satisfied, change the CK2 to CK0 bits so that the
condition is satisfied, then change to the subclock operation mode.
Internal system clock (fCLK) > Subclock (fXT: 32.768 kHz) 4
Remark
Internal system clock (fCLK): Clock generated from the main clock (fXX) by setting bits CK2 to
CK0
[Description example]
_DMA_DISABLE:
clrl
0, DCHCn[r0]
-- DMA operation disabled. n = 0 to 3
_SET_SUB_RUN :
st.b
r0, PRCMD[r0]
set1
3, PCC[r0]
-- CK3 bit 1
_CHECK_CLS :
tst1
4, PCC[r0]
bz
_CHECK_CLS
-- Wait until subclock operation starts.
_STOP_MAIN_CLOCK :
st.b
r0, PRCMD[r0]
set1
6, PCC[r0]
-- MCK bit 1, main clock is stopped.
_DMA_ENABLE:
setl
Remark
0, DCHCn[r0]
-- DMA operation enabled. n = 0 to 3
The description above is simply an example. Note that in above, the CLS bit is checked in a
closed loop.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 209 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(b) Example of changing subclock operation to main clock operation
MCK bit 0:
Main clock starts oscillating
Insert waits by program and wait until the oscillation stabilization time of the main clock has elapsed.
CK3 bit 0:
Use of a bit manipulation instruction is recommended. Do not change the CK2
to CK0 bits.
Main clock operation:
It takes the following time after the CK3 bit is set until main clock operation is
started.
Max.: 1/fXT (1/subclock frequency)
Therefore, insert one NOP instruction immediately after setting the CK3 bit to 0.
Caution Enable operation of the on-chip peripheral functions operating on the main clock only after
the oscillation of the main clock stabilizes. If their operations are enabled before the lapse
of the oscillation stabilization time, a malfunction may occur.
[Description example]
_DMA_DISABLE:
clrl
0, DCHCn[r0]
-- DMA operation disabled. n = 0 to 3
_START_MAIN_OSC :
st.b
r0, PRCMD[r0]
-- Release of protection of special registers
clr1
6, PCC[r0]
-- Main clock starts oscillating.
0x55, r0, r11
-- Wait for oscillation stabilization time.
movea
_WAIT_OST :
nop
nop
nop
addi
-1, r11, r11
bnz
_WAIT_OST
st.b
clr1
r0, PRCMD[r0]
3, PCC[r0]
-- CK3 0
nop
_DMA_ENABLE:
setl
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
0, DCHCn[r0]
-- DMA operation enabled. n = 0 to 3
Page 210 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(2) Internal oscillator mode register (RCM)
The RCM register is an 8-bit register that sets the operation mode of the internal oscillator.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address: FFFFF80CH
< >
RCM
0
0
0
RSTOP
0
0
0
0
RSTOP
Oscillation/stop of internal oscillator
0
Do not stop internal oscillator oscillation
1
Stop internal oscillator
Cautions 1. The internal oscillator cannot be stopped while the CPU is operating on the internal
oscillator clock (CCLS.CCLSF bit = 1). Do not set the RSTOP bit to 1.
2. The internal oscillator oscillates if a watchdog timer overflow occurs while the
oscillator signal is stabilizing after STOP mode has been canceled by the
occurrence of an interrupt (that is, if the CCLS.CCLSF bit is set to 1), even if the
internal oscillator is stopped (the RSTOP bit is 1). At this time, RSTOP remains set
to 1.
3. The settings of the RCM register are valid by setting the option byte. For details,
see CHAPTER 30 OPTION BYTE.
(3) CPU operation clock status register (CCLS)
The CCLS register indicates the status of the CPU operation clock.
This register is read-only, in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00HNote
CCLS
0
CCLSF
R
0
Address: FFFFF82EH
0
0
0
0
0
CCLSF
CPU operation clock status
0
Operating on main clock (fX) or subclock (fXT).
1
Operating on internal oscillator clock (fR).
Note If a WDT overflow occurs during oscillation stabilization after a reset is released or STOP mode is
released, the CCLSF bit is set to 1 and the reset value is 01H.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 211 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(4) Clock-through select register (CKTHSEL)
The CKTHSEL register is used to select the clock-through frequency or the clock-through frequency divided by 2
when in the clock-through mode.
This register can be read or written in 8-bit or 1bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address: FFFFF380H
< >
CKTHSEL
0
CKTHSEL0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
0
0
0
0
0
0
CKTHSEL0
Clock-through select register
0
Clock-through frequency
1
Clock-through frequency divided by 2
Page 212 of 1210
V850ES/JG3-L
6.4
6.4.1
CHAPTER 6 CLOCK GENERATOR
Operations
Operation of each clock
The following table shows the operation status of each clock.
Table 6-1. Operation Status of Each Clock
Register Setting and
PCC Register
Operation Status
CLK Bit = 0, MCK Bit = 0
CLS Bit = 1,
MCK Bit = 0
MCK Bit = 1
Main clock oscillator (fX)
Subclock oscillator (fXT)
CPU clock (fCPU)
Internal system clock (fCLK)
Main clock (in PLL mode, fXX)
Note1
Peripheral clock (fXX to fXX/1,024)
WT clock (main)
WT clock (sub)
WDT2 clock (internal oscillation)
WDT2 clock (main)
WDT2 clock (sub)
RTC clock (main)
RTC clock (sub)
Notes1.
-
Note4
-
Note4
-
Note4
-
Note4
-
Note4
-
Note4
-
Note4
-
Note4
-
Note4
-
Note4
-
Note4
Note2
Note2
Lockup time
2.
Be sure to set the PLLCTL.PLLON to 0.
3.
Because VDD is less than the guaranteed operating voltage, the register value is undefined.
4.
Because VDD is less than the guaranteed operating voltage, the operating status is undefined.
Remark
Note3
-
RTC
backup
Mode
Sub-IDLE
Mode
Subclock Mode
Sub-IDLE
Mode
Subclock Mode
STOP Mode
IDLE1 Mode,
IDLE2 Mode
HALT Mode
During Oscillation
Count
Stabilization Time
During Reset
Target Clock
CLS Bit = 1,
:
Operating
:
Stopped
-:
Undefined
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 213 of 1210
V850ES/JG3-L
6.4.2
CHAPTER 6 CLOCK GENERATOR
Clock output function
The clock output function is used to output the internal system clock (fCLK) from the CLKOUT pin.
The internal system clock (fCLK) is selected by using the PCC.CK3 to PCC.CK0 bits.
The CLKOUT pin functions alternately as the PCM1 pin and functions as a clock output pin if so specified by the control
register of port CM.
The status of the CLKOUT pin is the same as the internal system clock in Table 6-1 and the pin can output the clock
when it is in the operable status. It outputs a low level in the stopped status. However, the CLKOUT pin is in the port
mode (PCM1 pin: input mode) after reset and until it is set in the output mode. Therefore, the status of the pin is Hi-Z.
6.4.3
External clock signal input
An external clock signal can be directly input to the oscillator. Input the clock to the X1 pin and leave the X2 pin open.
Set the PCC.MFRC bit to 1 (on-chip feedback resistor not used). Note, however, that time is required to stabilize the
oscillator signal even when inputting an external clock signal.
6.5
6.5.1
PLL Function
Overview
In the V850ES/JG3-L, an operating clock that is the oscillation frequency multiplied by 4 or 8 by the PLL function or an
unmultiplied clock (clock-through mode) can be selected as the operating clock of the CPU and on-chip peripheral
functions.
(a) When USB is not used
PLL mode:
Clock-through mode:
Input clock = 2.5 to 5 MHz (fXX = 10 to 20 MHz)
Input clock = 2.5 to 10 MHz (fXX = 1.25 to 10 MHz)
(b) When USB is used (UCLK is not used)
PLL mode:
fX = 6 MHz (fXX = 16 MHz)
Clock-through mode:
(c) When USB is used (UCLK is used)
PLL mode:
Clock-through mode:
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Setting prohibited
Input clock = 2.5 to 4 MHz (fXX = 10 to 16 MHz)
Input clock = 6 MHz (fXX = 16 MHz)
Input clock = 2.5 to 10 MHz (fXX = 1.25 to 10 MHz)
Page 214 of 1210
V850ES/JG3-L
6.5.2
CHAPTER 6 CLOCK GENERATOR
Registers
(1) PLL control register (PLLCTL)
The PLLCTL register is an 8-bit register that controls the PLL function.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 01H.
After reset: 01H
PLLCTL
0
R/W
0
SELPLL
Address: FFFFF82CH
0
0
0
0
< >
< >
SELPLL
PLLON
Selection of CPU operation clock mode
0
Clock-through mode
1
PLL mode
PLLON
Control of PLL operation
0
Disable PLL operation
1
Enable PLL operation
(After PLL operation starts, a lockup time is required for frequency stabilization.)
Cautions 1. When the PLLON bit is cleared to 0, the SELPLL bit is automatically cleared to 0 (clockthrough mode).
2. The SELPLL bit can be set to 1 only when the PLL clock frequency is stabilized. If not (if
the PLL is unlocked), “0” is written to the SELPLL bit whatever data is written to it.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 215 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(2) Clock control register (CKC)
The CKC register is a special register. Data can be written to this register only in a combination of specific
sequences (see 3.4.7 Special registers).
The CKC register controls the internal system clock in the PLL mode.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 0AH.
After reset: 0AH
CKC
R/W
0
0
CKDIV0
Address: FFFFF822H
0
0
1
0
1
CKDIV0
Internal system clock (fXX) in PLL mode
0
fXX = 4 × fX (fX = 2.5 to 5.0 MHz)
1
fXX = 8 × fX (fX = 6 MHz) : When USB is used
Cautions 1. The PLL mode cannot be used when fX = 5.0 to 10.0 MHz. however only when USB function
controller is used, The PLL mode (fX = 6 MHz) can be used.
2. Be sure to set the clock-through mode (PLLCTL.SELPLL = 0) before changing the CKC
register settings.
3. When generating the USB clock (fUSB) from the main clock oscillation frequency (fx),
select 6 MHz for fx, set the CKC register to 0BH and the OCK2 register to 11H, and then
set the PLL mode (PLLCTL.SELPLL = 1).
(3) Clock select register (OCKS2)
The OCKS2 register selects the PLL 1/3 division output clock.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
OCKS2
R/W
0
0
OCKSEN2
Address: FFFFF348H
0
OCKSEN2
0
0
0
OCKS20
Setting operation enable of 1/3 division
0
Stops 1/3 division clock operation
1
Enables 1/3 division clock operation
OCKS20
Specifies devider of PLL output clock
0
1/1
1
1/3
Caution When generating the USB clock (fUSB) from the main clock oscillation frequency (fx), select 6
MHz for fx, set the CKC register to 0BH and the OCK2 register to 11H, and then set the PLL
mode (PLLCTL.SELPLL = 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 216 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(4) Lock register (LOCKR)
The PLL locks the phase at a given frequency after the power is turned on or immediately after the STOP mode is
canceled. The time required for the frequency to stabilize is the lockup time (frequency stabilization time). This
state until the frequency stabilizes is called the lockup status, and the state in which the frequency is stabilized is
called the locked status.
The LOCKR register includes a LOCK bit that reflects the PLL frequency stabilization status.
This register is read-only, in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R
Address: FFFFF824H
< >
LOCKR
0
0
0
LOCK
0
0
0
0
LOCK
PLL lock status check
0
Locked status
1
Unlocked status
Caution The LOCK register does not reflect the lock status of the PLL in real time. The set/clear
conditions are as follows.
[Set conditions]
Upon system resetNote
In IDLE2 or STOP mode
Upon setting of PLL stop (clearing of PLLCTL.PLLON bit to 0)
Upon stopping main clock and using CPU on subclock (setting of PCC.CK3 bit to 1 and setting of
PCC.MCK bit to 1)
Note This register is set to 01H by reset and cleared to 00H after the reset has been released and the
oscillation stabilization time has elapsed.
[Clear conditions]
Upon overflow of oscillation stabilization time following reset release (OSTS register default time (see
CHAPTER 30 OPTION BYTE))
Upon oscillation stabilization timer overflow (time set by OSTS register) following STOP mode release,
when the STOP mode was set in the PLL operating status
Upon PLL lockup time timer overflow (time set by PLLS register) when the PLLCTL.PLLON bit is changed
from 0 to 1
After the setup time inserted upon release of the IDLE2 mode (time set by the OSTS register) has elapsed
when the IDLE2 mode is set during PLL operation.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 217 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
(5) PLL lockup time specification register (PLLS)
The PLLS register is an 8-bit register used to select the PLL lockup time when the PLLCTL.PLLON bit is changed
from 0 to 1.
This register can be read or written in 8-bit units.
Reset sets this register to 03H.
After reset: 03H
R/W
Address: FFFFF6C1H
0
0
PLLS1
PLLS0
0
0
210/fX
0
1
211/fX
1
0
212/fX
1
1
213/fX (default value)
PLLS
0
0
0
0
PLLS1
PLLS0
Selection of PLL lockup time
Cautions 1. Set so that the lockup time is at least 400 s.
2. Do not change the PLLS register setting during the lockup period.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 218 of 1210
V850ES/JG3-L
6.5.3
CHAPTER 6 CLOCK GENERATOR
Usage
(1) When PLL is used
After the reset signal has been released, the PLL operates (PLLCTL.PLLON bit = 1), but because the default
mode is the clock-through mode (PLLCTL.SELPLL bit = 0), select the PLL mode (SELPLL bit = 1).
To enable PLL operation, first set the PLLON bit to 1, and then set the SELPLL bit to 1 after the LOCKR.LOCK
bit becomes 0. To stop the PLL, first select the clock-through mode (SELPLL bit = 0), wait for 8 clocks or more,
and then stop the PLL (PLLON bit = 0).
The PLL stops during transition to the IDLE2 or STOP mode regardless of the setting and is restored from the
IDLE2 or STOP mode to the status before transition. The time required for restoration is as follows.
(a) When transitioning to the IDLE2 or STOP mode from the clock through mode
STOP mode: Set the OSTS register so that the oscillation stabilization time is at least 400 s.
IDLE2 mode: Set the OSTS register so that the setup time is at least 200 s.
(b) When transitioning to the IDLE 2 or STOP mode while remaining in the PLL operation mode
STOP mode: Set the OSTS register so that the oscillation stabilization time is at least 400 s.
IDLE2 mode: Set the OSTS register so that the setup time is at least 400 s.
When transitioning to the IDLE1 mode, the PLL does not stop. Stop the PLL if necessary.
(2) When PLL is not used
The clock-through mode (SELPLL bit = 0) is selected after the reset signal has been released, but the PLL is
operating (PLLON bit = 1) and must therefore be stopped (PLLON bit = 0).
The time required for restoration from the IDLE2 and STOP modes is as follows.
STOP mode: Set the OSTS register so that the oscillation stabilization time is at least 400 s.
IDLE2 mode: Set the OSTS register so that the setup time is at least 200 s.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 219 of 1210
V850ES/JG3-L
6.6
6.6.1
CHAPTER 6 CLOCK GENERATOR
How to Connect a Resonator
Main clock oscillator
The signal input to the main clock oscillator is oscillated by a ceramic or crystal resonator connected to the X1 and X2
pins. The frequency of the resonator is 2.5 to 10 MHz.
An external clock signal can also be input to the main clock oscillator.
Figure 6-2 shows an example of the circuit connected to the main clock oscillator.
Figure 6-2. Example of Circuit Connected to Main Clock Oscillator
(a) Crystal or ceramic resonator
(b) External clock
VSS
X1
External clock
X2
X1
Open X2
Cautions related to connecting these circuits are shown on the following page.
6.6.2
Subclock oscillator
The signal input to the subclock oscillator is oscillated by a crystal resonator connected to the XT1 and XT2 pins. The
frequency of the resonator is 32.768 kHz (standard).
Figure 6-3 shows an example of the circuit connected to the subclock oscillator.
Figure 6-3. Example of Circuit Connected to Subclock Oscillator
(a) Crystal resonator
VSS
XT1
32.768
kHz
XT2
Cautions related to connecting this circuit are shown on the following page.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 220 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
Caution 1. When using the main clock or subclock oscillator, wire as follows in the area enclosed by the
broken lines in Figures 6-2 and 6-3 to avoid an adverse effect from wiring capacitance.
• Keep the wiring length as short as possible.
• Do not cross the wiring with the other signal lines.
• Do not route the wiring near a signal line through which a high fluctuating current flows.
• Always make the ground point of the oscillator capacitor the same potential as VSS.
• Do not ground the capacitor to a ground pattern through which a high current flows.
• Do not fetch signals from the oscillator.
The subclock oscillator is designed as a low-amplitude circuit for reducing power consumption.
Particular care is therefore required with the wiring method when the subclock is used.
Figure 6-4 shows examples of incorrect resonator connections.
Figure 6-4. Examples of Incorrect Resonator Connections (1/2)
(a) The wiring is too long.
(b) The wiring crosses other signal lines.
PORT
VSS
Remark
X1
X2
VSS
X1
X2
For the subsystem clock, read X1 and X2 as XT1 and XT2. Note that a resistor must be
inserted in series on the XT2 side.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 221 of 1210
V850ES/JG3-L
CHAPTER 6 CLOCK GENERATOR
Figure 6-4. Examples of Incorrect Resonator Connections (2/2)
(c) The wiring is routed near a signal line
through which a high fluctuating current flows.
(d) A current with a higher potential than that of the
ground line of the oscillator block is flowing.
(The potential differs at points A, B, and C.)
VDD
Pmn
VSS
X1
X2
X1
X2
High current
VSS
A
B
C
High current
(e) Signals are being fetched.
VSS
Remark
X1
X2
For the subsystem clock, read X1 and X2 as XT1 and XT2. Note that a resistor must be
inserted in series on the XT2 side.
Caution If X2 and XT1 are wired in parallel, crosstalk noise from XT1 may have a synergistic
effect on X2, causing a malfunction.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 222 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Timer P (TMP) is a 16-bit timer/event counter.
The V850ES/JG3-L has six timer/event counter channels, TMP0 to TMP5 (TMPn).
7.1
Overview
TMPn has the following features.
(1) Interval timer
TMPn generates an interrupt at a preset interval and can output a square wave.
(2) External event counter
TMPn counts the number of externally input signal pulses.
(3) External trigger pulse output
TMPn starts counting and outputs a pulse when the specified external signal is input.
(4) One-shot pulse output
TMPn outputs a one-shot pulse with an output width that can be freely specified.
(5) PWM output
TMPn outputs a pulse with a constant cycle whose active width can be changed.
The pulse duty can also be changed freely even while the timer is operating.
(6) Free-running timer
TMPn increments from 0000H to FFFFH and then resets.
(7) Pulse width measurement
TMPn can be used to measure the pulses of a signal input externally.
Remark
n = 0 to 5
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 223 of 1210
V850ES/JG3-L
7.2
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Configuration
TMPn includes the following hardware.
Table 7-1. Configuration of TMPn
Item
Configuration
16-bit counter
Registers
TMPn counter read buffer register (TPnCNT)
TMPn capture/compare registers 0, 1 (TPnCCR0, TPnCCR1)
CCR0, CCR1 buffer registers
TMPn control registers 0, 1 (TPnCTL0, TPnCTL1)
TMPn I/O control registers 0 to 2 (TPnIOC0 to TPnIOC2)
TMPn option register 0 (TPnOPT0)
Timer inputs
2 (TIPm0, TIPk1 pins)
Timer outputs
2 (TOPn0, TOPn1 pins)
Remarks1.
n = 0 to 5
2.
m = 0, 2 to 5
3.
k = 2 to 5
Figure 7-1. Block Diagram of TMPn
Internal bus
Selector
TPnCNT
Clear
TIPk1
Edge
detector
CCR0
buffer
register
TIPm0
INTTPnOV
16-bit counter
Output
controller
Selector
fXX
fXX/2
fXX/4
fXX/8
fXX/16
fXX/32
fXX/64Note 1, fXX/256Note 2
fXX/128Note 1, fXX/512Note 2
CCR1
buffer
register
TOPm0
TOPk1
INTTPnCC0
INTTPnCC1
TPnCCR0
TPnCCR1
Internal bus
Notes 1. TMP0, TMP2, TMP4
2. TMP1, TMP3, TMP5
Remark
fXX: Main clock frequency
n = 0 to 5
m = 0, 2 to 5
k = 2 to 5
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 224 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) 16-bit counter
This is a 16-bit counter that counts internal clocks and external events.
This counter can be read by using the TPnCNT register.
When the TPnCTL0.TPnCE bit is 0 and the counter is stopped, the counter value is FFFFH. If the TPnCNT register
is read at this time, 0000H is read.
Reset sets the TPnCE bit to 0, stopping the counter, and setting its value to FFFFH.
(2) TMPn counter read buffer register (TPnCNT)
This is a read buffer register from which the value of the 16-bit counter can be read.
(3) TMPn capture/compare registers 0 and 1 (TPnCCR0 and TPnCCR1)
These registers can be used as either capture registers or compare registers, in accordance with the specified
mode.
(4) CCR0 buffer register
This is a 16-bit compare register that compares the value of the 16-bit counter.
When the TPnCCR0 register is used as a compare register, the value written to the TPnCCR0 register is
transferred to the CCR0 buffer register. If the value of the 16-bit counter matches the value of the CCR0 buffer
register, a compare match interrupt request signal (INTTPnCC0) is generated.
The CCR0 buffer register cannot be read or written directly.
The CCR0 buffer register is cleared to 0000H after reset because the TPnCCR0 register is cleared to 0000H.
(5) CCR1 buffer register
This is a 16-bit compare register that compares the value of the 16-bit counter.
When the TPnCCR1 register is used as a compare register, the value written to the TPnCCR1 register is
transferred to the CCR1 buffer register. If the count value of the 16-bit counter matches the value of the CCR1
buffer register, a compare match interrupt request signal (INTTPnCC1) is generated.
The CCR1 buffer register cannot be read or written directly.
The CCR1 buffer register is cleared to 0000H after reset because the TPnCCR1 register is cleared to 0000H.
(6) TMPn control registers 0 and 1 (TPnCTL0 and TPnCTL1)
These are 8-bit registers that control the operations of TMPn.
(7) TMPn I/O control registers 0 to 2 (TPnIOC0 to TPnIOC2)
These are 8-bit registers that control the input and output of TMPn.
(8) TMPn option register 0 (TPnOPT0)
This is an 8-bit register that controls the specification of settings such as capture and compare.
(9) Edge detector
This circuit detects the valid edges input to the TIPn0 and TIPn1 pins. No edge, rising edge, falling edge, or both
the rising and falling edges can be selected as the valid edge by using the TPnIOC1 and TPnIOC2 registers.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 225 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(10) Output controller
This circuit controls the output of the TOPn0 and TOPn1 pins. The output controller is controlled by the TPnIOC0
register.
(11) Selector
The selector selects the count clock for the 16-bit counter. One of eight internal clocks or the input of an external
event can be selected as the count clock.
Remark
7.2.1
n = 0 to 5
Pins used by TMPn
The input and output pins used by TMPn are shown in Table 7-2 below. When using these pins for TMPn, first set them
to port mode. For details, see Table 4-15 Settings When Pins Are Used for Alternate Functions.
Table 7-2. Pins Used by TMPn
Timer
Channel
TMP0
GC
27
TMP3
TMP Input
L4
P32
TIP00
Note
Note
J11
P97
TIP20
49
K11
P96
TIP21
Note
48
K10
P95
TIP30
47
L10
P94
TIP31
46
TMP5
57
TOP00
50
TMP4
TMP Output
Alternate Function
F1
TMP1
TMP2
Port
Pin No.
ASCKA0/SCKB4
TOP20
SIB1/RXDC0
TOP21
TXDC0
TOP30
RXDA5
TOP31
TXDA5
Note
TOP40
RXDA4
Note
J9
P93
TIP40
45
K9
P92
TIP41
TOP41
TXDA4
58
G8
P915
TIP50
TOP50
INTP6
G9
P914
TIP51
TOP51
INTP5
Note The TIPn0 pin functions as a capture trigger input, as an external event input, and as an external
trigger input (n = 0, 2 to 5).
Caution Other than alternate function pins above, INTUA5T interrupt of UART5 and INTP3CC1
interrupt of TMP3, and INTUA5R interrupt of UART5 and INTP3OV interrupt of TMP3
are alternate interrupt signals and therefore cannot be used simultaneously.
Remark
GC:
100-pin plastic LQFP (fine-pitch) (14 14)
F1:
121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 226 of 1210
V850ES/JG3-L
7.2.2
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Interrupts
The following three types of interrupt signals are used by TMPn:
(1) INTTPnCC0
This signal is generated when the value of the 16-bit counter matches the value of the CCR0 buffer register, or
when a capture signal is input from the TIPn0 pin.
(2) INTTPnCC1
This signal is generated when the value of the 16-bit counter matches the value of the CCR1 buffer register, or
when a capture signal is input from the TIPn1 pin.
(3) INTTPnOV
This signal is generated when the 16-bit counter overflows after incrementing up to FFFFH.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 227 of 1210
V850ES/JG3-L
7.3
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Registers
The registers that control TMPn are as follows.
TMPn control register 0 (TPnCTL0)
TMPn control register 1 (TPnCTL1)
TMPn I/O control register 0 (TPnIOC0)
TMPn I/O control register 1 (TPnIOC1)
TMPn I/O control register 2 (TPnIOC2)
TMPn option register 0 (TPnOPT0)
TMPn capture/compare register 0 (TPnCCR0)
TMPn capture/compare register 1 (TPnCCR1)
TMPn counter read buffer register (TPnCNT)
Remarks 1. When using the functions of the TIPn0, TIPn1, TOPn0, and TOPn1 pins, see Table 4-15 Settings When
Pins Are Used for Alternate Functions.
2. n = 0, 2 to 5
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 228 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) TMPn control register 0 (TPnCTL0)
The TPnCTL0 register is an 8-bit register that controls the operation of TMPn.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
The same value can always be written to the TPnCTL0 register by software.
After reset: 00H
R/W
Address:
TP0CTL0 FFFFF590H, TP1CTL0 FFFFF5A0H,
TP2CTL0 FFFFF5B0H, TP3CTL0 FFFFF5C0H,
TP4CTL0 FFFFF5D0H, TP5CTL0 FFFFF5E0H
TPnCTL0
6
5
4
3
TPnCE
0
0
0
0
2
1
0
TPnCKS2 TPnCKS1 TPnCKS0
(n = 0 to 5)
TPnCE
TMPn operation control
0
TMPn operation disabled (TMPn reset asynchronouslyNote).
1
TMPn operation enabled. TMPn operation started.
TPnCKS2 TPnCKS1 TPnCKS0
Internal count clock selection
n = 0, 2, 4
n = 1, 3, 5
0
0
0
fXX
0
0
1
fXX/2
0
1
0
fXX/4
0
1
1
fXX/8
1
0
0
fXX/16
1
0
1
fXX/32
1
1
0
fXX/64
fXX/256
1
1
1
fXX/128
fXX/512
Note TPnOPT0.TPnOVF bit, 16-bit counter, timer output (TOPn0, TOPn1 pins)
Cautions 1. Set the TPnCKS2 to TPnCKS0 bits when the TPnCE bit = 0.
When the value of the TPnCE bit is changed from 0 to 1, the
TPnCKS2 to TPnCKS0 bits can be set simultaneously.
2. Be sure to clear bits 3 to 6 to “0”.
Remark
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
fXX: Main clock frequency
Page 229 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) TMPn control register 1 (TPnCTL1)
The TPnCTL1 register is an 8-bit register that controls the operation of TMPn.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address: TP0CTL1 FFFFF591H, TP2CTL1 FFFFF5B1H,
TP3CTL1 FFFFF5C1H, TP4CTL1 FFFFF5D1H,
TP5CTL1 FFFFF5E1H
TPnCTL1
7
4
3
0
TPnEST
TPnEEE
0
0
2
1
0
TPnMD2 TPnMD1 TPnMD0
(n = 0, 2 to 5)
TPnEST
Software trigger control
0
−
1
Generate a valid signal for external trigger input.
• In one-shot pulse output mode: A one-shot pulse is output with writing
1 to the TPnEST bit as the trigger.
• In external trigger pulse output mode: A PWM waveform is output with
writing 1 to the TPnEST bit as the
trigger.
TPnEEE
Count clock selection
0
Disable operation with external event count input.
(Perform counting with the internal count clock selected by the
TPnCTL0.TPnCK0 to TPnCK2 bits.)
1
Enable operation with external event count input.
(Perform counting at the valid edge of the external event count input
signal.)
TPnMD2 TPnMD1 TPnMD0
Timer mode selection
0
0
0
Interval timer mode
0
0
1
External event count mode
0
1
0
External trigger pulse output mode
0
1
1
One-shot pulse output mode
1
0
0
PWM output mode
1
0
1
Free-running timer mode
1
1
0
Pulse width measurement mode
1
1
1
Setting prohibited
Cautions 1. The TPnEST bit is valid only in the external trigger pulse output
mode or the one-shot pulse output mode. In any other mode,
writing 1 to this bit is ignored.
2. External event count input is selected in the external event count
mode regardless of the value of the TPnEEE bit.
3. Set the TPnEEE and TPnMD2 to TPnMD0 bits when the timer
operation is stopped (TPnCTL0.TPnCE bit = 0). (The same value can
be written when the TPnCE bit = 1.) The operation is not guaranteed
when rewriting is performed with the TPnCE bit = 1. If rewriting was
mistakenly performed, clear the TPnCE bit to 0 and then set the bits
again.
4. Be sure to clear bits 3, 4, and 7 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 230 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(3) TMPn I/O control register 0 (TPnIOC0)
The TPnIOC0 register is an 8-bit register that controls the operation of timer output (TOPn0, TOPn1 pins).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address:
TP0IOC0 FFFFF592H, TP2IOC0 FFFFF5B2H,
TP3IOC0 FFFFF5C2H, TP4IOC0 FFFFF5D2H,
TP5IOC0 FFFFF5E2H
TPnIOC0
7
6
5
4
0
0
0
0
3
TPnOL1 TPnOE1
1
TPnOL0
TPnOE0
(n = 0, 2 to 5)
TOPn1 pin output level settingNote
TPnOL1
0
TOPn1 pin starts output at high level
1
TOPn1 pin starts output at low level
TPnOE1
TOPn1 pin output setting
0
Timer output disabled
• When TPnOL1 bit = 0: Low level is output from the TOPn1 pin
• When TPnOL1 bit = 1: High level is output from the TOPn1 pin
1
Timer output enabled (a pulse is output from the TOPn1 pin).
TOPn0 pin output level settingNote
TPnOL0
0
TOPn0 pin starts output at high level
1
TOPn0 pin starts output at low level
TPnOE0
TOPn0 pin output setting
0
Timer output disabled
• When TPnOL0 bit = 0: Low level is output from the TOPn0 pin
• When TPnOL0 bit = 1: High level is output from the TOPn0 pin
1
Timer output enabled (a pulse is output from the TOPn0 pin).
Note The output level of the timer output pin (TOPnm) specified by the
TPnOLm bit is shown below (m = 0, 1).
• When TPnOLm bit = 0
16-bit counter
• When TPnOLm bit = 1
16-bit counter
TPnCE bit
TPnCE bit
TOPnm output pin
TOPnm output pin
Cautions 1. Rewrite the TPnOL1, TPnOE1, TPnOL0, and TPnOE0 bits
when the TPnCTL0.TPnCE bit = 0. (The same value can be
written when the TPnCE bit = 1.)
If rewriting was
mistakenly performed, clear the TPnCE bit to 0 and then
set the bits again.
2. Even if the TPnOLm bit is manipulated when the TPnCE
and TPnOEm bits are 0, the TOPnm pin output level varies
(m = 0, 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 231 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(4) TMPn I/O control register 1 (TPnIOC1)
The TPnIOC1 register is an 8-bit register that controls the valid edge of the capture trigger input signals (TIPn0,
TIPn1 pins).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address:
TP0IOC1 FFFFF593H, TP2IOC1 FFFFF5B3H,
TP3IOC1 FFFFF5C3H, TP4IOC1 FFFFF5D3H,
TP5IOC1 FFFFF5E3H
7
6
5
4
3
2
1
0
0
0
0
0
TPnIS3
TPnIS2
TPnIS1
TPnIS0
TPnIS3
TPnIS2
0
0
No edge detection (capture operation invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
TPnIS1
TPnIS0
0
0
No edge detection (capture operation invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
TPnIOC1
(n = 0, 2 to 5)
Capture trigger input signal (TIPn1 pin) valid edge setting
Capture trigger input signal (TIPn0 pin) valid edge setting
Cautions 1. Rewrite
the
TPnIS3
to
TPnIS0
bits
when
the
TPnCTL0.TPnCE bit = 0. (The same value can be written
when the TPnCE bit = 1.)
If rewriting was mistakenly
performed, clear the TPnCE bit to 0 and then set the bits
again.
2. The TPnIS3 to TPnIS0 bits are valid only in the freerunning timer mode and the pulse width measurement
mode.
In all other modes, a capture operation is not
possible.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 232 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(5) TMPn I/O control register 2 (TPnIOC2)
The TPnIOC2 register is an 8-bit register that controls the valid edge of the external event count input signal (TIPn0
pin) and external trigger input signal (TIPn0 pin).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address:
TP0IOC2 FFFFF594H, TP2IOC2 FFFFF5B4H,
TP3IOC2 FFFFF5C4H, TP4IOC2 FFFFF5D4H,
TP5IOC2 FFFFF5E4H
TPnIOC2
7
6
5
4
0
0
0
0
3
2
1
0
TPnEES1 TPnEES0 TPnETS1 TPnETS0
(n = 0, 2 to 5)
TPnEES1 TPnEES0 External event count input signal (TIPn0 pin) valid edge setting
0
0
No edge detection (external event count invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
TPnETS1 TPnETS0
External trigger input signal (TIPn0 pin) valid edge setting
0
0
No edge detection (external trigger invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
Cautions 1. Rewrite the TPnEES1, TPnEES0, TPnETS1, and TPnETS0
bits when the TPnCTL0.TPnCE bit = 0. (The same value
can be written when the TPnCE bit = 1.) If rewriting was
mistakenly performed, clear the TPnCE bit to 0 and then
set the bits again.
2. The TPnEES1 and TPnEES0 bits are valid only when the
TPnCTL1.TPnEEE bit = 1 or when the external event
count mode (TPnCTL1.TPnMD2 to TPnCTL1.TPnMD0 bits
= 001) has been set.
3. The TPnETS1 and TPnETS0 bits are valid only when the
external trigger pulse output mode (TPnCTL1.TPnMD2 to
TPnCTL1.TPnMD0 bits = 010) or the one-shot pulse
output mode (TPnCTL1.TPnMD2 to TPnCTL1.TPnMD0 =
011) is set.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 233 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(6) TMPn option register 0 (TPnOPT0)
The TPnOPT0 register is an 8-bit register used to set the capture/compare operation and indicate the detection of
an overflow.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address:
TP0OPT0 FFFFF595H, TP2OPT0 FFFFF5B5H,
TP3OPT0 FFFFF5C5H, TP4OPT0 FFFFF5D5H,
TP5OPT0 FFFFF5E5H
TPnOPT0
7
6
0
0
5
4
TPnCCS1 TPnCCS0
3
2
1
0
0
0
TPnOVF
(n = 0, 2 to 5)
TPnCCS1
TPnCCR1 register capture/compare selection
0
Compare register selected
1
Capture register selected
The TPnCCS1 bit setting is valid only in the free-running timer mode.
TPnCCS0
TPnCCR0 register capture/compare selection
0
Compare register selected
1
Capture register selected
The TPnCCS0 bit setting is valid only in the free-running timer mode.
TPnOVF
TMPn overflow detection flag
0
TPnOVF bit 0 written or TPnCTL0.TPnCE bit = 0
1
Overflow occurred
• The TPnOVF bit is set when the 16-bit counter count value overflows from
FFFFH to 0000H in the free-running timer mode or the pulse width measurement
mode.
• An interrupt request signal (INTTPnOV) is generated at the same time that the
TPnOVF bit is set to 1. The INTTPnOV signal is not generated in modes other
than the free-running timer mode and the pulse width measurement mode.
• The TPnOVF bit is not cleared even when the TPnOVF bit or the TPnOPT0
register are read when the TPnOVF bit = 1.
• The TPnOVF bit can be both read and written, but the TPnOVF bit cannot be set
to 1 by software. Writing 1 has no influence on the operation of TMPn.
Cautions 1. Rewrite the TPnCCS1 and TPnCCS0 bits when the TPnCE
bit = 0. (The same value can be written when the TPnCE
bit = 1.) If rewriting was mistakenly performed, clear the
TPnCE bit to 0 and then set the bits again.
2. Be sure to clear bits 1 to 3, 6, and 7 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 234 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(7) TMPn capture/compare register 0 (TPnCCR0)
The TPnCCR0 register can be used as a capture register or a compare register depending on the mode.
This register can be selected as a capture register or a compare register only in the free-running timer mode,
according to the setting of the TPnOPT0.TPnCCS0 bit. In the pulse width measurement mode, the TPnCCR0
register can be used only as a capture register. In any other mode, this register can be used only as a compare
register.
The TPnCCR0 register can be read or written during operation.
This register can be read or written in 16-bit units.
Reset sets this register to 0000H.
Caution
Accessing the TPnCCR0 register is prohibited in the following statuses. Moreover, if the system
is in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 0000H
R/W
Address:
TP0CCR0 FFFFF596H, TP1CCR0 FFFFF5A6H,
TP2CCR0 FFFFF5B6H, TP3CCR0 FFFFF5C6H,
TP4CCR0 FFFFF5D6H, TP5CCR0 FFFFF5E6H
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TPnCCR0
(n = 0 to 5)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 235 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(a) Function as compare register
The TPnCCR0 register can be rewritten even when the TPnCTL0.TPnCE bit = 1.
The set value of the TPnCCR0 register is transferred to the CCR0 buffer register. When the value of the 16-bit
counter matches the value of the CCR0 buffer register, a compare match interrupt request signal (INTTPnCC0)
is generated. If TOPn0 pin output is enabled at this time, the output of the TOPn0 pin is inverted (For details,
see the descriptions of each operating mode.).
When the TPnCCR0 register is used as a cycle register in the interval timer mode, external event count mode,
external trigger pulse output mode, one-shot pulse output mode, or PWM output mode, the value of the 16-bit
counter is cleared (0000H) if its count value matches the value of the CCR0 buffer register.
(b) Function as capture register
When the TPnCCR0 register is used as a capture register in the free-running timer mode, the count value of
the 16-bit counter is stored in the TPnCCR0 register if the valid edge of the capture trigger input pin (TIPn0 pin)
is detected. In the pulse-width measurement mode, the count value of the 16-bit counter is stored in the
TPnCCR0 register and the 16-bit counter is cleared (0000H) if the valid edge of the capture trigger input pin
(TIPn0) is detected.
Even if the capture operation and reading the TPnCCR0 register conflict, the correct value of the TPnCCR0
register can be read.
The following table shows the functions of the capture/compare register in each mode, and how to write data to the
compare register.
Table 7-3. Function of Capture/Compare Register in Each Mode and How to Write Compare Register
Operation Mode
Capture/Compare Register
How to Write Compare Register
Interval timer
Compare register
Anytime write
External event counter
Compare register
Anytime write
External trigger pulse output
Compare register
Batch write
One-shot pulse output
Compare register
Anytime write
PWM output
Compare register
Batch write
Free-running timer
Capture/compare register
Anytime write
Pulse width measurement
Capture register
Remark
For details about anytime write and batch write, see 7.4 (2) Anytime write and batch write.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 236 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(8) TMPn capture/compare register 1 (TPnCCR1)
The TPnCCR1 register can be used as a capture register or a compare register depending on the mode.
This register can be selected as a capture register or a compare register only in the free-running timer mode,
depending on the setting of the TPnOPT0.TPnCCS1 bit. In the pulse width measurement mode, the TPnCCR1
register can be used only as a capture register. In any other mode, this register can be used only as a compare
register.
The TPnCCR1 register can be read or written during operation.
This register can be read or written in 16-bit units.
Reset sets this register to 0000H.
Caution
Accessing the TPnCCR1 register is prohibited in the following statuses. Moreover, if the system
is in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 0000H
R/W
Address:
TP0CCR1 FFFFF598H, TP1CCR1 FFFFF5A8H,
TP2CCR1 FFFFF5B8H, TP3CCR1 FFFFF5C8H,
TP4CCR1 FFFFF5D8H, TP5CCR1 FFFFF5E8H
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TPnCCR1
(n = 0 to 5)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 237 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(a) Function as compare register
The TPnCCR1 register can be rewritten even when the TPnCTL0.TPnCE bit = 1.
The set value of the TPnCCR1 register is transferred to the CCR1 buffer register. When the value of the 16-bit
counter matches the value of the CCR1 buffer register, a compare match interrupt request signal (INTTPnCC1)
is generated. If TOPn1 pin output is enabled at this time, the output of the TOPn1 pin is inverted (For details,
see the descriptions of each operating mode.).
(b) Function as capture register
When the TPnCCR1 register is used as a capture register in the free-running timer mode, the count value of
the 16-bit counter is stored in the TPnCCR1 register if the valid edge of the capture trigger input pin (TIPn1 pin)
is detected. In the pulse-width measurement mode, the count value of the 16-bit counter is stored in the
TPnCCR1 register and the 16-bit counter is cleared (0000H) if the valid edge of the capture trigger input pin
(TIPn1) is detected.
Even if the capture operation and reading the TPnCCR1 register conflict, the correct value of the TPnCCR1
register can be read.
The following table shows the functions of the capture/compare register in each mode, and how to write data to the
compare register.
Table 7-4. Function of Capture/Compare Register in Each Mode and How to Write Compare Register
Operation Mode
Capture/Compare Register
How to Write Compare Register
Interval timer
Compare register
Anytime write
External event counter
Compare register
Anytime write
External trigger pulse output
Compare register
Batch write
One-shot pulse output
Compare register
Anytime write
PWM output
Compare register
Batch write
Free-running timer
Capture/compare register
Anytime write
Pulse width measurement
Capture register
Remark
For details about anytime write and batch write, see 7.4 (2) Anytime write and batch write.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 238 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(9) TMPn counter read buffer register (TPnCNT)
The TPnCNT register is a read buffer register from which the count value of the 16-bit counter can be read.
If this register is read when the TPnCTL0.TPnCE bit = 1, the count value of the 16-bit timer can be read.
This register is read-only, in 16-bit units.
The value of the TPnCNT register is cleared to 0000H when the TPnCE bit = 0. If the TPnCNT register is read at
this time, the value of the 16-bit counter (FFFFH) is not read, but 0000H is read.
Because the TPnCE bit is cleared to 0, the value of the TPnCNT register is cleared to 0000H after reset.
Caution
Accessing the TPnCNT register is prohibited in the following statuses. Moreover, if the system is
in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 0000H
R
Address:
TP0CNT FFFFF59AH, TP1CNT FFFFF5AAH,
TP2CNT FFFFF5BAH, TP3CNT FFFFF5CAH,
TP4CNT FFFFF5DAH, TP5CNT FFFFF5EAH
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TPnCNT
(n = 0 to 5)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 239 of 1210
V850ES/JG3-L
7.4
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Operations
For the V850ES/JG3-L, the modes that can be enabled depend on each channel. The following table shows the modes
that can be enabled for each channel.
Table 7-5. TMPn Operating Modes
TMP0
TMP1
TMP2
TMP3
TMP4
TMP5
Conditionally
Conditionally
Available
Available
Available
Available
Not available
Available
Available
Available
Available
Operating Mode
Interval timer mode
available
Note 1
available
Note 2
External event count
Conditionally
mode
available
External trigger pulse
Not available
Not available
Available
Available
Available
Available
One-shot pulse output
Conditionally
Not available
Available
Available
Available
Available
mode
available
PWM output mode
Not available
Not available
Available
Available
Available
Available
Free-running timer mode
Conditionally
Not available
Available
Available
Available
Available
Not available
Available
Available
Available
Available
Note 1
output mode
available
Note 1
Note 1
Pulse width
Conditionally
measurement mode
available
Note 1
Notes 1. Because TIP01 and TOP01 do not exist, modes enabled by using these pins are not available.
2. Because TIP10, TIP11, TOP10, and TOP11 do not exist, modes enabled by using these pins are not available.
TMPn can execute the following operations:
Table 7-6. TMPn Operating Modes
Operating Mode
Note 1
TPnCTL1.TPnEST
TIPn0 Pin
Capture/Compare
Compare Register
Bit
(External Trigger
Register Setting
Write
(Software Trigger Bit)
Input)
Count Clock
Interval timer mode
Invalid
Invalid
Compare only
Anytime write
Internal/external
External event count
Invalid
Invalid
Compare only
Anytime write
External
Valid
Valid
Compare only
Batch write
Internal
Valid
Valid
Compare only
Anytime write
Internal
PWM output mode
Invalid
Invalid
Compare only
Batch write
Internal/external
Free-running timer mode
Invalid
Invalid
Can be switched
Anytime write
Internal/external
Pulse width
Invalid
Invalid
Capture only
Not applicable
Internal
mode
Note 2
External trigger pulse
output mode
Note 3
One-shot pulse output
mode
Note 3
Note 3
measurement mode
Notes 1. Channel 1 can only be used in the interval timer mode. Note that when channel 1 is used, the INTTP1CC1
interrupt signal is enabled and so its alternate function, the USB interrupt INTUSBF0, cannot be used. As a
result, the USB function controller cannot be used when channel 1 is used.
2. When using the external event count mode, specify that the valid edge of the TIPn0 pin capture trigger input
is not detected (by clearing the TPnIOC1.TPnIS1 and TPnIOC1.TPnIS0 bits to 0).
3. When using the external trigger pulse output mode, one-shot pulse output mode, and pulse width
measurement mode, select the internal clock as the count clock (by clearing the TPnCTL1.TPnEEE bit to 0).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 240 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Basic counter operation
The basic operation of the 16-bit counter is described below. For more details, see the descriptions of each
operating mode.
(a) Starting counting
TMPn starts counting from FFFFH in all operating modes, and increments as follows: FFFFH, 0000H, 0001H,
0002H, 0003H….
(b) Clearing TMPn
TMPn is cleared to 0000H when its value matches the value of the compare register or when the value of
TMPn is captured upon the input of a valid capture trigger signal.
Note that when TMPn increments from FFFFH to 0000H immediately after it starts counting and following an
overflow, it does not mean that TMPn has been cleared. Consequently, the INTTPnCC0 and INTTPnCC1
interrupts are not generated in this case.
(c) Overflow
TMPn overflows after it increments from FFFFH to 0000H in free-running timer mode and pulse width
measurement mode. An overflow sets the TPnOPT0.TPnOVF bit to 1 and generates an interrupt request
signal (INTTPnOV). Note that INTTPnOV will not be generated in the following cases:
When TMPn has just started counting.
When the compare value at which TMPn is cleared is specified as FFFFH.
In pulse width measurement mode, when TMPn increments from FFFFH to 0000H after being cleared when
its value of FFFFH was captured.
Caution
After the INTTPnOV overflow interrupt request signal occurs, be sure to confirm that the
overflow flag (TPnOVF) is set to 1.
(d) Reading TMPn while it is incrementing
TMPn can be read while it is incrementing by using the TPnCNT register.
Specifically, the value of TMPn can be read by reading the TPnCNT register while the TPnCLT0.TPnCE bit is 1.
Note, however, that when the TPnCLT0.TPnCE bit is 0, the value of TMPn is always FFFFH and the value of
the TPnCNT register is always 0000H.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 241 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Anytime write and batch write
The TPnCCR0 and TPnCCR1 registers can be written even while TMPn is operating (that is, while the
TPnCTL0.TPnCE bit is 1), but the way the CCR0 and CCR1 buffer registers are written differs depending on the
mode. The two writing methods are anytime write and batch write.
(a) Anytime write
This writing method is used to transfer data from the TPnCCR0 and TPnCCR1 registers to the CCR0 and
CCR1 buffer registers any time while TMPn is operating.
Figure 7-2. Flowchart Showing Basic Anytime Write Operation
START
Initial settings
• Set value to TPnCCRa register
• Enable timer
(TPnCE bit = 1)
→ Value of TPnCCRa register
transferred to CCRa buffer
register
Rewrite TPnCCRa register
→ New value transferred to CCRa
buffer register
Timer operation
• 16-bit counter value matches value
of CCR1 buffer registerNote
• 16-bit counter value matches value
of CCR0 buffer register
• 16-bit counter cleared and starts
incrementing again
INTTPnCC1 signal generated
INTTPnCC0 signal generated
Note The 16-bit counter is only cleared when its value matches the value of the CCR0 buffer
register, not the CCR1 buffer register.
Remarks 1. The flowchart applies to the case when TMPn is being used as an interval
timer.
2. a = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 242 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-3. Anytime Write Timing
TPnCE bit = 1
FFFFH
D01
D01
D02
D11
D11
16-bit counter
D12
D12
0000H
D01
TPnCCR0 register
CCR0 buffer register
0000H
D01
D11
TPnCCR1 register
CCR1 buffer register
D02
0000H
D02
D12
D11
D12
INTTPnCC0 signal
INTTPnCC1 signal
Remarks 1. D01, D02: Set value of TPnCCR0 register
D11, D12: Set value of TPnCCR1 register
2. The timing chart applies to the case when TMP is being used as an interval timer.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 243 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Batch write
This writing method is used to transfer data from the TPnCCR0 and TPnCCR1 registers to the CCR0 and
CCR1 buffer registers all at once while TMPn is operating. The data is transferred when the value of the 16-bit
counter matches the value of the CCR0 buffer register. Transfer is enabled by writing to the TPnCCR1 register.
Whether transfer of the next data is enabled or not depends on whether the TPnCCR1 register has been
written.
To specify the value of the rewritten TPnCCR0 and TPnCCR1 registers as the 16-bit counter compare value
(that is, the value to be transferred to the CCR0 and CCR1 buffer registers), the TPnCCR0 register must be
rewritten before the value of the 16-bit counter matches the value of the CCR0 buffer register, and then the
TPnCCR1 register must be written. The value of the TPnCCR0 and TPnCCR1 registers is then transferred to
the CCR0 and CCR1 buffer registers when the value of the 16-bit counter matches the value of the CCR0
buffer register. Note that even if you wish to rewrite only the TPnCCR0 register value, you must also write the
same value to the TPnCCR1 register (that is, the same value as the value already specified for the TPnCCR1
register).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 244 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-4. Flowchart Showing Basic Batch Write Operation
START
Initial settings
• Set value to TPnCCRa register
• Enable timer (TPnCE bit = 1)
→ Value of TPnCCRa register
transferred to CCRa buffer register
Rewrite TPnCCR0 register
Rewrite TPnCCR1 register
Timer operation
• 16-bit counter value matches value of
CCR1 buffer registerNote
• 16-bit counter value matches value of
CCR0 buffer register
• 16-bit counter cleared and starts
incrementing again
• TPnCCRa register value transferred to
CCRa buffer register
Batch write enabled
INTTPnCC1 signal generated
INTTPnCC0 signal generated
Note The 16-bit counter is only cleared when its value matches the value of the CCR0 buffer register,
not the CCR1 buffer register.
Caution
The process of writing to the TPnCCR1 register includes enabling batch write. It is
therefore necessary to rewrite the TPnCCR1 register after rewriting the TPnCCR0
register.
Remarks 1. The flowchart applies to the case when TMPn is being used in the PWM output mode.
2. a = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 245 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-5. Batch Write Timing
TPnCE bit = 1
D01
FFFFH
D02
D11
D12
16-bit counter
D03
D02
D12
D12
D12
0000H
TPnCCR0 register
D01
CCR0 buffer register 0000H
TPnCCR1 register
CCR1 buffer register 0000H
D02
D01
D02
Note 1
Note 2
D11
D03
D11
D12
Note 1
Write the same value
D12
Note 3
D12
Note 1
Note 1
D03
D12
INTTPnCC0 signal
INTTPnCC1 signal
TOPn0 pin output
TOPn1 pin output
Notes 1. D03 is not transferred because the TPnCCR1 register was not written.
2. D12 is transferred to the CCR1 buffer register upon a match with the TPnCCR0 register value (D01)
because the TPnCCR1 register was written (D12).
3. D12 is transferred to the CCR1 buffer register upon a match with the TPnCCR0 register value (D02)
because the TPnCCR1 register was written (D12).
Remarks 1. D01, D02, D03: Set value of TPnCCR0 register
D11, D12: Set value of TPnCCR1 register
2. The timing chart applies to the case when TMPn is being used as in the PWM output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 246 of 1210
V850ES/JG3-L
7.4.1
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Interval timer mode (TPnMD2 to TPnMD0 bits = 000)
In the interval timer mode, setting the TPnCTL0.TPnCE bit to 1 generates an interrupt request signal (INTTPnCC0) at a
specified interval. Setting the TPnCE bit to 1 can also start the timer, which then outputs a square wave whose half cycle
is equal to the interval from the TOPn0 pin.
Usually, the TPnCCR1 register is not used in the interval timer mode. Mask interrupts from this register by setting the
interrupt mask flag (TPnCCMK1).
Remarks 1. For how to set the TOPn0 pin, see Table 7-2 Pins Used by TMPn and Table 4-15 Settings When Pins
Are Used for Alternate Functions.
2. For how to enable the INTTPnCC0 interrupt signal, see CHAPTER 22
INTERRUPT SERVICING/
EXCEPTION PROCESSING FUNCTION.
Figure 7-6. Configuration of Interval Timer
Clear
Count clock
selection
Output
controller
16-bit counter
Match signal
TPnCE bit
TOPn0 pin
INTTPnCC0 signal
CCR0 buffer register
TPnCCR0 register
Figure 7-7. Basic Timing of Operation in Interval Timer Mode
FFFFH
16-bit counter
D0
D0
D0
D0
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D0
TOPn0 pin output
INTTPnCC0 signal
Interval (D0 + 1) Interval (D0 + 1) Interval (D0 + 1) Interval (D0 + 1)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 247 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
When the TPnCE bit is set to 1, the value of the 16-bit counter is cleared from FFFFH to 0000H in synchronization with
the count clock, and the counter starts incrementing. At this time, the output of the TOPn0 pin is inverted and the set value
of the TPnCCR0 register is transferred to the CCR0 buffer register.
When the value of the 16-bit counter matches the value of the CCR0 buffer register, the 16-bit counter is cleared to
0000H, the output of the TOPn0 pin is inverted, and a compare match interrupt request signal (INTTPnCC0) is generated.
The interval can be calculated by using the following expression:
Interval = (Set value of TPnCCR0 register + 1) Count clock cycle
An example of the register settings when the interval timer mode is used is shown in the figure below.
Figure 7-8. Register Settings in Interval Timer Mode (1/2)
(a) TMPn control register 0 (TPnCTL0)
TPnCE
TPnCTL0
0/1
TPnCKS2 TPnCKS1 TPnCKS0
0
0
0
0
0/1
0/1
0/1
These bits select
the count clock.
0: Stop counting
1: Enable counting
(b) TMPn control register 1 (TPnCTL1)
TPnEST TPnEEE
TPnCTL1
0
0
Note
0/1
TPnMD2 TPnMD1 TPnMD0
0
0
0
0
0
0, 0, 0:
Interval timer mode
0: Increment TMPn based on
the count clock selected by
the TPnCKS0 to TPnCKS2 bits.
1: Increment TMPn based on the
input of an external event
count signal.
Note The TPnEEE bit can only be set to 1 when the timer output (TOPn1) is used. Note that when
setting the TPnEEE bit to 1, the TPnCCR0 and TPnCCR1 registers must be set to the same
value (that is, the same value as the value already specified for these registers). (For details, see
7.4.1 (2) (d) Operation of TPnCCR1 register.)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 248 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-8. Register Settings in Interval Timer Mode (2/2)
(c) TMPn I/O control register 0 (TPnIOC0)
TPnOL1
TPnIOC0
0
0
0
0
0/1
TPnOE1 TPnOL0
0/1
0/1
TPnOE0
0/1
0: Disable TOPn0 pin output.
1: Enable TOPn0 pin output.
Output level when TOPn0 pin
is disabled:
0: Low level
1: High level
0: Disable TOPn1 pin output.
1: Enable TOPn1 pin output.
Output level when TOPn1
pin is disabled:
0: Low level
1: High level
(d) TMPn I/O control register 2 (TPnIOC2)
TPnEES1 TPnEES0 TPnETS1 TPnETS0
TPnIOC2
0
0
0
0
0/1Note
0/1Note
0
0
These bits select the valid
edge of the external event
count input (TIPn0 pin).
Note The TPnEES1 and TPnEES0 bits can only be set to 1 when the timer output (TOPn1) is used.
Note that when setting these bits to 1, the TPnCCR0 and TPnCCR1 registers must be set to the
same value (that is, the same value as the value already specified for these registers).
(e) TMPn counter read buffer register (TPnCNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMPn capture/compare register 0 (TPnCCR0)
If the TPnCCR0 register is set to D0, the interval is as follows:
Interval = (D0 + 1) Count clock cycle
(g) TMPn capture/compare register 1 (TPnCCR1)
Usually, the TPnCCR1 register is not used in the interval timer mode. However, because the set value of
the TPnCCR1 register is transferred to the CCR1 buffer register and a compare match interrupt request
signal (INTTPnCC1) is generated when the value of the 16-bit counter matches the value of the CCR1
buffer register, interrupts from this register must be masked by setting the interrupt mask flag
(TPnCCMK1).
Remark
TMPn I/O control register 1 (TPnIOC1) and TMPn option register 0 (TPnOPT0) are not
used in the interval timer mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 249 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operations in interval timer mode
Figure 7-9. Timing and Processing of Operations in Interval Timer Mode
FFFFH
D0
16-bit counter
D0
D0
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D0
TOPn0 pin output
INTTPnCC0 signal
Starting counting
START
Set up the registers
TPnCTL0 register
(TPnCKS0 to TPnCKS2 bits)
TPnCTL1 register
TPnIOC0 register
TPnCCR0 register
TPnCE bit = 1
Be sure to set up these registers before
setting the TPnCE bit to 1.
Counting starts.
The TPnCKS0 to TPnCKS2 bits can
be set here.
Stopping counting
TPnCE bit = 0
When counting is disabled (TPnCE bit = 0),
the counter is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 250 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Using interval timer mode
(a) Operation when TPnCCR0 register is set to 0000H
When the TPnCCR0 register is set to 0000H, the INTTPnCC0 signal is generated each count clock cycle from
the second clock cycle, and the output of the TOPn0 pin is inverted.
The value of the 16-bit counter is always 0000H.
Figure 7-10. Operation of Interval Timer When TPnCCR0 Register Is Set to 0000H
Count clock
16-bit counter
FFFFH
0000H
0000H
0000H
0000H
TPnCE bit
TPnCCR0 register
0000H
TOPn0 pin output
INTTPnCC0 signal
Interval time
Count clock cycle
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Interval time
Count clock cycle
Page 251 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Operation when TPnCCR0 register is set to FFFFH
When the TPnCCR0 register is set to FFFFH, the 16-bit counter increments up to FFFFH and is reset to
0000H in synchronization with the next increment timing. The INTTPnCC0 signal is then generated and the
output of the TOPn0 pin is inverted. At this time, an overflow interrupt request signal (INTTPnOV) is not
generated, nor is the overflow flag (TPnOPT0.TPnOVF bit) set to 1.
Figure 7-11. Operation of Interval Timer When TPnCCR0 Register Is Set to FFFFH
FFFFH
16-bit counter
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
FFFFH
TOPn0 pin output
INTTPnCC0 signal
Interval time
Interval time
Interval time
10000H ×
10000H ×
10000H ×
count clock cycle count clock cycle count clock cycle
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 252 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Notes on rewriting TPnCCR0 register
When rewriting the value of the TPnCCR0 register to a smaller value, stop counting first and then change the
set value.
If the value of the TPnCCR0 register is rewritten to a smaller value during counting, the 16-bit counter may
overflow.
Figure 7-12. Rewriting TPnCCR0 Register
FFFFH
D1
D1
16-bit counter
D2
D2
D2
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
TPnOL0 bit
D1
D2
L
TOPn0 pin output
INTTPnCC0 signal
Interval time (1)
Remarks
Interval time (NG)
Interval
time (2)
Interval time (1): (D1 + 1) Count clock cycle
Interval time (NG): (10000H + D2 + 1) Count clock cycle
Interval time (2): (D2 + 1) Count clock cycle
If the value of the TPnCCR0 register is changed from D1 to D2 while the counter value is greater than D2 but
less than D1, the TPnCCR0 register value is transferred to the CCR0 buffer register as soon as the register has
been rewritten. Consequently, the value that is compared with the 16-bit counter value is D2.
Because the counter value has already exceeded D2, however, the 16-bit counter counts up to FFFFH,
overflows, and then counts up again from 0000H. When the counter value matches D2, the INTTPnCC0 signal
is generated and the output of the TOPn0 pin is inverted.
Therefore, the INTTPnCC0 signal may not be generated at the interval “(D1 + 1) Count clock cycle” or “(D2 +
1) Count clock cycle” as originally expected, but instead may be generated at an interval of “(10000H + D2 +
1) Count clock cycle”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 253 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(d) Operation of TPnCCR1 register
The TPnCCR1 register is configured as follows in the interval timer mode.
Figure 7-13. Configuration of TPnCCR1 Register
TPnCCR1 register
CCR1 buffer register
Output
controller
Match signal
TOPn1 pin
INTTPnCC1 signal
Clear
Count clock
selection
16-bit counter
Match signal
TPnCE bit
Output
controller
TOPn0 pin
INTTPnCC0 signal
CCR0 buffer register
TPnCCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 254 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
If the value of the TPnCCR1 register is less than or equal to the value of the TPnCCR0 register, the
INTTPnCC1 signal is generated once per cycle. At the same time, the output of the TOPn1 pin is inverted.
The TOPn1 pin outputs a square wave with the same cycle as that output by the TOPn0 pin but with a different
phase.
A chart showing the timing of operations when the value of the TPnCCR1 register (D11) is less than or equal to
the value of the TPnCCR0 register (D01) is shown below.
Figure 7-14. Timing of Operations When D01 D11
FFFFH
D01
16-bit counter
D11
D01
D11
D01
D11
D01
D11
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D01
TOPn0 pin output
INTTPnCC0 signal
TPnCCR1 register
D11
TOPn1 pin output
INTTPnCC1 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 255 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
If the value of the TPnCCR1 register is greater than the value of the TPnCCR0 register, the value of the 16-bit
counter will not match the value of the TPnCCR1 register. Consequently, the INTTPnCC1 signal is not
generated, nor is the output of the TOPn1 pin changed.
A chart showing the timing of operations when the value of the TPnCCR1 register (D11) is greater than the
value of the TPnCCR0 register (D01) is shown below.
Figure 7-15. Timing of Operations When D01 < D11
FFFFH
D01
D01
D01
D01
16-bit counter
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D01
TOPn0 pin output
INTTPnCC0 signal
D11
TPnCCR1 register
TOPn1 pin output
INTTPnCC1 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
L
Page 256 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(3) Operation of interval timer based on input of external event count
(a) Operation
When the 16-bit counter is incrementing based on the valid edge of the external count input (TIPn0 pin) in the
interval timer mode, one external event count valid edge must be input immediately after the TPnCE bit
changes from 0 to 1 to start the counter incrementing after the 16-bit counter is cleared from FFFFH to 0000H.
Once the TPnCCR0 and TPnCCR1 registers are set to 0001H (that is, the same value as was previously set),
the TOPn1 pin output is inverted every two counts of the 16-bit counter.
Note that the TPnCTL1.TPnEEE bit can only be set to 1 when timer output (TOPn1) is used based on the input
of an external event count.
Figure 7-16. Operation of Interval Timer Based on Input of External Event Count (TIPn0)
FFFFH
0001H
0001H
16-bit counter
0001H
0000H
TPnCE bit
External event
count input
(TIPn0 pin input)
TPnCCR0 register
0001H
0001H
0001H
TPnCCR1 register
0001H
0001H
0001H
TOPn1 pin output
2-count width
3 external event counts
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
2-count width
2-count width
2 external event counts
2 external event counts
Page 257 of 1210
V850ES/JG3-L
7.4.2
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
External event count mode (TPnMD2 to TPnMD0 bits = 001)
In the external event count mode, the valid edge of the external event count input is counted when the
TPnCTL0.TPnCE bit is set to 1, and an interrupt request signal (INTTPnCC0) is generated each time the specified number
of edges have been counted. The timer output pins (TOPn0 and TOPn1) cannot be used. To use the TOPn1 pin in the
external event count mode, first set the TPnCTL1.TPnEEE bit to 1 in the interval timer mode (see 7.4.1 (3) Operation of
interval timer based on input of external event count).
Usually, the TPnCCR1 register is not used in the external event count mode.
Remarks 1. For how to set the TIPn0 pin, see Table 7-2 Pins Used by TMPn and Table 4-15 Settings When Pins
Are Used for Alternate Functions.
2. For how to enable the INTTPnCC0 interrupt signal, see CHAPTER 22
INTERRUPT SERVICING/
EXCEPTION PROCESSING FUNCTION.
Figure 7-17. Configuration of Interval Timer in External Event Count Mode
Clear
TIPn0 pin
(external event
count input)
Edge
detector
16-bit counter
Match signal
TPnCE bit
INTTPnCC0 signal
CCR0 buffer register
TPnCCR0 register
When the TPnCE bit is set to 1, the value of the 16-bit counter is cleared from FFFFH to 0000H. The counter
increments each time the valid edge of the external event count input is detected, and the value of the TPnCCR0 register
is transferred to the CCR0 buffer register.
When the value of the 16-bit counter matches the value of the CCR0 buffer register, the 16-bit counter is cleared to
0000H, and a compare match interrupt request signal (INTTPnCC0) is generated.
The INTTPnCC0 signal is generated each time the valid edge of the external event count input has been detected the
specified number of times (that is, the value of the TPnCCR0 register + 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 258 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-18. Basic Timing of Operations in External Event Count Mode
FFFFH
D0
16-bit counter
D0
D0
16-bit counter
0000H
External event
count input
(TIPn0 pin input)
TPnCCR0 register
(CCR0 buffer register)
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D0
D0
0000
0001
D0
INTTPnCC0 signal
INTTPnCC0 signal
External
event
count
interval
(D0 + 1)
Remark
D0 − 1
External
event
count
interval
(D0 + 1)
External
event
count
interval
(D0 + 1)
This figure shows the basic timing when the rising edge is specified as the valid edge of the
external event count input.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 259 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
An example of the register settings when the external event count mode is used is shown in the figure below.
Figure 7-19. Register Settings in External Event Count Mode (1/2)
(a) TMPn control register 0 (TPnCTL0)
TPnCE
TPnCTL0
0/1
TPnCKS2 TPnCKS1 TPnCKS0
0
0
0
0
0
0
0
0: Stop counting
1: Enable counting
(b) TMPn control register 1 (TPnCTL1)
TPnEST TPnEEE
TPnCTL1
0
0
0
TPnMD2 TPnMD1 TPnMD0
0
0
0
0
1
0, 0, 1:
External event count mode
(c) TMPn I/O control register 0 (TPnIOC0)
TPnOL1
TPnIOC0
0
0
0
0
0
TPnOE1 TPnOL0
0
0
TPnOE0
0
0: Disable TOPn0 pin output
0: Disable TOPn1 pin output
(d) TMPn I/O control register 2 (TPnIOC2)
TPnEES1 TPnEES0 TPnETS1 TPnETS0
TPnIOC2
0
0
0
0
0/1
0/1
0
0
These bits select the
valid edge of the external
event count input.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 260 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-19. Register Settings in External Event Count Mode (2/2)
(e) TMPn counter read buffer register (TPnCNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMPn capture/compare register 0 (TPnCCR0)
When the TPnCCR0 register is set to D0, the counter is cleared and a compare match interrupt request
signal (INTTPnCC0) is generated when the number of external events reaches (D0 + 1).
(g) TMPn capture/compare register 1 (TPnCCR1)
The TPnCCR1 register is not usually used in the external event count mode. However, because the set
value of the TPnCCR1 register is transferred to the CCR1 buffer register and a compare match interrupt
request signal (INTTPnCC1) is generated when the value of the 16-bit counter matches the value of the
CCR1 buffer register, interrupts from this register must be masked by setting the interrupt mask flag
(TPnCCMK1).
Cautions 1. Do not set the TPnCCR0 register to 0000H in the external event count mode.
2. Timer output cannot be used in the external event count mode. When using the timer
output based on the input of an external event count, first set the operating mode to
interval mode, and then specify “operation enabled” for the external event count
input (by setting the TPnCTL1.TPnMD2 to TPnMD0 bits to 0, 0, 0 and setting the
TPnCTL1.TPnEEE bit to 1). For details, see 7.4.1 (3) Operation of interval timer based
on input of external event count.
Remarks TMPn I/O control register 1 (TPnIOC1) and TMPn option register 0 (TPnOPT0) are not used in
the external event count mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 261 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operations in external event count mode
Figure 7-20. Timing and Processing of Operations in External Event Count Mode
FFFFH
D0
16-bit counter
D0
D0
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D0
INTTPnCC0 signal
Starting counting
START
Set up the registers
TPnCTL0 register
(TPnCKS0 to TPnCKS2 bits)
TPnCTL1 register
TPnIOC0 register
TPnIOC2 register
TPnCCR0 register
TPnCE bit = 1
Be sure to set up these registers
before setting the TPnCE bit to 1.
Counting starts.
The TPnCKS0 to TPnCKS2 bits can
be set here.
Stopping counting
TPnCE bit = 0
When counting is disabled (TPnCE bit = 0),
the counter is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 262 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Using external event count mode
(a) Operation when TPnCCR0 register is set to FFFFH
When the TPnCCR0 register is set to FFFFH, the 16-bit counter increments up to FFFFH upon detection of the
valid edge of the external event count signal and is reset to 0000H in synchronization with the next increment
timing. The INTTPnCC0 signal is then generated. At this time, the TPnOPT0.TPnOVF bit is not set to 1.
Figure 7-21. Operation When TPnCCR0 Register Is Set to FFFFH
FFFFH
16-bit counter
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
FFFFH
INTTPnCC0 signal
External event
count signal
interval
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
External event
count signal
interval
External event
count signal
interval
Page 263 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Notes on rewriting TPnCCR0 register
When rewriting the value of the TPnCCR0 register to a smaller value, stop counting first and then change the
set value.
If the value of the TPnCCR0 register is rewritten to a smaller value during counting, the 16-bit counter may
overflow.
Figure 7-22. Rewriting TPnCCR0 Register
FFFFH
D1
16-bit counter
D1
D2
D2
D2
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D1
D2
INTTPnCC0 signal
External event
count signal
interval (1)
(D1 + 1)
External event count signal
interval (NG)
(10000H + D2 + 1)
External event
count signal
interval (2)
(D2 + 1)
If the value of the TPnCCR0 register is changed from D1 to D2 while the counter value is greater than D2 but
less than D1, the TPnCCR0 register value is transferred to the CCR0 buffer register as soon as the register has
been rewritten. Consequently, the value that is compared with the 16-bit counter value is D2.
Because the counter value has already exceeded D2, however, the 16-bit counter increments up to FFFFH,
overflows, and then increments up again from 0000H. When the counter value matches D2, the INTTPnCC0
signal is generated.
Therefore, the INTTPnCC0 signal may not be generated at the valid edge of the external event count signal
when the external event count is “(D1 + 1)” or “(D2 + 1)” as originally expected, but instead may be generated at
the valid edge of the external event count signal when the external event count is “(10000H + D2 + 1)”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 264 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Operation of TPnCCR1 register
The TPnCCR1 register is configured as follows in the external event count mode.
Figure 7-23. Configuration of TPnCCR1 Register
TPnCCR1 register
CCR1 buffer register
Match signal
INTTPnCC1 signal
Clear
TIPn0 pin
Edge
detector
16-bit counter
Match signal
TPnCE bit
INTTPnCC0 signal
CCR0 buffer register
TPnCCR0 register
If the value of the TPnCCR1 register is less than or equal to the value of the TPnCCR0 register, the
INTTPnCC1 signal is generated once per cycle.
A chart showing the timing of operations when the value of the TPnCCR1 register (D11) is less than or equal to
the value of the TPnCCR0 register (D01) is shown below.
Figure 7-24. Timing of Operations When D01 D11
FFFFH
D01
16-bit counter
D11
D01
D11
D01
D11
D01
D11
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D01
INTTPnCC0 signal
TPnCCR1 register
D11
INTTPnCC1 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 265 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
If the value of the TPnCCR1 register is greater than the value of the TPnCCR0 register, the value of the 16-bit
counter will not match the value of the TPnCCR1 register and the INTTPnCC1 signal will not be generated.
A chart showing the timing of operations when the value of the TPnCCR1 register (D11) is greater than the
value of the TPnCCR0 register (D01) is shown below.
Figure 7-25. Timing of Operations When D01 < D11
FFFFH
D01
D01
D01
D01
16-bit counter
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D01
INTTPnCC0 signal
D11
TPnCCR1 register
INTTPnCC1 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
L
Page 266 of 1210
V850ES/JG3-L
7.4.3
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
External trigger pulse output mode (TPnMD2 to TPnMD0 bits = 010)
In the external trigger pulse output mode, when the TPnCTL0.TPnCE bit is set to 1, TMPn waits for a trigger, which is
the valid edge of the external trigger input signal, and starts incrementing when this trigger is detected. TMPn then outputs
a PWM waveform from the TOPn1 pin.
Pulses can also be output by generating a software trigger instead of using the external trigger. When using a software
trigger instead of the external trigger, a square wave that has one cycle of the PWM waveform as half its cycle can also be
output from the TOPn0 pin.
Remarks 1. For how to set the TIPn0, TOPn0, and TOPn1 pins, see Table 7-2 Pins Used by TMPn and Table 4-15
Settings When Pins Are Used for Alternate Functions.
2. For how to enable the INTTPnCC0 and INTTPnCC1 interrupt signals, see CHAPTER 22 INTERRUPT
SERVICING/EXCEPTION PROCESSING FUNCTION.
Figure 7-26. Configuration of TMP in External Trigger Pulse Output Mode
TPnCCR1 register
Transfer
Edge
detector
TIPn0 pin
S Output
controller
R
(RS-FF)
CCR1 buffer register
Software trigger
generation
Count
clock
selection
Match signal
Clear
Count
start
control
INTTPnCC1 signal
Output
controller
(Toggle)
16-bit counter
Match signal
TPnCE bit
TOPn1 pin
TOPn0 pin
INTTPnCC0 signal
CCR0 buffer register
Transfer
TPnCCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 267 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-27. Basic Timing of Operations in External Trigger Pulse Output Mode
FFFFH
D0
D1
16-bit counter
D0
D0
D1
D1
D1
0000H
TPnCE bit
External trigger input
(TIPn0 pin input)
TPnCCR0 register
(CCR0 buffer register)
D0
INTTPnCC0 signal
TOPn0 pin outputNote
TPnCCR1 register
(CCR1 buffer register)
D1
INTTPnCC1 signal
TOPn1 pin output
Wait Active level
for width (D1)
trigger
Cycle (D0 + 1)
Active level
width (D1)
Cycle (D0 + 1)
Active level
width (D1)
Cycle (D0 + 1)
Note The output from the TOPn0 pin can also be used as the input to the TIPn0 pin. When using the
output from the TOPn0 pin as the input to the TIPn0 pin, use a software trigger instead of an
external trigger.
When the TPnCE bit is set to 1, TMPn waits for a trigger. When the trigger is generated, the 16-bit counter is cleared
from FFFFH to 0000H, starts incrementing, and outputs a PWM waveform from the TOPn1 pin. If the trigger is generated
again while the counter is incrementing, the counter is cleared to 0000H and restarts incrementing, and the output of the
TOPn0 pin is inverted. (The TOPn1 pin outputs a high level signal regardless of the status (high/low) when a trigger
occurs.)
The active level width, cycle, and duty factor of the PWM waveform can be calculated as follows.
Active level width = (Set value of TPnCCR1 register) Count clock cycle
Cycle = (Set value of TPnCCR0 register + 1) Count clock cycle
Duty factor = (Set value of TPnCCR1 register)/(Set value of TPnCCR0 register + 1)
The INTTPnCC0 compare match interrupt request signal is generated when the 16-bit counter increments next time
after its value matches the value of the CCR0 buffer register, and the 16-bit counter is cleared to 0000H. The INTTPnCC1
compare match interrupt request signal is generated when the value of the 16-bit counter matches the value of the CCR1
buffer register.
Either the valid edge of the external trigger input signal or setting the software trigger (TPnCTL1.TPnEST bit) to 1 is
used as the trigger.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 268 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-28. Register Settings in External Trigger Pulse Output Mode (1/2)
(a) TMPn control register 0 (TPnCTL0)
TPnCE
TPnCTL0
TPnCKS2 TPnCKS1 TPnCKS0
0/1
0
0
0
0
0/1
0/1
0/1
These bits select
the count clock.
0: Stop counting
1: Enable counting.
(b) TMPn control register 1 (TPnCTL1)
TPnEST TPnEEE
TPnCTL1
0
0/1
0
TPnMD2 TPnMD1 TPnMD0
0
0
0
1
0
0, 1, 0:
External trigger pulse
output mode
Writing 1 generates
a software trigger.
(c) TMPn I/O control register 0 (TPnIOC0)
TPnOL1
TPnIOC0
0
0
0
0
0/1
TPnOE1 TPnOL0
0/1
Note
0/1
TPnOE0
0/1Note
0: Disable TOPn0 pin output
1: Enable TOPn0 pin output
Output level when TOPn0
pin is disabled:
0: Low level
1: High level
0: Disable TOPn1 pin output.
1: Enable TOPn1 pin output.
Active level of TOPn1 pin
output:
0: High level
1: Low level
• When TPnOL1 bit is 0:
• When TPnOL1 bit is 1:
16-bit counter
16-bit counter
TOPn1 pin output
TOPn1 pin output
Note Set this bit to 0 when not using the TOPn0 pin in external trigger pulse output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 269 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-28. Register Settings in External Trigger Pulse Output Mode (2/2)
(d) TMPn I/O control register 2 (TPnIOC2)
TPnEES1 TPnEES0 TPnETS1 TPnETS0
TPnIOC2
0
0
0
0
0
0
0/1
0/1
These bits select the
valid edge of the
external trigger input.
(e) TMPn counter read buffer register (TPnCNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMPn capture/compare registers 0 and 1 (TPnCCR0 and TPnCCR1)
If the TPnCCR0 register is set to D0 and the TPnCCR1 register is set to D1, the PWM waveform is as
follows:
PWM waveform cycle = (D0 + 1) Count clock cycle
PWM waveform active level width = D1 Count clock cycle
Remark
TMPn I/O control register 1 (TPnIOC1) and TMPn option register 0 (TPnOPT0) are not used in
the external trigger pulse output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 270 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operations in external trigger pulse output mode
Figure 7-29. Timing and Processing of Operations in External Trigger Pulse Output Mode (1/2)
FFFFH
D01
16-bit counter
D00
D10
D00
D10
D01
D01
D11
D10
D11
D00
D10
0000H
TPnCE bit
External trigger input
(TIPn0 pin input)
TPnCCR0 register
D00
CCR0 buffer register
D01
D00
D00
D01
D00
INTTPnCC0 signal
TOPn0 pin output
(only when software
trigger is used)
D10
TPnCCR1 register
D10
D11
D10
CCR1 buffer register
D10
D10
D11
D10
INTTPnCC1 signal
TOPn1 pin output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 271 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-29. Timing and Processing of Operations in External Trigger Pulse Output Mode (2/2)
Starting counting
Changing the duty
Only the TPnCCR1 register
has to be written when only
changing the duty setting.
START
Set the TPnCCR1 register
Set up the registers
TPnCTL0 register
(TPnCKS0 to TPnCKS2 bits)
TPnCTL1 register
TPnIOC0 register
TPnIOC2 register
TPnCCR0 register
TPnCCR1 register
TPnCE bit = 1
After setting this register,
the values of the TPnCCRa
registers are transferred to
the CCRa buffer registers
when the counter is cleared.
Be sure to set up these
registers before setting
the TPnCE bit to 1.
Counting starts.
The TPnCKS0 to
TPnCKS2 bits can
be set here.
Changing both the cycle and the duty
When changing both the cycle and the
duty, do so in the order of cycle setting
then duty setting.
Set the TPnCCR0 register
Waiting for trigger
After setting these registers,
their values are transferred
to the CCRa buffer registers
when the counter is cleared.
Set the TPnCCR1 register
Changing the cycle
The TPnCCR1 register must
be written even when only
changing the cycle setting.
Stopping counting
TPnCE bit = 0
Set the TPnCCR0 register
Set the TPnCCR1 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
After setting these
registers, their values are
transferred to the CCRa
buffer registers when the
counter is cleared.
Disables counting.
STOP
Page 272 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Using external trigger pulse output mode
How to change the PWM waveform in the external trigger pulse output mode is described below.
(a) Changing the PWM waveform while the counter is incrementing
To change the PWM waveform while the counter is incrementing, write to the TPnCCR1 register after changing
the waveform setting. When rewriting the TPnCCRa register after writing to the TPnCCR1 register, do so after
the INTTPnCC0 signal has been detected.
Figure 7-30. Changing PWM Waveform While Counter Is Incrementing
FFFFH
D01
16-bit counter
D00
D10
D00
D10
D00
D10
D11
D01
D11
0000H
TPnCE bit
External trigger input
(TIPn0 pin input)
TPnCCR0 register
CCR0 buffer register
D00
D01
D00
D01
INTTPnCC0 signal
TOPn0 pin outputNote
TPnCCR1 register
D10
D11
CCR1 buffer register
D10
D11
INTTPnCC1 signal
TOPn1 pin output
Rewrite the TPnCCR1 register
after rewriting the TPnCCR0 register.
Note The output from the TOPn0 pin can also be used as the input to the TIPn0 pin. When using the
output from the TOPn0 pin as the input to the TIPn0 pin, use a software trigger instead of an
external trigger.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 273 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
In order to transfer data from the TPnCCRa register to the CCRa buffer register, the TPnCCR1 register must be
written.
After data is written to the TPnCCR1 register, the value written to the TPnCCRa register is transferred to the
CCRa buffer register in synchronization with clearing of the 16-bit counter, and is used as the value to be
compared with the 16-bit counter value.
To change both the cycle and active level width of the PWM waveform, first set the cycle to the
TPnCCR0 register and then set the active level width to the TPnCCR1 register.
To change only the cycle of the PWM waveform, first set the cycle to the TPnCCR0 register, and then
write the same value to the TPnCCR1 register (that is, the same value as the value already specified
for the TPnCCR1 register).
To change only the active level width (duty factor) of the PWM waveform, only the TPnCCR1 register
has to be set.
Caution
To rewrite the TPnCCR0 or TPnCCR1 register after writing the TPnCCR1 register, do so
after the INTTPnCC0 signal has been generated; otherwise, the value of the CCRa buffer
register may become undefined because the timing of transferring data from the TPnCCRa
register to the CCRa buffer register conflicts with writing the TPnCCRa register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 274 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Outputting a 0% or 100% PWM waveform
To output a 0% waveform, clear the TPnCCR1 register to 0000H. If the set value of the TPnCCR0 register is
FFFFH, the INTTPnCC1 signal is generated periodically.
Figure 7-31. Outputting 0% PWM Waveform
Count clock
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0001
D0 − 1
D0
0000
TPnCE bit
Trigger input
TPnCCR0 register
D0
D0
D0
TPnCCR1 register
0000H
0000H
0000H
INTTPnCC0 signal
INTTPnCC1 signal
TOPn1 pin output
To output a 100% waveform, set the value of TPnCCR0 register + 1 to the TPnCCR1 register. If the value of
the TPnCCR0 register is FFFFH, a 100% waveform cannot be output.
Figure 7-32. Outputting 100% PWM Waveform
Count clock
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0001
D0 − 1
D0
0000
TPnCE bit
Trigger input
TPnCCR0 register
D0
D0
D0
TPnCCR1 register
D0 + 1
D0 + 1
D0 + 1
INTTPnCC0 signal
INTTPnCC1 signal
TOPn1 pin output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 275 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Detection of trigger immediately before or after INTTPnCC1 generation
If the trigger is detected immediately after the INTTPnCC1 signal is generated, the 16-bit counter is
immediately cleared to 0000H, the output signal of the TOPn1 pin is set to the active level, and the counter
continues incrementing. Consequently, the inactive period of the PWM waveform is shortened.
Figure 7-33. Detection of Trigger Immediately After INTTPnCC1 Signal Was Generated
16-bit counter
FFFF
D1 − 1
0000
0000
External trigger input
(TIPn0 pin input)
D1
TPnCCR1 register
INTTPnCC1 signal
TOPn1 pin output
Shortened
If the trigger is detected immediately before the INTTPnCC1 signal is generated, the INTTPnCC1 signal is not
generated, and the 16-bit counter is cleared to 0000H and continues incrementing. The output signal of the
TOPn1 pin remains active. Consequently, the active period of the PWM waveform is extended.
Figure 7-34. Detection of Trigger Immediately Before INTTPnCC1 Signal Is Generated
16-bit counter
FFFF
0000
D1 − 2
0000
0001
D1 − 1
D1
External trigger input
(TIPn0 pin input)
TPnCCR1 register
D1
INTTPnCC1 signal
TOPn1 pin output
Extended
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 276 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(d) Detection of trigger immediately before or after INTTPnCC0 generation
If the trigger is detected immediately after the INTTPnCC0 signal is generated, the 16-bit counter is cleared to
0000H and continues incrementing. Therefore, the active period of the TOPn1 pin is extended by the amount
of time between the generation of the INTTPnCC0 signal and the detection of the trigger.
Figure 7-35. Detection of Trigger Immediately After INTTPnCC0 Signal Was Generated
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0000
External trigger input
(TIPn0 pin input)
D0
TPnCCR0 register
INTTPnCC0 signal
TOPn1 pin output
Extended
If the trigger is detected immediately before the INTTPnCC0 signal is generated, the INTTPnCC0 signal is not
generated. The 16-bit counter is cleared to 0000H, the TOPn1 pin is set to the active level, and the counter
continues incrementing. Consequently, the inactive period of the PWM waveform is shortened.
Figure 7-36. Detection of Trigger Immediately Before INTTPnCC0 Signal Is Generated
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0001
External trigger input
(TIPn0 pin input)
TPnCCR0 register
D0
INTTPnCC0 signal
TOPn1 pin output
Shortened
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 277 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(e) Timing of generating the compare match interrupt request signal (INTTPnCC1)
In the external trigger pulse output mode, the INTTPnCC1 signal is generated when the value of the 16-bit
counter matches the value of the TPnCCR1 register.
Figure 7-37. Timing of Generating Compare Match Interrupt Signal (INTTPnCC1)
Count clock
16-bit counter
TPnCCR1 register
D1 − 2
D1 − 1
D1
D1 + 1
D1 + 2
D1
TOPn1 pin output
INTTPnCC1 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 278 of 1210
V850ES/JG3-L
7.4.4
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
One-shot pulse output mode (TPnMD2 to TPnMD0 bits = 011)
In the one-shot pulse output mode, when the TPnCTL0.TPnCE bit is set to 1, TMPn waits for a trigger, which is the valid
edge of the external trigger input, and starts incrementing when this trigger is detected. TMPn then outputs a one-shot
pulse from the TOPn1 pin.
Instead of the external trigger, a software trigger can also be generated to output the pulse. When the software trigger
is used, the TOPn0 pin outputs the active level signal while the 16-bit counter is incrementing, and the inactive level signal
when the counter is stopped (waiting for a trigger).
Remarks 1. For how to set the TIPn0, TOPn0, and TOPn1 pins, see Table 7-2 Pins Used by TMPn and Table 4-15
Settings When Pins Are Used for Alternate Functions.
2. For how to enable the INTTPnCC0 and INTTPnCC1 interrupt signals, see CHAPTER 22 INTERRUPT
SERVCING/EXCEPTION PROCESSING FUNCTION.
Figure 7-38. Configuration of TMPn in One-Shot Pulse Output Mode
TPnCCR1 register
TIPn0 pin
Edge
detector
Transfer
Output
S
controller
R (RS-FF)
CCR1 buffer register
Software trigger
generation
Match signal
TOPn1 pin
INTTPnCC1 signal
Clear
Count clock
selection
Count start
control
Output
S
controller
R (RS-FF)
16-bit counter
Match signal
TPnCE bit
TOPn0 pin
INTTPnCC0 signal
CCR0 buffer register
Transfer
TPnCCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 279 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-39. Basic Timing of Operations in One-Shot Pulse Output Mode
FFFFH
D0
16-bit counter
D1
D0
D1
D0
D1
0000H
TPnCE bit
External trigger input
(TIPn0 pin input)
D0
TPnCCR0 register
INTTPnCC0 signal
TOPn0 pin outputNote
D1
TPnCCR1 register
INTTPnCC1 signal
TOPn1 pin output
Wait Delay
for
(D1)
trigger
Active
level width
(D0 − D1 + 1)
Delay
(D1)
Active
Delay
level width (D1)
(D0 − D1 + 1)
Active
level width
(D0 − D1 + 1)
Note The output from the TOPn0 pin can also be used as the input to the TIPn0 pin. When using the output
from the TOPn0 pin as the input to the TIPn0 pin, use a software trigger instead of an external trigger.
When the TPnCE bit is set to 1, TMPn waits for a trigger. When the trigger is generated, the 16-bit counter is cleared
from FFFFH to 0000H, starts incrementing, and outputs a one-shot pulse from the TOPn1 pin. After the one-shot pulse is
output, the 16-bit counter is set to 0000H, stops incrementing, and waits for a trigger. If a trigger is generated again while
the one-shot pulse is being output, it is ignored.
The output delay period and active level width of the one-shot pulse can be calculated as follows:
Output delay period = (Set value of TPnCCR1 register) Count clock cycle
Active level width = (Set value of TPnCCR0 register Set value of TPnCCR1 register + 1) Count clock cycle
The INTTPnCC0 compare match interrupt request signal is generated when the 16-bit counter increments next time
after its value matches the value of the CCR0 buffer register. The INTTPnCC1 compare match interrupt request signal is
generated when the value of the 16-bit counter matches the value of the CCR1 buffer register.
Either the valid edge of the external trigger input signal or setting the software trigger (TPnCTL1.TPnEST bit) to 1 is
used as the trigger.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 280 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-40. Register Settings in One-Shot Pulse Output Mode (1/2)
(a) TMPn control register 0 (TPnCTL0)
TPnCE
TPnCTL0
TPnCKS2 TPnCKS1 TPnCKS0
0/1
0
0
0
0
0/1
0/1
0/1
These bits select
the count clock.
0: Stop counting
1: Enable counting
(b) TMPn control register 1 (TPnCTL1)
TPnEST TPnEEE
TPnCTL1
0
0/1
0
TPnMD2 TPnMD1 TPnMD0
0
0
0
1
1
0, 1, 1:
One-shot pulse output mode
Writing 1 generates a
software trigger.
(c) TMPn I/O control register 0 (TPnIOC0)
TPnOL1
TPnIOC0
0
0
0
0
0/1
TPnOE1 TPnOL0
0/1
Note
0/1
TPnOE0
0/1Note
0: Disable TOPn0 pin output.
1: Enable TOPn0 pin output.
Output level when TOPn0
pin is disabled:
0: Low level
1: High level
0: Disable TOPn1 pin output
1: Enable TOPn1 pin output
Active level of TOPn1 pin
output:
0: High level
1: Low level
• When TPnOL1 bit is 0:
• When TPnOL1 bit is 1:
16-bit counter
16-bit counter
TOPn1 pin output
TOPn1 pin output
Note Set this bit to 0 when not using the TOPn0 pin in the one-shot pulse output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 281 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-40. Register Settings in One-Shot Pulse Output Mode (2/2)
(d) TMPn I/O control register 2 (TPnIOC2)
TPnEES1 TPnEES0 TPnETS1 TPnETS0
TPnIOC2
0
0
0
0
0
0
0/1
0/1
These bits select the
valid edge of the external
trigger input.
(e) TMPn counter read buffer register (TPnCNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMPn capture/compare registers 0 and 1 (TPnCCR0 and TPnCCR1)
If the TPnCCR0 register is set to D0 and the TPnCCR1 register is set to D1, the one-shot pulse is as
follows:
One-shot pulse active level width = (D0 D1 + 1) Count clock cycle
One-shot pulse output delay period = D1 Count clock cycle
Caution
One-shot pulses are not output from the TOPn1 pin in the one-shot pulse output mode if
the value of the TPnCCR1 register is greater than the value of the TPnCCR0 register.
Remark
TMPn I/O control register 1 (TPnIOC1) and TMPn option register 0 (TPnOPT0) are not used
in the one-shot pulse output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 282 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operations in one-shot pulse output mode
Figure 7-41. Timing and Processing of Operations in One-Shot Pulse Output Mode
FFFFH
D00
D01
16-bit counter
D10
D11
0000H
TPnCE bit
External trigger input
(TIPn0 pin input)
TPnCCR0 register
D00
D01
D10
D11
INTTPnCC0 signal
TPnCCR1 register
INTTPnCC1 signal
TOPn1 pin output
Starting counting
Changing the TPnCCR0 and
TPnCCR1 register settings
START
Set the TPnCCR0 and TPnCCR1
registers
Set up the registers
TPnCTL0 register
(TPnCKS0 to TPnCKS2 bits)
TPnCTL1 register
TPnIOC0 register
TPnIOC2 register
TPnCCR0 register
TPnCCR1 register
Be sure to set up these
registers before setting
the TPnCE bit to 1.
Stopping counting
TPnCE bit = 0
TPnCE bit = 1
Because the TPnCCRa
register value will be
transferred to the CCRa
buffer register as soon
as the TPnCCRa register
is rewritten, it is
recommended to rewrite
the TPnCCRa register
immediately after the
INTTPnCCR0 signal is
generated.
Disables counting.
Counting starts.
The TPnCKS0 to TPnCKS2
bits can be set here.
Waiting for trigger.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 283 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Using one-shot pulse mode
(a) Rewriting the TPnCCRa register
When rewriting the value of the TPnCCRa register to a smaller value, stop counting first and then change the
set value.
When changing the value of the TPnCCR0 register from D00 to D01 and the value of the TPnCCR1 register from
D10 to D11, if the registers are rewritten under any of the following conditions, a one-shot pulse will not be output
as expected.
Condition 1 When rewriting the TPnCCR0 register, if:
D00 > D01 or,
D00 < 16-bit counter value < D01
In the case of condition 1, the 16-bit counter will not be cleared and will overflow in the cycle in which the
new value is being written. The counter will be cleared for the first time at the newly written value (D01).
Condition 2 When rewriting the TPnCCR1 register, if:
D10 > D11 or,
D10 < 16-bit counter value < D11
In the case of condition 2, the TOPn1 pin output cannot be inverted to the active level in the cycle in which
the new value is being written.
An example of what happens when condition 1 and condition 2 are satisfied in the same cycle is shown in
Figure 7-42.
The 16-bit counter increments up to FFFFH, overflows, and starts incrementing again from 0000H.
When the 16-bit counter value matches D11, the INTTPnCC1 signal is generated and the TOPn1 pin output is
set to the active level. Subsequently, when the 16-bit counter value matches D01, the INTTPnCC0 signal is
generated, the TOPn1 pin output is set to the inactive level, and the counter stops incrementing.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 284 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-42. Rewriting TPnCCRa Register
FFFFH
D00
16-bit counter
D00
D10
D10
D00
D10
D01
D11
0000H
TPnCE bit
External trigger input
(TIPn0 pin input)
TPnCCR0 register
(CCR0 buffer register)
D00
D01
INTTPnCC0 signal
TOPn0 pin outputNote
TPnCCR1 register
(CCR1 buffer register)
D10
D11
INTTPnCC1 signal
TOPn1 pin output
Delay
(D10)
Active level width
(D00 − D10 + 1)
Delay
(D10)
Active level width
(D00 − D10 + 1)
Delay
(10000H + D11)
Active level width
(D01 − D11 + 1)
Note The output from the TOPn0 pin can also be used as the input to the TIPn0 pin. When using the
output from the TOPn0 pin as the input to the TIPn0 pin, use a software trigger instead of an
external trigger.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 285 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Timing of generating the compare match interrupt request signal (INTTPnCC1)
In the one-shot pulse output mode, the INTTPnCC1 signal is generated when the value of the 16-bit counter
matches the value of the TPnCCR1 register.
Figure 7-43. Timing of Generating Compare Match Interrupt Signal (INTTPnCC1)
Count clock
16-bit counter
TPnCCR1 register
D1 − 2
D1 − 1
D1
D1 + 1
D1 + 2
D1
TOPn1 pin output
INTTPnCC1 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 286 of 1210
V850ES/JG3-L
7.4.5
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
PWM output mode (TPnMD2 to TPnMD0 bits = 100)
In the PWM output mode, when the TPnCTL0.TPnCE bit is set to 1, TMPn outputs a PWM waveform from the TOPn1
pin.
A pulse that has one cycle of the PWM waveform as half its cycle can also be output from the TOPn0 pin.
Remarks 1. For how to set the TIPn0, TOPn0, and TOPn1 pins, see Table 7-2 Pins Used by TMPn and Table 4-15
Settings When Pins Are Used for Alternate Functions.
2. For how to enable the INTTPnCC0 and INTTPnCC1 interrupt signals, see CHAPTER 22 INTERRUPT
SERVICING/EXCEPTION PROCESSING FUNCTION.
Figure 7-44. Configuration of TMPn in PWM Output Mode
TPnCCR1 register
CCR1 buffer register
Transfer
Output
S
controller
R (RS-FF)
Match signal
TOPn1 pin
INTTPnCC1 signal
Clear
Count
clock
selection
16-bit counter
Output
controller
Match signal
TPnCE bit
TOPn0 pin
INTTPnCC0 signal
CCR0 buffer register
Transfer
TPnCCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 287 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-45. Basic Timing of Operations in PWM Output Mode
FFFFH
D01
16-bit counter
D00
D10
D00
D10
D00
D10
D11
D01
D11
0000H
TPnCE bit
TPnCCR0 register
D00
CCR0 buffer register
D01
D00
D01
NTTPnCC0 signal
TOPn0 pin output
D10
TPnCCR1 register
D11
D10
CCR1 buffer register
D11
INTTPnCC1 signal
TOPn1 pin output
Active period
(D10)
Cycle
(D00 + 1)
Inactive period
(D00 − D10 + 1)
When the TPnCE bit is set to 1, the 16-bit counter is cleared from FFFFH to 0000H, starts incrementing, and outputs a
PWM waveform from the TOPn1 pin.
The active level width, cycle, and duty factor of the PWM waveform can be calculated as follows:
Active level width = (Set value of TPnCCR1 register) Count clock cycle
Cycle = (Set value of TPnCCR0 register + 1) Count clock cycle
Duty factor = (Set value of TPnCCR1 register)/(Set value of TPnCCR0 register + 1)
The PWM waveform can be changed by rewriting the TPnCCRa register while the counter is incrementing. The newly
written value is reflected when the value of the 16-bit counter matches the value of the CCR0 buffer register and the 16-bit
counter is cleared to 0000H.
The INTTPnCC0 compare match interrupt request signal is generated when the 16-bit counter increments next time
after its count value matches the value of the CCR0 buffer register, and the 16-bit counter is cleared to 0000H. The
INTTPnCC1 compare match interrupt request signal is generated when the value of the 16-bit counter matches the value
of the CCR1 buffer register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 288 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-46. Register Settings in PWM Output Mode (1/2)
(a) TMPn control register 0 (TPnCTL0)
TPnCE
TPnCTL0
TPnCKS2 TPnCKS1 TPnCKS0
0/1
0
0
0
0
0/1
0/1
0/1
These bits select
the count clockNote 1.
0: Stop counting.
1: Enable counting.
(b) TMPn control register 1 (TPnCTL1)
TPnEST TPnEEE
TPnCTL1
0
0
0/1
TPnMD2 TPnMD1 TPnMD0
0
0
1
0
0
1, 0, 0:
PWM output mode
0: Operate TMPn on count
clock selected by using
TPnCKS0 to TPnCKS2 bits.
1: Increment TMPn based on
external event count input
signal.
(c) TMPn I/O control register 0 (TPnIOC0)
TPnOL1
TPnIOC0
0
0
0
0
0/1
TPnOE1 TPnOL0
TPnOE0
0/1Note 2
0/1Note 2
0/1
0: Disable TOPn0 pin output.
1: Enable TOPn0 pin output.
Output level when TOPn0
pin is disabled:
0: Low level
1: High level
0: Disable TOPn1 pin output.
1: Enable TOPn1 pin output.
Active level of TOPn1 pin
output:
0: High level
1: Low level
• When TPnOL1 bit is 0:
• When TPnOL1 bit is 1:
16-bit counter
16-bit counter
TOPn1 pin output
TOPn1 pin output
Notes 1. The setting of these bits is invalid when the TPnCTL1.TPnEEE bit is 1.
2. Set this bit to 0 when not using the TOPn0 pin in the PWM output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 289 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-46. Register Settings in PWM Output Mode (2/2)
(d) TMPn I/O control register 2 (TPnIOC2)
TPnEES1 TPnEES0 TPnETS1 TPnETS0
TPnIOC2
0
0
0
0
0/1
0/1
0
0
These bits select the
valid edge of the
external trigger input.
(e) TMPn counter read buffer register (TPnCNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMPn capture/compare registers 0 and 1 (TPnCCR0 and TPnCCR1)
If the TPnCCR0 register is set to D0 and the TPnCCR1 register is set to D1, the PWM waveform is as
follows:
PWM waveform cycle = (D0 + 1) Count clock cycle
PWM waveform active level width = D1 Count clock cycle
Remark
TMPn I/O control register 1 (TPnIOC1) and TMPn option register 0 (TPnOPT0) are not used in
the PWM output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 290 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operations in PWM output mode
Figure 7-47. Timing and Processing of Operations in PWM Output Mode (1/2)
FFFFH
D01
16-bit counter
D00
D01
D00
D10
D10
D01
D11
D11
D10
D00
D10
0000H
TPnCE bit
TPnCCR0 register
D00
CCR0 buffer register
D01
D00
D00
D01
D00
INTTPnCC0 signal
TOPn0 pin output
D10
TPnCCR1 register
D10
D10
CCR1 buffer register
D11
D10
D10
D11
D10
INTTPnCC1 signal
TOPn1 pin output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 291 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-47. Timing and Processing of Operations in PWM Output Mode (2/2)
Starting counting
Changing the duty
Only the TPnCCR1 register
has to be written when only
changing the duty setting.
START
Set the TPnCCR1 register
Set up the registers
TPnCTL0 register
(TPnCKS0 to TPnCKS2 bits)
TPnCTL1 register
TPnIOC0 register
TPnIOC2 register
TPnCCR0 register
TPnCCR1 register
TPnCE bit = 1
Be sure to set up these
registers before setting
the TPnCE bit to 1.
After setting this register,
the values of the TPnCCRa
registers are transferred to
the CCRa buffer registers
when the counter is cleared.
Changing both the cycle and the duty
When changing both the cycle and the
duty, do so in the order of cycle setting
then duty setting.
Counting starts.
The TPnCKS0 to
TPnCKS2 bits can
be set here.
Set the TPnCCR0 register
After setting these registers,
their values are transferred
to the CCRa buffer registers
when the counter is cleared.
Set the TPnCCR1 register
Changing the cycle
The TPnCCR1 register must
be written even when only
changing the cycle setting.
Stopping counting
TPnCE bit = 0
Set the TPnCCR0 register
Set the TPnCCR1 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
After setting these
registers, their values
are transferred to the
CCRa buffer registers
when the counter is cleared.
Disables counting.
STOP
Page 292 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Using PWM output mode
(a) Changing the PWM waveform while the counter is incrementing
To change the PWM waveform while the counter is incrementing, write to the TPnCCR1 register after changing
the waveform setting. When rewriting the TPnCCRa register after writing to the TPnCCR1 register, do so after
the INTTPnCC0 signal has been detected.
Figure 7-48. Changing PWM Waveform While Counter Is Incrementing
FFFFH
D01
16-bit counter
D00
D10
D00
D10
D00
D10
D11
D01
D11
0000H
TPnCE bit
TPnCCR0 register
D00
CCR0 buffer register
TPnCCR1 register
CCR1 buffer register
D01
D00
D10
D10
D01
D11
D11
TOPn1 pin output
INTTPnCC0 signal
In order to transfer data from the TPnCCRa register to the CCRa buffer register, the TPnCCR1 register must be
written.
After data is written to the TPnCCR1 register, the value written to the TPnCCRa register is transferred to the
CCRa buffer register in synchronization with clearing of the 16-bit counter, and is used as the value to be
compared with the 16-bit counter value.
To change both the cycle and active level width of the PWM waveform, first set the cycle to the TPnCCR0
register and then set the active level width to the TPnCCR1 register.
To change only the cycle of the PWM waveform, first set the cycle to the TPnCCR0 register, and then
write the same value to the TPnCCR1 register (that is, the same value as the value already specified for
the TPnCCR1 register).
To change only the active level width (duty factor) of the PWM waveform, only the TPnCCR1 register has
to be set.
Caution
To rewrite the TPnCCR0 or TPnCCR1 register after writing the TPnCCR1 register, do so after
the INTTPnCC0 signal has been generated; otherwise, the value of the CCRa buffer register
may become undefined because the timing of transferring data from the TPnCCRa register to
the CCRa buffer register conflicts with writing the TPnCCRa register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 293 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Outputting a 0% or 100% PWM waveform
To output a 0% waveform, clear the TPnCCR1 register to 0000H.
Figure 7-49. Outputting 0% PWM Waveform
Count clock
16-bit counter
FFFF
0000
D00 − 1
D00
0000
0001
D00 − 1
D00
0000
TPnCE bit
TPnCCR0 register
D00
D00
D00
TPnCCR1 register
0000H
0000H
0000H
INTTPnCC0 signal
INTTPnCC1 signal
TOPn1 pin output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 294 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
To output a 100% waveform, set the value of TPnCCR0 register + 1 to the TPnCCR1 register. If the value of
the TPnCCR0 register is FFFFH, a 100% waveform cannot be output.
Figure 7-50. Outputting 100% PWM Waveform
Count clock
16-bit counter
FFFF
0000
D00 − 1
D00
0000
D00 − 1
0001
D00
0000
TPnCE bit
TPnCCR0 register
D00
D00
D00
TPnCCR1 register
D00 + 1
D00 + 1
D00 + 1
INTTPnCC0 signal
INTTPnCC1 signal
TOPn1 pin output
(c) Timing of generating the compare match interrupt request signal (INTTPnCC1)
In the PWM output mode, the INTTPnCC1 signal is generated when the value of the 16-bit counter matches
the value of the TPnCCR1 register.
Figure 7-51. Timing of Generating Compare Match Interrupt Signal (INTTPnCC1)
Count clock
16-bit counter
TPnCCR1 register
D1 − 2
D1 − 1
D1
D1 + 1
D1 + 2
D1
TOPn1 pin output
INTTPnCC1 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 295 of 1210
V850ES/JG3-L
7.4.6
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Free-running timer mode (TPnMD2 to TPnMD0 bits = 101)
In the free-running timer mode, TMPn starts incrementing when the TPnCTL0.TPnCE bit is set to 1. At this time, the
TPnCCRa register can be used as a compare register or a capture register, according to the setting of the
TPnOPT0.TPnCCS0 and TPnOPT0.TPnCCS1 bits.
Remarks 1. For how to set the TIPn0, TIPn1, TOPn0, and TOPn1 pins, see Table 7-2 Pins Used by TMPn and Table
4-15 Settings When Pins Are Used for Alternate Functions.
2. For how to enable the INTTPnCC0 and INTTPnCC1 interrupt signals, see CHAPTER 22 INTERRUPT
SERVICING/EXCEPTION PROCESSING FUNCTION.
Figure 7-52. Configuration of TMPn in Free-Running Timer Mode
TPnCCR1 register
(compare)
TPnCCR0 register
(compare)
Output
controller
TOPn1Note 2 pin output
Output
controller
TOPn0Note 1 pin output
TPnCCS0, TPnCCS1 bits
(capture/compare selection)
Internal count clock
TIPn0Note 1 pin
(external event
count input/
capture
trigger input)
Edge
detector
Count
clock
selection
0
TPnCE bit
INTTPnCC1 signal
1
Edge
detector
0
TPnCCR0 register
(capture)
TIPn1Note 2 pin
(capture
trigger input)
INTTPnOV signal
16-bit counter
INTTPnCC0 signal
1
Edge
detector
TPnCCR1 register
(capture)
Notes 1. The external event count input/capture trigger input pin (TIPn0) can also be used as the timer
output pin (TOPn0); however, only one of these functions can be used at a time.
2. The capture trigger input pin (TIPn1) can also be used as the timer output pin (TOPn1);
however, only one of these functions can be used at a time.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 296 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Compare operation
When the TPnCE bit is set to 1, TMPn starts incrementing, and the output signals of the TOPn0 and TOPn1 pins are
inverted. When the value of the 16-bit counter later matches the set value of the TPnCCRa register, a compare
match interrupt request signal (INTTPnCCa) is generated, and the output signal of the TOPna pin is inverted.
The 16-bit counter continues incrementing in synchronization with the count clock. Once the counter reaches
FFFFH, it generates an overflow interrupt request signal (INTTPnOV) at the next clock, is cleared to 0000H, and
continues incrementing. At this time, the overflow flag (the TPnOPT0.TPnOVF bit) is also set to 1. The overflow flag
must be cleared to 0 by executing a CLR1 software instruction.
The TPnCCRa register can be rewritten while the counter is incrementing. If it is rewritten, the new value is
immediately applied, and compared with the count value.
Figure 7-53. Basic Timing of Operations in Free-Running Timer Mode (Compare Function)
FFFFH
D00
D00
D01
16-bit counter
D10
D10
D11
D01
D11
D11
0000H
TPnCE bit
TPnCCR0 register
D00
D01
INTTPnCC0 signal
TOPn0 pin output
TPnCCR1 register
D10
D11
INTTPnCC1 signal
TOPn1 pin output
INTTPnOV signal
TPnOVF bit
Cleared to 0 by Cleared to 0 by Cleared to 0 by Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction CLR1 instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 297 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Capture operation
When the TPnCE bit is set to 1, the 16-bit counter starts incrementing. When it is detected that a valid edge as been
input to the TIPna pin, the value of the 16-bit counter is stored in the TPnCCRa register, and a capture interrupt
request signal (INTTPnCCa) is generated.
The 16-bit counter continues incrementing in synchronization with the count clock. When the counter reaches
FFFFH, it generates an overflow interrupt request signal (INTTPnOV) at the next clock, is cleared to 0000H, and
continues incrementing. At this time, the overflow flag (the TPnOPT0.TPnOVF bit) is also set to 1. The overflow flag
must be cleared to 0 by executing a CLR1 software instruction.
Figure 7-54. Basic Timing of Operations in Free-Running Timer Mode (Capture Function)
FFFFH
D10
D00
D11
D12
D13
D01
16-bit counter
D02
D03
0000H
TPnCE bit
TIPn0 pin input
TPnCCR0 register
D00
D01
D02
D03
INTTPnCC0 signal
TIPn1 pin input
D10
TPnCCR1 register
D11
D12
D13
INTTPnCC1 signal
INTTPnOV signal
TPnOVF bit
Cleared to 0 by Cleared to 0 by Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction
Remark
The valid edge is the rising edge.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 298 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-55. Register Settings in Free-Running Timer Mode (1/2)
(a) TMPn control register 0 (TPnCTL0)
TPnCE
TPnCTL0
0/1
TPnCKS2 TPnCKS1 TPnCKS0
0
0
0
0
0/1
0/1
0/1
These bits select
the count clockNote.
0: Stop counting.
1: Enable counting.
Note The setting of these bits is invalid when the TPnCTL1.TPnEEE bit is 1.
(b) TMPn control register 1 (TPnCTL1)
TPnEST TPnEEE
TPnCTL1
0
0
Note
0/1
TPnMD2 TPnMD1 TPnMD0
0
0
1
0
1
1, 0, 1:
Free-running timer mode
0: Operate TMPn on count
clock selected by using
TPnCKS0 to TPnCKS2 bits.
1: Increment TMPn based on
external event count input
signal.
Note The capture function of the TIPn0 pin cannot be used if the TPnCTL1.TPnEEE bit is 1.
(c) TMPn I/O control register 0 (TPnIOC0)
TPnIOC0
0
0
0
0
TPnOL1
TPnOE1 TPnOL0
TPnOE0
0/1Note 1
0/1Note 1
0/1Note 2
0/1Note 2
0: Disable TOPn0 pin output.
1: Enable TOPn0 pin output.
Output level when TOPn0
pin is disabled:
0: Low level
1: High level
0: Disable TOPn1 pin output.
1: Enable TOPn1 pin output.
Output level when TOPn1 pin
is disabled:
0: Low level
1: High level
Notes 1. The TOPn1 pin cannot be used when the TIPn1 pin is being used.
2. The TOPn0 pin cannot be used when the TIPn0 pin is being used.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 299 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-55. Register Settings in Free-Running Timer Mode (2/2)
(d) TMPn I/O control register 1 (TPnIOC1)
TPnIOC1
0
0
0
TPnIS3
TPnIS2
TPnIS1
TPnIS0
0/1
0/1
0/1
0/1
0
These bits select the valid
edge of the TIPn0 pin input.
These bits select the valid
edge of the TIPn1 pin input.
(e) TMPn I/O control register 2 (TPnIOC2)
TPnEES1 TPnEES0 TPnETS1 TPnETS0
TPnIOC2
0
0
0
0
0/1
0/1
0
0
These bits select the valid
edge of the external event
count input.
(f) TMPn option register 0 (TPnOPT0)
TPnCCS1 TPnCCS0
TPnOPT0
0
0
0/1
0/1
TPnOVF
0
0
0
0/1
Overflow flag
Specifies whether TPnCCR0
register is used for capture
or compare.
Specifies whether TPnCCR1
register is used for capture
or compare.
(g) TMPn counter read buffer register (TPnCNT)
The value of the 16-bit counter can be read by reading this register.
(h) TMPn capture/compare registers 0 and 1 (TPnCCR0 and TPnCCR1)
These registers function as capture registers or compare registers according to the setting of the
TPnOPT0.TPnCCSa bit.
When the registers function as capture registers, they store the value of the 16-bit counter when it is
detected that a valid edge has been input to the TIPna pin, after which the INTTPnCCa signal is
generated.
When the registers function as compare registers and when the TPnCCRa register is set to Da, the
INTTPnCCa signal is generated the when the counter reaches (Da + 1), and the output signal of the
TOPna pin is inverted.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 300 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operations in free-running timer mode
The following two operations occur in the free-running timer mode:
Capture operations
Compare operations
(a) Using a capture/compare register as a compare register
Figure 7-56. Timing and Processing of Operations in Free-Running Timer Mode (Compare Function) (1/2)
FFFFH
D00
D00
D01
16-bit counter
D10
D10
D11
D01
D11
D11
0000H
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D00
D01
INTTPnCC0 signal
TOPn0 pin output
TPnCCR1 register
(CCR1 buffer register)
D10
D11
INTTPnCC1 signal
TOPn1 pin output
INTTPnOV signal
TPnOVF bit
Cleared to 0 by Cleared to 0 by
Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 301 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-56. Timing and Processing of Operations in Free-Running Timer Mode (Compare Function) (2/2)
Starting counting
START
Set up the registers
TPnCTL0 register
(TPnCKS0 to TPnCKS2 bits)
TPnCTL1 register
TPnIOC0 register
TPnIOC2 register
TPnOPT0 register
TPnCCR0 register
TPnCCR1 register
TPnCE bit = 1
Be sure to set up these registers
before setting the TPnCE bit to 1.
Counting starts.
The TPnCKS0 to TPnCKS2 bits can
be set here.
Clearing overflow flag
Read TPnOPT0 register
(check overflow flag)
TPnOVF bit = 1
NO
YES
Execute instruction to clear
TPnOVF bit (CLR1 TPnOVF)
Stopping counting
TPnCE bit = 0
When counting is disabled
(TPnCE bit = 0), the counter
is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 302 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Using a capture/compare register as a capture register
Figure 7-57. Timing and Processing of Operations in Free-Running Timer Mode (Capture Function) (1/2)
FFFFH
D10
D00
D11
D12
D01
16-bit counter
D02
D03
0000H
TPnCE bit
TIPn0 pin input
TPnCCR0 register
(CCR0 buffer register)
0000
D00
D01
D02
D03
0000
INTTPnCC0 signal
TIPn1 pin input
TPnCCR1 register
(CCR1 buffer register)
0000
D10
D11
D12
0000
INTTPnCC1 signal
INTTPnOV signal
TPnOVF bit
Cleared to 0 by Cleared to 0 by
CLR1 instruction CLR1 instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 303 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-57. Timing and Processing of Operations in Free-Running Timer Mode (Capture Function) (2/2)
Starting counting
START
Set up the registers
TPnCTL0 register
(TPnCKS0 to TPnCKS2 bits)
TPnCTL1 register
TPnIOC1 register
TPnOPT0 register
TPnCE bit = 1
Be sure to set up these registers
before setting the TPnCE bit to 1.
Counting starts.
The TPnCKS0 to TPnCKS2 bits can
be set here.
Clearing overflow flag
Read TPnOPT0 register
(check overflow flag)
TPnOVF bit = 1
NO
YES
Execute instruction to clear
TPnOVF bit (CLR1 TPnOVF)
Stopping counting
TPnCE bit = 0
When counting is disabled
(TPnCE bit = 0), the counter
is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 304 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Using free-running timer mode
(a) Interval operation using the TPnCCRa register as a compare register
When TMPn is used as an interval timer with the TPnCCRa register used as a compare register, the
comparison value at which the next interrupt request signal is generated each time the INTTPnCCa signal has
been detected must be set by software.
Figure 7-58. Interval Operation of TMPn in Free-Running Timer Mode
FFFFH
D02
D10
D00
D11
16-bit counter
D03
D12
D01
D13
0000H
D04
TPnCE bit
TPnCCR0 register
(CCR0 buffer register)
D00
D01
D02
D03
D04
D05
INTTPnCC0 signal
TOPn pin output
Interval period Interval period Interval period Interval period Interval period
(D00 + 1)
(10000H +
(D02 − D01)
(10000H +
(10000H +
D01 − D00)
D03 − D02)
D04 − D03)
TPnCCR1 register
(CCR1 buffer register)
D10
D11
D12
D13
D14
INTTPnCC1 signal
TOPn1 pin output
Interval period Interval period Interval period Interval period
(D10 + 1)
(10000H +
(10000H +
(10000H +
D11 − D10)
D12 − D11)
D13 − D12)
When performing an interval operation in the free-running timer mode, two intervals can be set for one channel.
To perform the interval operation, the value of the corresponding TPnCCRa register must be set again in the
interrupt servicing that is executed when the INTTPnCCa signal is detected.
The value to be set in this case can be calculated by the following expression, where “Da” is the interval period.
Compare register default value: Da 1
Value set to compare register second and subsequent time: Previous set value + Da
(If the calculation result is greater than FFFFH, subtract 10000H from the result and set the register to this
value.)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 305 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Pulse width measurement using the TPnCCRa register as a capture register
When pulse width measurement is performed with the TPnCCRa register used as a capture register, each time
the INTTPnCCa signal has been detected, the capture register must be read and the interval must be
calculated by software.
Figure 7-59. Pulse Width Measurement by TMPn in Free-Running Timer Mode
FFFFH
D02
D10
D00
D11
16-bit counter
D03
D12
D01
D13
0000H
D04
TPnCE bit
TIPn0 pin input
TPnCCR0 register
(CCR0 buffer register)
0000H
D00
D01
D02
D03
D04
INTTPnCC0 signal
Pulse interval Pulse interval Pulse interval Pulse interval Pulse interval
(D00)
(10000H +
(D02 − D01)
(10000H +
(10000H +
D01 − D00)
D03 − D02)
D04 − D03)
TIPn1 pin input
TPnCCR1 register
(CCR1 buffer register)
0000H
D10
D11
D12
D13
INTTPnCC1 signal
Pulse interval Pulse interval Pulse interval Pulse interval
(D10)
(10000H +
(10000H +
(10000H +
D11 − D10)
D12 − D11)
D13 − D12)
INTTPnOV signal
TPnOVF bit
Cleared to 0 by Cleared to 0 by Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction
When executing pulse width measurement in the free-running timer mode, two pulse widths can be measured
for one channel.
When measuring a pulse width, the pulse width can be calculated by reading the value of the TPnCCRa
register in synchronization with the INTTPnCCa signal, and calculating the difference between that value and
the previously read value.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 306 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Processing an overflow when two capture registers are used
Care must be exercised in processing the overflow flag when two capture registers are used. First, an example
of incorrect processing is shown below.
Figure 7-60. Example of Incorrect Processing When Two Capture Registers Are Used
FFFFH
D11
D10
16-bit counter
D01
D00
0000H
TPnCE bit
TIPn0 pin input
TPnCCR0 register
D01
D00
TIPn1 pin input
D11
D10
TPnCCR1 register
INTTPnOV signal
TPnOVF bit
The following problem may occur when two pulse widths are measured in the free-running timer mode.
The TPnCCR0 register is read (the default value of the TIPn0 pin input is set).
The TPnCCR1 register is read (the default value of the TIPn1 pin input is set).
The TPnCCR0 register is read.
The TPnOVF bit is read. If the TPnOVF bit is 1, it is cleared to 0.
Because the TPnOVF bit is 1, the pulse width can be calculated by (10000H + D01 D00).
The TPnCCR1 register is read.
The TPnOVF bit is read. Because the bit was cleared in , 0 is read.
Because the TPnOVF bit is 0, the pulse width can be calculated by (D11 D10) (incorrect).
When two capture registers are used, and if the overflow flag is cleared to 0 by one capture register, the other
capture register may not obtain the correct pulse width.
This problem can be resolved by using software, as shown in the example below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 307 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-61. Example of Resolving Problem When Two Capture Registers Are Used By Using Overflow Interrupt
FFFFH
D11
D10
16-bit counter
D01
D00
0000H
TPnCE bit
INTTPnOV signal
TPnOVF bit
TPnOVF0 flagNote
TIPn0 pin input
D01
D00
TPnCCR0 register
TPnOVF1 flagNote
TIPn1 pin input
D11
D10
TPnCCR1 register
Note The TPnOVF0 and TPnOVF1 flags are set on the internal RAM by software.
The TPnCCR0 register is read (the default value of the TIPn0 pin input is set).
The TPnCCR1 register is read (the default value of the TIPn1 pin input is set).
An overflow occurs. The TPnOVF0 and TPnOVF1 flags are set to 1 in the overflow interrupt
servicing, and the TPnOVF bit is cleared to 0.
The TPnCCR0 register is read.
The TPnOVF0 flag is read. The TPnOVF0 flag is 1, so it is cleared to 0.
Because the TPnOVF0 flag was 1, the pulse width can be calculated by (10000H + D01 D00).
The TPnCCR1 register is read.
The TPnOVF1 flag is read. The TPnOVF1 flag is 1, so it is cleared to 0 (the TPnOVF0 flag was
cleared in ; the TPnOVF1 flag remained 1).
Because the TPnOVF1 flag is 1, the pulse width can be calculated by (10000H + D11 D10) (correct).
Same as .
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 308 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-62. Example of Resolving Problem When Two Capture Registers Are Used Without Using Overflow
Interrupt
FFFFH
D11
D10
16-bit counter
D01
D00
0000H
TPnCE bit
INTTPnOV signal
TPnOVF bit
TPnOVF0 flagNote
TIPn0 pin input
D01
D00
TPnCCR0 register
TPnOVF1 flagNote
TIPn1 pin input
D11
D10
TPnCCR1 register
Note The TPnOVF0 and TPnOVF1 flags are set on the internal RAM by software.
The TPnCCR0 register is read (the default value of the TIPn0 pin input is set).
The TPnCCR1 register is read (the default value of the TIPn1 pin input is set).
An overflow occurs. There is no software processing.
The TPnCCR0 register is read.
The TPnOVF bit is read. The TPnOVF bit is 1, so only the TPnOVF1 flag is set (to 1); the TPnOVF
bit is cleared to 0.
Because the TPnOVF bit is 1, the pulse width can be calculated by (10000H + D01 D00).
The TPnCCR1 register is read.
The TPnOVF bit is read. The TPnOVF bit was cleared to 0 in , so 0 is read.
The TPnOVF1 flag is read. The TPnOVF1 flag is 1, so it is cleared to 0.
Because the TPnOVF1 flag was 1, the pulse width can be calculated by (10000H + D11 D10)
(correct).
Same as .
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 309 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(d) Processing of overflow if capture trigger interval is long
If the pulse width is greater than one cycle of the 16-bit counter, care must be exercised because an overflow
may occur more than once between the first capture trigger and the next. First, an example of incorrect
processing is shown below.
Figure 7-63. Example of Incorrect Processing When Capture Trigger Interval Is Long (When Using TIPn0)
FFFFH
Dm0
16-bit counter
Dm1
0000H
TPnCE bit
TIPn0 pin input
TPnCCR0 register
Dm0
Dm1
INTTPnOV signal
TPnOVF bit
1 cycle of 16-bit counter
Pulse width
The following problem may occur when long pulse width is measured in the free-running timer mode.
The TPnCCR0 register is read (the default value of the TIPn0 pin input is set).
An overflow occurs. There is no software processing.
An overflow occurs a second time. There is no software processing.
The TPnCCR0 register is read.
The TPnOVF bit is read. The TPnOVF bit is 1, so it is cleared to 0.
Because the TPnOVF bit was 1, the pulse width can be calculated by (10000H + Da1 Da0)
(incorrect).
Actually, the pulse width should be (20000H + Da1 Da0) because an overflow occurred twice.
If an overflow occurs twice or more when the capture trigger interval is long, the correct pulse width may not be
obtained.
If the capture trigger interval is long, slow the count clock to lengthen one cycle of the 16-bit counter, or use
software to resolve the problem. An example of how to use software to resolve the problem is shown below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 310 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-64. Example of Using Software Processing to Resolve Problem When Capture Trigger Interval Is Long
(When Using TIPn0)
FFFFH
Dm0
16-bit counter
Dm1
0000H
TPnCE bit
TIPn0 pin input
TPnCCR0 register
Dm0
Dm1
INTTPnOV signal
TPnOVF bit
Overflow
counterNote
0H
1H
2H
0H
1 cycle of 16-bit counter
Pulse width
Note The overflow counter is set on the internal RAM by software.
The TPnCCR0 register is read (the default value of the TIPn0 pin input is set).
An overflow occurs. The overflow counter is incremented and the TPnOVF bit is cleared to 0 in the
overflow interrupt servicing.
An overflow occurs a second time. The overflow counter is incremented and the TPnOVF bit is
cleared to 0 in the overflow interrupt servicing.
The TPnCCR0 register is read.
The overflow counter is read.
If the overflow counter is N, the pulse width can be calculated by (N 10000H + Da1 Da0).
In this example, because an overflow occurred twice, the pulse width is calculated as (20000H +
Da1 Da0).
The overflow counter is cleared to 0H.
(e) Clearing the overflow flag (TPnOVF)
The overflow flag (TPnOVF) can be cleared to 0 by reading the TPnOVF bit and, if its value is 1, either clearing
the bit to 0 by using the CLR1 instruction or by writing 8-bit data (with bit 0 as 0) to the TPnOPT0 register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 311 of 1210
V850ES/JG3-L
7.4.7
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Pulse width measurement mode (TPnMD2 to TPnMD0 bits = 110)
In the pulse width measurement mode, TMPn starts incrementing when the TPnCTL0.TPnCE bit is set to 1. Each time
it is detected that a valid edge has been input to the TIPna pin, the value of the 16-bit counter is stored in the TPnCCRa
register, and the 16-bit counter is cleared to 0000H.
The interval of the valid edge can be measured by reading the TPnCCRa register after a capture interrupt request
signal (INTTPnCCa) occurs.
Select either the TIPn0 or TIPn1 pin as the capture trigger input pin. Specify “No edge detected” by using the TPnIOC1
register for the unused pins.
Remarks 1. For how to set the TIPn0 and TIPn1 pins, see Table 7-2 Pins Used by TMPn and Table 4-15 Settings
When Pins Are Used for Alternate Functions.
2. For how to enable the INTTPnCC0 and INTTPnCC1 interrupt signals, see CHAPTER 22 INTERRUPT
SERVICING/EXCEPTION PROCESSING FUNCTION.
Figure 7-65. Configuration of TMPn in Pulse Width Measurement Mode
Clear
Count
clock
selection
16-bit counter
INTTPnOV signal
INTTPnCC0 signal
TPnCE bit
TIPn0 pin
(capture
trigger input)
TIPn1 pin
(capture
trigger input)
Edge
detector
INTTPnCC1 signal
TPnCCR0 register
(capture)
Edge
detector
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
TPnCCR1 register
(capture)
Page 312 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-66. Basic Timing of Operations in Pulse Width Measurement Mode
FFFFH
16-bit counter
0000H
TPnCE bit
TIPna pin input
TPnCCRa register
0000H
D0
D1
D2
D3
INTTPnCCa signal
INTTPnOV signal
TPnOVF bit
Cleared to 0 by
CLR1 instruction
When the TPnCE bit is set to 1, the 16-bit counter starts incrementing. When it is subsequently detected that a valid
edge has been input to the TIPna pin, the value of the 16-bit counter is stored in the TPnCCRa register, the 16-bit counter
is cleared to 0000H, and a capture interrupt request signal (INTTPnCCa) is generated.
The pulse width is calculated as follows.
Pulse width = Captured value Count clock cycle
If a valid edge has not been input to the TIPna pin by the time the 16-bit counter has incremented up to FFFFH, an
overflow interrupt request signal (INTTPnOV) is generated at the next count clock, and the counter is cleared to 0000H
and continues incrementing. At this time, the overflow flag (TPnOPT0.TPnOVF bit) is also set to 1. Clear the overflow flag
to 0 by executing the software instruction CLR1.
If the overflow flag is set to 1, the pulse width can be calculated as follows.
Pulse width = (10000H Number of times the TPnOVF bit was set (1) + Captured value) Count clock cycle
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 313 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-67. Register Settings in Pulse Width Measurement Mode
(a) TMPn control register 0 (TPnCTL0)
TPnCE
TPnCTL0
0/1
TPnCKS2 TPnCKS1 TPnCKS0
0
0
0
0
0/1
0/1
0/1
These bits select the
count clock.
0: Stop counting.
1: Enable counting.
(b) TMPn control register 1 (TPnCTL1)
TPnEST TPnEEE
TPnCTL1
0
0
0
TPnMD2 TPnMD1 TPnMD0
0
0
1
1
0
1, 1, 0:
Pulse width
measurement mode
(c) TMPn I/O control register 1 (TPnIOC1)
TPnIOC1
0
0
0
0
TPnIS3
TPnIS2
TPnIS1
TPnIS0
0/1
0/1
0/1
0/1
These bits select the valid
edge of the TIPn0 pin input.
These bits select the valid
edge of the TIPn1 pin input.
(d) TMPn option register 0 (TPnOPT0)
TPnCCS1 TPnCCS0
TPnOPT0
0
0
0
0
TPnOVF
0
0
0
0/1
Overflow flag
(e) TMPn counter read buffer register (TPnCNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMPn capture/compare registers 0 and 1 (TPnCCR0 and TPnCCR1)
These registers store the 16-bit counter value upon detection of the input of a valid edge to the
TIPn0/TIPn1 pin.
Remark
TMPn I/O control register 0 (TPnIOC0) and TMPn I/O control register 2 (TPnIOC2) are not
used in the pulse width measurement mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 314 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operations in pulse width measurement mode
Figure 7-68. Timing and Processing of Operations in Pulse Width Measurement Mode
FFFFH
16-bit counter
0000H
TPnCE bit
TIPn0 pin input
TPnCCR0 register
0000H
D0
D1
D2
0000H
INTTPnCC0 signal
Starting counting
START
Set up the registers
TPnCTL0 register
(TPnCKS0 to TPnCKS2 bits)
TPnCTL1 register
TPnIOC1 register
TPnOPT0 register
Set up the TPnCTL0 register
(TPnCE bit = 1)
Be sure to set up these registers
before setting the TPnCE bit to 1.
Counting starts.
The TPnCKS0 to TPnCKS2 bits can
be set here.
Stopping counting
TPnCE bit = 0
When counting is disabled (TPnCE bit = 0),
the counter is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 315 of 1210
V850ES/JG3-L
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Using pulse width measurement mode
(a) Clearing the overflow flag (TPnOVF)
The overflow flag (TPnOVF) can be cleared to 0 by reading the TPnOVF bit and, if its value is 1, either clearing
the bit to 0 by using the CLR1 instruction or by writing 8-bit data (with bit 0 as 0) to the TPnOPT0 register.
7.4.8
Timer output operations
The following table shows the operations and output levels of the TOPn0 and TOPn1 pins.
Table 7-7. Timer Output Control in Each Mode
Operation Mode
TOPn1 Pin
Interval timer mode
TOPn0 Pin
Square wave output
External event count mode
External trigger pulse output mode
External trigger pulse output
One-shot pulse output mode
One-shot pulse output
PWM output mode
PWM output
Free-running timer mode
Square wave output (only when compare function is used)
Square wave output
Pulse width measurement mode
Table 7-8. Truth Table of TOPn0 and TOPn1 Pins Under Control of Timer Output Control Bits
TPnIOC0.TPnOLa Bit
TPnIOC0.TPnOEa Bit
TPnCTL0.TPnCE Bit
Level of TOPna Pin
0
0
Low-level output
1
0
Low-level output
1
Low level immediately before counting, high
level after counting is started
1
0
High-level output
1
0
High-level output
1
High level immediately before counting, low level
after counting is started
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 316 of 1210
V850ES/JG3-L
7.5
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Selector
In the V850ES/JG3-L, the selector can be used to specify the capture trigger input for TMP as either a signal input to a
port/timer alternate-function pin or peripheral I/O (TMP/UARTA) signal.
By using the selector, the following is possible:
The TIP10 and TIP11 input signals of TMP1 can be selected as either the port/timer alternate-function pins (TIP10
and TIP11 pins) or the UARTA reception alternate-function pins (RXDA0 and RXDA1).
When the RXDA0 or RXDA1 signal of UART0 or UART1 is selected, the baud rate error in LIN reception transfer of
UARTA can be calculated.
Cautions 1. When using the selector, set the capture trigger input of TMP before connecting the timer.
2. When setting the selector, first disable the peripheral I/O to be connected (TMP or UARTA).
The capture input for the selector is specified by the following register.
(1) Selector operation control register 0 (SELCNT0)
The SELCNT0 register is an 8-bit register that selects the capture trigger for TMP1.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
SELCNT0
0
R/W
0
Address: FFFFF308H
0
ISEL4
< >
< >
ISEL4
ISEL3
0
0
0
Selection of TIP11 input signal (TMP1)
0
TIP11 pin input
1
RXDA1 pin input
ISEL3
Selection of TIP10 input signal (TMP1)
0
TIP10 pin input
1
RXDA0 pin input
Cautions 1. When setting the ISEL3 and ISEL4 bits to 1, set the corresponding pin
to the capture input mode.
2. Be sure to clear bits 7 to 5 and 2 to 0 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 317 of 1210
V850ES/JG3-L
7.6
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Cautions
(1) Capture operation
When the capture operation is used and fXX/8, fXX/16, fXX/32, fXX/64, fXX/128, fXX/256, or fXX/512 is selected as the
count clock, FFFFH, not 0000H, may be captured in the TPnCCR0 and TPnCCR1 registers, or the capture
operation may not be performed at all (the capture interrupt does not occur) if the capture trigger is input
immediately after the TPnCE bit is set to 1.
This also occurs during the period in which no external event counts are input while the capture operation is being
used and an external event count input is being used as the count clock.
(a) Free-running timer mode
FFFFH
16-bit counter
0000H
Count clock
Sampling clock (fXX)
TPnCCR0 register
0000H
FFFFH
0001H
TPnCE bit
TIPn0 pin input
Capture
trigger input
Capture
trigger input
(b) Pulse width measurement mode
FFFFH
16-bit counter
0000H
Count clock
Sampling clock (fXX)
TPnCCR0 register
0000H
FFFFH
0002H
TPnCE bit
TIPn0 pin input
Capture
trigger input
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Capture
trigger input
Page 318 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Timer Q (TMQ) is a 16-bit timer/event counter.
The V850ES/JG3-L incorporates one TMQ timer/counter, TMQ0.
8.1
Functions
TMQ0 has the following features:
(1) Interval timer
TMQ0 generates an interrupt at a preset interval and can output a square wave.
(2) External event counter
TMQ0 counts the number of externally input signal pulses.
(3) External trigger pulse output
TMQ0 starts counting and outputs a pulse when the specified external signal is input.
(4) One-shot pulse output
TMQ0 outputs a one-shot pulse with an output width that can be freely specified.
(5) PWM output
TMQ0 outputs a pulse with a constant cycle whose active width can be changed.
The pulse duty can also be changed freely even while the timer is operating.
(6) Free-running timer
The 16-bit counter increments from 0000H to FFFFH and then resets.
(7) Pulse width measurement
TMQ0 can be used to measure the pulses of a signal input externally.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 319 of 1210
V850ES/JG3-L
8.2
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Configuration
TMQ0 includes the following hardware.
Table 8-1. Configuration of TMQ0
Item
Configuration
16-bit counter
Registers
TMQ0 capture/compare registers 0 to 3 (TQ0CCR0 to TQ0CCR3)
TMQ0 counter read buffer register (TQ0CNT)
CCR0 to CCR3 buffer registers
TMQ0 control registers 0, 1 (TQ0CTL0, TQ0CTL1)
TMQ0 I/O control registers 0 to 2 (TQ0IOC0 to TQ0IOC2)
TMQ0 option register 0 (TQ0OPT0)
Timer inputs
4 (TIQ00 to TIQ03 pins)
Timer outputs
4 (TOQ00 to TOQ03 pins)
Figure 8-1. Block Diagram of TMQ0
Internal bus
Selector
TQ0CNT
Clear
TIQ01
TIQ02
TIQ03
Edge detector
CCR0
buffer
register
TIQ00
INTTQ0OV
16-bit counter
Output
controller
Selector
fXX
fXX/2
fXX/4
fXX/8
fXX/16
fXX/32
fXX/64
fXX/128
CCR1
buffer
register
CCR2
buffer
register
TQ0CCR0
CCR3
buffer
register
TQ0CCR1
TOQ00
TOQ01
TOQ02
TOQ03
INTTQ0CC0
INTTQ0CC1
INTTQ0CC2
INTTQ0CC3
TQ0CCR2
TQ0CCR3
Internal bus
Remark
fXX: Main clock frequency
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 320 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) 16-bit counter
This is a 16-bit counter that counts internal clocks and external events.
This counter can be read by using the TQ0CNT register.
When the TQ0CTL0.TQ0CE bit is 0 and the counter is stopped, the counter value is FFFFH. If the TQ0CNT
register is read at this time, 0000H is read.
Reset sets the TQ0CE bit to 0, stopping the counter, and setting its value to FFFFH.
(2) CCR0 buffer register
This is a 16-bit compare register that compares the value of the 16-bit counter.
When the TQ0CCR0 register is used as a compare register, the value written to the TQ0CCR0 register is
transferred to the CCR0 buffer register. If the value of the 16-bit counter matches the value of the CCR0 buffer
register, a compare match interrupt request signal (INTTQ0CC0) is generated.
The CCR0 buffer register cannot be read or written directly.
The CCR0 buffer register is cleared to 0000H after reset because the TQ0CCR0 register is cleared to 0000H.
(3) CCR1 buffer register
This is a 16-bit compare register that compares the value of the 16-bit counter.
When the TQ0CCR1 register is used as a compare register, the value written to the TQ0CCR1 register is
transferred to the CCR1 buffer register. If the count value of the 16-bit counter matches the value of the CCR1
buffer register, a compare match interrupt request signal (INTTQ0CC1) is generated.
The CCR1 buffer register cannot be read or written directly.
The CCR1 buffer register is cleared to 0000H after reset because the TQ0CCR1 register is cleared to 0000H.
(4) CCR2 buffer register
This is a 16-bit compare register that compares the value of the 16-bit counter.
When the TQ0CCR2 register is used as a compare register, the value written to the TQ0CCR2 register is
transferred to the CCR2 buffer register. If the count value of the 16-bit counter matches the value of the CCR2
buffer register, a compare match interrupt request signal (INTTQ0CC2) is generated.
The CCR2 buffer register cannot be read or written directly.
The CCR2 buffer register is cleared to 0000H after reset because the TQ0CCR2 register is cleared to 0000H.
(5) CCR3 buffer register
This is a 16-bit compare register that compares the value of the 16-bit counter.
When the TQ0CCR3 register is used as a compare register, the value written to the TQ0CCR3 register is
transferred to the CCR3 buffer register. If the count value of the 16-bit counter matches the value of the CCR3
buffer register, a compare match interrupt request signal (INTTQ0CC3) is generated.
The CCR3 buffer register cannot be read or written directly.
The CCR3 buffer register is cleared to 0000H after reset because the TQ0CCR3 register is cleared to 0000H.
(6) Edge detector
This circuit detects the valid edges input to the TIQ00 to TIQ03 pins. No edge, rising edge, falling edge, or both the
rising and falling edges can be selected as the valid edge by using the TQ0IOC1 and TQ0IOC2 registers.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 321 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(7) Output controller
This circuit controls the output of the TOQ00 to TOQ03 pins. The output controller is controlled by the TQ0IOC0
register.
(8) Selector
The selector selects the count clock for the 16-bit counter. One of eight internal clocks or the input of an external
event can be selected as the count clock.
8.2.1
Pins used by TMQ0
The input and output pins used by TMQ0 are shown in Table 8-2 below. When using these pins for TMQ0, first set them
to port mode. For details, see Table 4-15 Settings When Pins Are Used for Alternate Functions.
Table 8-2. Pins Used by TMQ0
Pin No.
GC
Port
TMQ0 Input
TMQ0 Output
Alternate Function
F1
40
L8
P53
TIQ00
37
L7
P50
38
K7
39
J7
Note
TOQ00
SIB2/KR3/RTP03/DDO
TIQ01
TOQ01
KR0/RTP00
P51
TIQ02
TOQ02
KR1/RTP01
P52
TIQ03
TOQ03
KR2/RTP02/DDI
Note The TIQ00 pin functions as a capture trigger input, as an external event input, and as an external trigger
input.
8.2.2
Interrupts
The following five types of interrupt signals are used by TMQ0:
(1) INTTQ0CC0
This signal is generated when the value of the 16-bit counter matches the value of the CCR0 buffer register, or
when a capture signal is input from the TIQ00 pin.
(2) INTTQ0CC1
This signal is generated when the value of the 16-bit counter matches the value of the CCR1 buffer register, or
when a capture signal is input from the TIQ01 pin.
(3) INTTQ0CC2
This signal is generated when the value of the 16-bit counter matches the value of the CCR2 buffer register, or
when a capture signal is input from the TIQ02 pin.
(4) INTTQ0CC3
This signal is generated when the value of the 16-bit counter matches the value of the CCR3 buffer register, or
when a capture signal is input from the TIQ03 pin.
(5) INTTQ0OV
This signal is generated when the 16-bit counter overflows after incrementing up to FFFFH.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 322 of 1210
V850ES/JG3-L
8.3
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Registers
The registers that control TMQ0 are as follows:
TMQ0 control register 0 (TQ0CTL0)
TMQ0 control register 1 (TQ0CTL1)
TMQ0 I/O control register 0 (TQ0IOC0)
TMQ0 I/O control register 1 (TQ0IOC1)
TMQ0 I/O control register 2 (TQ0IOC2)
TMQ0 option register 0 (TQ0OPT0)
TMQ0 capture/compare register 0 (TQ0CCR0)
TMQ0 capture/compare register 1 (TQ0CCR1)
TMQ0 capture/compare register 2 (TQ0CCR2)
TMQ0 capture/compare register 3 (TQ0CCR3)
TMQ0 counter read buffer register (TQ0CNT)
Remark
When using the functions of the TIQ00 to TIQ03 and TOQ00 to TOQ03 pins, see Table 4-15 Settings When
Pins Are Used for Alternate Functions.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 323 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) TMQ0 control register 0 (TQ0CTL0)
The TQ0CTL0 register is an 8-bit register that controls the operation of TMQ0.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
The same value can always be written to the TQ0CTL0 register by software.
After reset: 00H
TQ0CTL0
R/W
Address:
FFFFF540H
6
5
4
3
TQ0CE
0
0
0
0
TQ0CE
0
2
1
0
TQ0CKS2 TQ0CKS1 TQ0CKS0
TMQ0 operation control
TMQ0 operation disabled. Operating clock supply stopped.
(TMQ0 reset asynchronouslyNote.)
1
TMQ0 operation enabled. Operating clock supply started.
(TMQ0 operation started.)
TQ0CKS2 TQ0CKS1 TQ0CKS0
Internal count clock selection
0
0
0
0
0
1
fXX/2
0
1
0
fXX/4
0
1
1
fXX/8
1
0
0
fXX/16
1
0
1
fXX/32
1
1
0
fXX/64
1
1
1
fXX/128
fXX
Note The TQ0OPT0.TQ0OVF bit and 16-bit counter are reset at the same time.
In addition, the timer output pins (TOQ00 to TOQ03 pins) are reset to the status set
by the TQ0IOC0 register when the 16-bit counter is reset.
Cautions 1. Set the TQ0CKS2 to TQ0CKS0 bits when the TQ0CE bit = 0. The
TQ0CKS2 to TQ0CKS0 bits can be set at the same time as changing
the value of the TQ0CE bit from 0 to 1.
2. Be sure to clear bits 3 to 6 to “0”.
Remark
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
fXX: Main clock frequency
Page 324 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) TMQ0 control register 1 (TQ0CTL1)
The TQ0CTL1 register is an 8-bit register that controls the operation of TMQ0.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
7
TQ0CTL1
0
R/W
Address:
TQ0EST TQ0EEE
FFFFF541H
4
3
0
0
2
0
TQ0MD2 TQ0MD1 TQ0MD0
TQ0EST
Software trigger control
0
−
1
1
Generate a valid signal for external trigger input.
• In one-shot pulse output mode: A one-shot pulse is output with writing
1 to the TQ0EST bit as the trigger.
• In external trigger pulse output mode: A PWM waveform is output with
writing 1 to the TQ0EST bit as
the trigger.
TQ0EEE
Count clock selection
0
Disable operation with external event count input.
(Perform counting using the internal count clock selected by the
TQ0CLT0.TQ0CK0 to TQ0CK2 bits.)
1
Enable operation with external event count input.
(Perform counting at the valid edge of the external event count input
signal.)
TQ0MD2 TQ0MD1 TQ0MD0
Timer mode selection
0
0
0
Interval timer mode
0
0
1
External event count mode
0
1
0
External trigger pulse output mode
0
1
1
One-shot pulse output mode
1
0
0
PWM output mode
1
0
1
Free-running timer mode
1
1
0
Pulse width measurement mode
1
1
1
Setting prohibited
Cautions 1. The TQ0EST bit is valid only in the external trigger pulse output
mode or one-shot pulse output mode. In any other mode, writing 1
to this bit is ignored.
2. External event count input is selected in the external event count
mode regardless of the value of the TQ0EEE bit.
3. Set the TQ0EEE and TQ0MD2 to TQ0MD0 bits after stopping the
timer (by setting the TQ0CTL0.TQ0CE bit to 0). (However, if the same
value is being written, this can be done while the TQ0CE bit is 1.)
The operation is not guaranteed if the TQ0EEE and TQ0MD2 to
TQ0MD0 bits are rewritten while the TQ0CE bit is 1. If the TQ0EEE
and TQ0MD2 to TQ0MD0 bits were mistakenly rewritten while the
TQ0CE bit was 1, clear the TQ0CE bit to 0 and then write the bits
again.
4. Be sure to clear bits 3, 4, and 7 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 325 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(3) TMQ0 I/O control register 0 (TQ0IOC0)
The TQ0IOC0 register is an 8-bit register that controls the timer output (TOQ00 to TOQ03 pins).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
7
TQ0IOC0
Address:
FFFFF542H
5
3
1
TQ0OL3 TQ0OE3 TQ0OL2 TQ0OE2 TQ0OL1 TQ0OE1 TQ0OL0 TQ0OE0
TOQ0m pin output level setting (m = 0 to 3)Note
TQ0OLm
0
TOQ0m pin starts output at high level
1
TOQ0m pin starts output at low level
TQ0OEm
TOQ0m pin output setting (m = 0 to 3)
0
Timer output disabled
• When TQ0OLm bit = 0: Low level is output from the TOQ0m pin
• When TQ0OLm bit = 1: High level is output from the TOQ0m pin
1
Timer output enabled (a pulse is output from the TOQ0m pin)
Note The output level of the timer output pin (TOQ0m) specified by the
TQ0OLm bit is shown below.
• When TQ0OLm bit = 0
• When TQ0OLm bit = 1
16-bit counter
16-bit counter
TQ0CE bit
TQ0CE bit
TOQ0m output pin
TOQ0m output pin
Cautions 1. Rewrite
the
TQ0OLm
TQ0CTL0.TQ0CE bit = 0.
and
TQ0OEm
bits
when
the
(The same value can be written
when the TQ0CE bit = 1.)
If rewriting was mistakenly
performed, clear the TQ0CE bit to 0 and then set the bits
again.
2. Even if the TQ0OLm bit is manipulated when the TQ0CE and
TQ0OEm bits are 0, the TOQ0m pin output level varies.
Remark
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
m = 0 to 3
Page 326 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(4) TMQ0 I/O control register 1 (TQ0IOC1)
The TQ0IOC1 register is an 8-bit register that controls the specification of the valid edge of the capture trigger input
signals (TIQ00 to TIQ03 pins).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
TQ0IOC1
R/W
Address:
FFFFF543H
7
6
5
4
3
2
1
0
TQ0IS7
TQ0IS6
TQ0IS5
TQ0IS4
TQ0IS3
TQ0IS2
TQ0IS1
TQ0IS0
TQ0IS7
TQ0IS6
0
0
No edge detection (capture operation invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
TQ0IS5
TQ0IS4
0
0
No edge detection (capture operation invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
TQ0IS3
TQ0IS2
0
0
No edge detection (capture operation invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
TQ0IS1
TQ0IS0
0
0
No edge detection (capture operation invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
Capture trigger input signal (TIQ03 pin) valid edge setting
Capture trigger input signal (TIQ02 pin) valid edge detection
Capture trigger input signal (TIQ01 pin) valid edge setting
Capture trigger input signal (TIQ00 pin) valid edge setting
Cautions 1. Rewrite
the
TQ0IS7
to
TQ0IS0
bits
when
the
TQ0CTL0.TQ0CE bit = 0. (The same value can be written
when the TQ0CE bit = 1.)
If rewriting was mistakenly
performed, clear the TQ0CE bit to 0 and then set the bits
again.
2. The TQ0IS7 to TQ0IS0 bits are valid only in the freerunning timer mode and the pulse width measurement
mode.
In all other modes, a capture operation is not
possible.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 327 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(5) TMQ0 I/O control register 2 (TQ0IOC2)
The TQ0IOC2 register is an 8-bit register that controls the specification of the valid edge of the external event count
input signal (TIQ00 pin) and external trigger input signal (TIQ00 pin).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
TQ0IOC2
R/W
Address:
FFFFF544H
7
6
5
4
0
0
0
0
3
2
1
0
TQ0EES1 TQ0EES0 TQ0ETS1 TQ0ETS0
TQ0EES1 TQ0EES0 External event count input signal (TIQ00 pin) valid edge setting
0
0
No edge detection (external event count invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
TQ0ETS1 TQ0ETS0
External trigger input signal (TIQ00 pin) valid edge setting
0
0
No edge detection (external trigger invalid)
0
1
Detection of rising edge
1
0
Detection of falling edge
1
1
Detection of both edges
Cautions 1. Rewrite the TQ0EES1, TQ0EES0, TQ0ETS1, and TQ0ETS0
bits when the TQ0CTL0.TQ0CE bit = 0. (The same value
can be written when the TQ0CE bit = 1.) If rewriting was
mistakenly performed, clear the TQ0CE bit to 0 and then
set the bits again.
2. The TQ0EES1 and TQ0EES0 bits are valid only when the
TQ0CTL1.TQ0EEE bit = 1 or when the external event
count mode (TQ0CTL1.TQ0MD2 to TQ0CTL1.TQ0MD0 bits
= 001) has been set.
3. The TQ0ETS1 and TQ0ETS0 bits are valid only when the
external trigger pulse output mode (TQ0CTL1.TQ0MD2 to
TQ0CTL1.TQ0MD0 bits = 010) or the one-shot pulse
output mode (TQ0CTL1.TQ0MD2 to TQ0CTL1.TQ0MD0 =
011) is set.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 328 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(6) TMQ0 option register 0 (TQ0OPT0)
The TQ0OPT0 register is an 8-bit register that specifies the capture/compare operation and indicates the detection
of an overflow.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
6
7
TQ0OPT0
Address:
5
FFFFF545H
4
TQ0CCS3 TQ0CCS2 TQ0CCS1 TQ0CCS0
3
2
1
0
0
0
TQ0OVF
TQ0CCRm register capture/compare selection
TQ0CCSm
0
Compare register selected
1
Capture register selected
The TQ0CCSm bit setting is valid only in the free-running timer mode.
TQ0OVF
TMQ0 overflow detection
0
TQ0OVF bit 0 written or TQ0CTL0.TQ0CE bit = 0
1
Overflow occurred
• The TQ0OVF bit is set when the 16-bit counter count value overflows from
FFFFH to 0000H in the free-running timer mode or the pulse width measurement
mode.
• An interrupt request signal (INTTQ0OV) is generated at the same time that the
TQ0OVF bit is set to 1. The INTTQ0OV signal is not generated in modes other
than the free-running timer mode and the pulse width measurement mode.
• The TQ0OVF bit is not cleared even when the TQ0OVF bit or the TQ0OPT0
register are read when the TQ0OVF bit = 1.
• The TQ0OVF bit can be both read and written, but the TQ0OVF bit cannot be set
to 1 by software. Writing 1 has no influence on the operation of TMQ0.
Cautions 1. Rewrite the TQ0CCS3 to TQ0CCS0 bits when the
TQ0CTL0.TQ0CE bit = 0. (The same value can be written
when the TQ0CE bit = 1.)
If rewriting was mistakenly
performed, clear the TQ0CE bit to 0 and then set the bits
again.
2. Be sure to clear bits 1 to 3 to “0”.
Remark
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
m = 0 to 3
Page 329 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(7) TMQ0 capture/compare register 0 (TQ0CCR0)
The TQ0CCR0 register can be used as a capture register or a compare register depending on the mode.
This register can be selected as a capture register or a compare register only in the free-running timer mode,
according to the setting of the TQ0OPT0.TQ0CCS0 bit. In any other mode, this register can be used only as a
compare register.
The TQ0CCR0 register can be read or written during operation.
This register can be read or written in 16-bit units.
Reset sets this register to 0000H.
Caution
Accessing the TQ0CCR0 register is prohibited in the following statuses. Moreover, if the system
is in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 0000H
15
14
R/W
13
12
Address:
11
10
FFFFF546H
9
8
7
6
5
4
3
2
1
0
TQ0CCR0
(a) Function as compare register
The TQ0CCR0 register can be rewritten even when the TQ0CTL0.TQ0CE bit = 1.
The set value of the TQ0CCR0 register is transferred to the CCR0 buffer register. When the value of the 16-bit
counter matches the value of the CCR0 buffer register, a compare match interrupt request signal (INTTQ0CC0)
is generated. If TOQ00 pin output is enabled at this time, the output of the TOQ00 pin is inverted (For details,
see the descriptions of each operating mode.).
When the TQ0CCR0 register is used as a cycle register in the interval timer mode, external event count mode,
external trigger pulse output mode, one-shot pulse output mode, or PWM output mode, the value of the 16-bit
counter is cleared (0000H) if its count value matches the value of the CCR0 buffer register.
(b) Function as capture register
When the TQ0CCR0 register is used as a capture register in the free-running timer mode, the count value of
the 16-bit counter is stored in the TQ0CCR0 register if the valid edge of the capture trigger input pin (TIQ00
pin) is detected. In the pulse-width measurement mode, the count value of the 16-bit counter is stored in the
TQ0CCR0 register and the 16-bit counter is cleared (0000H) if the valid edge of the capture trigger input pin
(TIQ00 pin) is detected.
Even if the capture operation and reading the TQ0CCR0 register conflict, the correct value of the TQ0CCR0
register can be read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 330 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
The following table shows the functions of the capture/compare register in each operation mode, and how to write
data to the compare register.
Table 8-3. Function of Capture/Compare Register in Each Mode and How to Write Compare Register
Operation Mode
Capture/Compare Register
How to Write Compare Register
Interval timer
Compare register
Anytime write
External event counter
Compare register
Anytime write
External trigger pulse output
Compare register
Batch write
One-shot pulse output
Compare register
Anytime write
PWM output
Compare register
Batch write
Free-running timer
Capture/compare register
Anytime write
Pulse width measurement
Capture register
Remark
For details about anytime write and batch write, see 8.4 (2) Anytime write and batch write.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 331 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(8) TMQ0 capture/compare register 1 (TQ0CCR1)
The TQ0CCR1 register can be used as a capture register or a compare register depending on the mode.
This register can be selected as a capture register or a compare register only in the free-running timer mode,
according to the setting of the TQ0OPT0.TQ0CCS1 bit. In the pulse width measurement mode, the TQ0CCR1
register can be used only as a capture register. In any other mode, this register can be used only as a compare
register.
The TQ0CCR1 register can be read or written during operation.
This register can be read or written in 16-bit units.
Reset sets this register to 0000H.
Caution
Accessing the TQ0CCR1 register is prohibited in the following statuses. Moreover, if the system
is in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 0000H
15
14
R/W
13
12
Address:
11
10
FFFFF548H
9
8
7
6
5
4
3
2
1
0
TQ0CCR1
(a) Function as compare register
The TQ0CCR1 register can be rewritten even when the TQ0CTL0.TQ0CE bit = 1.
The set value of the TQ0CCR1 register is transferred to the CCR1 buffer register. When the value of the 16-bit
counter matches the value of the CCR1 buffer register, a compare match interrupt request signal (INTTQ0CC1)
is generated. If TOQ01 pin output is enabled at this time, the output of the TOQ01 pin is inverted (For details,
see the descriptions of each operating mode.).
(b) Function as capture register
When the TQ0CCR1 register is used as a capture register in the free-running timer mode, the count value of
the 16-bit counter is stored in the TQ0CCR1 register if the valid edge of the capture trigger input pin (TIQ01
pin) is detected. In the pulse-width measurement mode, the count value of the 16-bit counter is stored in the
TQ0CCR1 register and the 16-bit counter is cleared (0000H) if the valid edge of the capture trigger input pin
(TIQ01 pin) is detected.
Even if the capture operation and reading the TQ0CCR1 register conflict, the correct value of the TQ0CCR1
register can be read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 332 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
The following table shows the functions of the capture/compare register in each operation mode, and how to write
data to the compare register.
Table 8-4. Function of Capture/Compare Register in Each Mode and How to Write Compare Register
Operation Mode
Capture/Compare Register
How to Write Compare Register
Interval timer
Compare register
Anytime write
External event counter
Compare register
Anytime write
External trigger pulse output
Compare register
Batch write
One-shot pulse output
Compare register
Anytime write
PWM output
Compare register
Batch write
Free-running timer
Capture/compare register
Anytime write
Pulse width measurement
Capture register
Remark
For details about anytime write and batch write, see 8.4 (2) Anytime write and batch write.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 333 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(9) TMQ0 capture/compare register 2 (TQ0CCR2)
The TQ0CCR2 register can be used as a capture register or a compare register depending on the mode.
This register can be selected as a capture register or a compare register only in the free-running timer mode,
according to the setting of the TQ0OPT0.TQ0CCS2 bit. In the pulse width measurement mode, the TQ0CCR2
register can be used only as a capture register. In any other mode, this register can be used only as a compare
register.
The TQ0CCR2 register can be read or written during operation.
This register can be read or written in 16-bit units.
Reset sets this register to 0000H.
Caution
Accessing the TQ0CCR2 register is prohibited in the following statuses. Moreover, if the system
is in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 0000H
15
14
R/W
13
12
Address:
11
10
FFFFF54AH
9
8
7
6
5
4
3
2
1
0
TQ0CCR2
(a) Function as compare register
The TQ0CCR2 register can be rewritten even when the TQ0CTL0.TQ0CE bit = 1.
The set value of the TQ0CCR2 register is transferred to the CCR2 buffer register. When the value of the 16-bit
counter matches the value of the CCR2 buffer register, a compare match interrupt request signal (INTTQ0CC2)
is generated. If TOQ02 pin output is enabled at this time, the output of the TOQ02 pin is inverted (For details,
see the descriptions of each operating mode.).
(b) Function as capture register
When the TQ0CCR2 register is used as a capture register in the free-running timer mode, the count value of
the 16-bit counter is stored in the TQ0CCR2 register if the valid edge of the capture trigger input pin (TIQ02
pin) is detected. In the pulse-width measurement mode, the count value of the 16-bit counter is stored in the
TQ0CCR2 register and the 16-bit counter is cleared (0000H) if the valid edge of the capture trigger input pin
(TIQ02 pin) is detected.
Even if the capture operation and reading the TQ0CCR2 register conflict, the correct value of the TQ0CCR2
register can be read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 334 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
The following table shows the functions of the capture/compare register in each operation mode, and how to write
data to the compare register.
Table 8-5. Function of Capture/Compare Register in Each Mode and How to Write Compare Register
Operation Mode
Capture/Compare Register
How to Write Compare Register
Interval timer
Compare register
Anytime write
External event counter
Compare register
Anytime write
External trigger pulse output
Compare register
Batch write
One-shot pulse output
Compare register
Anytime write
PWM output
Compare register
Batch write
Free-running timer
Capture/compare register
Anytime write
Pulse width measurement
Capture register
Remark
For details about anytime write and batch write, see 8.4 (2) Anytime write and batch write.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 335 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(10) TMQ0 capture/compare register 3 (TQ0CCR3)
The TQ0CCR3 register can be used as a capture register or a compare register depending on the mode.
This register can be selected as a capture register or a compare register only in the free-running timer mode,
according to the setting of the TQ0OPT0.TQ0CCS3 bit. In the pulse width measurement mode, the TQ0CCR3
register can be used only as a capture register. In any other mode, this register can be used only as a compare
register.
The TQ0CCR3 register can be read or written during operation.
This register can be read or written in 16-bit units.
Reset sets this register to 0000H.
Caution
Accessing the TQ0CCR3 register is prohibited in the following statuses. Moreover, if the system
is in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 0000H
15
14
R/W
13
12
Address:
11
10
FFFFF54CH
9
8
7
6
5
4
3
2
1
0
TQ0CCR3
(a) Function as compare register
The TQ0CCR3 register can be rewritten even when the TQ0CTL0.TQ0CE bit = 1.
The set value of the TQ0CCR3 register is transferred to the CCR3 buffer register. When the value of the 16-bit
counter matches the value of the CCR3 buffer register, a compare match interrupt request signal (INTTQ0CC3)
is generated. If TOQ03 pin output is enabled at this time, the output of the TOQ03 pin is inverted (For details,
see the descriptions of each operating mode.).
(b) Function as capture register
When the TQ0CCR3 register is used as a capture register in the free-running timer mode, the count value of
the 16-bit counter is stored in the TQ0CCR3 register if the valid edge of the capture trigger input pin (TIQ03
pin) is detected. In the pulse-width measurement mode, the count value of the 16-bit counter is stored in the
TQ0CCR3 register and the 16-bit counter is cleared (0000H) if the valid edge of the capture trigger input pin
(TIQ03 pin) is detected.
Even if the capture operation and reading the TQ0CCR3 register conflict, the correct value of the TQ0CCR3
register can be read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 336 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
The following table shows the functions of the capture/compare register in each operation mode, and how to write
data to the compare register.
Table 8-6. Function of Capture/Compare Register in Each Mode and How to Write Compare Register
Operation Mode
Capture/Compare Register
How to Write Compare Register
Interval timer
Compare register
Anytime write
External event counter
Compare register
Anytime write
External trigger pulse output
Compare register
Batch write
One-shot pulse output
Compare register
Anytime write
PWM output
Compare register
Batch write
Free-running timer
Capture/compare register
Anytime write
Pulse width measurement
Capture register
Remark
For details about anytime write and batch write, see 8.4 (2) Anytime write and batch write.
(11) TMQ0 counter read buffer register (TQ0CNT)
The TQ0CNT register is a read buffer register from which the value of the 16-bit counter can be read.
If this register is read when the TQ0CTL0.TQ0CE bit = 1, the count value of the 16-bit timer can be read.
This register is read-only, in 16-bit units.
The value of the TQ0CNT register is cleared to 0000H when the TQ0CE bit = 0. If the TQ0CNT register is read at
this time, the value of the 16-bit counter (FFFFH) is not read, but 0000H is read.
Because the TQ0CE bit is cleared to 0, the value of the TQ0CNT register is cleared to 0000H after reset.
Caution
Accessing the TQ0CNT register is prohibited in the following statuses. Moreover, if the system is
in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU is operating on the subclock and main clock oscillation is stopped
When the CPU is operating on the internal clock
After reset: 0000H
15
14
R
13
Address:
12
11
10
FFFFF54EH
9
8
7
6
5
4
3
2
1
0
TQ0CNT
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 337 of 1210
V850ES/JG3-L
8.4
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Operations
TMQ0 can execute the following operations:
Table 8-7. TMQ0 Operating Modes
Operating Mode
TQ0CTL1.TQ0EST
TIQ00 Pin
Capture/Compare
Compare Register
Bit
(External Trigger
Register Setting
Write
(Software Trigger Bit)
Input)
Count Clock
Interval timer mode
Invalid
Invalid
Compare only
Anytime write
Internal/external
External event count
Invalid
Invalid
Compare only
Anytime write
External
Valid
Valid
Compare only
Batch write
Internal
Valid
Valid
Compare only
Anytime write
Internal
PWM output mode
Invalid
Invalid
Compare only
Batch write
Internal/external
Free-running timer mode
Invalid
Invalid
Can be switched
Anytime write
Internal/external
Pulse width measurement
Invalid
Invalid
Capture only
Not applicable
Internal
mode
Note 1
External trigger pulse
output mode
Note 2
One-shot pulse output
mode
mode
Note 2
Note 2
Notes 1. When using the external event count mode, specify that the valid edge of the TIQ00 pin capture trigger input is
not detected (by clearing the TQ0IOC1.TQ0IS1 and TQ0IOC1.TQ0IS0 bits to 0).
2. When using the external trigger pulse output mode, one-shot pulse output mode, and pulse width measurement
mode, select the internal clock as the count clock (by clearing the TQ0CTL1.TQ0EEE bit to 0).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 338 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) Basic counter operation
The basic operation of the 16-bit counter is described below. For more details, see the descriptions of each
operating mode.
(a) Starting counting
TMQ0 starts counting from FFFFH in all operating modes, and increments as follows: FFFFH, 0000H, 0001H,
0002H, 0003H….
(b) Clearing TMQ0
TMQ0 is cleared to 0000H when its value matches the value of the compare register or when the value of
TMQ0 is captured upon the input of a valid capture trigger signal.
Note that when TMQ0 increments from FFFFH to 0000H after it starts counting and immediately following an
overflow, it does not mean that TMQ0 has been cleared. Consequently, the INTTQ0CCm interrupt is not
generated in this case (m = 0 to 3).
(c) Overflow
TMQ0 overflows after it increments from FFFFH to 0000H in free-running timer mode and pulse width
measurement mode. An overflow sets the TQ0OPT0.TQ0OVF bit to 1 and generates an interrupt request
signal (INTTQ0OV). Note that INTTQ0OV will not be generated in the following cases:
When TMQ0 has just started counting.
When the compare value at which TMQ0 is cleared is specified as FFFFH.
In pulse width measurement mode, when TMQ0 increments from FFFFH to 0000H after being cleared when
its value of FFFFH was captured.
Caution
After the INTTQ0OV overflow interrupt request signal occurs, be sure to confirm that the
overflow flag (TQ0OVF) is set to 1.
(d) Reading TMQ0 while it is incrementing
TMQ0 can be read while it is incrementing by using the TQ0CNT register.
Specifically, the value of TMQ0 can be read by reading the TQ0CNT register while the TQ0CLT0.TQ0CE bit is
1. Note, however, that when the TQ0CLT0.TQ0CE bit is 0, the value of TMQ0 is always FFFFH and the value
of the TQ0CNT register is always 0000H.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 339 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) Anytime write and batch write
The TQ0CCR0 to TQ0CCR3 registers can be written even while TMQ0 is operating (that is, while the
TQ0CTL0.TQ0CE bit is 1), but the way the CCR0 to CCR3 buffer registers are written differs depending on the
mode. The two writing methods are anytime write and batch write.
(a) Anytime write
This writing method is used to transfer data from the TQ0CCR0 to TQ0CCR3 registers to the CCR0 to CCR3
buffer registers any time while TMQ0 is operating.
Figure 8-2. Flowchart Showing Basic Anytime Write Operation
START
Initial settings
• Set value to TQ0CCRm register
• Enable timer
(TQ0CE bit = 1)
→ Value of TQ0CCRm register
transferred to CCRm buffer
register
Rewrite TQ0CCRm register
→ New value transferred to CCRm
buffer register
Timer operation
• 16-bit counter value matches value
of CCRk buffer registerNote
• 16-bit counter value matches value
of CCR0 buffer register
• 16-bit counter cleared and starts
incrementing again
INTTQ0CCk signal generated
INTTQ0CC0 signal generated
Note The 16-bit counter is only cleared when its value matches the value of the CCR0 buffer
register, not the CCRk buffer register.
Remarks 1. The flowchart applies to the case when TMQ0 is being used as an interval
timer.
2. k = 1 to 3
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 340 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-3. Anytime Write Timing
TQ0CE bit = 1
FFFFH
D01
D01
D02
D21
16-bit counter
0000H
D31
D21
D11
D11
TQ0CCR0 register
CCR0 buffer register
D21
D31
D31
D01
0000H
D12
D12
D31
D02
D01
D02
INTTQ0CC0 signal
D11
TQ0CCR1 register
CCR1 buffer register
0000H
D12
D11
D12
INTTQ0CC1 signal
TQ0CCR2 register
CCR2 buffer register
D21
0000H
D21
INTTQ0CC2 signal
TQ0CCR3 register
CCR3 buffer register
D31
0000H
D31
INTTQ0CC3 signal
Remarks 1. D01, D02: Set value of TQ0CCR0 register
D11, D12: Set value of TQ0CCR1 register
D21: Set value of TQ0CCR2 register
D31: Set value of TQ0CCR3 register
2. The flowchart applies to the case when TMQ0 is being used as an interval timer.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 341 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(b) Batch write
This writing method is used to transfer data from the TQ0CCR0 to TQ0CCR3 registers to the CCR0 to CCR3
buffer registers all at once while TMQ0 is operating. The data is transferred when the value of the 16-bit
counter matches the value of the CCR0 buffer register. Transfer is enabled by writing to the TQ0CCR1 register.
Whether transfer of the next data is enabled or not depends on whether the TQ0CCR1 register has been
written.
To specify the value of the rewritten TQ0CCR0 to TQ0CCR3 registers as the 16-bit counter compare value
(that is, the value to be transferred to the CCR0 to CCR3 buffer registers), the TQ0CCR0 register must be
rewritten before the value of the 16-bit counter matches the value of the CCR0 buffer register, and then the
TQ0CCR1 register must be written. The value of the TQ0CCR0 to TQ0CCR3 registers is then transferred to
the CCR0 to CCR3 buffer registers when the value of the 16-bit counter matches the value of the CCR0 buffer
register. Note that even if you wish to rewrite one of the TQ0CCR0, TQ0CCR2 and TQ0CCR3 register values,
you must also write the same value to the TQ0CCR1 register (that is, the same value as the value already
specified for the TQ0CCR1 register).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 342 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-4. Flowchart Showing Basic Batch Write Operation
START
Initial settings
• Set value to TQ0CCRm register
• Enable timer (TQ0CE bit = 1)
→ Value of TQ0CCRm register
transferred to CCRm buffer register
Rewrite TQ0CCR0, TQ0CCR2, and
TQ0CCR3 registers
Rewrite TQ0CCR1 register
Timer operation
• 16-bit counter value matches value of
CCRk buffer registerNote
• 16-bit counter value matches value of
CCR0 buffer register
• 16-bit counter cleared and starts
incrementing again
• TQ0CCRk register value transferred to
CCRk buffer register
Batch write enabled
INTTQ0CCk signal generated
INTTQ0CC0 signal generated
Note The 16-bit counter is only cleared when its value matches the value of the CCR0 buffer register,
not the CCRk buffer register.
Caution
The process of writing to the TQ0CCR1 register includes enabling batch write. It is
therefore necessary to rewrite the TQ0CCR1 register after rewriting the TQ0CCR0,
TQ0CCR2, and TQ0CCR3 registers.
Remarks 1. The flowchart applies to the case when TMQ0 is being used in PWM output mode.
2. k = 1 to 3
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 343 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-5. Batch Write Timing
TQ0CE bit = 1
D01
FFFFH
16-bit counter
D32
D12
D31
D21
D21
D03
D02
D02
D11
D32
D12
D32
D12
D21
D12
D21
D21
0000H
TQ0CCR0 register
CCR0 buffer
register
D01
0000H
TQ0CCR1 register
CCR1 buffer
register
D02
D01
D11
0000H
Note 1
Note 2
D11
TQ0CCR2 register
CCR2 buffer
register
D02
Note 1
D12
Note 1
D03
Write the same value
Note 3
D12
D12
D12
Note 1
D21
0000H
TQ0CCR3 register
CCR3 buffer
register
D03
D21
D31
0000H
Note 1
D21
D32
D31
Note 1
D21
Note 1
D33
D32
Note 1
D33
INTTQ0CC0 signal
INTTQ0CC1 signal
INTTQ0CC2 signal
INTTQ0CC3 signal
TOQ00 pin output
TOQ01 pin output
TOQ02 pin output
TOQ03 pin output
Notes 1. D02 is not transferred because the TQ0CCR1 register was not written.
2. D12 is transferred to the CCR1 buffer register upon a match with the TQ0CCR0 register value (D01)
because the TQ0CCR1 register was written (D12).
3. D12 is transferred to the CCR1 buffer register upon a match with the TQ0CCR0 register value (D12)
because the TQ0CCR1 register was written (D12).
Remarks 1. D01, D02, D03: Set value of TQ0CCR0 register
D11, D12: Set value of TQ0CCR1 register
D21: Set value of TQ0CCR2 register
D31, D32, D33: Set value of TQ0CCR3 register
2. The flowchart applies to the case when TMQ0 is being used in the PWM output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 344 of 1210
V850ES/JG3-L
8.4.1
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Interval timer mode (TQ0MD2 to TQ0MD0 bits = 000)
In the interval timer mode, setting the TQ0CTL0.TQ0CE bit to 1 generates an interrupt request signal (INTTQ0CC0) at
a specified interval. Setting the TQ0CE bit to 1 can also start the timer, which then outputs a square wave whose half
cycle is equal to the interval from the TOQ00 pin.
Usually, the TQ0CCR1 to TQ0CCR3 registers are not used in the interval timer mode. Mask interrupts from these
registers by setting the interrupt mask flags (TQ0CCMK1 to TQ0CCMK3).
Remarks 1. For how to set the TOQ00 pin, see Table 8-2 Pins Used by TMQ0 and Table 4-15 Settings When Pins
Are Used for Alternate Functions.
2. For how to enable the INTTQ0CC0 interrupt signal, see CHAPTER 22
INTERRUPT SERVICING/
EXCEPTION PROCESSING FUNCTION.
Figure 8-6. Configuration of Interval Timer
Clear
Count clock
selection
Output
controller
16-bit counter
Match signal
TQ0CE bit
TOQ00 pin
INTTQ0CC0 signal
CCR0 buffer register
TQ0CCR0 register
Figure 8-7. Basic Timing of Operation in Interval Timer Mode
FFFFH
16-bit counter
D0
D0
D0
D0
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D0
TOQ00 pin output
INTTQ0CC0 signal
Interval (D0 + 1) Interval (D0 + 1) Interval (D0 + 1) Interval (D0 + 1)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 345 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
When the TQ0CE bit is set to 1, the value of the 16-bit counter is cleared from FFFFH to 0000H in synchronization with
the count clock, and the counter starts incrementing. At this time, the output of the TOQ00 pin is inverted and the set value
of the TQ0CCR0 register is transferred to the CCR0 buffer register.
When the value of the 16-bit counter matches the value of the CCR0 buffer register, the 16-bit counter is cleared to
0000H, the output of the TOQ00 pin is inverted, and a compare match interrupt request signal (INTTQ0CC0) is generated.
The interval can be calculated by using the following expression:
Interval = (Set value of TQ0CCR0 register + 1) Count clock cycle
An example of the register settings when the interval timer mode is used is shown in the figure below.
Figure 8-8. Register Settings in Interval Timer Mode (1/3)
(a) TMQ0 control register 0 (TQ0CTL0)
TQ0CE
TQ0CTL0
TQ0CKS2 TQ0CKS1 TQ0CKS0
0/1
0
0
0
0
0/1
0/1
0/1
These bits select
the count clock.
0: Stop counting
1: Enable counting
(b) TMQ0 control register 1 (TQ0CTL1)
TQ0EST TQ0EEE
TQ0CTL1
0
0
0/1Note
TQ0MD2 TQ0MD1 TQ0MD0
0
0
0
0
0
0, 0, 0:
Interval timer mode
0: Increment based on the
count clock selected by the
TQ0CKS0 to TQ0CKS2 bits.
1: Increment based on the
input of an external event
count signal.
Note The TQ0EEE bit can only be set to 1 when the timer output (TOQ0k) is used. Note that when
setting the TQ0EEE bit to 1, the TQ0CCR0 and TQ0CCRk registers must be set to the same
value (that is, the same value as the value already specified for these registers). (For details,
see 8.4.1 (2) (d) Operation of TQ0CCR1 to TQ0CCR3 registers.) (k = 1 to 3.)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 346 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-8. Register Settings in Interval Timer Mode (2/3)
(c) TMQ0 I/O control register 0 (TQ0IOC0)
TQ0OL3 TQ0OE3 TQ0OL2 TQ0OE2 TQ0OL1 TQ0OE1 TQ0OL0 TQ0OE0
TQ0IOC0
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0: Disable TOQ00 pin output.
1: Enable TOQ00 pin output.
Output level when TOQ00 pin
is disabled:
0: Low level
1: High level
0: Disable TOQ01 pin output.
1: Enable TOQ01 pin output.
Output level when TOQ01 pin
is disabled:
0: Low level
1: High level
0: Disable TOQ02 pin output.
1: Enable TOQ02 pin output.
Output level when TOQ02 pin
is disabled:
0: Low level
1: High level
0: Disable TOQ03 pin output.
1: Enable TOQ03 pin output.
Output level when TOQ03 pin
is disabled:
0: Low level
1: High level
(d) TMQ0 I/O control register 2 (TQ0IOC2)
TQ0EES1 TQ0EES0 TQ0ETS1 TQ0ETS0
TQ0IOC2
0
0
0
0
0/1Note
0/1Note
0
0
These bits select the valid
edge of the external event
count input (TIQ00 pin).
Note The TQ0EES1 and TQ0EES0 bits can only be set to 1 when the timer output (TOQ01 to TOQ03)
is used. Note that when setting these bits to 1, the TQ0CCR0 to TQ0CCR3 registers must be set
to the same value (that is, the same value as the value already specified for these registers).
(e) TMQ0 counter read buffer register (TQ0CNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMQ0 capture/compare register 0 (TQ0CCR0)
If the TQ0CCR0 register is set to D0, the interval is as follows:
Interval = (D0 + 1) Count clock cycle
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 347 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-8. Register Settings in Interval Timer Mode (3/3)
(g) TMQ0 capture/compare registers 1 to 3 (TQ0CCR1 to TQ0CCR3)
Usually, the TQ0CCR1 to TQ0CCR3 registers are not used in the interval timer mode. However, because
the set values of the TQ0CCR1 to TQ0CCR3 registers are transferred to the CCR1 to CCR3 buffer
registers and a compare match interrupt request signal (INTTQ0CC1 to INTTQ0CC3) is generated when
the value of the 16-bit counter matches the value of the CCR1 to CCR3 buffer registers, interrupts from
these registers must be masked by setting the interrupt mask flags (TQ0CCMK1 to TQ0CCMK3).
Remark
TMQ0 I/O control register 1 (TQ0IOC1) and TMQ0 option register 0 (TQ0OPT0) are not used
in the interval timer mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 348 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) Operations in interval timer mode
Figure 8-9. Timing and Processing of Operations in Interval Timer Mode
FFFFH
D0
16-bit counter
D0
D0
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D0
TOQ00 pin output
INTTQ0CC0 signal
Starting counting
START
Set up the registers
TQ0CTL0 register
(TQ0CKS0 to TQ0CKS2 bits)
TQ0CTL1 register
TQ0IOC0 register
TQ0IOC2 register
TQ0CCR0 register
TQ0CE bit = 1
Be sure to set up these registers before
setting the TQ0CE bit to 1.
Counting starts (TQ0CE bit = 1).
The TQ0CKS0 to TQ0CKS2 bits can be set here.
Stopping counting
TQ0CE bit = 0
When counting is disabled (TQ0CE bit = 0),
the counter is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 349 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) Using interval timer mode
(a) Operation when TQ0CCR0 register is set to 0000H
When the TQ0CCR0 register is set to 0000H, the INTTQ0CC0 signal is generated each count clock cycle from
the second clock cycle, and the output of the TOQ00 pin is inverted.
The value of the 16-bit counter is always 0000H.
Figure 8-10. Operation of Interval Timer When TQ0CCR0 Register Is Set to 0000H
Count clock
16-bit counter
FFFFH
0000H
0000H
0000H
0000H
TQ0CE bit
TQ0CCR0 register
0000H
TOQ00 pin output
INTTQ0CC0 signal
Interval time
Count clock cycle
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Interval time
Count clock cycle
Page 350 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(b) Operation when TQ0CCR0 register is set to FFFFH
When the TQ0CCR0 register is set to FFFFH, the 16-bit counter increments up to FFFFH and is reset to
0000H in synchronization with the next increment timing. The INTTQ0CC0 signal is then generated and the
output of the TOQ00 pin is inverted. At this time, an overflow interrupt request signal (INTTQ0OV) is not
generated, nor is the overflow flag (TQ0OPT0.TQ0OVF bit) set to 1.
Figure 8-11. Operation of Interval Timer When TQ0CCR0 Register Is Set to FFFFH
FFFFH
16-bit counter
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
FFFFH
TOQ00 pin output
INTTQ0CC0 signal
Interval time
Interval time
Interval time
10000H ×
10000H ×
10000H ×
count clock cycle count clock cycle count clock cycle
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 351 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(c) Notes on rewriting TQ0CCR0 register
When rewriting the value of the TQ0CCR0 register to a smaller value, stop counting first and then change the
set value.
If the value of the TQ0CCR0 register is rewritten to a smaller value during counting, the 16-bit counter may
overflow.
Figure 8-12. Rewriting TQ0CCR0 Register
FFFFH
D1
D1
16-bit counter
D2
D2
D2
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
TQ0OL0 bit
D1
D2
L
TOQ00 pin output
INTTQ0CC0 signal
Interval time (1)
Remark
Interval time (1):
Interval time (NG)
Interval
time (2)
(D1 + 1) Count clock cycle
Interval time (NG): (10000H + D2 + 1) Count clock cycle
Interval time (2):
(D2 + 1) Count clock cycle
If the value of the TQ0CCR0 register is changed from D1 to D2 while the counter value is greater than D2 but
less than D1, the TQ0CCR0 register value is transferred to the CCR0 buffer register as soon as the register has
been rewritten. Consequently, the value that is compared with the 16-bit counter value is D2.
Because the counter value has already exceeded D2, however, the 16-bit counter increments to FFFFH,
overflows, and then increments again from 0000H. When the counter value matches D2, the INTTQ0CC0
signal is generated and the output of the TOQ00 pin is inverted.
Therefore, the INTTQ0CC0 signal may not be generated at the interval “(D1 + 1) Count clock cycle” or “(D2 +
1) Count clock cycle” as originally expected, but instead may be generated at an interval of “(10000H + D2 +
1) Count clock cycle”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 352 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(d) Operation of TQ0CCR1 to TQ0CCR3 registers
The TQ0CCR1 to TQ0CCR3 registers are configured as follows in the interval timer mode.
Figure 8-13. Configuration of TQ0CCR1 to TQ0CCR3 Registers
TQ0CCR1
register
CCR1 buffer
register
Output
controller
Match signal
TOQ01 pin
INTTQ0CC1 signal
TQ0CCR2
register
Output
controller
CCR2 buffer
register
Match signal
TOQ02 pin
INTTQ0CC2 signal
TQ0CCR3
register
CCR3 buffer
register
Output
controller
Match signal
TOQ03 pin
INTTQ0CC3 signal
Clear
Count
clock
selection
16-bit counter
Match signal
TQ0CE bit
Output
controller
TOQ00 pin
INTTQ0CC0 signal
CCR0 buffer register
TQ0CCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 353 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
If the value of the TQ0CCRk register is less than or equal to the value of the TQ0CCR0 register, the
INTTQ0CCk signal is generated once per cycle. At the same time, the output of the TOQ0k pin is inverted.
The TOQ0k pin outputs a square wave with the same cycle as that output by the TOQ00 pin but with a different
phase.
A chart showing the timing of operations when the value of the TQ0CCRk register (Dk1) is less than or equal to
the value of the TQ0CCR0 register (D01) is shown below.
Remark
k = 1 to 3
Figure 8-14. Timing of Operations When D01 Dk1
FFFFH
16-bit counter
D01
D31
D11
D21
D01
D31
D11
D21
D01
D31
D11
D21
D01
D31
D11
D21
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D01
TOQ00 pin output
INTTQ0CC0 signal
TQ0CCR1 register
D11
TOQ01 pin output
INTTQ0CC1 signal
TQ0CCR2 register
D21
TOQ02 pin output
INTTQ0CC2 signal
TQ0CCR3 register
D31
TOQ03 pin output
INTTQ0CC3 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 354 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
If the value of the TQ0CCRk register is greater than the value of the TQ0CCR0 register, the value of the 16-bit
counter will not match the value of the TQ0CCRk register. Consequently, the INTTQ0CCk signal is not
generated, nor is the output of the TOQ0k pin changed.
A chart showing the timing of operations when the value of the TQ0CCRk register (Dk1) is greater than the
value of the TQ0CCR0 register (D01) is shown below.
Remark
k = 1 to 3
Figure 8-15. Timing of Operations When D01 < Dk1
FFFFH
D01
D01
D01
D01
16-bit counter
0000H
TQ0CE bit
D01
TQ0CCR0 register
TOQ00 pin output
INTTQ0CC0 signal
TQ0CCR1 register
D11
TOQ01 pin output
INTTQ0CC1 signal
L
D21
TQ0CCR2 register
TOQ02 pin output
INTTQ0CC2 signal
L
D31
TQ0CCR3 register
TOQ03 pin output
INTTQ0CC3 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
L
Page 355 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(3) Operation of interval timer based on input of external event count
(a) Operation
When the 16-bit counter is incrementing based on the valid edge of the external event count input (TIQ00 pin)
in the interval timer mode, one external event count valid edge must be input immediately after the TQ0CE bit
changes from 0 to 1 to start the counter incrementing after the 16-bit counter is cleared from FFFFH to 0000H.
Once the TQ0CCR0 and TQ0CCRk registers are set to 0001H (that is, the same value as was previously set),
the TOQ0k pin output is inverted every two counts of the 16-bit counter (k = 1 to 3).
Note that the TQ0CTL1.TQ0EEE bit can only be set to 1 when timer output (TOQ0k) is used based on the
input of an external event count.
Figure 8-16. Operation of Interval Timer Based on Input of External Event Count
FFFFH
0001H
0001H
16-bit counter
0001H
0000H
TQ0CE bit
External event count input
(TIQ00 pin input)
TQ0CCR0 register
0001H
0001H
0001H
TQ0CCR1 register
0001H
0001H
0001H
0001H
0001H
0001H
0001H
0001H
0001H
TOQ01 pin output
TQ0CCR2 register
TOQ02 pin output
TQ0CCR3 register
TOQ03 pin output
2-count width
3 external event counts
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
2-count width
2-count width
2 external event counts
2 external event counts
Page 356 of 1210
V850ES/JG3-L
8.4.2
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
External event count mode (TQ0MD2 to TQ0MD0 bits = 001)
In the external event count mode, the valid edge of the external event count input is counted when the
TQ0CTL0.TQ0CE bit is set to 1, and an interrupt request signal (INTTQ0CC0) is generated each time the specified
number of edges have been counted. The timer output pins (TOQ00 to TOQ03) cannot be used. To use the TOQ01 to
TOQ03 pins in the external event count mode, be sure to set the TQ0CTL1.TQ0EEE bit to 1 in the interval timer mode first.
(For details, see 8.4.1 (3) Operation of interval timer based on input of external event count.)
Usually, the TQ0CCR1 to TQ0CCR3 registers are not used in the external event count mode.
Remarks 1. For how to set the TIQ00 pin, see Table 8-2 Pins Used by TMQ0 and Table 4-15 Settings When Pins
Are Used for Alternate Functions.
2. For how to enable the INTTQ0CC0 interrupt signal, see CHAPTER 22
INTERRUPT SERVICING/
EXCEPTION PROCESSING FUNCTION.
Figure 8-17. Configuration of Interval Timer in External Event Count Mode
Clear
TIQ00 pin
(external event
count input)
Edge
detector
16-bit counter
Match signal
TQ0CE bit
INTTQ0CC0 signal
CCR0 buffer register
TQ0CCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 357 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
When the TQ0CE bit is set to 1, the value of the 16-bit counter is cleared from FFFFH to 0000H. The counter
increments each time the valid edge of the external event count input is detected, and the value of the TQ0CCR0 register
is transferred to the CCR0 buffer register.
When the value of the 16-bit counter matches the value of the CCR0 buffer register, the 16-bit counter is cleared to
0000H, and a compare match interrupt request signal (INTTQ0CC0) is generated.
The INTTQ0CC0 signal is generated each time the valid edge of the external event count input has been detected the
specified number of times (that is, the value of the TQ0CCR0 register + 1).
Figure 8-18. Basic Timing of Operations in External Event Count Mode
FFFFH
D0
16-bit counter
D0
D0
0000H
16-bit counter
TQ0CE bit
External event count input
(TIQ00 pin input)
TQ0CCR0 register
(CCR0 buffer register)
TQ0CCR0 register
(CCR0 buffer register)
D0
D0
0000
0001
D0
NTTQ0CC0 signal
INTTQ0CC0 signal
External
event
count
interval
(D0 + 1)
Remark
D0 − 1
External
event
count
interval
(D0 + 1)
External
event
count
interval
(D0 + 1)
This figure shows the basic timing when the rising edge is specified as the valid edge of the
external event count input.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 358 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
An example of the register settings when the external event count mode is used is shown in the figure below.
Figure 8-19. Register Settings in External Event Count Mode (1/2)
(a) TMQ0 control register 0 (TQ0CTL0)
TQ0CE
TQ0CTL0
0/1
TQ0CKS2 TQ0CKS1 TQ0CKS0
0
0
0
0
0
0
0
0: Stop counting
1: Enable counting
(b) TMQ0 control register 1 (TQ0CTL1)
TQ0EST TQ0EEE
TQ0CTL1
0
0
0
TQ0MD2 TQ0MD1 TQ0MD0
0
0
0
0
1
0, 0, 1:
External event count mode
(c) TMQ0 I/O control register 0 (TQ0IOC0)
TQ0OL3 TQ0OE3 TQ0OL2 TQ0OE2 TQ0OL1 TQ0OE1 TQ0OL0 TQ0OE0
TQ0IOC0
0
0
0
0
0
0
0
0
0: Disable TOQ00 pin output
0: Disable TOQ01 pin output
0: Disable TOQ02 pin output
0: Disable TOQ03 pin output
(d) TMQ0 I/O control register 2 (TQ0IOC2)
TQ0EES1 TQ0EES0 TQ0ETS1 TQ0ETS0
TQ0IOC2
0
0
0
0
0/1
0/1
0
0
Select valid edge
of external event
count input.
(e) TMQ0 counter read buffer register (TQ0CNT)
The value of the 16-bit counter can be read by reading this register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 359 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-19. Register Settings in External Event Count Mode (2/2)
(f) TMQ0 capture/compare register 0 (TQ0CCR0)
When the TQ0CCR0 register is set to D0, the counter is cleared and a compare match interrupt request
signal (INTTQ0CC0) is generated when the number of external events reaches (D0 + 1).
(g) TMQ0 capture/compare registers 1 to 3 (TQ0CCR1 to TQ0CCR3)
The TQ0CCR1 to TQ0CCR3 registers are not usually used in the external event count mode. However,
because the set values of the TQ0CCR1 to TQ0CCR3 registers are transferred to the CCR1 to CCR3
buffer registers and a compare match interrupt request signal (INTTQ0CC1 to INTTQ0CC3) is generated
when the value of the 16-bit counter matches the value of the CCR1 to CCR3 buffer registers, interrupts
from these registers must be masked by setting the interrupt mask flags (TQ0CCMK1 to TQ0CCMK3).
Cautions 1. Do not set the TQ0CCR0 register to 0000H in the external event count mode.
2. Timer output cannot be used in the external event count mode. When using the timer
output based on the input of an external event count, first set the operating mode to
interval mode, and then specify “operation enabled” for the external event count
input (by setting the TQ0CTL1.TQ0MD2 to TQ0MD0 bits to 0, 0, 0 and setting the
TQ0CTL1.TQ0EEE bit to 1). (For details, see 8.4.1 (3) Operation of interval timer
based on input of external event count.)
3. When an external clock is used as the count clock, the external clock can be input
only from the TIQ00 pin. At this time, set the TQ0IOC1.TQ0IS1 and TQ0IOC1.TQ0IS0
bits to 0, 0 (capture trigger input (TIQ00 pin): no edge detection).
Remark
TMQ0 I/O control register 1 (TQ0IOC1) and TMQ0 option register 0 (TQ0OPT0) are not used in
the external event count mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 360 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) Operations in external event count mode
Figure 8-20. Timing and Processing of Operations in External Event Count Mode
FFFFH
D0
16-bit counter
D0
D0
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D0
INTTQ0CC0 signal
Starting counting
START
Set up the registers
TQ0CTL0 register
(TQ0CKS0 to TQ0CKS2 bits)
TQ0CTL1 register
TQ0IOC0 register
TQ0IOC2 register
TQ0CCR0 register
TQ0CE bit = 1
Be sure to set up these registers
before setting the TQ0CE bit to 1.
Counting starts (TQ0CE bit = 1).
The TQ0CKS0 to TQ0CKS2 bits
can be set here.
Stopping counting
TQ0CE bit = 0
When counting is disabled (TQ0CE bit = 0),
the counter is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 361 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) Using external event count mode
(a) Operation when TQ0CCR0 register is set to FFFFH
When the TQ0CCR0 register is set to FFFFH, the 16-bit counter increments up to FFFFH upon detection of the
valid edge of the external event count signal and is reset to 0000H in synchronization with the next increment
timing. The INTTQ0CC0 signal is then generated. At this time, the TQ0OPT0.TQ0OVF bit is not set to 1.
Figure 8-21. Operation When TQ0CCR0 Register Is Set to FFFFH
FFFFH
16-bit counter
0000H
TQ0CE bit
TQ0CCR0 register
FFFFH
INTTQ0CC0 signal
External event
count signal
interval
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
External event
count signal
interval
External event
count signal
interval
Page 362 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(b) Notes on rewriting TQ0CCR0 register
When rewriting the value of the TQ0CCR0 register to a smaller value, stop counting first and then change the
set value.
If the value of the TQ0CCR0 register is rewritten to a smaller value during counting, the 16-bit counter may
overflow.
Figure 8-22. Rewriting TQ0CCR0 Register
FFFFH
D1
16-bit counter
D1
D2
D2
D2
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D1
D2
INTTQ0CC0 signal
External event
count signal
interval (1)
(D1 + 1)
External event count signal
interval (NG)
(10000H + D2 + 1)
External event
count signal
interval (2)
(D2 + 1)
If the value of the TQ0CCR0 register is changed from D1 to D2 while the counter value is greater than D2 but
less than D1, the TQ0CCR0 register value is transferred to the CCR0 buffer register as soon as the register has
been rewritten. Consequently, the value that is compared with the 16-bit counter value is D2.
Because the counter value has already exceeded D2, however, the 16-bit counter increments up to FFFFH,
overflows, and then increments up again from 0000H. When the counter value matches D2, the INTTQ0CC0
signal is generated.
Therefore, the INTTQ0CC0 signal may not be generated at the valid edge of the external event count signal
when the external event count is “(D1 + 1)” or “(D2 + 1)” as originally expected, but instead may be generated at
the valid edge of the external event count signal when the external event count is “(10000H + D2 + 1)”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 363 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(c) Operation of TQ0CCR1 to TQ0CCR3 registers
The TQ0CCR1 to TQ0CCR3 registers are configured as follows in the external event count mode.
Figure 8-23. Configuration of TQ0CCR1 to TQ0CCR3 Registers
TQ0CCR1
register
CCR1 buffer
register
Match signal
INTTQ0CC1 signal
TQ0CCR2
register
CCR2 buffer
register
Match signal
INTTQ0CC2 signal
TQ0CCR3
register
CCR3 buffer
register
Match signal
INTTQ0CC3 signal
Clear
TIQ00 pin
Edge
detector
16-bit counter
Match signal
TQ0CE bit
INTTQ0CC0 signal
CCR0 buffer register
TQ0CCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 364 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
If the value of the TQ0CCRk register is less than or equal to the value of the TQ0CCR0 register, the
INTTQ0CCk signal is generated once per cycle.
A chart showing the timing of operations when the value of the TQ0CCRk register (Dk1) is less than or equal to
the value of the TQ0CCR0 register (D01) is shown below.
Remark
k = 1 to 3
Figure 8-24. Timing of Operations When D01 Dk1
FFFFH
16-bit counter
D01
D31
D11
D21
D01
D31
D11
D21
D01
D31
D11
D21
D01
D31
D11
D21
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D01
INTTQ0CC0 signal
TQ0CCR1 register
D11
INTTQ0CC1 signal
TQ0CCR2 register
D21
INTTQ0CC2 signal
TQ0CCR3 register
D31
INTTQ0CC3 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 365 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
If the value of the TQ0CCRk register is greater than the value of the TQ0CCR0 register, the value of the 16-bit
counter will not match the value of the TQ0CCRk register and the INTTQ0CCk signal will not be generated.
A chart showing the timing of operations when the value of the TQ0CCRk register (Dk1) is greater than the
value of the TQ0CCR0 register (D01) is shown below.
Remark
k = 1 to 3
Figure 8-25. Timing of Operations When D01 < Dk1
FFFFH
D01
D01
D01
D01
16-bit counter
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D01
INTTQ0CC0 signal
TQ0CCR1 register
INTTQ0CC1 signal
D11
L
TQ0CCR2 register
INTTQ0CC2 signal
D21
L
TQ0CCR3 register
INTTQ0CC3 signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
D31
L
Page 366 of 1210
V850ES/JG3-L
8.4.3
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
External trigger pulse output mode (TQ0MD2 to TQ0MD0 bits = 010)
In the external trigger pulse output mode, when the TQ0CTL0.TQ0CE bit is set to 1, TMQ0 waits for a trigger, which is
the valid edge of the external trigger input signal, and starts incrementing when this trigger is detected. TMQ0 then
outputs a PWM waveform from the TOQ01 to TOQ03 pins.
Pulses can also be output by generating a software trigger instead of using the external trigger. When using a software
trigger instead of the external trigger, a square wave that has one cycle of the PWM waveform as half its cycle can also be
output from the TOQ00 pin.
Remarks 1. For how to set the TIQ00 and TOQ00 to TOQ03 pins, see Table 8-2 Pins Used by TMQ0 and Table 4-15
Settings When Pins Are Used for Alternate Functions.
2. For how to enable the INTTQ0CC0 to INTTQ0CC3 interrupt signals, see CHAPTER 22 INTERRUPT
SERVICING/EXCEPTION PROCESSING FUNCTION.
Figure 8-26. Configuration of TMQ0 in External Trigger Pulse Output Mode
TQ0CCR1
register
Transfer
Output
S
controller
R (RS-FF)
CCR1 buffer
register
Match signal
TOQ01 pin
INTTQ0CC1 signal
TQ0CCR2
register
Transfer
Output
S
controller
R (RS-FF)
CCR2 buffer
register
Match signal
TOQ02 pin
INTTQ0CC2 signal
TQ0CCR3
register
Transfer
TIQ00 pin
Output
S
controller
R (RS-FF)
CCR3 buffer
register
Edge
detector
Match signal
INTTQ0CC3 signal
Clear
Software trigger
generation
Count
clock
selection
Count
start
control
Output
controller
(toggle)
16-bit counter
Match signal
TQ0CE bit
TOQ03 pin
TOQ00 pin
INTTQ0CC0 signal
CCR0 buffer register
Transfer
TQ0CCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 367 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-27. Basic Timing of Operations in External Trigger Pulse Output Mode
FFFFH
D3
D0
D3
D2
16-bit counter
D0
D3
D2
D1
D2
D1
D1
D1
D0
D2
D1
0000H
TQ0CE bit
External trigger input
(TIQ00 pin input)
TQ0CCR0 register
(CCR0 buffer register)
D0
INTTQ0CC0 signal
TOQ00 pin outputNote
TQ0CCR1 register
(CCR1 buffer register)
D1
INTTQ0CC1 signal
TOQ01 pin output
Active level
width
(D1)
Active level
width
(D1)
Active level Active level Active level
width
width
width
(D1)
(D1)
(D1)
TQ0CCR2 register
(CCR2 buffer register)
D2
INTTQ0CC2 signal
TOQ02 pin output
Active level
width (D2)
Active level
width (D2)
TQ0CCR3 register
(CCR3 buffer register)
Active level
width (D2)
D3
INTTQ0CC3 signal
TOQ03 pin output
Active level
width (D3)
Wait Cycle (D0 + 1)
for trigger
Active level
width (D3)
Cycle (D0 + 1)
Note The output from the TOQ00 pin can also be used as the input to the TIQ00 pin. When using the output
from the TOQ00 pin as the input to the TIQ00 pin, use a software trigger instead of an external trigger.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 368 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
When the TQ0CE bit is set to 1, TMQ0 waits for a trigger. When the trigger is generated, the 16-bit counter is cleared
from FFFFH to 0000H, starts incrementing, and outputs a PWM waveform from the TOQ0k pin. If the trigger is generated
again while the counter is incrementing, the counter is cleared to 0000H and restarts incrementing, and the output of the
TOQ00 pin is inverted. (The TOQ0k pin outputs a high level signal regardless of the status (high/low) when a trigger
occurs.)
The active level width, cycle, and duty factor of the PWM waveform can be calculated as follows.
Active level width = (Set value of TQ0CCRk register) Count clock cycle
Cycle = (Set value of TQ0CCR0 register + 1) Count clock cycle
Duty factor = (Set value of TQ0CCRk register)/(Set value of TQ0CCR0 register + 1)
The INTTQ0CC0 compare match interrupt request signal is generated when the 16-bit counter increments next time
after its value matches the value of the CCR0 buffer register, and the 16-bit counter is cleared to 0000H. The INTTQ0CCk
compare match interrupt request signal is generated when the value of the 16-bit counter matches the value of the CCRk
buffer register.
Either the valid edge of the external trigger input signal or setting the software trigger (TQ0CTL1.TQ0EST bit) to 1 is
used as the trigger.
Remark
k = 1 to 3
Figure 8-28. Register Settings in External Trigger Pulse Output Mode (1/3)
(a) TMQ0 control register 0 (TQ0CTL0)
TQ0CE
TQ0CTL0
0/1
TQ0CKS2 TQ0CKS1 TQ0CKS0
0
0
0
0
0/1
0/1
0/1
These bits select
the count clock.
0: Stop counting.
1: Enable counting.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 369 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-28. Register Settings in External Trigger Pulse Output Mode (2/3)
(b) TMQ0 control register 1 (TQ0CTL1)
TQ0EST TQ0EEE
TQ0CTL1
0
0/1
0
TQ0MD2 TQ0MD1 TQ0MD0
0
0
0
1
0
0, 1, 0:
External trigger pulse
output mode
Writing 1 generates
a software trigger.
(c) TMQ0 I/O control register 0 (TQ0IOC0)
TQ0OL3 TQ0OE3 TQ0OL2 TQ0OE2 TQ0OL1 TQ0OE1 TQ0OL0 TQ0OE0
TQ0IOC0
0/1
0/1
0/1
0/1
0/1
0/1
0/1Note
0/1Note
0: Disable TOQ00 pin output.
1: Enable TOQ00 pin output.
Output level when TOQ00 pin
is disabled:
0: Low level
1: High level
0: Disable TOQ01 pin output.
1: Enable TOQ01 pin output.
Active level of TOQ01 pin
output:
0: High level
1: Low level
0: Disable TOQ02 pin output.
1: Enable TOQ02 pin output.
Active level of TOQ02 pin
output:
0: High level
1: Low level
0: Disable TOQ03 pin output.
1: Enable TOQ03 pin output.
Active level of TOQ03 pin
output:
0: High level
1: Low level
• When TQ0OLk bit is 0:
• When TQ0OLk bit is 1:
16-bit counter
16-bit counter
TOQ0k pin output
TOQ0k pin output
Note Set this bit to 0 when not using the TOQ00 pin in external trigger pulse output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 370 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-28. Register Settings in External Trigger Pulse Output Mode (3/3)
(d) TMQ0 I/O control register 2 (TQ0IOC2)
TQ0EES1 TQ0EES0 TQ0ETS1 TQ0ETS0
TQ0IOC2
0
0
0
0
0
0
0/1
0/1
These bits select the
valid edge of the external
trigger input.
(e) TMQ0 counter read buffer register (TQ0CNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMQ0 capture/compare registers 0 to 3 (TQ0CCR0 to TQ0CCR3)
If the TQ0CCR0 register is set to D0, the TQ0CCR1 register is set to D1, the TQ0CCR2 register is set to
D2, and the TQ0CCR3 register is set to D3, the PWM waveform is as follows:
PWM waveform cycle = (D0 + 1) Count clock cycle
Active level width of PWM waveform from TOQ01 pin = D1 Count clock cycle
Active level width of PWM waveform from TOQ02 pin = D2 Count clock cycle
Active level width of PWM waveform from TOQ03 pin = D3 Count clock cycle
Remarks 1. TMQ0 I/O control register 1 (TQ0IOC1) and TMQ0 option register 0 (TQ0OPT0) are not
used in the external trigger pulse output mode.
2. Updating TMQ0 capture/compare register 2 (TQ0CCR2) and TMQ0 capture/compare
register 3 (TQ0CCR3) is enabled by writing to TMQ0 capture/compare register 1
(TQ0CCR1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 371 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) Operations in external trigger pulse output mode
Figure 8-29. Timing and Processing of Operations in External Trigger Pulse Output Mode (1/2)
FFFFH
D01
D00
16-bit counter
D30
D10
D20
D00
D31
D21
D31
D21
D11
D11
D00
D00
D31
D21
D30
D20
D10
D10
D00
D31
D21
D11
0000H
TQ0CE bit
External trigger input
(TIQ00 pin input)
TQ0CCR0 register
D00
CCR0 buffer register
D01
D00
D00
D01
D00
INTTQ0CC0 signal
TOQ00 pin output
(only when software
trigger is used)
TQ0CCR1 register
D10
CCR1 buffer register
D11
D10
D11
D10
D11
D11
D10
D10
D11
D10
D11
INTTQ0CC1 signal
TOQ01 pin output
TQ0CCR2 register
D20
CCR2 buffer register
D20
D21
D20
D21
D21
D20
D21
INTTQ0CC2 signal
TOQ02 pin output
TQ0CCR3 register
D30
CCR3 buffer register
D30
D31
D30
D31
D31
D30
D31
INTTQ0CC3 signal
TOQ03 pin output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 372 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-29. Timing and Processing of Operations in External Trigger Pulse Output Mode (2/2)
Starting counting
Changing the duty
When changing the duty, be sure to write to the
TQ0CCR2 and TQ0CCR3 registers before writing
to the TQ0CCR1 register.
START
Set up the registers
TQ0CTL0 register
(TQ0CKS0 to TQ0CKS2 bits)
TQ0CTL1 register
TQ0IOC0 register
TQ0IOC2 register
TQ0CCR0 to TQ0CCR3 registers
TQ0CE bit = 1
Be sure to set up these
registers before setting the
TQ0CE bit to 1.
Set the TQ0CCR2 and
TQ0CCR3 registers
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
Set the TQ0CCR1 register
Counting starts
(TQ0CE bit = 1).
The TQ0CKS0 to TQ0CKS2
bits can be set here.
Changing the duty of the TOQ02 and TOQ03
outputs
The TQ0CCR1 register must be written (the
same value) even when only changing the duty
of the TOQ02 and TOQ03 outputs.
Waiting for trigger
Changing both the cycle and the duty
When changing both the cycle and the duty, be sure
to write to the TQ0CCR0, TQ0CCR2, and TQ0CCR3
registers before writing to the TQ0CCR1 register.
Set the TQ0CCR0, TQ0CCR2,
and TQ0CCR3 registers
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
Set the TQ0CCR1 register
Changing the cycle
The TQ0CCR1 register must be written (the same
value) even when only changing the cycle setting.
Set the TQ0CCR0 register
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
Set the TQ0CCR2 and
TQ0CCR3 registers
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
Set the TQ0CCR1 register
Changing the duty of the TOQ01 output
Only the TQ0CCR1 register has to be written
when only changing the duty of the TOQ01 output.
Set the TQ0CCR1 register
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
Stopping counting
TQ0CE bit = 0
Disables counting.
Set the TQ0CCR1 register
STOP
Remark
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 373 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) Using external trigger pulse output mode
How to change the PWM waveform in the external trigger pulse output mode is described below.
(a) Changing the PWM waveform while the counter is incrementing
To change the PWM waveform while the counter is incrementing, write to the TQ0CCR1 register after changing
the waveform setting. When rewriting the TQ0CCRk register after writing to the TQ0CCR1 register, do so after
the INTTQ0CC0 signal has been detected.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 374 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-30. Changing PWM Waveform While Counter Is Incrementing
FFFFH
16-bit counter
0000H
D01
D00
D00
D00
D31
D30
D30
D30
D21
D20
D20
D20
D11
D10
D10
D10
D01
D31
D21
D11
TQ0CE bit
External trigger input
(TIQ00 pin input)
TQ0CCR0 register
D00
D01
D00
CCR0 buffer register
D01
INTTQ0CC0 signal
TOQ00 pin outputNote
D10
TQ0CCR1 register
D11
D10
CCR1 buffer register
D11
INTTQ0CC1 signal
TOQ01 pin output
TQ0CCR2 register
D20
D21
D20
CCR2 buffer register
D21
INTTQ0CC2 signal
TOQ02 pin output
TQ0CCR3 register
CCR3 buffer register
D30
D31
D30
D31
INTTQ0CC3 signal
TOQ03 pin output
Rewrite the TQ0CCR1 register after rewriting
the TQ0CCR0, TQ0CCR2, and TQ0CCR3 registers.
Note The output from the TOQ00 pin can also be used as the input to the TIQ00 pin. When using the
output from the TOQ00 pin as the input to the TIQ00 pin, use a software trigger instead of an external
trigger.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 375 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
In order to transfer data from the TQ0CCRm register to the CCRm buffer register, the TQ0CCR1 register must
be written.
After data is written to the TQ0CCR1 register, the value written to the TQ0CCRm register is transferred to the
CCRm buffer register in synchronization with clearing of the 16-bit counter, and is used as the value to be
compared with the 16-bit counter value.
To change both the cycle and active level width of the PWM waveform, first set the cycle to the
TQ0CCR0 register and then set the active level width to the TQ0CCR2 and TQ0CCR3 registers, before
setting the active level width to the TQ0CCR1 register.
To change only the cycle of the PWM waveform, first set the cycle to the TQ0CCR0 register, and then
write the same value to the TQ0CCR1 register (that is, the same value as the value already specified for
the TQ0CCR1 register).
To change only the active level width (duty factor) of the PWM waveform, first set the active level width to
the TQ0CCR2 and TQ0CCR3 registers, and then set the active level width to the TQ0CCR1 register.
To change only the active level width (duty factor) of the PWM waveform output from the TOQ01 pin, only
the TQ0CCR1 register has to be set.
To change only the active level width (duty factor) of the PWM waveform output from the TOQ02 and
TOQ03 pins, first set the active level width to the TQ0CCR2 and TQ0CCR3 registers, and then write the
same value to the TQ0CCR1 register (that is, the same value as the value already specified for the
TQ0CCR1 register).
Caution
To rewrite the TQ0CCR0 to TQ0CCR3 registers after writing the TQ0CCR1 register, do so
after the INTTQ0CC0 signal has been generated; otherwise, the value of the CCRm buffer
register may become undefined because the timing of transferring data from the
TQ0CCRm register to the CCRm buffer register conflicts with writing the TQ0CCRm
register.
Remark
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 376 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(b) Outputting a 0% or 100% PWM waveform
To output a 0% waveform, clear the TQ0CCRk register to 0000H. Note that if the set value of the TQ0CCR0
register is FFFFH, the INTTQ0CCk signal is generated periodically.
Figure 8-31. Outputting 0% PWM Waveform
Count clock
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0001
D0 − 1
D0
0000
TQ0CE bit
Trigger input
TQ0CCR0 register
D0
D0
D0
TQ0CCRk register
0000H
0000H
0000H
INTTQ0CC0 signal
INTTQ0CCk signal
TOQ0k pin output
Remark
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 377 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
To output a 100% waveform, set the value of TQ0CCR0 register + 1 to the TQ0CCRk register.
If the value of the TQ0CCR0 register is FFFFH, a 100% waveform cannot be output.
Figure 8-32. Outputting 100% PWM Waveform
Count clock
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0001
D0 − 1
D0
0000
TQ0CE bit
Trigger input
TQ0CCR0 register
D0
TQ0CCRk register
D0 + 1
D0
D0 + 1
D0
D0 + 1
INTTQ0CC0 signal
INTTQ0CCk signal
TOQ0k pin output
Remark
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 378 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(c) Detection of trigger immediately before or after INTTQ0CCk generation
If the trigger is detected immediately after the INTTQ0CCk signal is generated, the 16-bit counter is
immediately cleared to 0000H, the output signal of the TOQ0k pin is set to the active level, and the counter
continues incrementing. Consequently, the inactive period of the PWM waveform is shortened.
Figure 8-33. Detection of Trigger Immediately After INTTQ0CCk Signal Was Generated
16-bit counter
FFFF
Dk − 1
0000
Dk
0000
External trigger input
(TIQ00 pin input)
Dk
CCRk buffer register
INTTQ0CCk signal
TOQ0k pin output
Shortened
Remark
k = 1 to 3
If the trigger is detected immediately before the INTTQ0CCk signal is generated, the INTTQ0CCk signal is not
generated, and the 16-bit counter is cleared to 0000H and continues incrementing. The output signal of the
TOQ0k pin remains active. Consequently, the active period of the PWM waveform is extended.
Figure 8-34. Detection of Trigger Immediately Before INTTQ0CCk Signal Is Generated
16-bit counter
FFFF
0000
Dk − 2
0000
0001
Dk − 1
Dk
External trigger input
(TIQ00 pin input)
CCRk buffer register
Dk
INTTQ0CCk signal
TOQ0k pin output
Extended
Remark
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 379 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(d) Detection of trigger immediately before or after INTTQ0CC0 generation
If the trigger is detected immediately after the INTTQ0CC0 signal is generated, the 16-bit counter is cleared to
0000H and continues incrementing. Therefore, the active period of the TOQ0k pin is extended by the amount
of time between the generation of the INTTQ0CC0 signal and the detection of the trigger.
Figure 8-35. Detection of Trigger Immediately After INTTQ0CC0 Signal Was Generated
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0000
External trigger input
(TIQ00 pin input)
D0
CCR0 buffer register
INTTQ0CC0 signal
TOQ0k pin output
Extended
Remark
k = 1 to 3
If the trigger is detected immediately before the INTTQ0CC0 signal is generated, the INTTQ0CC0 signal is not
generated. The 16-bit counter is cleared to 0000H, the TOQ0k pin output is set to the active level, and the
counter continues incrementing. Consequently, the inactive period of the PWM waveform is shortened.
Figure 8-36. Detection of Trigger Immediately Before INTTQ0CC0 Signal Is Generated
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0001
External trigger input
(TIQ00 pin input)
CCR0 buffer register
D0
INTTQ0CC0 signal
TOQ0k pin output
Shortened
Remark
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 380 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(e) Timing of generating the compare match interrupt request signal (INTTQ0CCk)
In the external trigger pulse output mode, the INTTQ0CCk signal is generated when the value of the 16-bit
counter matches the value of the TQ0CCRk register.
Figure 8-37. Timing of Generating Compare Match Interrupt Signal (INTTQ0CCk)
Count clock
16-bit counter
TQ0CCRk register
D1 − 2
D1 − 1
D1
D1 + 1
D1 + 2
D1
TOQ0k pin output
INTTQ0CCk signal
Remark
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 381 of 1210
V850ES/JG3-L
8.4.4
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
One-shot pulse output mode (TQ0MD2 to TQ0MD0 bits = 011)
In the one-shot pulse output mode, when the TQ0CTL0.TQ0CE bit is set to 1, TMQ0 waits for a trigger, which is the
valid edge of the external trigger input, and starts incrementing when this trigger is detected. TMQ0 then outputs a oneshot pulse from the TOQ01 to TOQ03 pins.
Instead of the external trigger, a software trigger can also be generated to output the pulse. When the software trigger
is used, the TOQ00 pin outputs the active level signal while the 16-bit counter is incrementing, and the inactive level signal
when the counter is stopped (waiting for a trigger).
Remarks 1. For how to set the TIQ00 and TOQ00 to TOQ03 pins, see Table 8-2 Pins Used by TMQ0 and Table 4-15
Settings When Pins Are Used for Alternate Functions.
2. For how to enable the INTTQ0CC0 to INTTQ0CC3 interrupt signals, see CHAPTER 22 INTERRUPT
SERVICING/EXCEPTION PROCESSING FUNCTION.
Figure 8-38. Configuration of TMQ0 in One-Shot Pulse Output Mode
TQ0CCR1
register
Transfer
Output
S
controller
R (RS-FF)
CCR1 buffer
register
Match signal
TOQ01 pin
INTTQ0CC1 signal
TQ0CCR2
register
Transfer
Output
S
controller
R (RS-FF)
CCR2 buffer
register
Match signal
TOQ02 pin
INTTQ0CC2 signal
TQ0CCR3
register
TIQ00 pin
Transfer
Edge
detector
S Output
controller
R
(RS-FF)
CCR3 buffer
register
Software trigger
generation
Match signal
TOQ03 pin
INTTQ0CC3 signal
Clear
Count clock
selection
Count start
control
S Output
controller
R
(RS-FF)
16-bit counter
Match signal
TQ0CE bit
TOQ00 pin
INTTQ0CC0 signal
CCR0 buffer register
Transfer
TQ0CCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 382 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-39. Basic Timing of Operations in One-Shot Pulse Output Mode
FFFFH
D0
D0
D3
16-bit counter
D0
D3
D2
D3
D2
D1
D2
D1
D1
0000H
TQ0CE bit
External trigger input
(TIQ00 pin input)
TQ0CCR0 register
D0
INTTQ0CC0 signal
TOQ00 pin outputNote
TQ0CCR1 register
D1
INTTQ0CC1 signal
TOQ01 pin output
Delay
(D1)
Active
level width
(D0 − D1 + 1)
TQ0CCR2 register
Delay
(D1)
Active
level width
(D0 − D1 + 1)
Delay
(D1)
Active
level width
(D0 − D1 + 1)
D2
INTTQ0CC2 signal
TOQ02 pin output
Delay
(D2)
TQ0CCR3 register
Active
level width
(D0 − D2 + 1)
Delay
(D2)
Active
level width
(D0 − D2 + 1)
Delay
(D2)
Active
level width
(D0 − D2 + 1)
D3
INTTQ0CC3 signal
TOQ03 pin output
Wait
for
trigger
Delay
(D3)
Active
level width
(D0 − D3 + 1)
Delay
(D3)
Active
level width
(D0 − D3 + 1)
Delay
(D3)
Active
level width
(D0 − D3 + 1)
Note The output from the TOQ00 pin can also be used as the input to the TIQ00 pin. When using the output
from the TOQ00 pin as the input to the TIQ00 pin, use a software trigger instead of an external trigger.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 383 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
When the TQ0CE bit is set to 1, TMQ0 waits for a trigger. When the trigger is generated, the 16-bit counter is cleared
from FFFFH to 0000H, starts incrementing, and outputs a one-shot pulse from the TOQ0k pin. After the one-shot pulse is
output, the 16-bit counter is set to 0000H, stops incrementing, and waits for a trigger. If a trigger is generated again while
the one-shot pulse is being output, it is ignored.
The output delay period and active level width of the one-shot pulse can be calculated as follows:
Output delay period = (Set value of TQ0CCRk register) Count clock cycle
Active level width = (Set value of TQ0CCR0 register Set value of TQ0CCRk register + 1) Count clock cycle
The INTTQ0CC0 compare match interrupt request signal is generated when the 16-bit counter increments next time
after its value matches the value of the CCR0 buffer register. The INTTQ0CCk compare match interrupt request signal is
generated when the value of the 16-bit counter matches the value of the CCRk buffer register.
Either the valid edge of the external trigger input signal or setting the software trigger (TQ0CTL1.TQ0EST bit) to 1 is
used as the trigger.
Remark
k = 1 to 3
Figure 8-40. Register Settings in One-Shot Pulse Output Mode (1/3)
(a) TMQ0 control register 0 (TQ0CTL0)
TQ0CE
TQ0CTL0
0/1
TQ0CKS2 TQ0CKS1 TQ0CKS0
0
0
0
0
0/1
0/1
0/1
These bits select
the count clock.
0: Stop counting.
1: Enable counting.
(b) TMQ0 control register 1 (TQ0CTL1)
TQ0EST TQ0EEE
TQ0CTL1
0
0/1
0
TQ0MD2 TQ0MD1 TQ0MD0
0
0
0
1
1
0, 1, 1:
One-shot pulse output mode
Writing 1 generates a software
trigger.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 384 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-40. Register Settings in One-Shot Pulse Output Mode (2/3)
(c) TMQ0 I/O control register 0 (TQ0IOC0)
TQ0OL3 TQ0OE3 TQ0OL2 TQ0OE2 TQ0OL1 TQ0OE1 TQ0OL0 TQ0OE0
TQ0IOC0
0/1
0/1
0/1
0/1
0/1
0/1
0/1Note
0/1Note
0: Disable TOQ00 pin output.
1: Enable TOQ00 pin output.
Output level when TOQ00
pin is disabled:
0: Low level
1: High level
0: Disable TOQ01 pin output.
1: Enable TOQ01 pin output.
Active level of TOQ01 pin
output:
0: High level
1: Low level
0: Disable TOQ02 pin output.
1: Enable TOQ02 pin output.
Active level of TOQ02 pin
output:
0: High level
1: Low level
0: Disable TOQ03 pin output.
1: Enable TOQ03 pin output.
Active level of TOQ03 pin
output:
0: High level
1: Low level
• When TQ0OLk bit is 0:
• When TQ0OLk bit is 1:
16-bit counter
16-bit counter
TOQ0k pin output
TOQ0k pin output
(d) TMQ0 I/O control register 2 (TQ0IOC2)
TQ0EES1 TQ0EES0 TQ0ETS1 TQ0ETS0
TQ0IOC2
0
0
0
0
0
0
0/1
0/1
These bits select the
valid edge of the external
trigger input.
(e) TMQ0 counter read buffer register (TQ0CNT)
The value of the 16-bit counter can be read by reading this register.
Note Clear this bit to 0 when the TOQ00 pin is not used in the one-shot pulse output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 385 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-40. Register Settings in One-Shot Pulse Output Mode (3/3)
(f) TMQ0 capture/compare registers 0 to 3 (TQ0CCR0 to TQ0CCR3)
If the TQ0CCR0 register is set to D0 and the TQ0CCRk register is set to Dk, the one-shot pulse is as
follows:
One-shot pulse active level width = (D0 – Dk + 1) Count clock cycle
One-shot pulse output delay period = Dk Count clock cycle
Caution
One-shot pulses are not output from the TOQ0k pin in the one-shot pulse output mode if
the value of the TQ0CCRk register is greater than the value of the TQ0CCR0 register.
Remarks 1. TMQ0 I/O control register 1 (TQ0IOC1) and TMQ0 option register 0 (TQ0OPT0) are not
used in the one-shot pulse output mode.
2. k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 386 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) Operations in one-shot pulse output mode
Figure 8-41. Timing and Processing of Operations in One-Shot Pulse Output Mode (1/2)
FFFFH
D00
D01
D30
16-bit counter
D31
D20
D10
D11
D21
0000H
TQ0CE bit
External trigger input
(TIQ00 pin input)
TQ0CCR0 register
D00
D01
D10
D11
INTTQ0CC0 signal
TOQ00 pin output
(only when software
trigger is used)
TQ0CCR1 register
INTTQ0CC1 signal
TOQ01 pin output
TQ0CCR2 register
D20
D21
INTTQ0CC2 signal
TOQ02 pin output
TQ0CCR3 register
D30
D31
INTTQ0CC3 signal
TOQ03 pin output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 387 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-41. Timing and Processing of Operations in One-Shot Pulse Output Mode (2/2)
Starting counting
Changing the TQ0CCR0 to TQ0CCR3 register settings
START
Set the TQ0CCR0 to TQ0CCR3
registers
Set up the registers
TQ0CTL0 register
(TQ0CKS0 to TQ0CKS2 bits)
TQ0CTL1 register
TQ0IOC0 register
TQ0IOC2 register
TQ0CCR0 to TQ0CCR3 registers
TQ0CE bit = 1
Be sure to set up these
registers before setting
the TQ0CE bit to 1.
Stopping counting
Counting is enabled
(TQ0CE bit = 1).
The TQ0CKS0 to
TQ0CKS2 bits can be
set here.
Waiting for trigger
Remark
Because the TQ0CCRm
register value will be
transferred to the CCRm
buffer register as soon as
the TQ0CCRm register is
rewritten, it is recommended
to rewrite the TQ0CCRm
register immediately after
the INTTQ0CCR0 signal is
generated.
TQ0CE bit = 0
Disables counting.
STOP
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 388 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) Using one-shot pulse mode
(a) Rewriting the TQ0CCRm register
When rewriting the value of the TQ0CCRm register to a smaller value, stop counting first and then change the
set value.
When changing the value of the TQ0CCR0 register from D00 to D01 and the value of the TQ0CCRk register
from Dk0 to Dk1, if the registers are rewritten under any of the following conditions, a one-shot pulse will not be
output as expected.
Condition 1 When rewriting the TQ0CCR0 register, if:
D00 > D01 or,
D00 < 16-bit counter value < D01
In the case of condition 1, the 16-bit counter will not be cleared and will overflow in the cycle in which the new
value is being written. The counter will be cleared for the first time at the newly written value (D01).
Condition 2 When rewriting the TQ0CCRk register, if:
Dk0 > Dk1 or,
Dk0 < 16-bit counter value < Dk1
In the case of condition 2, the TOQ0k pin output cannot be inverted to the active level in the cycle in which the
new value is being written.
An example of what happens when condition 1 and condition 2 are satisfied in the same cycle is shown in
Figure 8-42.
The 16-bit counter increments up to FFFFH, overflows, and starts incrementing again from 0000H.
When the 16-bit counter value matches Dk1, the INTTQ0CCk signal is generated and the TOQ0k pin output is
set to the active level. Subsequently, when the 16-bit counter value matches D01, the INTTQ0CC0 signal is
generated, the TOQ0k pin output is set to the inactive level, and the counter stops incrementing.
Remark
m = 0 to 3
K = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 389 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-42. Rewriting TQ0CCRm Register
FFFFH
16-bit counter
D00
D00
D01
Dk0
D01
Dk0
Dk1
Dk1
0000H
TQ0CE bit
External trigger input
(TIQ00 pin input)
TQ0CCR0 register
(CCR0 buffer register)
D00
D01
INTTQ0CC0 signal
TOQ00 pin outputNote
TQ0CCRk register
(CCRk buffer register)
Dk0
Dk1
INTTQ0CCk signal
TOQ0k pin output
Delay
(Dk0)
Active level width
(D0 − Dk0 + 1)
Delay
(10000H + Dk1)
Active level width
(D01 − Dk1 + 1)
Delay
(Dk1)
Active level width
(D01 − Dk1 + 1)
Note The output from the TOQ00 pin can also be used as the input to the TIQ00 pin. When using the output
from the TOQ00 pin as the input to the TIQ00 pin, use a software trigger instead of an external trigger.
Remark
m = 0 to 3
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 390 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(b) Timing of generating the compare match interrupt request signal (INTTQ0CCk)
In the one-shot pulse output mode, the INTTQ0CCk signal is generated when the value of the 16-bit counter
matches the value of the TQ0CCRk register.
Figure 8-43. Timing of Generating Compare Match Interrupt Signal (INTTQ0CCk)
Count clock
16-bit counter
TQ0CCRk register
Dk − 2
Dk − 1
Dk
Dk + 1
Dk + 2
Dk
TOQ0k pin output
INTTQ0CCk signal
Remark
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 391 of 1210
V850ES/JG3-L
8.4.5
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
PWM output mode (TQ0MD2 to TQ0MD0 bits = 100)
In the PWM output mode, when the TQ0CTL0.TQ0CE bit is set to 1, TMQ0 outputs a PWM waveform from the TOQ01
to TOQ03 pins.
A pulse that has one cycle of the PWM waveform as half its cycle can also be output from the TOQ00 pin.
Remarks 1. For how to set the TIQ00 and TOQ00 to TOQ03 pins, see Table 8-2 Pins Used by TMQ0 and Table 4-15
Settings When Pins Are Used for Alternate Functions.
2. For how to enable the INTTQ0CC0 to INTTQ0CC3 interrupt signals, see CHAPTER 22 INTERRUPT
SERVICING/EXCEPTION PROCESSING FUNCTION.
Figure 8-44. Configuration of TMQ0 in PWM Output Mode
TQ0CCR1
register
Transfer
Output
S
controller
R (RS-FF)
CCR1 buffer
register
Match signal
TOQ01 pin
INTTQ0CC1 signal
TQ0CCR2
register
Transfer
S Output
controller
R
(RS-FF)
CCR2 buffer
register
Match signal
TOQ02 pin
INTTQ0CC2 signal
TQ0CCR3
register
Transfer
CCR3 buffer
register
Output
S
controller
R (RS-FF)
Match signal
TOQ03 pin
INTTQ0CC3 signal
Clear
Count
clock
selection
16-bit counter
Output
controller
Match signal
TQ0CE bit
TOQ00 pin
INTTQ0CC0 signal
CCR0 buffer register
Transfer
TQ0CCR0 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 392 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-45. Basic Timing of Operations in PWM Output Mode
FFFFH
D3
16-bit counter
D1
D0
D3
D0
D3
D2
D2
D0
D3
D2
D1
D0
D2
D1
D1
0000H
TQ0CE bit
D0
TQ0CCR0 register
INTTQ0CC0 signal
TOQ00 pin output
TQ0CCR1 register
D1
INTTQ0CC1 signal
TOQ01 pin output
Active
level width
(D1)
Active
level width
(D1)
Active
level width
(D1)
Active
level width
(D1)
D2
TQ0CCR2 register
INTTQ0CC2 signal
TOQ02 pin output
Active
level width
(D2)
Active
level width
(D2)
TQ0CCR3 register
Active
level width
(D2)
Active
level width
(D2)
D3
INTTQ0CC3 signal
TOQ03 pin output
Active level
width (D3)
Cycle (D0 + 1)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Active level
width (D3)
Cycle (D0 + 1)
Active level
width (D3)
Cycle (D0 + 1)
Active level
width (D3)
Cycle (D0 + 1)
Page 393 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
When the TQ0CE bit is set to 1, the 16-bit counter is cleared from FFFFH to 0000H, starts incrementing, and outputs a
PWM waveform from the TOQ0k pin.
The active level width, cycle, and duty factor of the PWM waveform can be calculated as follows:
Active level width = (Set value of TQ0CCRk register) Count clock cycle
Cycle = (Set value of TQ0CCR0 register + 1) Count clock cycle
Duty factor = (Set value of TQ0CCRk register)/(Set value of TQ0CCR0 register + 1)
The PWM waveform can be changed by rewriting the TQ0CCRm register while the counter is incrementing. The newly
written value is reflected when the value of the 16-bit counter matches the value of the CCR0 buffer register and the 16-bit
counter is cleared to 0000H.
The INTTQ0CC0 compare match interrupt request signal is generated when the 16-bit counter increments next time
after its count value matches the value of the CCR0 buffer register, and the 16-bit counter is cleared to 0000H. The
INTTQ0CCk compare match interrupt request signal is generated when the value of the 16-bit counter matches the value
of the CCRk buffer register.
Remark
k = 1 to 3
m = 0 to 3
Figure 8-46. Register Settings in PWM Output Mode (1/3)
(a) TMQ0 control register 0 (TQ0CTL0)
TQ0CE
TQ0CTL0
0/1
TQ0CKS2 TQ0CKS1 TQ0CKS0
0
0
0
0
0/1
0/1
0/1
These bits select the
count clockNote.
0: Stop counting.
1: Enable counting.
(b) TMQ0 control register 1 (TQ0CTL1)
TQ0EST TQ0EEE
TQ0CTL1
0
0
0/1
TQ0MD2 TQ0MD1 TQ0MD0
0
0
1
0
0
1, 0, 0:
PWM output mode
0: Operate on count clock
selected by using TQ0CKS0
to TQ0CKS2 bits.
1: Increment based on external
event count input signal.
Note The setting of these bits is invalid when the TQ0CTL1.TQ0EEE bit is 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 394 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-46. Register Settings in PWM Output Mode (2/3)
(c) TMQ0 I/O control register 0 (TQ0IOC0)
TQ0OL3 TQ0OE3 TQ0OL2 TQ0OE2 TQ0OL1 TQ0OE1 TQ0OL0 TQ0OE0
TQ0IOC0
0/1
0/1
0/1
0/1
0/1
0/1
0/1Note
0/1Note
0: Disable TOQ00 pin output.
1: Enable TOQ00 pin output.
Output level when TOQ00
pin is disabled:
0: Low level
1: High level
0: Disable TOQ01 pin output.
1: Enable TOQ01 pin output.
Active level of TOQ01 pin
output:
0: High level
1: Low level
0: Disable TOQ02 pin output.
1: Enable TOQ02 pin output.
Active level of TOQ02 pin
output:
0: High level
1: Low level
0: Disable TOQ03 pin output.
1: Enable TOQ03 pin output.
Active level of TOQ03 pin
output:
0: High level
1: Low level
• When TQ0OLk bit is 0:
• When TQ0OLk bit is 1:
16-bit counter
16-bit counter
TOQ0k pin output
TOQ0k pin output
(d) TMQ0 I/O control register 2 (TQ0IOC2)
TQ0EES1 TQ0EES0 TQ0ETS1 TQ0ETS0
TQ0IOC2
0
0
0
0
0/1
0/1
0
0
These bits select the
valid edge of the external
trigger input.
(e) TMQ0 counter read buffer register (TQ0CNT)
The value of the 16-bit counter can be read by reading this register.
Note Set this bit to 0 when not using the TOQ00 pin in the PWM output mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 395 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-46. Register Settings in PWM Output Mode (3/3)
(f) TMQ0 capture/compare registers 0 to 3 (TQ0CCR0 to TQ0CCR3)
If the TQ0CCR0 register is set to D0 and the TQ0CCRk register is set to Dk, the PWM waveform is as
follows:
PWM waveform cycle = (D0 + 1) Count clock cycle
PWM waveform active level width = Dk Count clock cycle
Remarks 1. TMQ0 I/O control register 1 (TQ0IOC1) and TMQ0 option register 0 (TQ0OPT0) are not
used in the PWM output mode.
2. Updating TMQ0 capture/compare register 2 (TQ0CCR2) and TMQ0 capture/compare
register 3 (TQ0CCR3) is enabled by writing to TMQ0 capture/compare register 1
(TQ0CCR1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 396 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) Operations in PWM output mode
Figure 8-47. Timing and Processing of Operations in PWM Output Mode (1/2)
FFFFH
D01
D00
16-bit counter
D30
D10
D20
D00
D31
D21
D31
D21
D11
D11
D00
D00
D31
D21
D30
D20
D10
D10
D00
D31
D21
D11
0000H
TQ0CE bit
TQ0CCR0 register
D00
CCR0 buffer register
D01
D00
D00
D01
D00
INTTQ0CC0 signal
TOQ00 pin output
TQ0CCR1 register
D10
CCR1 buffer register
D11
D10
D11
D10
D11
D11
D10
D10
D11
D10
D11
INTTQ0CC1 signal
TOQ01 pin output
TQ0CCR2 register
D20
CCR2 buffer register
D20
D21
D20
D21
D21
D20
D21
INTTQ0CC2 signal
TOQ02 pin output
TQ0CCR3 register
D30
CCR3 buffer register
D30
D31
D30
D31
D31
D30
D31
INTTQ0CC3 signal
TOQ03 pin output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 397 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-47. Timing and Processing of Operations in PWM Output Mode (2/2)
Starting counting
Changing the duty
When changing the duty, be sure to write to the
TQ0CCR2 and TQ0CCR3 registers before writing
to the TQ0CCR1 register.
START
Set up the registers
TQ0CTL0 register
(TQ0CKS0 to TQ0CKS2 bits)
TQ0CTL1 register
TQ0IOC0 register
TQ0IOC2 register
TQ0CCR0 to TQ0CCR3 registers
TQ0CE bit = 1
Be sure to set up these
registers before setting
the TQ0CE bit to 1.
Set the TQ0CCR1 register
Counting starts
(TQ0CE bit = 1).
The TQ0CKS0 to TQ0CKS2
bits can be set here.
Changing both the cycle and the duty
When changing both the cycle and the duty,
be sure to write to the TQ0CCR0, TQ0CCR2,
and TQ0CCR3 registers before writing to the
TQ0CCR1 register.
Set the TQ0CCR0, TQ0CCR2,
and TQ0CCR3 registers
Set the TQ0CCR2 and
TQ0CCR3 registers
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
Changing the duty of the TOQ02 and TOQ03
outputs
The TQ0CCR1 register must be written (the
same value) even when only changing the duty
of the TOQ02 and TOQ03 outputs.
Set the TQ0CCR2 and
TQ0CCR3 registers
Set the TQ0CCR1 register
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
Changing the duty of the TOQ01 output
Only the TQ0CCR1 register has to be written when
only changing the duty of the TOQ01 output.
Set the TQ0CCR1 register
Set the TQ0CCR1 register
Changing the cycle
The TQ0CCR1 register must be written (the same
value) even when only changing the cycle setting.
Set the TQ0CCR0 register
Set the TQ0CCR1 register
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
After setting the TQ0CCRm
registers, their values are
transferred to the CCRm
buffer registers when the
counter is cleared.
Stopping counting
TQ0CE bit = 0
Disables counting.
STOP
Remark
k = 1 to 3
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 398 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) Using PWM output mode
(a) Changing the PWM waveform while the counter is incrementing
To change the PWM waveform while the counter is incrementing, write to the TQ0CCR1 register after changing
the waveform setting. When rewriting the TQ0CCRm register after writing to the TQ0CCR1 register, do so after
the INTTQ0CC0 signal has been detected.
Figure 8-48. Changing PWM Waveform While Counter Is Incrementing
FFFFH
16-bit counter
0000H
D01
D00
D30
D20
D10
D00
D30
D20
D10
D00
D30
D20
D10
D01
D31
D21
D31
D21
D11
D11
TQ0CE bit
TQ0CCR0 register
D00
D01
D00
CCR0 buffer register
D01
INTTQ0CC0 signal
TOQ00 pin output
D10
TQ0CCR1 register
D11
D10
CCR1 buffer register
D11
INTTQ0CC1 signal
TOQ01 pin output
TQ0CCR2 register
CCR2 buffer register
D20
D21
D20
D21
INTTQ0CC2 signal
TOQ02 pin output
TQ0CCR3 register
CCR3 buffer register
D30
D30
D31
D31
INTTQ0CC3 signal
TOQ03 pin output
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 399 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
In order to transfer data from the TQ0CCRm register to the CCRm buffer register, the TQ0CCR1 register must
be written.
After data is written to the TQ0CCR1 register, the value written to the TQ0CCRm register is transferred to the
CCRm buffer register in synchronization with clearing of the 16-bit counter, and is used as the value to be
compared with the 16-bit counter value.
To change both the cycle and active level width of the PWM waveform, first set the cycle to the
TQ0CCR0 register and then set the active level width to the TQ0CCR2 and TQ0CCR3 registers, before
setting the active level width to the TQ0CCR1 register.
To change only the cycle of the PWM waveform, first set the cycle to the TQ0CCR0 register, and then
write the same value to the TQ0CCR1 register (that is, the same value as the value already specified for
the TQ0CCR1 register).
To change only the active level width (duty factor) of the PWM waveform, first set the active level width to
the TQ0CCR2 and TQ0CCR3 registers, and then set the active level width to the TQ0CCR1 register.
To change only the active level width (duty factor) of the PWM waveform output from the TOQ01 pin, only
the TQ0CCR1 register has to be set.
To change only the active level width (duty factor) of the PWM waveform output from the TOQ02 and
TOQ03 pins, first set the active level width to the TQ0CCR2 and TQ0CCR3 registers, and then write the
same value to the TQ0CCR1 register (that is, the same value as the value already specified for the
TQ0CCR1 register).
Caution
To rewrite the TQ0CCR0 to TQ0CCR3 registers after writing the TQ0CCR1 register, do so after
the INTTQ0CC0 signal has been generated; otherwise, the value of the CCRm buffer register
may become undefined because the timing of transferring data from the TQ0CCRm register
to the CCRm buffer register conflicts with writing the TQ0CCRm register.
Remark
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 400 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(b) Outputting a 0% or 100% PWM waveform
To output a 0% waveform, clear the TQ0CCRk register to 0000H.
Figure 8-49. Outputting 0% PWM Waveform
Count clock
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0001
D0 − 1
D0
0000
TQ0CE bit
TQ0CCR0 register
D0
D0
D0
TQ0CCRk register
0000H
0000H
0000H
INTTQ0CC0 signal
INTTQ0CCk signal
TOQ0k pin output
Remark
L
k = 1 to 3
To output a 100% waveform, set the value of TQ0CCR0 register + 1 to the TQ0CCRk register. If the value of
the TQ0CCR0 register is FFFFH, a 100% waveform cannot be output.
Figure 8-50. Outputting 100% PWM Waveform
Count clock
16-bit counter
FFFF
0000
D0 − 1
D0
0000
0001
D0 − 1
D0
0000
TQ0CE bit
TQ0CCR0 register
D0
D0
D0
TQ0CCRk register
D0 + 1
D0 + 1
D0 + 1
INTTQ0CC0 signal
INTTQ0CCk signal
TOQ0k pin output
Remark
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 401 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(c) Timing of generating the compare match interrupt request signal (INTTQ0CCk)
In the PWM output mode, the INTTQ0CCk signal is generated when the value of the 16-bit counter matches
the value of the TQ0CCRk register.
Figure 8-51. Timing of Generating Compare Match Interrupt Request Signal (INTTQ0CCk)
Count clock
16-bit counter
CCRk buffer register
Dk − 2
Dk − 1
Dk
Dk + 1
Dk + 2
Dk
TOQ0k pin output
INTTQ0CCk signal
Remark
k = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 402 of 1210
V850ES/JG3-L
8.4.6
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Free-running timer mode (TQ0MD2 to TQ0MD0 bits = 101)
In the free-running timer mode, TMQ0 starts incrementing when the TQ0CTL0.TQ0CE bit is set to 1. At this time, the
TQ0CCRm register can be used as a compare register or a capture register, according to the setting of the
TQ0OPT0.TQ0CCS0 and TQ0OPT0.TQ0CCS1 bits.
Remarks 1. For how to set the TIQ0m and TOQ0m pins, see Table 8-2 Pins Used by TMQ0 and Table 4-15
Settings When Pins Are Used for Alternate Functions.
2. For how to enable the INTTQ0CCm interrupt signal, see CHAPTER 22
INTERRUPT SERVICING/
EXCEPTION PROCESSING FUNCTION.
3. m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 403 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-52. Configuration of TMQ0 in Free-Running Timer Mode
TQ0CCR3
register
(compare)
TQ0CCR2
register
(compare)
TQ0CCR1
register
(compare)
TQ0CCR0
register
(compare)
Internal count clock
TIQ00Note 1 pin
(external event
count input/
capture
trigger input)
Note 2
TIQ01
pin
(capture
trigger input)
TIQ02Note 2 pin
(capture
trigger input)
TIQ03Note 2 pin
(capture
trigger input)
Edge
detector
Output
controller
TOQ03Note 2 pin output
Output
controller
TOQ0Note 2 pin output
Output
controller
TOQ01Note 2 pin output
Output
controller
TOQ00Note 1 pin output
TQ0CCS0,
TQ0CCS1 bits
(capture/compare
selection)
Count
clock
selection
INTTQ0OV signal
16-bit counter
TQ0CE
bit
0
Edge
detector
INTTQ0CC3 signal
1
TQ0CCR0
register
(capture)
0
INTTQ0CC2 signal
1
Edge
detector
0
TQ0CCR1
register
(capture)
Edge
detector
INTTQ0CC1 signal
1
0
1
INTTQ0CC0 signal
TQ0CCR2
register
(capture)
Edge
detector
TQ0CCR3
register
(capture)
Notes 1. The external event count input/capture trigger input pin (TIQ00) can also be used as the timer
output pin (TOQ00); however, only one of these functions can be used at a time.
2. The capture trigger input pin (TIQ0k) can also be used as the timer output pin (TOQ0k); however,
only one of these functions can be used at a time. (k = 1 to 3.)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 404 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Compare operation
When the TQ0CE bit is set to 1, TMQ0 starts incrementing, and the output signals of the TOQ00 to TOQ03 pins are
inverted. When the value of the 16-bit counter later matches the set value of the TQ0CCRm register, a compare
match interrupt request signal (INTTQ0CCm) is generated, and the output signal of the TOQ0m pin is inverted.
The 16-bit counter continues incrementing in synchronization with the count clock. Once the counter reaches
FFFFH, it generates an overflow interrupt request signal (INTTQ0OV) at the next clock, is cleared to 0000H, and
continues incrementing. At this time, the overflow flag (the TQ0OPT0.TQ0OVF bit) is also set to 1. The overflow flag
must be cleared to 0 by executing a CLR1 software instruction.
The TQ0CCRm register can be rewritten while the counter is incrementing. If it is rewritten, the new value is
immediately applied, and compared with the count value.
Remark
m = 0 to 3
Figure 8-53. Basic Timing of Operations in Free-Running Timer Mode (Compare Function)
FFFFH
16-bit counter
D00
D30
D00
D30
D20
D01
D31
D20
D10
D11
D21
D11
D01
D31
D21
D11
0000H
TQ0CE bit
D00
TQ0CCR0 register
D01
INTTQ0CC0 signal
TOQ00 pin output
TQ0CCR1 register
D10
D11
INTTQ0CC1 signal
TOQ01 pin output
TQ0CCR2 register
D20
D21
INTTQ0CC2 signal
TOQ02 pin output
TQ0CCR3 register
D30
D31
INTTQ0CC3 signal
TOQ03 pin output
INTTQ0OV signal
TQ0OVF bit
Cleared to 0 by Cleared to 0 by Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 405 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Capture operation
When the TQ0CE bit is set to 1, the 16-bit counter starts incrementing. When it is detected that a valid edge as been
input to the TIQ0m pin, the value of the 16-bit counter is stored in the TQ0CCRm register, and a capture interrupt
request signal (INTTQ0CCm) is generated.
The 16-bit counter continues incrementing in synchronization with the count clock. When the counter reaches
FFFFH, it generates an overflow interrupt request signal (INTTQ0OV) at the next clock, is cleared to 0000H, and
continues incrementing. At this time, the overflow flag (the TQ0OPT0.TQ0OVF bit) is also set to 1. The overflow flag
must be cleared to 0 by executing a CLR1 software instruction.
Remark
m = 0 to 3
Figure 8-54. Basic Timing of Operations in Free-Running Timer Mode (Capture Function)
FFFFH
16-bit counter
D10
D30
D31
D21
D00
D20
D32
D22
D23
D33
D11
D02
D12
D01
D13
D03
0000H
TQ0CE bit
TIQ00 pin input
TQ0CCR0 register
0000
D00
D01
D02
D03
INTTQ0CC0 signal
TIQ01 pin input
TQ0CCR1 register
0000
D10
D11
D12
D13
INTTQ0CC1 signal
TIQ02 pin input
TQ0CCR2 register
0000
D20
D21
D22
D23
INTTQ0CC2 signal
TIQ03 pin input
TQ0CCR3 register
0000
D30
D31
D32
D33
INTTQ0CC3 signal
INTTQ0OV signal
TQ0OVF bit
Cleared to 0 by Cleared to 0 by Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction
Remark
The valid edge is the rising edge.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 406 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-55. Register Settings in Free-Running Timer Mode (1/3)
(a) TMQ0 control register 0 (TQ0CTL0)
TQ0CE
TQ0CTL0
0/1
TQ0CKS2 TQ0CKS1 TQ0CKS0
0
0
0
0
0/1
0/1
0/1
These bits select the
count clockNote.
0: Stop counting.
1: Enable counting.
Note The setting of these bits is invalid when the TQ0CTL1.TQ0EEE bit is 1.
(b) TMQ0 control register 1 (TQ0CTL1)
TQ0EST TQ0EEE
TQ0CTL1
0
0
0/1Note
TQ0MD2 TQ0MD1 TQ0MD0
0
0
1
0
1
1, 0, 1:
Free-running timer mode
0: Operate on count clock
selected by using TQ0CKS0
to TQ0CKS2 bits.
1: Increment based on external
event count input signal.
Note The TIQ00 pin cannot be used for capture operations when the TQ0CTL1.TQ0EEE bit is 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 407 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-55. Register Settings in Free-Running Timer Mode (2/3)
(c) TMQ0 I/O control register 0 (TQ0IOC0)
TQ0OL3 TQ0OE3 TQ0OL2 TQ0OE2 TQ0OL1 TQ0OE1 TQ0OL0 TQ0OE0
TQ0IOC0
0/1Note
0/1Note
0/1Note
0/1Note
0/1Note
0/1Note
0/1Note
0/1Note
0: Disable TOQ00 pin output.
1: Enable TOQ00 pin output.
Output level when TOQ00
pin is disabled:
0: Low level
1: High level
0: Disable TOQ01 pin output.
1: Enable TOQ01 pin output.
Output level when TOQ01
pin is disabled:
0: Low level
1: High level
0: Disable TOQ02 pin output.
1: Enable TOQ02 pin output.
Output level when TOQ02
pin is disabled:
0: Low level
1: High level
0: Disable TOQ03 pin output.
1: Enable TOQ03 pin output.
Output level when TOQ03
pin is disabled:
0: Low level
1: High level
Note The TOQ0m pin cannot be used when the TIQ0m pin is being used.
Remark
m = 0 to 3
(d) TMQ0 I/O control register 1 (TQ0IOC1)
TQ0IOC1
TQ0IS7
TQ0IS6
TQ0IS5
TQ0IS4
TQ0IS3
TQ0IS2
TQ0IS1
TQ0IS0
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
These bits select the valid
edge of the TIQ00 pin input.
These bits select the valid
edge of the TIQ01 pin input.
These bits select the valid
edge of the TIQ02 pin input.
These bits select the valid
edge of the TIQ03 pin input.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 408 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-55. Register Settings in Free-Running Timer Mode (3/3)
(e) TMQ0 I/O control register 2 (TQ0IOC2)
TQ0EES1 TQ0EES0 TQ0ETS1 TQ0ETS0
TQ0IOC2
0
0
0
0
0/1
0/1
0
0
These bits select the valid edge
of the external event count input.
(f) TMQ0 option register 0 (TQ0OPT0)
TQ0CCS3 TQ0CCS2 TQ0CCS1 TQ0CCS0
TQ0OPT0
0/1
0/1
0/1
0/1
TQ0OVF
0
0
0
0/1
Overflow flag
Specifies whether TQ0CCR0
register is used for capture
or compare.
Specifies whether TQ0CCR1
register is used for capture
or compare.
Specifies whether TQ0CCR2
register is used for capture
or compare.
Specifies whether TQ0CCR3
register is used for capture
or compare.
(g) TMQ0 counter read buffer register (TQ0CNT)
The value of the 16-bit counter can be read by reading this register.
(h) TMQ0 capture/compare registers 0 to 3 (TQ0CCR0 to TQ0CCR3)
These registers function as capture registers or compare registers according to the setting of the
TQ0OPT0.TQ0CCSm bit.
When the registers function as capture registers, they store the value of the 16-bit counter when it is
detected that a valid edge has been input to the TIQ0m pin, after which the INTTQ0CCm signal is
generated.
When the registers function as compare registers and when the TQ0CCRm register is set to Dm, the
INTTQ0CCm signal is generated the when the counter reaches (Dm + 1), and the output signal of the
TOQ0m pin is inverted.
Remark
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 409 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) Operations in free-running timer mode
The following two operations occur in the free-running timer mode:
Capture operations
Compare operations
(a) Using a capture/compare register as a compare register
Figure 8-56. Timing and Processing of Operations in Free-Running Timer Mode (Compare Function) (1/2)
FFFFH
D21
D00
D30
D20
16-bit counter
D21
D00
D30
D20
D10
D10
D01
D31
D11
D01
D31
D11
D11
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D00
D01
Value changed
INTTQ0CC0 signal
TOQ00 pin output
TQ0CCR1 register
(CCR1 buffer register)
D10
D11
Value changed
INTTQ0CC1 signal
TOQ01 pin output
TQ0CCR2 register
(CCR2 buffer register)
D21
D20
Value changed
INTTQ0CC2 signal
TOQ02 pin output
TQ0CCR3 register
(CCR3 buffer register)
D31
D30
Value changed
INTTQ0CC3 signal
TOQ03 pin output
INTTQ0OV signal
TQ0OVF bit
Cleared to 0 by Cleared to 0 by Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 410 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-56. Timing and Processing of Operations in Free-Running Timer Mode (Compare Function) (2/2)
Starting counting
START
Set up the registers
TQ0CTL0 register
(TQ0CKS0 to TQ0CKS2 bits)
TQ0CTL1 register
TQ0IOC0 register
TQ0IOC2 register
TQ0OPT0 register
TQ0CCR0 to TQ0CCR3 registers
TQ0CE bit = 1
Be sure to set up these registers
before setting the TQ0CE bit to 1.
Counting is enabled (TQ0CE bit = 1).
The TQ0CKS0 to TQ0CKS2 bits can
be set here.
Clearing overflow flag
Read TQ0OPT0 register
(check overflow flag)
TQ0OVF bit = 1
NO
YES
Execute instruction to clear
TQ0OVF bit (CLR1 TQ0OVF)
Stopping counting
TQ0CE bit = 0
When counting is disabled (TQ0CE bit = 0),
the counter is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 411 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(b) Using a capture/compare register as a capture register
Figure 8-57. Timing and Processing of Operations in Free-Running Timer Mode (Capture Function) (1/2)
FFFFH
D10
D30
D31
D21
D00
D20
16-bit counter
D32
D22
D23
D33
D11
D02
D12
D01
D13
D03
0000H
TQ0CE bit
TIQ00 pin input
TQ0CCR0 register
(CCR0 buffer register)
0000
D00
D01
D02
D03
0000
INTTQ0CC0 signal
TIQ01 pin input
TQ0CCR1 register
(CCR1 buffer register)
0000
D10
0000
D20
D11
D12
0000
D13
INTTQ0CC1 signal
TIQ02 pin input
TQ0CCR2 register
(CCR2 buffer register)
D21
D22
D23
0000
INTTQ0CC2 signal
TIQ03 pin input
TQ0CCR3 register
(CCR3 buffer register)
0000
D30
D31
D32
0000
D33
INTTQ0CC3 signal
INTTQ0OV signal
TQ0OVF bit
Cleared to 0 by Cleared to 0 by Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 412 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-57. Timing and Processing of Operations in Free-Running Timer Mode (Capture Function) (2/2)
Starting counting
START
Set up the registers
TQ0CTL0 register
(TQ0CKS0 to TQ0CKS2 bits)
TQ0CTL1 register
TQ0IOC1 register
TQ0OPT0 register
TQ0CE bit = 1
Be sure to set up these registers
before setting the TQ0CE bit to 1.
Counting is enabled (TQ0CE bit = 1).
The TQ0CKS0 to TQ0CKS2 bits can
be set here.
Clearing overflow flag
Read TQ0OPT0 register
(check overflow flag)
TQ0OVF bit = 1
NO
YES
Execute instruction to clear
TQ0OVF bit (CLR1 TQ0OVF)
Stopping counting
TQ0CE bit = 0
When counting is disabled
(TQ0CE bit = 0), the counter
is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 413 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) Using free-running timer mode
(a) Interval operation using the TQ0CCRm register as a compare register
When TMQ0 is used as an interval timer with the TQ0CCRm register used as a compare register, the
comparison value at which the next interrupt request signal is generated each time the INTTQ0CCm signal has
been detected must be set by software.
Figure 8-58. Interval Operation of TMQ0 in Free-Running Timer Mode
FFFFH
D01
D11
D30
D04
D13
D31
D22
D03
D20
D10
16-bit counter
D12
D00
D23
D02
D21
0000H
TQ0CE bit
TQ0CCR0 register
(CCR0 buffer register)
D00
D01
D02
D03
D04
D05
INTTQ0CC0 signal
TOQ00 pin output
Interval period Interval period Interval period Interval period Interval period
(D00 + 1)
(D01 − D00)
(10000H +
(D03 − D02)
(D04 − D03)
D02 − D01)
TQ0CCR1 register
(CCR1 buffer register)
D10
D11
D12
D13
D14
INTTQ0CC1 signal
TOQ01 pin output
Interval period
(D10 + 1)
TQ0CCR2 register
(CCR2 buffer register)
Interval period
Interval period
Interval period
(D11 − D10) (10000H + D12 − D11) (D13 − D12)
D20
D21
D22
D23
INTTQ0CC2 signal
TOQ02 pin output
Interval period
Interval period
Interval period
Interval period
(D20 + 1)
(10000H + D21 − D20) (D22 − D21) (10000H + D23 − D22)
TQ0CCR3 register
(CCR3 buffer register)
D30
D31
D32
INTTQ0CC3 signal
TOQ03 pin output
Interval period
(D30 + 1)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Interval period
(10000H + D31 − D30)
Page 414 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
When performing an interval operation in the free-running timer mode, four intervals can be set for one channel.
To perform the interval operation, the value of the corresponding TQ0CCRm register must be set again in the
interrupt servicing that is executed when the INTTQ0CCm signal is detected.
The value to be set in this case can be calculated by the following expression, where “Dm” is the interval period.
Compare register default value: Dm 1
Value set to compare register second and subsequent time: Previous set value + Dm
(If the calculation result is greater than FFFFH, subtract 10000H from the result and set the register to this
value.)
Remark
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 415 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(b) Pulse width measurement using the TQ0CCRm register as a capture register
When pulse width measurement is performed with the TQ0CCRm register used as a capture register, each
time the INTTQ0CCm signal has been detected, the capture register must be read and the interval must be
calculated by software.
Figure 8-59. Pulse Width Measurement by TMQ0 in Free-Running Timer Mode
FFFFH
16-bit counter
D10
D30
D31
D21
D00
D20
D13
D32
D23
D33
D11
D02
D12
D01
D22
D03
0000H
TQ0CE bit
TIQ00 pin input
TQ0CCR0 register
(CCR0 buffer register)
0000
D00
D01
D02
Pulse interval
(10000H +
D02 − D01)
Pulse interval
(10000H +
D03 − D02)
D03
INTTQ0CC0 signal
Pulse interval Pulse interval
(D00 + 1)
(10000H +
D01 − D00)
TIQ01 pin input
TQ0CCR1 register
(CCR1 buffer register)
0000
D10
D11
D12
D13
INTTQ0CC1 signal
Pulse interval Pulse interval Pulse interval Pulse interval
(D10 + 1)
(10000H +
(10000H +
(D13 − D12)
D11 − D10)
D12 − D11)
TIQ02 pin input
TQ0CCR2 register
(CCR2 buffer register)
0000
D21
D20
D22
D23
INTTQ0CC2 signal
Pulse interval
(D20 + 1)
Pulse interval
(10000H +
D21 − D20)
Pulse interval
(20000H +
D22 − D21)
Pulse interval
(D23 − D22)
D31
D32
TIQ03 pin input
TQ0CCR3 register
(CCR3 buffer register)
0000
D30
D33
INTTQ0CC3 signal
Pulse interval Pulse interval
(D30 + 1)
(10000H +
D31 − D30)
Pulse interval
(10000H +
D32 − D31)
Pulse interval
(10000H +
D33 − D32)
INTTQ0OV signal
TQ0OVF bit
Cleared to 0 by Cleared to 0 by
Cleared to 0 by
CLR1 instruction CLR1 instruction CLR1 instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 416 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Four pulse widths can be measured in the free-running timer mode.
When measuring a pulse width, the pulse width can be calculated by reading the value of the TQ0CCRm
register in synchronization with the INTTQ0CCm signal, and calculating the difference between that value and
the previously read value.
Remark
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 417 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(c) Processing an overflow when two or more capture registers are used
Care must be exercised in processing the overflow flag when two or more capture registers are used. First, an
example of incorrect processing is shown below.
Figure 8-60. Example of Incorrect Processing When Two or More Capture Registers Are Used
FFFFH
D11
D10
16-bit counter
D01
D00
0000H
TQ0CE bit
TIQ00 pin input
TQ0CCR0 register
D01
D00
TIQ01 pin input
D11
D10
TQ0CCR1 register
INTTQ0OV signal
TQ0OVF bit
The following problem may occur when two pulse widths are measured in the free-running timer mode.
The TQ0CCR0 register is read (the default value of the TIQ00 pin input is set).
The TQ0CCR1 register is read (the default value of the TIQ01 pin input is set).
The TQ0CCR0 register is read.
The TQ0OVF bit is read. If the TQ0OVF bit is 1, it is cleared to 0.
Because the TQ0OVF bit is 1, the pulse width can be calculated by (10000H + D01 D00).
The TQ0CCR1 register is read.
The TQ0OVF bit is read. Because the TQ0OVF bit was cleared in , 0 is read.
Because the TQ0OVF bit is 0, the pulse width can be calculated by (D11 D10) (incorrect).
When two or more capture registers are used, and if the TQ0OVF bit is cleared to 0 by one capture register,
another capture register may not obtain the correct pulse width.
This problem can be resolved by using software, as shown in the example below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 418 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-61. Example of Resolving Problem When Two or More Capture Registers Are Used by Using Overflow
Interrupt
FFFFH
D11
D10
16-bit counter
D01
D00
0000H
TQ0CE bit
INTTQ0OV signal
TQ0OVF bit
TQ0OVF0 flagNote
TIQ00 pin input
D01
D00
TQ0CCR0 register
TQ0OVF1 flagNote
TIQ01 pin input
D11
D10
TQ0CCR1 register
Note The TQ0OVF0 and TQ0OVF1 flags are set on the internal RAM by software.
The TQ0CCR0 register is read (the default value of the TIQ00 pin input is set).
The TQ0CCR1 register is read (the default value of the TIQ01 pin input is set).
An overflow occurs. The TQ0OVF0 and TQ0OVF1 flags are set to 1 in the overflow interrupt
servicing, and the TQ0OVF bit is cleared to 0.
The TQ0CCR0 register is read.
The TQ0OVF0 flag is read. The TQ0OVF0 flag is 1, so it is cleared to 0.
Because the TQ0OVF0 flag was 1, the pulse width can be calculated by (10000H + D01 D00).
The TQ0CCR1 register is read.
The TQ0OVF1 flag is read. The TQ0OVF1 flag is 1, so it is cleared to 0 (the TQ0OVF0 flag was
cleared in ; the TQ0OVF1 flag remained 1).
Because the TQ0OVF1 flag is 1, the pulse width can be calculated by (10000H + D11 D10)
(correct).
Same as .
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 419 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-62. Example of Resolving Problem When Two or More Capture Registers Are Used Without Using
Overflow Interrupt
FFFFH
D11
D10
16-bit counter
D01
D00
0000H
TQ0CE bit
INTTQ0OV signal
TQ0OVF bit
TQ0OVF0 flagNote
TIQ00 pin input
D01
D00
TQ0CCR0 register
TQ0OVF1 flagNote
TIQ01 pin input
D11
D10
TQ0CCR1 register
Note The TQ0OVF0 and TQ0OVF1 flags are set on the internal RAM by software.
The TQ0CCR0 register is read (the default value of the TIQ00 pin input is set).
The TQ0CCR1 register is read (the default value of the TIQ01 pin input is set).
An overflow occurs. There is no software processing.
The TQ0CCR0 register is read.
The TQ0OVF bit is read. The TQ0OVF bit is 1, so only the TQ0OVF1 flag is set to 1; the TQ0OVF
bit is cleared to 0.
Because the TQ0OVF bit is 1, the pulse width can be calculated by (10000H + D01 D00).
The TQ0CCR1 register is read.
The TQ0OVF bit is read. The TQ0OVF bit was cleared to 0 in , so 0 is read.
The TQ0OVF1 flag is read. The TQ0OVF1 flag is 1, so it is cleared to 0.
Because the TQ0OVF1 flag was 1, the pulse width can be calculated by (10000H + D11 D10)
(correct).
Same as .
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 420 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(d) Processing of overflow if capture trigger interval is long
If the pulse width is greater than one cycle of the 16-bit counter, care must be exercised because an overflow
may occur more than once between the first capture trigger and the next. First, an example of incorrect
processing is shown below.
Figure 8-63. Example of Incorrect Processing When Capture Trigger Interval Is Long (When Using TIQ0m)
FFFFH
Dm0
16-bit counter
Dm1
0000H
TQ0CE bit
TIQ0m pin input
TQ0CCRm register
Dm0
Dm1
INTTQ0OV signal
TQ0OVF bit
1 cycle of 16-bit counter
Pulse width
The following problem may occur when a long pulse width is measured in the free-running timer mode.
The TQ0CCRm register is read (the default value of the TIQ0m pin input is set).
An overflow occurs. There is no software processing.
An overflow occurs a second time. There is no software processing.
The TQ0CCRm register is read.
The TQ0OVF bit is read. The TQ0OVF bit is 1, so it is cleared to 0.
Because the TQ0OVF bit was 1, the pulse width can be calculated by (10000H + Dm1 Dm0)
(incorrect).
Actually, the pulse width should be (20000H + Dm1 Dm0) because an overflow occurred twice.
Remark
m = 0 to 3
If an overflow occurs twice or more when the capture trigger interval is long, the correct pulse width may not be
obtained.
If the capture trigger interval is long, slow the count clock to lengthen one cycle of the 16-bit counter, or use
software to resolve the problem. An example of how to use software to resolve the problem is shown below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 421 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-64. Example of Using Software Processing to Resolve Problem When Capture Trigger Interval Is Long
(When Using TIQ0m)
FFFFH
Dm0
16-bit counter
Dm1
0000H
TQ0CE bit
TIQ0m pin input
TQ0CCRm register
Dm0
Dm1
INTTQ0OV signal
TQ0OVF bit
Overflow
counterNote
0H
1H
2H
0H
1 cycle of 16-bit counter
Pulse width
Note The overflow counter is set on the internal RAM by software.
The TQ0CCRm register is read (the default value of the TIQ0m pin input is set).
An overflow occurs. The overflow counter is incremented and the TQ0OVF bit is cleared to 0 in the
overflow interrupt servicing.
An overflow occurs a second time. The overflow counter is incremented and the TQ0OVF bit is
cleared to 0 in the overflow interrupt servicing.
The TQ0CCRm register is read.
The overflow counter is read.
If the overflow counter is N, the pulse width can be calculated by (N 10000H + Dm1 Dm0).
In this example, because an overflow occurred twice, the pulse width is calculated as (20000H + Dm1
Dm0).
The overflow counter is cleared to 0H.
Remark
m = 0 to 3
(e) Clearing the overflow flag (TQ0OVF)
The overflow flag (TQ0OVF) can be cleared to 0 by reading the TQ0OVF bit and, if its value is 1, either clearing
the bit to 0 by using the CLR1 instruction or by writing 8-bit data (with bit 0 as “0”) to the TQ0OPT0 register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 422 of 1210
V850ES/JG3-L
8.4.7
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Pulse width measurement mode (TQ0MD2 to TQ0MD0 bits = 110)
In the pulse width measurement mode, TMQ0 starts incrementing when the TQ0CTL0.TQ0CE bit is set to 1. Each time
it is detected that a valid edge has been input to the TIQ0m pin, the value of the 16-bit counter is stored in the TQ0CCRm
register, and the 16-bit counter is cleared to 0000H.
The interval of the valid edge can be measured by reading the TQ0CCRm register after a capture interrupt request
signal (INTTQ0CCm) occurs.
Select one of the TIQ00 to TIQ03 pins as the capture trigger input pin. Specify “No edge detected” by using the
TQ0IOC1 register for the unused pins.
Remarks 1. For how to set the TIQ0m pin, see Table 8-2 Pins Used by TMQ0 and Table 4-15 Settings When Pins
Are Used for Alternate Functions.
2. For how to enable the INTTQ0CCm interrupt signal, see CHAPTER 22
INTERRUPT SERVICING/
EXCEPTION PROCESSING FUNCTION.
3. m = 0 to 3
k = 1 to 3
Figure 8-65. Configuration of TMQ0 in Pulse Width Measurement Mode
Count
clock
selection
TIQ00 pin
(capture
trigger input)
TIQ01 pin
(capture
trigger input)
TIQ02 pin
(capture
trigger input)
TIQ03 pin
(capture
trigger input)
Clear
16-bit
counter
TQ0CE
bit
Edge
detector
INTTQ0OV signal
INTTQ0CC0 signal
TQ0CCR0
register
(capture)
INTTQ0CC1 signal
Edge
detector
TQ0CCR1
register
(capture)
Edge
detector
INTTQ0CC2 signal
INTTQ0CC3 signal
TQ0CCR2
register
(capture)
Edge
detector
TQ0CCR3
register
(capture)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 423 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-66. Basic Timing of Operations in Pulse Width Measurement Mode
FFFFH
16-bit counter
0000H
TQ0CE bit
TIQ0m pin input
TQ0CCRm register
0000H
D0
D1
D2
D3
INTTQ0CCm signal
INTTQ0OV signal
TQ0OVF bit
Remark
Cleared to 0 by
CLR1 instruction
m = 0 to 3
When the TQ0CE bit is set to 1, the 16-bit counter starts incrementing. When it is subsequently detected that a valid
edge has been input to the TIQ0m pin, the value of the 16-bit counter is stored in the TQ0CCRm register, the 16-bit
counter is cleared to 0000H, and a capture interrupt request signal (INTTQ0CCm) is generated.
The pulse width is calculated as follows.
Pulse width = Captured value Count clock cycle
If a valid edge has not been input to the TIQ0m pin by the time the 16-bit counter has incremented up to FFFFH, an
overflow interrupt request signal (INTTQ0OV) is generated at the next count clock, and the counter is cleared to 0000H
and continues incrementing. At this time, the overflow flag (TQ0OPT0.TQ0OVF bit) is also set to 1. Clear the overflow flag
to 0 by executing the CLR1 software instruction.
If the overflow flag is set to 1, the pulse width can be calculated as follows.
Pulse width = (10000H Number of times the TQ0OVF bit was set (1) + Captured value) Count clock cycle
Remark
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 424 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-67. Register Settings in Pulse Width Measurement Mode (1/2)
(a) TMQ0 control register 0 (TQ0CTL0)
TQ0CE
TQ0CTL0
0/1
TQ0CKS2 TQ0CKS1 TQ0CKS0
0
0
0
0
0/1
0/1
0/1
These bits select the
count clock.
0: Stop counting.
1: Enable counting.
(b) TMQ0 control register 1 (TQ0CTL1)
TQ0EST TQ0EEE
TQ0CTL1
0
0
0
TQ0MD2 TQ0MD1 TQ0MD0
0
0
1
1
0
1, 1, 0:
Pulse width measurement
mode
(c) TMQ0 I/O control register 1 (TQ0IOC1)
TQ0IOC1
TQ0IS7
TQ0IS6
TQ0IS5
TQ0IS4
TQ0IS3
TQ0IS2
TQ0IS1
TQ0IS0
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
These bits select the valid
edge of the TIQ00 pin input.
These bits select the valid
edge of the TIQ01 pin input.
These bits select the valid
edge of the TIQ02 pin input.
These bits select the valid
edge of the TIQ03 pin input.
(d) TMQ0 option register 0 (TQ0OPT0)
TQ0CCS3 TQ0CCS2TQ0CCS1 TQ0CCS0
TQ0OPT0
0
0
0
0
TQ0OVF
0
0
0
0/1
Overflow flag
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 425 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Figure 8-67. Register Settings in Pulse Width Measurement Mode (2/2)
(e) TMQ0 counter read buffer register (TQ0CNT)
The value of the 16-bit counter can be read by reading this register.
(f) TMQ0 capture/compare registers 0 to 3 (TQ0CCR0 to TQ0CCR3)
These registers store the 16-bit counter value upon detection of the input of a valid edge to the TIQ0m
pin.
Remark
TMQ0 I/O control register 0 (TQ0IOC0) and TMQ0 I/O control register 2 (TQ0IOC2) are not
used in the pulse width measurement mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 426 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(1) Operations in pulse width measurement mode
Figure 8-68. Timing and Processing of Operations in Pulse Width Measurement Mode
FFFFH
16-bit counter
0000H
TQ0CE bit
TIQ00 pin input
TQ0CCR0 register
0000H
D0
D1
D2
0000H
INTTQ0CC0 signal
Starting counting
START
Set up the registers
TQ0CTL0 register
(TQ0CKS0 to TQ0CKS2 bits)
TQ0CTL1 register
TQ0IOC1 register
TQ0OPT0 register
Be sure to set up these registers
before setting the TQ0CE bit to 1.
Set up the TQ0CTL0 register
(TQ0CE bit = 1)
Counting is enabled (TQ0CE bit = 1).
The TQ0CKS0 to TQ0CKS2 bits can be set here.
Stopping counting
TQ0CE bit = 0
When counting is disabled (TQ0CE bit = 0),
the counter is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 427 of 1210
V850ES/JG3-L
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
(2) Using pulse width measurement mode
(a) Clearing the overflow flag (TQ0OVF)
The overflow flag (TQ0OVF) can be cleared to 0 by reading the TQ0OVF bit and, if its value is 1, either clearing
the bit to 0 by using the CLR1 instruction or by writing 8-bit data (with bit 0 as “0”) to the TQ0OPT0 register.
8.4.8
Timer output operations
The following table shows the operations and output levels of the TOQ00 to TOQ03 pins.
Table 8-8. Timer Output Control in Each Mode
Operation Mode
TOQ00 Pin
Interval timer mode
TOQ01 Pin
TOQ02 Pin
TOQ03 Pin
External trigger pulse
External trigger pulse
External trigger pulse
output
output
output
One-shot pulse
One-shot pulse
One-shot pulse
output
output
output
PWM output
PWM output
PWM output
Square wave output
External event count mode
External trigger pulse output mode
Square wave output
One-shot pulse output mode
PWM output mode
Free-running timer mode
Square wave output (only when compare function is used)
Pulse width measurement mode
Table 8-9. Truth Table of TOQ00 to TOQ03 Pins Under Control of Timer Output Control Bits
TQ0IOC0.TQ0OLm Bit
TQ0IOC0.TQ0OEm Bit
TQ0CTL0.TQ0CE Bit
Level of TOQ0m Pin
0
0
Low-level output
1
0
Low-level output
1
Low level immediately before counting, high
level after counting is started
1
0
High-level output
1
0
High-level output
1
High level immediately before counting, low level
after counting is started
Remark
m = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 428 of 1210
V850ES/JG3-L
8.5
CHAPTER 8 16-BIT TIMER/EVENT COUNTER Q (TMQ)
Cautions
(1) Capture operation
When the capture operation is used and fXX/8, fXX/16, fXX/32, fXX/64, fXX/128, or the external event counter
(TQ0CLT1.TQ0EEE bit = 1) is selected as the count clock, FFFFH, not 0000H, may be captured in the TQ0CCR0,
TQ0CCR1, TQ0CCR2, and TQ0CCR3 registers, or the capture operation may not be performed at all (the capture
interrupt does not occur) if the capture trigger is input immediately after the TQ0CE bit is set to 1.
(a) Free-running timer mode
FFFFH
16-bit counter
0000H
Count clock
Sampling clock (fXX)
TQ0CCR0 register
0000H
FFFFH
0001H
TQ0CE bit
TIQ00 pin input
Capture
trigger input
Capture
trigger input
(b) Pulse width measurement mode
FFFFH
16-bit counter
0000H
Count clock
Sampling clock (fXX)
TQ0CCR0 register
0000H
FFFFH
0002H
TQ0CE bit
TIQ00 pin input
Capture
trigger input
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Capture
trigger input
Page 429 of 1210
V850ES/JG3-L
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
Timer M (TMM) is a 16-bit interval timer.
The V850ES/JG3-L incorporates one TMM timer, TMM0.
9.1
Features
TMM0 is a dedicated interval timer that generates interrupt requests at a specified interval based on the count clock
selected from one of eight clock sources: the main clock (fXX), a divided main clock (fXX/2, fXX/4, fXX/64, fXX/512), the watch
timer interrupt signal (INTWT), the internal clock (fR/8), and the subclock (fXT).
TMM0 can only be used in the clear & start mode; it cannot be used in the free-running timer mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 430 of 1210
V850ES/JG3-L
9.2
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
Configuration
TMM0 includes the following hardware.
Table 9-1. Configuration of TMM0
Item
Configuration
Register
16-bit counter
TMM0 compare register 0 (TM0CMP0)
TMM0 control register 0 (TM0CTL0)
Figure 9-1. Block Diagram of TMM0
Internal bus
TM0CTL0
TM0CE TM0CKS2 TM0CKS1TM0CKS0
TM0CMP0
Match
Remark
Selector
fXX
fXX/2
fXX/4
fXX/64
fXX/512
INTWT
fR/8
fXT
Controller
fXX:
Main clock frequency
fR:
Internal clock frequency
fXT:
Subclock frequency
16-bit counter
INTTM0EQ0
Clear
INTWT: Watch timer interrupt request signal
(1) 16-bit counter
This counter counts the internal clock.
This counter cannot be read or written.
(2) TMM0 compare register 0 (TM0CMP0)
This is a 16-bit compare register.
(3) TMM0 control register 0 (TM0CTL0)
This is an 8-bit register used to control the operation of TMM0.
(4) Selector
The selector is used to select the count clock of the 16-bit counter. The count clock can be selected from eight
clock sources.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 431 of 1210
V850ES/JG3-L
9.3
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
Registers
(1) TMM0 control register (TM0CTL0)
The TM0CTL0 register is an 8-bit register that controls the operation of TMM0.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
Except for the TM0CE bit, the bits of the TM0CTL0 register cannot be rewritten to different values while TMM0 is
operating (bits can be rewritten only to the same value as was previously specified).
After reset: 00H
TM0CTL0
R/W
Address: FFFFF690H
6
5
4
3
TM0CE
0
0
0
0
TM0CE
2
1
0
TM0CKS2 TM0CKS1 TM0CKS0
Internal clock operation enable/disable specification
0
TMM0 operation disabled (16-bit counter reset asynchronously).
1
TMM0 operation enabled.
When the TM0CE bit is cleared to 0, the internal clock of TMM0 is disabled (fixed to
low level) and 16-bit counter is reset asynchronously.
TM0CKS2 TM0CKS1 TM0CKS0
Count clock selection
0
0
0
fXX
0
0
1
fXX/2
0
1
0
fXX/4
0
1
1
fXX/64
1
0
0
fXX/512
1
0
1
INTWT
1
1
0
fR/8
1
1
1
fXT
Cautions 1. Set the TM0CKS2 to TM0CKS0 bits while TMM0 is stopped (TM0CE bit =
0). The TM0CKS2 to TM0CKS0 bits cannot be set at the same time as
changing the value of TM0CE from 0 to 1.
2. Be sure to clear bits 3 to 6 to “0”.
Remark
fXX:
Main clock frequency
fR:
Internal oscillator clock frequency
fXT:
Subclock frequency
INTWT: Watch timer interrupt request signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 432 of 1210
V850ES/JG3-L
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
(2) TMM0 compare register 0 (TM0CMP0)
The TM0CMP0 register is a 16-bit compare register.
This register can be read or written in 16-bit units.
Reset sets this register to 0000H. However, if TMM0 is reset while it is stopped, this register is set to FFFFH.
The same value can always be written to the TM0CMP0 register by software.
The TM0CMP0 register cannot be rewritten while TMM0 is operating (TM0CTL0.TM0CE bit = 1).
Caution
Do not set the TM0CMP0 register to FFFFH.
After reset: 0000H
15
14
R/W
13
12
Address: FFFFF694H
11
10
9
8
7
6
5
4
3
2
1
0
TM0CMP0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 433 of 1210
V850ES/JG3-L
9.4
9.4.1
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
Operation
Interval timer mode
When the TM0CE bit is set to 1, the value of the 16-bit counter is cleared from FFFFH to 0000H in synchronization with
the count clock, and the counter starts incrementing.
When the value of the 16-bit counter matches the value of the TM0CMP0 register, the 16-bit counter is cleared to
0000H and a compare match interrupt request signal (INTTM0EQ0) is generated at the specified interval.
Figure 9-2. Configuration of Interval Timer
Clear
Count clock
selection
INTTM0EQ0 signal
16-bit counter
Match signal
TM0CE bit
TM0CMP0 register
Figure 9-3. Basic Timing of Operation in Interval Timer Mode
FFFFH
16-bit counter
D
D
D
D
0000H
TM0CE bit
TM0CMP0 register
D
INTTM0EQ0 signal
Interval (D + 1)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Interval (D + 1)
Interval (D + 1)
Interval (D + 1)
Page 434 of 1210
V850ES/JG3-L
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
An example of the register settings when the interval timer mode is used is shown in the figure below.
Figure 9-4. Register Settings in Interval Timer Mode
(a) TMM0 control register 0 (TM0CTL0)
TM0CE
TM0CTL0
0/1
TM0CKS2 TM0CKS1 TM0CKS0
0
0
0
0
0/1
0/1
0/1
These bits select the count clock.
0: Stop counting
1: Enable counting
(b) TMM0 compare register 0 (TM0CMP0)
If the TM0CMP0 register is set to D, the interval is as follows:
Interval = (D + 1) Count clock cycle
(0000H TM0CMP0 register value < FFFFH)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 435 of 1210
V850ES/JG3-L
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
(1) Operations in interval timer mode
Figure 9-5. Timing and Processing of Operations in Interval Timer Mode
FFFFH
D
16-bit counter
D
D
0000H
TM0CE bit
TM0CMP0 register
D
INTTM0EQ0 signal
Starting counting
START
Set up the registers
TM0CTL0 register
(TM0CKS0 to TM0CKS2 bits)
TM0CMP0 register
TM0CE bit = 1
Be sure to set up these registers before setting the
TM0CE bit to 1.
Counting is enabled (TM0CE bit = 1).
The TM0CKS0 to TM0CKS2 bits cannot be set here.
Stopping counting
TM0CE bit = 0
When counting is disabled (TM0CE bit = 0),
the counter is reset and counting stops.
STOP
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 436 of 1210
V850ES/JG3-L
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
(2) Using interval timer mode
(a) Operation when TM0CMP0 register is set to 0000H
When the TM0CMP0 register is set to 0000H, the INTTM0EQ0 signal is generated for each count clock cycle.
The value of the 16-bit counter is always 0000H.
Figure 9-6. Operation of Interval Timer When TM0CMP0 Register Is Set to 0000H
Count clock
16-bit counter
FFFFH
0000H
0000H
0000H
0000H
TM0CE bit
TM0CMP0 register
0000H
INTTM0EQ0 signal
Interval time
Count clock cycle
Interval time
Count clock cycle
(b) Operation when TM0CMP0 register is set to N
When the TM0CMP0 register is set to N, the 16-bit counter increments up to N and is reset to 0000H in
synchronization with the next increment timing. The INTTM0EQ0 signal is then generated.
Figure 9-7. Operation of Interval Timer When TM0CMP0 Register is Set to Other Than 0000H, FFFFH
FFFFH
N
16-bit counter
0000H
TM0CE bit
TM0CMP0 register
N
INTTM0EQ0 signal
Interval time
(N + 1) ×
count clock cycle
Remark
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Interval time
(N + 1) ×
count clock cycle
Interval time
(N + 1) ×
count clock cycle
0000H < N < FFFFH
Page 437 of 1210
V850ES/JG3-L
9.4.2
CHAPTER 9 16-BIT INTERVAL TIMER M (TMM)
Cautions
(1) It takes the 16-bit counter up to the following time to start counting after the TM0CTL0.TM0CE bit is set to 1,
depending on the count clock selected.
Selected Count Clock
Maximum Time Before Counting Starts
fXX
2/fXX
fXX/2
3/fXX
fXX/4
6/fXX
fXX/64
128/fXX
fXX/512
1024/fXX
INTWT
Second rising edge of INTWT signal
fR/8
16/fR
fXT
2/fXT
(2) Rewriting the TM0CMP0 and TM0CTL0 registers is prohibited while TMM0 is operating.
If these registers are rewritten while the TMM0 is operating (TM0CE bit = 1), the operation cannot be guaranteed.
If these registers are rewritten by mistake, clear the TM0CTL0.TM0CE bit to 0, and set the registers again.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 438 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
CHAPTER 10 WATCH TIMER
10.1 Functions
The watch timer has the following functions.
Watch timer:
An interrupt request signal (INTWT) is generated at intervals of 0.5 or 0.25 seconds by using the
main clock or subclock.
Interval timer: An interrupt request signal (INTWTI) is generated at set intervals.
The watch timer and interval timer functions can be used at the same time.
Caution INTWTI interrupt of the watch timer and INTRTC2 interrupt of RTC, and INTWT interrupt of
the watch timer and INTRTC0 interrupt of RTC are alternate interrupt signals, and therefore
cannot be used simultaneously.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 439 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
10.2 Configuration
The block diagram of the watch timer is shown below.
Figure 10-1. Block Diagram of Watch Timer
Internal bus
PRSM0 register
BGCE0 BGCS01 BGCS00
Clear
PRSCM0 register
2
Match
fBGCS
Clear
Selector
fBRG
5-bit counter
INTWT
Clear
fW/24 fW/25 fW/26 fW/27 fW/28 fW/210 fW/211 fW/29
Selector
fXT
11-bit prescaler
fW
1/2
8-bit counter
Selector
Selector
fX/8
fX/4
fX/2
fX
Selector
3-bit
prescaler
Clock
control
fX
INTWTI
3
WTM7
WTM6
WTM5
WTM4
WTM3
WTM2
WTM1
WTM0
Watch timer operation mode register
(WTM)
Internal bus
Remark
fX:
Main clock oscillation frequency
fBGCS:
Watch timer source clock frequency
fBRG:
Watch timer count clock frequency
fXT:
Subclock frequency
fW:
Watch timer clock frequency
INTWT: Watch timer interrupt request signal
INTWTI: Interval timer interrupt request signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 440 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
(1) Clock control
This block controls supplying and stopping the operating clock (fX) when the watch timer operates on the main
clock.
(2) 3-bit prescaler
This prescaler divides fX to generate fX/2, fX/4, or fX/8.
(3) 8-bit counter
This counter counts the source clock (fBGCS).
(4) 11-bit prescaler
This prescaler divides fW to generate a clock of fW/24 to fW/211.
(5) 5-bit counter
This counter counts fW or fW/29, and generates a watch timer interrupt request signal at intervals of 24/fW, 25/fW,
212/fW, or 214/fW.
(6) Selector
The watch timer has the following five selectors.
Selector that selects one of fX, fX/2, fX/4, or fX/8 as the source clock of the watch timer
Selector that selects the main clock (fX) or subclock (fXT) as the clock of the watch timer
9
Selector that selects fW or fW/2 as the count clock frequency of the 5-bit counter
Selector that selects 24/fW, 213/fW, 25/fW, or 214/fW as the INTWT signal generation time interval
Selector that selects 24/fW to 211/fW as the interval timer interrupt request signal (INTWTI) generation time interval
(7) PRSCM0 register
This is an 8-bit compare register that sets the interval time.
(8) PRSM0 register
This register controls clock supply to the watch timer.
(9) WTM register
This is an 8-bit register that controls the operation of the watch timer/interval timer, and sets the interrupt request
signal generation interval.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 441 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
10.3 Control Registers
The following registers are provided for the watch timer.
Prescaler mode register 0 (PRSM0)
Prescaler compare register 0 (PRSCM0)
Watch timer operation mode register (WTM)
(1) Prescaler mode register 0 (PRSM0)
The PRSM0 register controls the generation of the watch timer count clock.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address: FFFFF8B0H
< >
PRSM0
0
0
0
BGCE0
BGCE0
0
0
BGCS01 BGCS00
Main clock operation enable
0
Disabled
1
Enabled
Selection of watch timer source clock (fBGCS)
BGCS01 BGCS00
5 MHz
4 MHz
0
0
fX
200 ns
250 ns
0
1
fX/2
400 ns
500 ns
1
0
fX/4
800 ns
1 μs
1
1
fX/8
1.6 μ s
2 μs
Cautions 1. Do not change the values of the BGCS00 and BGCS01 bits during watch timer operation.
2. Set the PRSM0 register before setting the BGCE0 bit to 1.
3. Set the PRSM0 and PRSCM0 registers according to the main clock frequency that is used
so as to obtain an fBRG frequency of 32.768 kHz.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 442 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
(2) Prescaler compare register 0 (PRSCM0)
The PRSCM0 register is an 8-bit compare register.
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
After reset: 00H
PRSCM0
R/W
Address: FFFFF8B1H
PRSCM07 PRSCM06 PRSCM05 PRSCM04 PRSCM03 PRSCM02 PRSCM01 PRSCM00
Cautions 1. Do not rewrite the PRSCM0 register during watch timer operation.
2. Set the PRSCM0 register before setting the PRSM0.BGCE0 bit to 1.
3. Set the PRSM0 and PRSCM0 registers according to the main clock frequency that is used
so as to obtain an fBRG frequency of 32.768 kHz.
The calculation for fBRG is shown below.
fBRG = fBGCS/2N
Remark
fBGCS: Watch timer source clock set by the PRSM0 register
N:
Set value of the PRSCM0 register = 1 to 256
However, N = 256 when the PRSCM0 register is set to 00H.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 443 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
(3) Watch timer operation mode register (WTM)
The WTM register enables or disables the count clock and operation of the watch timer, sets the interval time of
the prescaler, controls the operation of the 5-bit counter, and sets the set time of the watch flag.
Set the PRSM0, PRSCM0 register before setting the WTM register.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
(1/2)
After reset: 00H
R/W
WTM
WTM6
WTM7
Address: FFFFF680H
WTM5
WTM4
WTM3
WTM2
< >
< >
WTM1
WTM0
WTM7
WTM6
WTM5
WTM4
0
0
0
0
24/fW (488 μ s: fW = fXT)
0
0
0
1
25/fW (977 μ s: fW = fXT)
0
0
1
0
26/fW (1.95 ms: fW = fXT)
0
0
1
1
27/fW (3.91 ms: fW = fXT)
0
1
0
0
28/fW (7.81 ms: fW = fXT)
0
1
0
1
29/fW (15.6 ms: fW = fXT)
0
1
1
0
210/fW (31.3 ms: fW = fXT)
0
1
1
1
211/fW (62.5 ms: fW = fXT)
1
0
0
0
24/fW (488 μ s: fW = fBRG)
1
0
0
1
25/fW (977 μ s: fW = fBRG)
1
0
1
0
26/fW (1.95 ms: fW = fBRG)
1
0
1
1
27/fW (3.90 ms: fW = fBRG)
1
1
0
0
28/fW (7.81 ms: fW = fBRG)
1
1
0
1
29/fW (15.6 ms: fW = fBRG)
1
1
1
0
210/fW (31.2 ms: fW = fBRG)
1
1
1
1
211/fW (62.5 ms: fW = fBRG)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Selection of interval time of prescaler
Page 444 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
(2/2)
WTM7
WTM3
WTM2
Selection of set time of watch flag
14
0
0
0
2 /fW (0.5 s: fW = fXT)
0
0
1
213/fW (0.25 s: fW = fXT)
0
1
0
25/fW (977 μ s: fW = fXT)
0
1
1
24/fW (488 μ s: fW = fXT)
1
0
0
214/fW (0.5 s: fW = fBRG)
1
0
1
213/fW (0.25 s: fW = fBRG)
1
1
0
25/fW (977 μ s: fW = fBRG)
1
1
1
24/fW (488 μ s: fW = fBRG)
WTM1
Control of 5-bit counter operation
0
Clears after operation stops
1
Starts
WTM0
Watch timer operation enable
0
Stops operation (clears both prescaler and 5-bit counter)
1
Enables operation
Caution Rewrite the WTM2 to WTM7 bits while both the WTM0 and WTM1 bits are 0.
Remarks 1. fW: Watch timer clock frequency
2. Values in parentheses apply to operation with fW = 32.768 kHz
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 445 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
10.4 Operation
10.4.1 Watch timer operations
The watch timer operates on the main clock or subclock (32.768 kHz) and generates an interrupt request signal
(INTWT) at fixed, exact time intervals of 0.25 or 0.5 seconds.
Counting starts when the WTM.WTM1 and WTM.WTM0 bits are set to 11. When the WTM0 bit is cleared to 0, the 11bit prescaler and 5-bit counter are cleared and counting stops.
The time of the watch timer can be adjusted by clearing the WTM1 bit to 0 and then clearing the 5-bit counter when the
watch timer is operating at the same time as the interval timer. At this time, an error of up to 15.6 ms may occur in the
watch timer, but the interval timer is not affected.
If the main clock is used as the count clock of the watch timer, set the count clock using the PRSM0.BGCS01 and
BGCS00 bits and the 8-bit comparison value using the PRSCM0 register, and set the count clock frequency (fBRG) of the
watch timer to 32.768 kHz.
When the PRSM0.BGCE0 bit is set to 1, fBRG is supplied to the watch timer.
fBRG can be calculated by using the following expression.
fBRG = fX/(2m+1 N)
To set fBRG to 32.768 kHz, perform the following calculation and set the BGCS01 and BGCS00 bits and the PRSCM0
register.
Set N = fX/65,536. Set m = 0.
When the value resulting from rounding up the first decimal place of N is even, set N before the roundup as N/2
and m as m + 1.
Repeat until N is odd or m = 3.
Set the value resulting from rounding up the first decimal place of N to the PRSCM0 register and m to the BGCS01
and BGCS00 bits.
Example: When fX = 4.00 MHz
N = 4,000,000/65,536 = 61.03…, m = 0
, Because N (round up the first decimal place) is odd, N = 61, m = 0.
Set value of PRSCM0 register: 3DH (61), set value of BGCS01 and BGCS00 bits: 00
At this time, the actual fBRG frequency is as follows.
fBRG = fX/(2m+1 N) = 4,000,000/(2 61)
= 32.787 kHz
Remark
m: Division value (set value of BGCS01 and BGCS00 bits) = 0 to 3
N: Set value of PRSCM0 register = 1 to 256
However, N = 256 when PRSCM0 register is set to 00H.
fX: Main clock oscillator frequency
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 446 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
10.4.2 Interval timer operations
The watch timer can also be used as an interval timer that repeatedly generates an interrupt request signal (INTWTI) at
intervals determined by certain conditions.
The interval time can be selected by using the WTM4 to WTM7 bits of the WTM register.
Table 10-1. Interval Time of Interval Timer
WTM7
0
0
0
WTM6
0
0
0
WTM5
0
0
1
WTM4
Interval Time
0
2 1/fw
488 s (operating at fW = fXT = 32.768 kHz)
1
2 1/fw
977 s (operating at fW = fXT = 32.768 kHz)
0
2 1/fw
1.95 ms (operating at fW = fXT = 32.768 kHz)
4
5
6
0
0
1
1
2 1/fw
3.91 ms (operating at fW = fXT = 32.768 kHz)
0
1
0
0
2 1/fw
7.81 ms (operating at fW = fXT = 32.768 kHz)
1
2 1/fw
15.6 ms (operating at fW = fXT = 32.768 kHz)
0
2 1/fw
31.3 ms (operating at fW = fXT = 32.768 kHz)
1
2 1/fw
62.5 ms (operating at fW = fXT = 32.768 kHz)
0
2 1/fw
488 s (operating at fW = fBRG = 32.768 kHz)
1
2 1/fw
977 s (operating at fW = fBRG = 32.768 kHz)
0
2 1/fw
1.95 ms (operating at fW = fBRG = 32.768 kHz)
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
7
8
9
10
11
4
5
6
1
0
1
1
2 1/fw
3.91 ms (operating at fW = fBRG = 32.768 kHz)
1
1
0
0
2 1/fw
7.81 ms (operating at fW = fBRG = 32.768 kHz)
1
2 1/fw
15.6 ms (operating at fW = fBRG = 32.768 kHz)
0
2 1/fw
31.3 ms (operating at fW = fBRG = 32.768 kHz)
1
2 1/fw
62.5 ms (operating at fW = fBRG = 32.768 kHz)
1
1
1
Remark
1
1
1
0
1
1
7
8
9
10
11
fW: Watch timer clock frequency
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 447 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
Figure 10-2. Timing of Watch Timer and Interval Timer Operations
5-bit counter
0H
Overflow
Start
Overflow
Count clock
Watch timer interrupt
INTWT
Interrupt time of watch timer (0.5 s) Interrupt time of watch timer (0.5 s)
Interval timer interrupt
INTWTI
Interval time (T)
Interval time (T)
nT
nT
Remarks 1. When 0.5 seconds is set as the watch timer interrupt time.
2. fW: Watch timer clock frequency
Values in parentheses apply to operation with fW = 32.768 kHz. (WTM7 = 1, WTM3, WTM2 = 00)
n: Number of interval timer operations
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 448 of 1210
V850ES/JG3-L
CHAPTER 10 WATCH TIMER
10.5 Cautions
(1) Operation as watch timer
The first watch timer interrupt request signal (INTWT) is not generated at the exact time specified using the WTM2
and WTM3 bits after operation is enabled (WTM.WTM1 and WTM.WTM0 bits = 11). The second and subsequent
INTWT signals are generated at the specified time.
Figure 10-3. Example of Generation of Watch Timer Interrupt Request Signal (INTWT)
(When Interrupt Cycle = 0.5 s)
It takes 0.515625 seconds (max.) for the first INTWT signal to be generated (29 1/32768 = 0.015625 seconds
longer (max.)). The INTWT signal is then generated every 0.5 seconds.
WTM0, WTM1
0.515625 s
0.5 s
0.5 s
INTWT
(2) When watch timer and interval timer WT operate simultaneously
The interval time of interval timer WT can be set to a value between 488 s and 62.5 ms. It cannot be changed
later.
Do not stop interval timer WT (by clearing the WTM.WTM0 bit to 0) while the watch timer is operating. If the
WTM0 bit is set to 1 again after it had been cleared to 0, the watch timer will have a discrepancy of up to 0.5 or
0.25 seconds.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 449 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
CHAPTER 11 REAL-TIME COUNTER
11.1 Functions
The real-time counter (RTC) has the following features.
Counting up to 99 years using year, month, day-of-week, day, hour, minute, and second sub-counters provided
Year, month, day-of-week, day, hour, minute, and second counter display using BCD codesNote 1
Alarm interrupt function
Constant-period interrupt function (period: 1 month to 0.5 second)
Interval interrupt function (period: 1.95 ms to 125 ms)
Pin output function of 1 Hz
Pin output function of 32.768 kHz
Pin output function of 512 Hz or 16.384 kHz
Watch error correction function
Subclock operation or main clock operationNote 2 selectable
Notes 1. A BCD (binary coded decimal) code expresses each digit of a decimal number in 4-bit binary format.
2. Use the baud rate generator dedicated to the real-time counter to divide the main clock frequency to 32.768
kHz for use.
Cautions1.
The watch timer and RTC alternate interrupt signal and therefore cannot be used simultaneously.
2. If the normal operating mode is restored after entering the RTC backup mode, an error of up to 1
second might occur for the RTC subcounter.
3. The usable RTC functions differ as shown below in the normal operating mode and RTC backup
mode.
Function
Year, month, day-of-week,
Normal operation mode
RTC backup mode
enable
enable
enable
disable
enable
disable
enable
disable
day, hour, minute,
sub-coubters count function
Interrupt function (alarm,
constant-period, interval)
Pin output function
(32.768 kHz, 16.384 kHz,
512 kHz, 1Hz)
Watch error correction
function
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 450 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.2 Configuration
The real-time counter includes the following hardware.
Table 11-1. Configuration of Real-Time Counter
Item
Control registers
Configuration
Real-time counter control register 0 (RC1CC0)
Real-time counter control register 1 (RC1CC1)
Real-time counter control register 2 (RC1CC2)
Real-time counter control register 3 (RC1CC3)
Sub-count register (RC1SUBC)
Second count register (RC1SEC)
Minute count register (RC1MIN)
Hour count register (RC1HOUR)
Day count register (RC1DAY)
Day-of-week count register (RC1WEEK)
Month count register (RC1MONTH)
Year count register (RC1YEAR)
Watch error correction register (RC1SUBU)
Alarm minute register (RC1ALM)
Alarm hour register (RC1ALH)
Alarm week register (RC1ALW)
Prescaler mode register 0 (PRSM0)
Prescaler compare register 0 (PRSCM0)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 451 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
Figure 11-1. Block Diagram of Real-Time Counter
CLOE1
RTC1HZ
Hour
alarm
Minute
alarm
Day-of-week
alarm
Selector
INTRTC1
fBRGNote
fXT
Selector
Count clock
= 32.768 kHz
Sub-counter
(16-bit)
1 minute
Second
counter
(7-bit)
1 hour
Minute
counter
(7-bit)
1 month
1 day
Day
counter
(3-bit)
Hour
counter
(6-bit)
INTRTC0
Day-of week
counter
(3-bit)
Month
counter
(5-bit)
Year
counter
(8-bit)
Count enable/
disable circuit
Second
counter
write buffer
Minute
counter
write buffer
Hour
counter
write buffer
Day
counter
write buffer
Week
counter
write buffer
Month
counter
write buffer
Year
counter
write buffer
ICT2 to ICT0
12
fXT/2
fXT/26
fXT/2
INTRTC2
CKDIV
Selector
fXT/211
fXT/210
fXT/29
fXT/28
fXT/27
fXT/26
RINTE
Selector
12-bit counter
CLOE2
RTCDIV
CLOE0
RTCCL
Note For detail of fBRG, refer to 11.3 (17) Prescaler mode register 0 (PRSM0) and 11.3 (18) Prescaler compare
register 0 (PRSCM0).
Remark
fBRG:
Real-time counter count clock frequency
fXT:
Subclock frequency
INTRTC0: Real-time counter fixed-cycle signal
INTRTC1: Real-time counter alarm match interrupt signal
INTRTC2: Real-time counter interval signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 452 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.2.1 Pin configuration
The RTC outputs included in the real-time counter are alternatively used as shown in Table 11-2. The port function
must be set when using each pin (see Table 4-15 Settings When Pins Are Used for Alternate Functions).
Table 11-2. Pin Configuration
Port
Pin Number
Remark
RTC Output
Other Alternate Function
GC
F1
30
G3
P03
RTC1HZ
INTP0/ADTRG/UCLK
28
H4
P04
RTCDIV
INTP1/ADTRG /RTCCL
28
H4
P04
RTCCL
INTP1/ADTRG /RTCDIV
GC : 100-pin plastic LQFP (fine pitch) (14 14)
F1 : 121-pin plastic FBGA (8 8)
11.2.2 Interrupt functions
The RTC includes the following three types of interrupt signals.
(1) INTRTC0
A fixed-cycle interrupt signal is generated every 0.5 second, second, minute, hour, day, or month.
(2) INTRTC1
Alarm interrupt signal
(3) INTRTC2
An interval interrupt signal of a cycle of fXT/26, fXT/27, fXT/28, fXT/29, fXT/210, fXT/211, or fXT/212 is generated.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 453 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.3 Registers
The real-time counter is controlled by the following 18 registers.
(1) Real-time counter control register 0 (RC1CC0)
The RC1CC0 register selects the real-time counter input clock.
This register can be read or written in 8-bit or 1-bit units.
After reset: Note 1
R/W
7
RC1CC0
6
RC1PWR RC1CKS
Address: FFFFFADDH
5
4
3
2
1
0
0
0
0
0
0
0
RC1PWR
Real-time counter operation control
0
Stops real-time counter operation.
1
Enables real-time counter operation.
RC1CKSNote2
Operation clock selection
0
Selects fXT as operation clock.
1
Selects fBRG as operation clock.
Notes1. RVDD power-on reset
Other kind of reset
: 00H
: Previous value retained
2. Be sure to clear RC1CKS bit to 0 in the RTC backup mode (RTCBUMCTL0.RBMSET = 1).
For detail, see 24.9 RTC backup Mode.
Cautions 1. Follow the description in 11.4.8 Initializing real-time counter when stopping (RC1PWR =
1 0) the real-time counter while it is operating.
2. The RC1CKS bit can be rewritten only when the real-time counter is stopped (RC1PWR
bit = 0). Furthermore, rewriting the RC1CKS bit at the same time as setting the RC1PWR
bit from 0 to 1 is prohibited.
(2) Real-time counter control register 1 (RC1CC1)
The RC1CC1 register is an 8-bit register that starts or stops the real-time counter, controls the RTCCL and
RTC1HZ pins, selects the 12-hour or 24-hour system, and sets the fixed-cycle interrupt function.
This register can be read or written in 8-bit or 1-bit units.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 454 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
After reset: Note
RC1CC1
R/W
Address: FFFFFADEH
7
6
5
4
3
2
1
0
RTCE
0
CLOE1
CLOE0
AMPM
CT2
CT1
CT0
RTCE
Control of operation of each counter
0
Stops counter operation.
1
Enables counter operation.
CLOE1
RTC1HZ pin output control
0
Disables RTC1HZ pin output (1 Hz)
1
Enables RTC1HZ pin output (1 Hz)
CLOE0
RTCCL pin output control
0
Disables RTCCL pin output (32.768 kHz)
1
Enables RTCCL pin output (32.768 kHz)
AMPM
Note
12-hour system/24-hour system selection
0
12-hour system (a.m. and p.m. are displayed.)
1
24-hour system
CT2
CT1
CT0
0
0
0
Does not use fixed-cycle interrupts
0
0
1
Once in 0.5 second (synchronous with second count-up)
0
1
0
Once in 1 second (simultaneous with second count-up)
0
1
1
Once in 1 minute (every minute at 00 seconds)
1
0
0
Once in 1 hour (every hour at 00 minutes 00 seconds)
1
0
1
Once in 1 day (every day at 00 hours 00 minutes 00 seconds)
1
1
×
Once in 1 month (one day every month at 00 hours
00 minutes 00 seconds a.m.)
Fixed-cycle interrupt (INTRTC0) selection
RVDD power-on reset
: 00H
Other kind of reset
: Previous value retained
Cautions 1. Writing 0 to the RTCE bit while the RTCE bit is 1 is prohibited. Clear the RTCE bit by
clearing the RC1PWR bit according to 11.4.8 Initializing real-time counter.
2. The RTC1HZ output operates as follows when the CLOE1 bit setting is changed.
When changed from 0 to 1: The RTC1HZ output outputs a 1 Hz pulse after two clocks
or less (2 32.768 kHz).
When changed from 1 to 0: The RTC1HZ output is stopped (fixed to low level) after
two clocks or less (2 32.768 kHz).
3. See 11.4.1 Initial settings and 11.4.2 Rewriting each counter during real-time counter
operation for setting or changing the AMPM bit.
Furthermore, re-set the RC1HOUR
register when the AMPM bit is rewritten.
4. See 11.4.4 Changing INTRTC0 interrupt setting during real-time counter operation when
rewriting the CT2 to CT0 bits while the real-time counter operates (RC1PWR bit = 1).
Remark
When RTC back up mode, fixed-cycle interrupt and RTCCL pin output are stop.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 455 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(3) Real-time counter control register 2 (RC1CC2)
The RC1CC2 register is an 8-bit register that controls the alarm interrupt function and waiting of counters.
This register can be read or written in 8-bit or 1-bit units.
After reset: Note
RC1CC2
R/W
Address: FFFFFADFH
7
6
5
4
3
2
1
0
WALE
0
0
0
0
0
RWST
RWAIT
WALE
Alarm interrupt (INTRTC1) operation control
0
Does not generate interrupt upon alarm match.
1
Generates interrupt upon alarm match.
RWST
Real-time counter wait state
0
Counter operating
1
Counting up of second to year counters stopped
(Reading and writing of counter values enabled)
This is a status flag indicating whether the RWAIT bit setting is valid.
Read or write counter values after confirming that the RWST bit is 1.
RWAIT
Real-time counter wait control
0
Sets counter operation.
1
Stops count operation of second to year counters.
(Counter value read/write mode)
This bit controls the operation of the counters.
Be sure to write 1 to this bit when reading or writing counter values.
If the RC1SUBC register overflows while the RWAIT bit is 1, the overflow
information is retained internally and the RC1SEC register is counted up after two
clocks or less (2 × 32.768 kHz) after 0 is written to the RWAIT bit.
However, if the second counter value is rewritten while the RWAIT bit is 1, the
retained overflow information is discarded.
Note
RVDD power-on reset : 00H
Other kind of reset
: Previous value retained
Cautions 1. See 11.4.5 Changing INTRTC1 interrupt setting during real-time counter operation when
rewriting the WALE bit while the real-time counter operates (RC1PWR bit = 1).
2. Confirm that the RWST bit is set to 1 when reading or writing each counter value.
3. The RWST bit does not become 0 while each counter is being written, even if the RWAIT
bit is set to 0. It becomes 0 when writing to each counter is completed.
Remark
When RTC back up mode, Alarm interrupt is stop.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 456 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(4) Real-time counter control register 3 (RC1CC3)
The RC1CC3 register is an 8-bit register that controls the interval interrupt function and RTCDIV pin.
This register can be read or written in 8-bit or 1-bit units.
After reset: Note
RC1CC3
R/W
Address: FFFFFAE0H
7
6
5
4
3
2
1
0
RINTE
CLOE2
CKDIV
0
0
ICT2
ICT1
ICT0
RINTE
Interval interrupt (INTRTC2) control
0
Does not generate interval interrupt.
1
Generates interval interrupt.
CLOE2
RTCDIV pin output control
0
Disables RTCDIV pin output.
1
Enables RTCDIV pin output.
CKDIV
0
Outputs 512 Hz (1.95 ms) from RTCDIV pin.
1
Outputs 16.384 kHz (0.061 ms) from RTCDIV pin.
ICT2
Note
RTCDIV pin output frequency selection
ICT1
ICT0
Interval interrupt (INTRTC2) selection
6
0
0
0
2 /fXT (1.953125 ms)
0
0
1
27/fXT (3.90625 ms)
0
1
0
28/fXT (7.8125 ms)
0
1
1
29/fXT (15.625 ms)
1
0
0
210/fXT (31.25 ms)
1
0
1
211/fXT (62.5 ms)
1
1
×
212/fXT (125 ms)
RVDD power-on reset
: 00H
Other kind of reset
: Previous value retained
Cautions 1. See 11.4.7 Changing INTRTC2 interrupt setting during real-time counter operation when
rewriting the RINTE bit during real-time counter operation (RC1PWR bit = 1).
2. The RTCDIV output operates as follows when the CLOE2 bit setting is changed.
When changed from 0 to 1: A pulse set by the CKDIV bit is output after two clocks or
less (2 32.768kHz).
When changed from 1 to 0: Output of the RTCDIV output is stopped after two clocks
or less (fixed to low level, 2 32.768kHz)).
3. See 11.4.7 Changing INTRTC2 interrupt setting during real-time counter operation when
rewriting the ICT2 to ICT0 bits while the real-time counter operates (RC1PWR bit = 1).
Remark When RTC back up mode, Interval interrupt and RTCCL pin output are stop.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 457 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(5) Sub-count register (RC1SUBC)
The RC1SUBC register is a 16-bit register that counts the reference time of 1 second of the real-time counter.
It takes a value of 0000H to 7FFFH and counts one second with a clock of 32.768 kHz.
This register is read-only, in 16-bit units.
Cautions 1 When a correction is made by using the RC1SUBU register, the value may become 8000H
or more.
2. This register is also cleared by writing to the second count register.
3. The value read from this register is not guaranteed if it is read during operation, because a
changing value is read.
After reset: Note
14
15
R
13
12
Address: FFFFFAD0H
11
9
10
8
7
6
5
4
3
2
1
0
RC1SUBC
Note
RVDD power-on reset : 0000H
Other kind of reset
: Previous value retained
(6) Second count register (RC1SEC)
The RC1SEC register is an 8-bit register that takes a value of 0 to 59 (decimal) and indicates the count value of
seconds.
It counts up when the sub-counter overflows.
When data is written to this register, it is written to a buffer and then to the counter up to 2 clocks (2 32.768 kHz)
later. Set a decimal value of 00 to 59 to this register in BCD code. If a value outside this range is set, the register
value returns to the normal value after one period.
This register can be read or written in 8-bit units.
Caution
Setting the RC1SEC register to values other than 00 to 59 is prohibited.
Remark
See 11.4.1 Initial settings, 11.4.2 Rewriting each counter during real-time counter operation, and
11.4.3 Reading each counter during real-time counter operation when reading or writing the
RC1SEC register.
After reset: Note
RC1SEC
R/W
Address: FFFFFAD2H
0
Note
RVDD power-on reset : 00H
Other kind of reset
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
: Previous value retained
Page 458 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(7) Minute count register (RC1MIN)
The RC1MIN register is an 8-bit register that takes a value of 0 to 59 (decimal) and indicates the count value of
minutes.
It counts up when the second counter overflows.
When data is written to this register, it is written to a buffer and then to the counter up to 2 clocks (2 32.768 kHz)
later. Set a decimal value of 00 to 59 to this register in BCD code.
This register can be read or written 8-bit units.
Caution
Setting a value other than 00 to 59 to the RC1MIN register is prohibited.
Remark
See 11.4.1 Initial settings, 11.4.2 Rewriting each counter during real-time counter operation, and
11.4.3 Reading each counter during real-time counter operation when reading or writing the
RC1MIN register.
After reset: Note
RC1MIN
R/W
Address: FFFFFAD3H
0
Note
RVDD power-on reset : 00H
Other kind of reset
: Previous value retained
(8) Hour count register (RC1HOUR)
The RC1HOUR register is an 8-bit register that takes a value of 0 to 23 or 1 to 12 (decimal) and indicates the count
value of hours.
It counts up when the minute counter overflows.
When data is written to this register, it is written to a buffer and then to the counter up to 2 clocks (2 32.768 kHz)
later. Set a decimal value of 00 to 23, 01 to 12, or 21 to 32 to this register in BCD code. If a value outside this
range is set, the register value returns to the normal value after 1 period.
This register can be read or written 8-bit units.
However, the value of this register is 00H if the AMPM bit is set to 1 after apply power to RVDD power-on reset.
Cautions 1. Bit 5 of the RC1HOUR register indicates a.m. (0) or p.m. (1) if AMPM = 0 (if the 12-hour
system is selected).
2. Setting a value other than 01 to 12, 21 to 32 (AMPM bit= 0), or 00 to 23 (AMPM bit = 1) to
the RC1HOUR register is prohibited.
Remark
See 11.4.1 Initial settings, 11.4.2 Rewriting each counter during real-time counter operation, and
11.4.3 Reading each counter during real-time counter operation when reading or writing the
RC1HOUR register.
After reset: Note
RC1HOUR
Note
0
R/W
Address: FFFFFAD4H
0
RVDD power-on reset : 12H
Other kind of reset
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
: Previous value retained
Page 459 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
Table 11-3 shows the relationship among the AMPM bit setting value, RC1HOUR register value, and time.
Table 11-3. Time Digit Display
12-Hour Display (AMPM Bit = 0)
24-Hour Display (AMPM Bit = 1)
Time
Time
RC1HOUR Register Value
RC1HOUR Register Value
0:00 a.m.
12 H
0:00
00H
1:00 a.m.
01 H
1:00
01 H
2:00 a.m.
02 H
2:00
02 H
3:00 a.m.
03 H
3:00
03 H
4:00 a.m.
04 H
4:00
04 H
5:00 a.m.
05 H
5:00
05 H
6:00 a.m.
06 H
6:00
06 H
7:00 a.m.
07 H
7:00
07 H
8:00 a.m.
08 H
8:00
08 H
9:00 a.m.
09 H
9:00
09 H
10:00 a.m.
10 H
10:00
10 H
11:00 a.m.
11 H
11:00
11 H
0:00 p.m.
32 H
12:00
12 H
1:00 p.m.
21 H
13:00
13 H
2:00 p.m.
22 H
14:00
14 H
3 :00 p.m.
23 H
15:00
15 H
4:00 p.m.
24 H
16:00
16 H
5:00 p.m.
25 H
17:00
17 H
6:00 p.m.
26 H
18:00
18 H
7:00 p.m.
27 H
19:00
19 H
8:00 p.m.
28 H
20:00
20 H
9:00 p.m.
29 H
21:00
21 H
10:00 p.m.
30 H
22:00
22 H
11:00 p.m.
31 H
23:00
23 H
The RC1HOUR register value is displayed in 12 hour-format if the AMPM bit is 0 and in 24-hour format when the
AMPM bit is 1.
In 12-hour display, a.m. or p.m. is indicated by the fifth bit of RCHOUR: 0 indicating before noon (a.m.) and 1
indicating noon or afternoon (p.m.).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 460 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(9) Day count register (RC1DAY)
The RC1DAY register is an 8-bit register that takes a value of 1 to 31 (decimal) and indicates the count value of
days.
It counts up when the hour counter overflows.
This counter counts as follows.
01 to 31 (January, March, May, July, August, October, December)
01 to 30 (April, June, September, November)
01 to 29 (February in leap year)
01 to 28 (February in normal year)
When data is written to this register, it is written to a buffer and then to the counter up to 2 clocks (2 32.768 kHz)
later. Set a decimal value of 00 to 31 to this register in BCD code.
This register can be read or written in 8-bit units.
Caution
Setting a value other than 01 to 31 to the RC1DAY register is prohibited. Setting a value outside
the above-mentioned count range, such as “February 30” is also prohibited.
Remark
See 11.4.1 Initial settings, 11.4.2 Rewriting each counter during real-time counter operation, and
11.4.3 Reading each counter during real-time counter operation when reading or writing the
RC1DAY register.
After reset: Note
RC1DAY
0
Note
R/W
Address: FFFFFAD6H
0
RVDD power-on reset : 01H
Other kind of reset
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
: Previous value retained
Page 461 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(10) Day-of-week count register (RC1WEEK)
The RC1WEEK register is an 8-bit register that takes a value of 0 to 6 (decimal) and indicates the day-of-week
count value.
It counts up in synchronization with the day counter.
When data is written to this register, it is written to a buffer and then to the counter up to 2 clocks (2 32.768 kHz)
later. Set a decimal value of 00 to 06 to this register in BCD code. If a value outside this range is set, the register
value returns to the normal value after 1 period.
This register can be read or written in 8-bit units.
After reset: Note
RC1WEEK
Note
0
R/W
Address: FFFFFAD5H
0
0
0
0
RVDD power-on reset : 00H
Other kind of reset
: Previous value retained
Cautions 1. Setting a value other than 00 to 06 to the RC1WEEK register is prohibited.
2. Values corresponding to the month count register and day count register are not
automatically stored to the day-of-week register.
Be sure to set as follows after apply power to RVDD release.
Day of Week
Remark
RC1WEEK
Sunday
00H
Monday
01H
Tuesday
02H
Wednesday
03H
Thursday
04H
Friday
05H
Saturday
06H
See 11.4.1 Initial settings, 11.4.2 Rewriting each counter during real-time counter operation, and
11.4.3 Reading each counter during real-time counter operation when reading or writing the
RC1WEEK register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 462 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(11) Month count register (RC1MONTH)
The RC1MONTH register is an 8-bit register that takes a value of 1 to 12 (decimal) and indicates the count value
of months.
It counts up when the day counter overflows.
When data is written to this register, it is written to a buffer and then to the counter up to 2 clocks (2 32.768 kHz)
later. Set a decimal value of 01 to 12 to this register in BCD code.
This register can be read or written in 8-bit units.
Caution
Setting a value other than 01 to 12 to the RC1MONTH register is prohibited.
Remark
See 11.4.1 Initial settings, 11.4.2 Rewriting each counter during real-time counter operation, and
11.4.3 Reading each counter during real-time counter operation when reading or writing the
RC1MONTH register.
After reset: Note
RC1MONTH
Note
R/W
0
Address: FFFFFAD7H
0
0
RVDD power-on reset : 01H
Other kind of reset
: Previous value retained
(12) Year count register (RC1YEAR)
The RC1YEAR register is an 8-bit register that takes a value of 0 to 99 (decimal) and indicates the count value of
years.
It counts up when the month counter overflows.
Values 00, 04, 08, …, 92, and 96 indicate a leap year.
When data is written to this register, it is written to a buffer and then to the counter up to 2 clocks (2 32.768 kHz)
later. Set a decimal value of 00 to 99 to this register in BCD code.
This register can be read or written in 8-bit units.
Caution
Setting a value other than 00 to 99 to the RC1YEAR register is prohibited.
Remark
See 11.4.1 Initial settings, 11.4.2 Rewriting each counter during real-time counter operation, and
11.4.3 Reading each counter during real-time counter operation when reading or writing the
RC1YEAR register.
After reset: Note
R/W
Address: FFFFFAD8H
RC1YEAR
Note
RVDD power-on reset : 00H
Other kind of reset
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
: Previous value retained
Page 463 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(13) Watch error correction register (RC1SUBU)
The RC1SUBU register can be used to correct the watch with high accuracy when the watch is early or late, by
changing the value (reference value: 7FFFH) overflowing from the sub-count register (RSUBC) to the second
counter register.
This register can be read or written in 8-bit or 1-bit units.
Remarks 1. The RC1SUBU register can be rewritten only when the real-time counter is set to its initial values.
Be sure to see 11.4.1 Initial settings.
2. See 11.4.9 Watch error correction example of real-time counter for details of watch error
correction.
3. Watch error correction stops in the RTC backup mode.
After reset: Note
RC1SUBU
R/W
Address: FFFFFAD9H
7
6
5
4
3
2
1
0
DEV
F6
F5
F4
F3
F2
F1
F0
DEV
Setting of watch error correction timing
0
Corrects watch errors when RC1SEC (second counter) is at 00, 20, or
40 seconds (every 20 seconds).
1
Corrects watch errors when RC1SEC (second counter) is at 00 seconds
(every 60 seconds).
F6
Setting of watch error correction value
0
Increments the RC1SUBC count value by the value set using the F5 to
F0 bits (positive correction).
Expression for calculating increment value:
(Setting value of F5 to F0 bits − 1) × 2
1
Decrements the RC1SUBC count value by the value set using the F5 to
F0 bits (negative correction).
Expression for calculating decrement value:
(Inverted value of setting value of F5 to F0 bits + 1) × 2
If the F6 to F0 bit values are {1/0, 0, 0, 0, 0, 0, 1/0}, watch error correction is not
performed.
Note
RVDD power-on reset : 00H
Other kind of reset
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
: Previous value retained
Page 464 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(14) Alarm minute setting register (RC1ALM)
The RC1ALM register is used to set minutes of alarm.
This register can be read or written in 8-bit units.
Caution
Set a decimal value of 00 to 59 to this register in BCD code. If a value outside the range is set,
the alarm is not detected.
After reset: Note
RC1ALM
R/W
Address: FFFFFADAH
0
RVDD power-on reset : 00H
Note
Other kind of reset
: Previous value retained
(15) Alarm hour setting register (RC1ALH)
The RC1ALH register is used to set hours of alarm.
This register can be read or written in 8-bit units.
Cautions 1. Set a decimal value of 00 to 23, 01 to 12, or 21 to 32 to this register in BCD code. If a value
outside the range is set, the alarm is not detected.
2. Bit 5 of the RC1ALH register indicates a.m. (0) or p.m. (1) if the AMPM bit = 0 (12-hour
system) is selected.
After reset: Note
RC1ALH
0
Note
R/W
Address: FFFFFADBH
0
RVDD power-on reset : 12H
Other kind of reset
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
: Previous value retained
Page 465 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(16) Alarm day-of-week setting register (RC1ALW)
The RC1ALW register is used to set the day-of-week of the alarm.
This register can be read or written in 8-bit units.
Caution
See 11.4.5 Changing INTRTC1 interrupt setting during real-time counter operation when
rewriting the RC1ALW register while the real-time counter operates (RC1PWR bit = 1).
After reset: Note
RC1ALW
0
R/W
Address: FFFFFADCH
RC1ALW6 RC1ALW5 RC1ALW4 RC1ALW3 RC1ALW2 RC1ALW1 RC1ALW0
Saturday
Friday
RC1ALW6
Thursday Wednesday Tuesday
Monday
Sunday
Alarm interrupt day-of-week bit 6
0
Does not generate alarm interrupt if RC1WEEK = 06H (Saturday).
1
Generates an alarm interrupt if the time specified by using the RC1ALM
and RC1ALH registers is reached while RC1WEEK is set to 06H (Saturday).
RC1ALW5
Alarm interrupt day-of-week bit 5
0
Does not generate alarm interrupt if RC1WEEK = 05H (Friday).
1
Generates an alarm interrupt if the time specified by using the RC1ALM
and RC1ALH registers is reached while RC1WEEK is set to 05H (Friday).
RC1ALW4
Alarm interrupt day-of-week bit 4
0
Does not generate alarm interrupt if RC1WEEK = 04H (Thursday).
1
Generates an alarm interrupt if the time specified by using the RC1ALM
and RC1ALH registers is reached while RC1WEEK is set to 04H (Thursday).
RC1ALW3
Alarm interrupt day-of-week bit 3
0
Does not generate alarm interrupt if RC1WEEK = 03H (Wednesday).
1
Generates an alarm interrupt if the time specified by using the RC1ALM
and RC1ALH registers is reached while RC1WEEK is set to 03H (Wednesday).
RC1ALW2
Alarm interrupt day-of-week bit 2
0
Does not generate alarm interrupt if RC1WEEK = 02H (Tuesday).
1
Generates an alarm interrupt if the time specified by using the RC1ALM
and RC1ALH registers is reached while RC1WEEK is set to 02H (Tuesday).
RC1ALW1
Alarm interrupt day-of-week bit 1
0
Does not generate alarm interrupt if RC1WEEK = 01H (Monday).
1
Generates an alarm interrupt if the time specified by using the RC1ALM
and RC1ALH registers is reached while RC1WEEK is set to 01H (Monday).
RC1ALW0
Alarm interrupt day-of-week bit 0
0
Does not generate alarm interrupt if RC1WEEK = 00H (Sunday).
1
Generates an alarm interrupt if the time specified by using the RC1ALM
and RC1ALH registers is reached while RC1WEEK is set to 00H (Sunday).
Note
RVDD power-on reset : 00H
Other kind of reset
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
: Previous value retained
Page 466 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(a) Alarm interrupt setting examples (RC1ALM, RC1ALH, and RC1ALW setting examples)
Tables 11-4 and 11-5 show setting examples if Sunday is RC1WEEK = 00, Monday is RC1WEEK = 01,
Tuesday is RC1WEEK = 02, ···, and Saturday is RC1WEEK = 06.
Table 11-4. Alarm Setting Example if AMPM = 0 (RC1HOUR Register 12-Hour Display)
Register
RC1ALW
RC1ALH
RC1ALM
Sunday, 7:00 a.m.
01H
07H
00H
Sunday/Monday, 00:15 p.m.
03H
32H
15H
Monday/Tuesday/Friday, 5:30 p.m.
26H
25H
30H
Everyday, 10:45 p.m.
7FH
30H
45H
Alarm Setting Time
Table 11-5. Alarm Setting Example if AMPM = 1 (RC1HOUR Register 24-Hour Display)
Register
RC1ALW
RC1ALH
RC1ALM
Sunday, 7:00
01H
07H
00H
Sunday/Monday, 12:15
03H
12H
15H
Monday/Tuesday/Friday, 17:30
26H
17H
30H
Everyday, 22:45
7FH
22H
45H
Alarm Setting Time
(17) Prescaler mode register 0 (PRSM0)
The PRSM0 register controls the generation of the real time counter count clock (fBRG).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset : 00H
R/W
Address : FFFFF8B0H
< >
PRSM0
0
0
0
BGCE0
0
0
BGCS01 BGCS00
Main clock operation enable
0
Disabled
1
Enabled
Selection of real time counter source clock(fBGCS)
BGCS01 BGCS00
Cautions 1.
BGCE0
5 MHz
4 MHz
0
0
fX
200 ns
250 ns
0
1
fX/2
400 ns
500 ns
1
0
fX/4
800 ns
1 μs
1
1
fX/8
1.6 μs
2 μs
Do not change the values of the BGCS00 and BGCS01 bits during real time
counteroperation.
2.
Set the PRSM0 register before setting the BGCE0 bit to 1.
3.
Set the PRSM0 and PRSCM0 registers according to the main clock frequency that is used
so as to obtain an fBRG frequency of 32.768 kHz.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 467 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(18) Prescaler compare register 0 (PRSCM0)
The PRSCM0 register is an 8-bit compare register.
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
After reset: 00H
PRSCM0
R/W
Address: FFFFF8B1H
PRSCM07 PRSCM06 PRSCM05 PRSCM04 PRSCM03 PRSCM02 PRSCM01 PRSCM00
Cautions 1. Do not rewrite the PRSCM0 register during real time counter operation.
2. Set the PRSCM0 register before setting the PRSM0.BGCE0 bit to 1.
3. Set the PRSM0 and PRSCM0 registers according to the main clock frequency that is used
so as to obtain an fBRG frequency of 32.768 kHz.
The calculation for fBRG is shown below.
fBRG = fBGCS/2N
Remark
fBGCS:
Watch timer source clock set by the PRSM0 register
N:
Set value of the PRSCM0 register = 1 to 256
However, N = 256 when the PRSCM0 register is set to 00H.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 468 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4 Operation
11.4.1 Initial settings
The initial settings are set when operating the watch function and performing a fixed-cycle interrupt operation.
Figure 11-2. Initial Setting Procedure
Start
RC1CC0.RC1PWR bit = 0
Setting RC1CKS
RC1CC0.RC1PWR bit = 1
Setting AMPM and CT2 to CT0
Setting RC1SUBU
Selects real-time counter (RTC) operation clock.
Enables real-time counter (RTC) internal clock operation.
Selects 12-hour system or 24-hour system and interrupt (INTRTC0).
Sets watch error correction.
Setting RC1SEC
(Clearing RC1SUBC)
Setting RC1MIN
Setting RC1HOUR
Setting RC1WEEK
Setting RC1DAY
Setting RC1MONTH
Setting RC1YEAR
Sets each count register.
Clearing interrupt IF flag
Clears interrupt request flag (RTC0IF)
Clearing interrupt MK flag
Clears interrupt mask flag (RTC0MK)
RC1CC1.RTCE bit = 1
No
Stops counter operation.
Starts counter operation.
INTRTC = 1?
Yes
Reading counter
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 469 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4.2 Rewriting each counter during real-time counter operation
Set as follows when rewriting each counter (RC1SEC, RC1MIN, RC1HOUR, RC1WEEK, RC1DAY, RC1MONTH,
RC1YEAR) during real-time counter operation (RC1PWR = 1, RTCE = 1).
Figure 11-3. Rewriting Each Counter During Real-time Counter Operation
Start
No
RC1CC2.RWST bit = 0?
Checks whether previous writing to
RC1SEC to RC1YEAR counters is completed.
Yes
No
RC1CC2.RWAIT bit = 1
Stops RC1SEC to RC1YEAR counters.
Counter value write/read mode
RC1CC2.RWST bit = 1?Note
Checks counter wait status.
Yes
Setting AMPM
Selects watch counter display method.
Writing RC1SEC
Writing RC1MIN
Writing RC1HOUR
Writing RC1WEEK
Writing RC1DAY
Writing RC1MONTH
Setting RC1YEAR
Writes to each count register.
RC1CC2.RWAIT bit = 0
Sets RC1SEC to RC1YEAR counter operation.
End
Note Be sure to confirm that RWST = 0 before setting STOP mode.
Caution
Complete the series of operations for setting RWAIT to 1 to clearing RWAIT to 0 within 1
second.
If RWAIT = 1 is set, the operation of RC1SEC to RC1YEAR is stopped. If a carry occurs from
RC1SUBC while RWAIT = 1, one carry can be internally retained. However, if two or more
carries occur, the number of carries cannot be retained.
Remark
RC1SEC, RC1MIN, RC1HOUR, RC1WEEK, RC1DAY, RC1MONTH, and RC1YEAR may berewrite
in any sequence.
All the registers do not have to be set and only some registers may be read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 470 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4.3 Reading each counter during real-time counter operation
Set as follows when reading each counter (RC1SEC, RC1MIN, RC1HOUR, RC1WEEK, RC1DAY, RC1MONTH,
RC1YEAR) during real-time counter operation (RC1PWR = 1, RTCE = 1).
Figure 11-4. Reading Each Counter During Real-time Counter Operation
Start
No
RC1CC2.RWST bit = 0?
Checks whether previous writing to RC1SEC to
RC1YEAR is completed.
Yes
No
RC1CC2.RWAIT bit = 1
Stops RC1SEC to RC1YEAR counters.
Counter value write/read mode
RC1CC2.RWST bit = 1?Note
Checks counter wait status.
Yes
Reading RC1SEC
Reading RC1MIN
Reading RC1HOUR
Reading RC1WEEK
Reading RC1DAY
Reading RC1MONTH
Setting RC1YEAR
Reads each count register.
RC1CC2.RWAIT bit = 0
Sets RC1SEC to RC1YEAR counter operation.
End
Note Be sure to confirm that RWST = 0 before setting STOP mode.
Caution
Complete the series of operations for setting RWAIT to 1 to clearing RWAIT to 0 within 1
second.
If RWAIT = 1 is set, the operation of RC1SEC to RC1YEAR is stopped. If a carry occurs from
RC1SUBC while RWAIT = 1, one carry can be internally retained. However, if two or more
carries occur, the number of carries cannot be retained.
Remark
RC1SEC, RC1MIN, RC1HOUR, RC1WEEK, RC1DAY, RC1MONTH, and RC1YEAR may be read
in any sequence.
All the registers do not have to be set and only some registers may be read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 471 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4.4 Changing INTRTC0 interrupt setting during real-time counter operation
If the setting of the INTRTC0 interrupt (fixed-cycle interrupt) signal is changed while the real-time counter clock
operates (PC1PWR = 1, RTCE =1), the INTRCT0 interrupt waveform may include whiskers and unintended signals may
be output. Set as follows when changing the setting of the INTRTC0 interrupt signal during real-time counter operation
(RC1PWR = 1, RTCE = 1), in order to mask the whiskers.
Figure 11-5. Changing INTRTC0 Interrupt Setting During Real-time Counter Operation
Start
Setting RTC0MK bit
Setting RC1CC1.CT2 to
RC1CC1.CT0
Clearing RTC0IF flag
Clearing RTC0MK flag
Masks INTRTC0 interrupt signal.
Changes INTRTC0 interrupt signal setting.
Clears interrupt request flag.
Unmasks INTRTC0 interrupt signal.
End
Remark
See 22.3.4 Interrupt control register (xxICn) for details of the RTC0IF and RTC0MK bits.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 472 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4.5 Changing INTRTC1 interrupt setting during real-time counter operation
If the setting of the INTRTC1 interrupt (alarm interrupt) signal is changed while the real-time counter operates
(RC1PWR = 1, RTCE = 1), the INTRCT1 interrupt waveform may include whiskers and unintended signals may be output.
Set as follows when changing the setting of the INTRTC1 interrupt signal during real-time counter operation (PC1PWR = 1,
RTCE = 1), in order to mask the whiskers.
Figure 11-6. Changing INTRTC1 Interrupt Setting During Real-time Counter Operation
Start
Setting RTC1MK bit
RC1CC2.WALE bit = 0
Setting RC1ALM
Setting RC1ALH
Setting RC1ALW
Masks interrupt signal (INTRTC1).
Disables alarm interrupt.
Sets alarm minute register.
Sets alarm hour register
Sets alarm day-of-week register
Clearing RTC1IF flag
Clears interrupt pending bit.
Clearing RTC1MK flag
Unmasks interrupt signal (INTRTC1).
RC1CC2.WALE bit = 1
Enables alarm interrupt.
End
Remark
See 22.3.4 Interrupt control register (xxICn) for details of the RTC1IF and RTC1MK bits.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 473 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4.6 Initial INTRTC2 interrupt settings
Set as follows to set the INTRTC1 interrupt (interval interrupt).
Figure 11-7. INTRTC2 Interrupt Setting
Start
RC1CC0.RC1PWR bit = 1
Enables counter operation.
Setting RC1CC3.ICT2 to
RC1CC3.ICT0 bits
Selects INTRTC2 (interval) interrupt interval.
RC1CC3.RINTE bit = 1
Enables INTRTC2 (interval) interrupt.
End
Caution
Set and simultaneously or set first. Unintended waveform interrupts may occur
if is set first.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 474 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4.7 Changing INTRTC2 interrupt setting during real-time counter operation
If the setting of the INTRTC2 interrupt (interval interrupt) is changed while the real-time counter clock operates
(PC1PWR = 1, RTCE = 1), the INTRCT2 interrupt waveform may include whiskers and unintended signals may be output.
Set as follows when changing the setting of the INTRTC2 interrupt signal during real-time counter operation (PC1PWR = 1,
RTCE = 1), in order to mask the whiskers.
Figure 11-8. Changing INTRTC2 Interrupt Setting During real-time counter operation
Start
Setting RTC2MK bit
Masks interrupt signal (INTRTC2).
RC1CC3.RINTE bit = 1
Enables INTRTC2 (interval) interrupt.
Setting RC1CC3.ICT2 to
RC1CC3.ICT0 bits
Selects INTRTC2 (interval) interrupt interval.
Clearing RTC2IF flag
Clearing RTC2MK flag
Clears interrupt pending bit.
Unmasks interrupt signal (INTRTC2).
End
Remark
See 22.3.4 Interrupt control register (xxICn) for details of the RTC2IF and RTC2MK bits.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 475 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4.8 Initializing real-time counter
The procedure for initializing the real-time counter is shown below.
Figure 11-9. Initializing Real-Time Counter
Start
Setting RTCnMK bit
Masks interrupt signal (INTRTCn)
RC1CC3.CLOE2 bit = 0
RTCDIV interrupt disable processing
RC1CC1.CLOE1 bit = 0
RC1CC1.CLOE0 bit = 0
RTC1HZ interrupt disable processing
RTCCL interrupt disable processing
RC1CC0.RC1PWR bit = 0
Initializes real-time counter (RTC).
Clearing RTCnIF flag
Clearing RTCnMK flag
Clears interrupt request bit.
Unmasks interrupt signal (INTRTCn).
End
Remarks 1. See 22.3.4 Interrupt control register (xxICn) for details of the RTCnIF and RTCnMK bits.
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 476 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
11.4.9 Watch error correction example of real-time counter
The watch error correction function corrects deviation in the oscillation frequency of a resonator connected to the
V850ES/JG3-L.
Deviation, here, refers to steady-state deviation, which is deviation in the frequency when the resonator is designed.
Next, the timing chart when an error has occurred in the input clock intended to be 32.768 kHz but a 32.7681 kHz
resonator has been connected when designing the system, and the RC1SUBC and RC1SEC count operations to correct
the error are shown below.
Figure 11-10. Watch Error Correction Example
Watch count(32.768 kHz)
RTCCLK
(32.768 kHz)
RC1SUBC
7FFFH 0000H
0000H
7FFFH 0000H
20 seconds
00
RC1SEC
7FFFH 0000H
7FFFH 0000H
7FFFH
Note 1
01
20
19
Watch count
(32.7681 kHz/no error correction)
RTCCLK
(32.7681 kHz)
RC1SUBC
0000H
7FFFH 0000H
7FFFH 0000H
7FFFH 0000H
7FFFH
19.99994 secondsNote 2
19
01
00
RC1SEC
20
Watch count
(32.7681 kHz/error correction(DEV bit = 0, F6 bit = 0, F5 to F0 bit = 000010))
RTCCLK
(32.7681 kHz)
2 count numbers are added.
RC1SUBC
0000H
2 count numbers are added.
7FFFH 8000H 8001H 0000H
7FFFH 0000H
7FFFH 0000H
7FFFH 0000H
7FFFH 8000H 8001H
20 secondsNote 3
RC1SEC
00
01
19
20
Notes 1. The RC1SEC counter counts 20 seconds every 32,768 cycles (0000H to 7FFFH) of the 32.768 kHz
clock.
2. When 32,768 cycles (0000H to 7FFFH) of the 32.7681 kHz clock are input, the time counted by the
RC1SEC counter is calculated as follows: 32,768/3,268.1 0.999997 seconds
If this counting continues 20 times, the time is calculated as follows: (32,768/32,768.1) x 20 19.99994
seconds, which causes an error of 0.00006 seconds.
3. To precisely count 20 seconds by using a 32.7681 kHz clock, clear the DEV and F6 bits to 0 and set
the F5 to F0 bits to 2H (000010B) in the RC1SUBU register. As a result, two additional cycles are
counted every 20 seconds (when the RC1SEC counter count is 00, 20, and 40 seconds), so that the
number of cycles counted at these points is not 32,768, but 32,770 (0000H to 8001H), which is exactly
20 seconds.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 477 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
As shown in Figure 11-10, the watch can be accurately counted by incrementing the RC1SUBC count value, if a
positive error faster than 32.768 kHz occurs at the resonator. Similarly, if a negative error slower than 32.768 kHz occurs
at the resonator, the watch can be accurately counted by decrementing the RC1SUBC count value.
The RC1SUBC correction value is determined by using the RC1SUBU.F6 to RC1SUBU.F0 bits.
The F6 bit is used to determine whether to increment or decrement RC1SUBC and the F5 to F0 bits to determine the
RC1SUBC value.
(1) Incrementing the RC1SUBC count value
The RC1SUBC count value is incremented by the value set using the F5 to F0 bits, by setting the F6 bit to 0.
Expression for calculating the increment value: (F5 to F0 bit value 1) 2
[Example of incrementing the RC1SUBC count value: F6 bit = 0]
If 15H (010101B) is set to the F5 to F0 bits
(15H 1) 2 = 40 (increments the RC1SUBC count value by 40)
RC1SUBC count value = 32,768 + 40 = 32,808
(2) Decrementing the RC1SUBC count value
The RC1SUBC count value is decremented by an inverted value of the value set using the F5 to F0 bits, by setting
the F6 bit to 1.
Expression for calculating the decrement value: (Inverted value of F5 to F0 bit value + 1) 2
[Example of decrementing the RC1SUBC count value: F6 bit = 1]
If 15H (010101B) is set to the F5 to F0 bits
Inverted data of 15H (010101B) = 2AH (101010B)
(2AH + 1) 2 = 86 (decrements the RC1SUBC count value by 86)
RC1SUBC count value = 32,768 86 = 32,682
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 478 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
(3) DEV bit
The DEV bit determines when the setting by the F6 to F0 bits is enabled.
The value set by the F6 to F0 bits is reflected upon the next timing, but not to the RC1SUBC count value every time.
Table 11-6. DEV Bit Setting
DEV Bit Value
Timing of Reflecting Value to RC1SUBC
0
When RC1SEC is 00, 20, or 40 seconds.
1
When RC1SEC is 00 seconds.
[Example when 0010101B is set to F6 to F0 bits]
If the DEV bit is 0
The RC1SUBC count value is 32,808 at 00, 20, or 40 seconds.
Otherwise, it is 32,768.
IF DEV bit is 1
The RC1SUBC count value is 32,808 at 00 seconds.
Otherwise, it is 32,768.
As described above, the RC1SUBC count value is corrected every 20 seconds or 60 seconds, instead of every
second, in order to match the RC1SUBC count value with the deviation width of the resonator.
The range in which the resonator frequency can be actually corrected is shown below.
If the DEV bit is 0: 32.76180000 kHz to 32.77420000 kHz
If the DEV bit is 1: 32.76593333 kHz to 32.77006667 kHz
The range in which the frequency can be corrected when the DEV bit is 0 is three times wider than when the DEV
bit is 1.
However, the accuracy of setting the frequency when the DEV bit is 1 is three times that when the DEV bit is 0.
Tables 11-7 and 11-8 show the setting values of the DEV, and F6 to F0 bits, and the corresponding frequencies that
can be corrected.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 479 of 1210
V850ES/JG3-L
CHAPTER 11 REAL-TIME COUNTER
Table 11-7. Range of Frequencies That Can Be Corrected When DEV Bit = 0
F6
F5 to F0
RC1SUBC Correction Value
Frequency of Connected Clock
(Including Steady-State Deviation)
0
000000
No correction
0
000001
No correction
0
000010
Increments RC1SUBC count value by 2 once every 20 seconds
32.76810000 kHz
0
000011
Increments RC1SUBC count value by 4 once every 20 seconds
32.76820000 kHz
0
000100
Increments RC1SUBC count value by 6 once every 20 seconds
..
.
.
32.76830000 kHz
0
111011
Increments RC1SUBC count value by 120 once every 20 seconds
32.77400000 kHz
0
111110
Increments RC1SUBC count value by 122 once every 20 seconds
32.77410000 kHz
32.77420000 kHz (upper limit)
0
111111
Increments RC1SUBC count value by 124 once every 20 seconds
1
000000
No correction
1
000001
No correction
1
000010
Decrements RC1SUBC count value by 124 once every 20 seconds
32.76180000 kHz (lower limit)
1
000011
Decrements RC1SUBC count value by 122 once every 20 seconds
32.76190000 kHz
1
000100
Decrements RC1SUBC count value by 120 once every 20 seconds
.
..
.
32.76200000 kHz
1
11011
Decrements RC1SUBC count value by 6 once every 20 seconds
32.76770000 kHz
1
11110
Decrements RC1SUBC count value by 4 once every 20 seconds
32.76780000 kHz
1
11111
Decrements RC1SUBC count value by 2 once every 20 seconds
32.76790000 kHz
Table 11-8. Range of Frequencies That Can Be Corrected When DEV Bit = 1
F6
F5 to F0
RC1SUBC Correction Value
Frequency of Connected Clock
(Including Steady-State Deviation)
0
000000
No correction
0
000001
No correction
0
000010
Increments RC1SUBC count value by 2 once every 60 seconds
32.76803333 kHz
0
000011
Increments RC1SUBC count value by 4 once every 60 seconds
32.76806667 kHz
0
000100
Increments RC1SUBC count value by 6 once every 60 seconds
.
..
.
32.76810000 kHz
0
111011
Increments RC1SUBC count value by 120 once every 60 seconds
32.77000000 kHz
0
111110
Increments RC1SUBC count value by 122 once every 60 seconds
32.77003333 kHz
32.77006667 kHz (upper limit)
0
111111
Increments RC1SUBC count value by 124 once every 60 seconds
1
000000
No correction
1
000001
No correction
1
000010
Decrements RC1SUBC count value by 124 once every 60 seconds
32.76593333 kHz (lower limit)
1
000011
Decrements RC1SUBC count value by 122 once every 60 seconds
32.76596667 kHz
1
000100
Decrements RC1SUBC count value by 120 once every 60 seconds
..
.
.
32.76600000 kHz
1
11011
Decrements RC1SUBC count value by 6 once every 60 seconds
32.76790000 kHz
1
11110
Decrements RC1SUBC count value by 4 once every 60 seconds
32.76793333 kHz
1
11111
Decrements RC1SUBC count value by 2 once every 60 seconds
32.76796667 kHz
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 480 of 1210
V850ES/JG3-L
CHAPTER 12 WATCHDOG TIMER 2
CHAPTER 12 WATCHDOG TIMER 2
12.1 Functions
Watchdog timer 2 is the default-start watchdog timer and starts up automatically immediately after a reset ends.
Watchdog timer 2 starts up in reset mode and with the overflow time set to internal oscillator clock = 219/fR. When
watchdog timer 2 overflows, it generates the WDT2RES signal to trigger a reset.
Watchdog timer 2 has the following features:
It is the default-start watchdog timerNote 1.
It triggers the following operations when it overflows:
Reset mode: Watchdog timer 2 triggers a reset when it overflows (by generating the WDT2RES signal).
Non-maskable interrupt request mode: Watchdog timer 2 triggers NMI servicing when it overflows (by generating
the INTWDT2 signal)Note 2.
Either the main clock, internal oscillator clock, or subclock can be input as the source clock.
Notes 1. Watchdog timer 2 automatically starts in the reset mode following reset release.
When not using watchdog timer 2, either stop it operating before it triggers a reset, or clear it once and
stop it before the next overflow.
Also, write to the WDTM2 register for verification purposes only once, even if the default settings (reset
mode, loop detection time interval: 219/fR) do not need to be changed.
2. For details of the non-maskable interrupt servicing that occurs due to the generation of the non-maskable
interrupt request signal (INTWDT2), see 22.2.2 (2) From INTWDT2 signal.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 481 of 1210
V850ES/JG3-L
CHAPTER 12 WATCHDOG TIMER 2
12.2 Configuration
Watchdog timer 2 includes the following hardware.
Table 12-1. Configuration of Watchdog Timer 2
Item
Configuration
Watchdog timer mode register 2 (WDTM2)
Control registers
Watchdog timer enable register (WDTE)
The following shows the block diagram of watchdog timer 2.
Figure 12-1. Block Diagram of Watchdog Timer 2
fXX/2
9
fXT
fR/23
Clock
input
controller
16-bit
counter
2
Watchdog timer enable
register (WDTE)
fXX/218 to fXX/225,
fXT/29 to fXT/216,
fR/212 to fR/219
Selector
3
Clear
0
Output
controller
INTWDT2
WDT2RES
(internal reset signal)
3
WDM21 WDM20 WDCS24 WDCS23 WDCS22 WDCS21 WDCS20
Watchdog timer mode
register 2 (WDTM2)
Internal bus
Remark
fXX:
Main clock frequency
fXT:
Subclock frequency
fR:
Internal oscillator clock frequency
INTWDT2:
Non-maskable interrupt request signal from watchdog timer 2
WDTRES2: Watchdog timer 2 reset signal
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 482 of 1210
V850ES/JG3-L
CHAPTER 12 WATCHDOG TIMER 2
12.3 Registers
(1) Watchdog timer mode register 2 (WDTM2)
The WDTM2 register sets the overflow time and operation clock of watchdog timer 2.
This register can be read or written in 8-bit units. This register can be read any number of times, but it can be
written only once following reset release.
Reset sets this register to 67H.
Caution Accessing the WDTM2 register is prohibited in the following statuses. Moreover, if the system is
in the wait status, the only way to cancel the wait status is to execute a reset. For details, see
3.4.9 (1) Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 67H
WDTM2
Note
0
R/W
Address: FFFFF6D0H
WDM21Note WDM20Note WDCS24Note WDCS23Note WDCS22
WDCS21
WDM21
WDM20
0
0
Stops operation
0
1
Non-maskable interrupt request mode
(generation of INTWDT2 signal)
1
-
Reset mode (generation of WDT2RES signal)
WDCS20
Selection of operation mode of watchdog timer 2
When the option byte function is used, if the WDTMD1 bit is set (to 1), the WMD21 and WDM20 bits
are fixed to 1 (which specifies the reset mode), and the WDCS24 and WDCS23 bits are fixed to 0
(which specifies the internal oscillation clock (fR) as the operation clock). For detail, refer to CHAPTER
30 OPTION BYTE.
Cautions 1. For details of the WDCS20 to WDCS24 bits, see Table 12-2 Loop Detection Time Interval
of Watchdog Timer 2.
2. If the WDTM2 register is rewritten twice after a reset, an overflow signal is forcibly
generated and the counter is reset.
3. To intentionally generate an overflow signal, write data to the WDTM2 register twice, or
write a value other than “ACH” to the WDTE register once.
However, when watchdog timer 2 is set to “stop operation”, an overflow signal is not
generated even if data is written to the WDTM2 register twice, or a value other than “ACH”
is written to the WDTE register once.
4. To stop the operation of watchdog timer 2, set the RCM.RSTOP bit to 1 (to stop the
internal oscillator) and write 00H in the WDTM2 register. If the RCM.RSTOP bit cannot be
set to 1, set the WDCS23 bit to 1 (2n/fXX is selected and the clock can be stopped in the
IDLE1, IDLE2, sub-IDLE, and subclock operation modes).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 483 of 1210
V850ES/JG3-L
CHAPTER 12 WATCHDOG TIMER 2
Table 12-2. Loop Detection Time Interval of Watchdog Timer 2
WDCS23
0
0
Internal oscillator clock
WDCS24
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
100 kHz (MIN.)
220 kHz (TYP.) 400 kHz (MAX.)
12
41.0 ms
18.6 ms
10.2 ms
13
81.9 ms
37.2 ms
20.5 ms
14
163.8 ms
74.5 ms
41.0 ms
15
327.7 ms
148.9 ms
81.9 ms
16
655.4 ms
297.9 ms
163.8 ms
17
1310.7 ms
595.8 ms
327.7 ms
18
2621.4 ms
1191.6 ms
655.4 ms
19
5242.9 ms
2383.1 ms
1310.7 ms
2 /fR
2 /fR
2 /fR
2 /fR
2 /fR
0
0
1
0
1
2 /fR
0
0
1
1
0
2 /fR
0
0
1
1
1
2 /fR
0
0
Main clock
WDCS22 WDCS21 WDCS20 Selected Clock
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
fXX = 20 MHz
fXX = 16 MHz
fXX = 10 MHz
18
13.1 ms
16.4 ms
26.2 ms
19
26.2 ms
32.8 ms
52.4 ms
20
52.4 ms
65.5 ms
104.9 ms
21
104.9 ms
131.1 ms
209.7 ms
22
209.7 ms
262.1 ms
419.4 ms
23
419.4 ms
524.3 ms
838.9 ms
24
838.9 ms
1048.6 ms
1677.7 ms
25
1677.7 ms
2097.2 ms
3355.4 ms
2 /fXX
2 /fXX
2 /fXX
2 /fXX
2 /fXX
0
1
1
0
1
2 /fXX
0
1
1
1
0
2 /fXX
0
1
1
1
1
2 /fXX
1
1
1
1
1
1
1
0
1
2 /fXT
1
1
1
0
2 /fXT
1
Subclock
fXT = 32.768 kHz
Remark
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
9
15.625 ms
10
31.25 ms
11
62.5 ms
12
125 ms
13
250 ms
14
500 ms
15
1000 ms
16
2000 ms
2 /fXT
2 /fXT
2 /fXT
2 /fXT
2 /fXT
2 /fXT
= Either 0 or 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 484 of 1210
V850ES/JG3-L
CHAPTER 12 WATCHDOG TIMER 2
(2) Watchdog timer enable register (WDTE)
The counter of watchdog timer 2 is cleared and counting is restarted by writing “ACH” to the WDTE register.
The WDTE register can be read or written in 8-bit units. (When a 1-bit memory manipulation instruction is executed
on the WDTE register, an overflow signal is forcibly generated.)
Reset sets this register to 9AH.
After reset: 9AH
R/W
Address: FFFFF6D1H
WDTE
Cautions 1. When a value other than “ACH” is written to the WDTE register, an overflow signal is
forcibly output.
2. To intentionally generate an overflow signal, write a value other than “ACH” to the WDTE
register once, or write data to the WDTM2 register twice.
However, when watchdog timer 2 is set to “stop operation”, an overflow signal is not
generated even if a value other than “ACH” is written to the WDTE register once, or data is
written to the WDTM2 register twice.
3. The read value of the WDTE register is “9AH” (which differs from the written value “ACH”).
12.4 Operation
Watchdog timer 2 automatically starts in the reset mode immediately after a reset.
The WDTM2 register can be written to only once immediately after a reset using byte access. To use watchdog timer 2,
write the operation mode setting and the loop detection time interval to the WDTM2 register using an 8-bit memory
manipulation instruction. After this, the operation of watchdog timer 2 cannot be stopped.
The WDCS24 to WDCS20 bits of the WDTM2 register are used to select the watchdog timer 2 loop detection time
interval.
Writing ACH to the WDTE register clears the counter of watchdog timer 2 and starts the count operation again. After
the count operation has started, write ACH to WDTE within the loop detection time interval.
If the loop detection time interval expires without ACH being written to the WDTE register, a reset signal (WDT2RES) or
a non-maskable interrupt request signal (INTWDT2) is generated, depending on the values of the WDTM2.WDM21 and
WDTM2.WDM20 bits.
When the WDTM2.WDM21 bit is set to 1 (reset mode), if watchdog timer 2 overflows during oscillation stabilization
immediately after a reset ends or after a standby is released, no internal reset will occur and the CPU clock will switch to
the internal oscillator clock.
To not use watchdog timer 2, write 00H to the WDTM2 register.
For details of the non-maskable interrupt servicing that occurs when the non-maskable interrupt request mode is set,
see 22.2.2 (2) From INTWDT2 signal.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 485 of 1210
V850ES/JG3-L
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.1 Function
The real-time output function transfers preset data to the real-time output buffer registers (RTBL0 and RTBH0), and
then transfers this data by hardware to an external device via the output latches, upon occurrence of a timer interrupt. The
pins through which the data is output to an external device constitute a port called the real-time output function (RTO).
Because RTO can output signals without jitter, it is suitable for controlling a stepper motor.
In the V850ES/JG3-L, one 6-bit real-time output port channel is provided.
The real-time output port can be set to the port mode or real-time output port mode in 1-bit units.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 486 of 1210
V850ES/JG3-L
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.2 Configuration
RTO includes the following hardware.
Table 13-1. Configuration of RTO
Item
Registers
Configuration
Real-time output buffer registers 0L, 0H (RTBL0, RTBH0)
Real-time output latches 0H, 0L
Real-time output port mode register 0 (RTPM0)
Real-time output port control register 0 (RTPC0)
The block diagram of RTO is shown below.
Internal bus
Figure 13-1. Block Diagram of RTO
Real-time output
buffer register 0H
(RTBH0)
Real-time output
latch 0H
2
Real-time output
buffer register 0L
(RTBL0)
Real-time output
latch 0L
4
RTP04,
RTP05
RTP00 to
RTP03
INTTP0CC0
Transfer trigger (H)
Selector
INTTP5CC0
Transfer trigger (L)
INTTP4CC0
2
RTPOE0 RTPEG0 BYTE0
EXTR0
Real-time output port control
register 0 (RTPC0)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
4
RTPM05 RTPM04 RTPM03 RTPM02 RTPM01 RTPM00
Real-time output port mode
register 0 (RTPM0)
Page 487 of 1210
V850ES/JG3-L
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
(1) Real-time output buffer registers 0L, 0H (RTBL0, RTBH0)
The RTBL0 and RTBH0 registers are 4-bit registers that hold preset output data.
These registers are mapped to different addresses in the peripheral I/O register area.
These registers can be read or written in 8-bit or 1-bit units.
Reset sets these registers to 00H.
If an operation mode of 4 bits 1 channel or 2 bits 1 channel is specified (RTPC0.BYTE0 bit = 0), data can be
individually set to the RTBL0 and RTBH0 registers. The data of both these registers can be read at once by
specifying the address of either of these registers.
If an operation mode of 6 bits 1 channel is specified (BYTE0 bit = 1), 8-bit data can be set to both the RTBL0 and
RTBH0 registers by writing the data to either of these registers. Moreover, the data of both these registers can be
read at once by specifying the address of either of these registers.
Table 13-2 shows the operation when the RTBL0 and RTBH0 registers are manipulated.
After reset: 00H
R/W
Address: RTBL0 FFFFF6E0H, RTBH0 FFFFF6E2H
RTBL0
RTBL03
0
RTBH0
0
RTBL02
RTBL01
RTBL00
RTBH05 RTBH04
Cautions 1. When writing to bits 6 and 7 of the RTBH0 register, always set 0.
2. If the RTBL0 and RTBH0 registers are accessed in the following statuses, a
wait will occur. Once the system enters the wait status, the only way to cancel
the wait status is to execute a reset. For details, see 3.4.9 (1) Accessing
special on-chip peripheral I/O registers.
When the CPU operates with the subclock and the main clock oscillation is
stopped
When the CPU operates with the internal oscillator clock
Table 13-2. Operation During Manipulation of RTBL0 and RTBH0 Registers
Operation Mode
Register to Be
Manipulated
Read
Higher 4 Bits
Write
Lower 4 Bits
Higher 4 Bits
Note
Lower 4 Bits
4 bits 1 channel,
RTBL0
RTBH0
RTBL0
Invalid
RTBL0
2 bits 1 channel
RTBH0
RTBH0
RTBL0
RTBH0
Invalid
6 bits 1 channel
RTBL0
RTBH0
RTBL0
RTBH0
RTBL0
RTBH0
RTBH0
RTBL0
RTBH0
RTBL0
Note After setting the real-time output port, output data must be set to the RTBL0 and RTBH0 registers before a realtime output trigger is generated.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 488 of 1210
V850ES/JG3-L
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.3 Registers
RTO is controlled using the following two registers.
Real-time output port mode register 0 (RTPM0)
Real-time output port control register 0 (RTPC0)
Caution In order to use the real-time output pins (RTP00 to RTP05), set these pins as real-time output port
pins using the PMC and PFC registers.
(1) Real-time output port mode register 0 (RTPM0)
The RTPM0 register enables the selection of real-time output port mode or port mode in 1-bit units.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
RTPM0
0
R/W
0
RTPM0m
Address: FFFFF6E4H
RTPM05 RTPM04 RTPM03 RTPM02 RTPM01 RTPM00
Control of real-time output port (m = 0 to 5)
0
Real-time output disabled
1
Real-time output enabled
Cautions 1. By enabling the real-time output operation (RTPC0.RTPOE0 bit = 1), the bits
enabled to real-time output among the RTP00 to RTP05 signals perform realtime output, and the bits set to port mode output 0.
2. If real-time output is disabled (RTPOE0 bit = 0), the real-time output pins
(RTP00 to RTP05) all output 0, regardless of the RTPM0 register setting.
3. When writing to bits 6 and 7 of the RTPM0 register, always set 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 489 of 1210
V850ES/JG3-L
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
(2) Real-time output port control register 0 (RTPC0)
The RTPC0 register is a register that sets the operation mode and output trigger of the real-time output port.
The relationship between the operation mode and output trigger of the real-time output port is as shown in Table
13-3.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address: FFFFF6E5H
< >
RTPC0
RTPOE0 RTPEG0
BYTE0
RTPOE0
0
0
0
0
Control of real-time output operation
0
Disables operation
1
Enables operation
Note 1
Valid edge of INTTP0CC0 signal
RTPEG0
0
Falling edgeNote 2
1
Rising edge
BYTE0
EXTR0
Specification of channel configuration for real-time output
0
4 bits × 1 channel, 2 bits × 1 channel
1
6 bits × 1 channel
Notes 1. When real-time output operation is disabled (RTPOE0 bit = 0), all the bits of the realtime output pins (RTP00 to RTP05) output “0”.
2. With this setting, the transfer of data between the buffer and the latch will be delayed
by one clock cycle.
Caution Set the RTPEG0, BYTE0, and EXTR0 bits only when RTPOE0 bit = 0.
Table 13-3. Operation Modes and Output Triggers of Real-Time Output Port
BYTE0
EXTR0
0
0
4 bits 1 channel,
INTTP5CC0
INTTP4CC0
1
2 bits 1 channel
INTTP4CC0
INTTP0CC0
0
6 bits 1 channel
INTTP4CC0
1
1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Operation Mode
RTBH0 (RTP04, RTP05)
RTBL0 (RTP00 to RTP03)
INTTP0CC0
Page 490 of 1210
V850ES/JG3-L
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.4 Operation
If the real-time output operation is enabled by setting the RTPC0.RTPOE0 bit to 1, the data of the RTBH0 and RTBL0
registers is transferred to the real-time output latch in synchronization with the generation of the selected transfer trigger
(set by the RTPC0.EXTR0 and RTPC0.BYTE0 bits). Of the transferred data, only the data of the bits for which real-time
output is enabled by the RTPM0 register is output from the RTP00 to RTP05 bits. The bits for which real-time output is
disabled by the RTPM0 register output 0.
If the real-time output operation is disabled by clearing the RTPOE0 bit to 0, the RTP00 to RTP05 pins output 0
regardless of the setting of the RTPM0 register.
Figure 13-2. Example of Operation Timing of RTO0 (When EXTR0 Bit = 0, BYTE0 Bit = 0)
INTTP5CC0 (internal)
INTTP4CC0 (internal)
CPU operation
A
B
RTBH0 D01
B
D02
RT output latch 0 (H) D00Note
D10Note
A
B
D03
D11
RTBL0
RT output latch 0 (L)
A
D13
D02
D11
B
D04
D12
D01
A
D14
D03
D12
D04
D13
D14
Note If the RTBH0 and RTBL0 registers are written when the RTPOE0 bit is 0, the written value is
transferred to real-time output latches 0H and 0L, respectively.
A: Software processing by INTTP5CC0 interrupt request (RTBH0 write)
B: Software processing by INTTP4CC0 interrupt request (RTBL0 write)
Remark
For the operation during standby, see CHAPTER 24 STANDBY FUNCTION.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 491 of 1210
V850ES/JG3-L
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.5 Usage
(1) Disable real-time output.
Clear the RTPC0.RTPOE0 bit to 0.
(2) Perform initialization as follows.
Set the alternate-function pins of port 5
Set the PFC5.PFC5m bit and PFCE5.PFCE5m bit to 1, and then set the PMC5.PMC5m bit to 1 (m = 0 to 5).
Specify the real-time output port mode or port mode in 1-bit units.
Set the RTPM0 register.
Channel configuration: Select the trigger and valid edge.
Set the RTPC0.EXTR0, RTPC0.BYTE0, and RTPC0.RTPEG0 bits.
Set the initial values to the RTBH0 and RTBL0 registersNote 1.
(3) Enable real-time output.
Set the RTPOE0 bit = 1.
(4) Set the next output value to the RTBH0 and RTBL0 registers by the time the selected transfer trigger is
generatedNote 2.
(5) Set the next real-time output value to the RTBH0 and RTBL0 registers via interrupt servicing corresponding to the
selected trigger.
Notes 1. If the RTBH0 and RTBL0 registers are written when the RTPOE0 bit is 0, the written value is
transferred to real-time output latches 0H and 0L, respectively.
2. Even if the RTBH0 and RTBL0 registers are written when the RTPOE0 bit = 1, data is not transferred to
real-time output latches 0H and 0L.
Caution To apply the above settings to the real-time output pins (RTP00 to RTP05), set the real-time
output pins by using the PMC5 and PFC5 registers.
13.6 Cautions
(1) Prevent the following conflicts by using software, such as by writing to the RTBL0, RTBH0, and RTPC0 registers
inside the interrupt servicing routine of the selected real-time output trigger.
Conflict between real-time output disable/enable switching (RTPOE0 bit) and selected real-time output trigger.
Conflict between writing to the RTBH0 and RTBL0 registers in the real-time output enabled status and the
selected real-time output trigger.
(2) Before performing initialization, disable real-time output (RTPOE0 bit = 0).
(3) Once real-time output has been disabled (RTPOE0 bit = 0), be sure to initialize the RTBH0 and RTBL0 registers
before enabling real-time output again (RTPOE0 bit = 0 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 492 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
CHAPTER 14 A/D CONVERTER
14.1 Overview
The A/D converter converts analog input signals into digital values, has a resolution of 10 bits, and can handle 12
analog input signal channels (ANI0 to ANI11).
The A/D converter has the following features.
10-bit resolution
12 channels
Successive approximation method
Operating voltage: AVREF0 = 2.7 to 3.6 V
Analog input voltage: 0 V to AVREF0
The following functions are provided as operation modes.
Continuous select mode
Continuous scan mode
One-shot select mode
One-shot scan mode
The following functions are provided as trigger modes.
Software trigger mode
External trigger mode (external, 1)
Timer trigger mode
Conversion time
2.6 to 24 s@3.0 V AVREF0 3.6 V
3.9 to 24 s@2.7 V AVREF0 < 3.0 V
Power-fail monitor function (conversion result compare function)
14.2 Functions
(1) 10-bit resolution A/D conversion
A/D conversion is repeated at a resolution of 10 bits for an analog signal that is input to a channel selected from
ANI0 to ANI11.
Each time A/D conversion is completed, an interrupt request signal (INTAD) is generated.
(2) Power-fail detection
This function is used to detect a drop in the battery voltage. The result of A/D conversion (the value of the
ADA0CRnH register) is compared with the value of the ADA0PFT register, and the INTAD signal is generated only
when the comparison condition specified by the ADA0PFM register is satisfied (n = 0 to 11).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 493 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.3 Configuration
The A/D converter includes the following hardware.
Table 14-1. Configuration of A/D Converter
Item
Configuration
Analog inputs
12 channels (ANI0 to ANI11 pins)
Registers
Successive approximation register (SAR)
A/D conversion result registers 0 to 11 (ADA0CR0 to ADA0CR11)
A/D conversion result registers 0H to 11H (ADCR0H to ADCR11H): Only higher 8 bits can be read
A/D converter mode registers 0 to 2 (ADA0M0 to ADA0M2)
A/D converter channel specification register 0 (ADA0S)
Power fail compare mode register (ADA0PFM)
Power fail compare threshold value register (ADA0PFT)
The block diagram of the A/D converter is shown below.
Figure 14-1. Block Diagram of A/D Converter
AVREF0
ANI9
ANI10
ANI11
Sample & hold circuit
Selector
ANI0
ANI1
ANI2
:
:
ADA0CE bit
ADA0CE bit
Voltage comparator
&
Compare voltage
generation DAC
AVSS
SAR
ADA0TMD1 bit
ADA0TMD0 bit
INTTP2CC0
INTTP2CC1
ADTRG
Edge
detection
Selector
INTAD
Controller
ADA0CR0
ADA0CR1
ADA0CR2
:
:
ADA0CR10
ADA0ETS0 bit
ADA0ETS1 bit
ADA0M0
Controller
ADA0PFE bit
ADA0PFC bit
ADA0M1
ADA0M2
ADA0S
ADA0CR11
Comparator
ADA0PFT ADA0PFM
Internal bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 494 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(1) ANI0 to ANI11 pins
These are analog input pins for the 12 A/D converter channels and are used to input analog signals to be converted
into digital signals. Pins other than the ones selected as analog input pins by the ADA0S register can be used as
I/O port pins.
Caution
Make sure that the voltages input to the ANI0 to ANI11 pins do not exceed the rated values. In
particular if a voltage of AVREF0 or higher is input to a channel, the conversion value of that
channel becomes undefined, and the conversion values of the other channels may also be
affected.
(2) Sample & hold circuit
The sample & hold circuit samples each of the analog input signals selected by the input circuit and sends the
sampled data to the voltage comparator. This circuit also holds the sampled analog input signal voltage during A/D
conversion.
(3) Compare voltage generation DAC
The compare voltage generation DAC is connected between AVREF0 and AVSS and generates the voltage to be
compared with the value that was sampled and held by the sample & hold circuit.
(4) Voltage comparator
The voltage comparator compares the voltage value that was sampled and held with the output voltage of the
compare voltage generation DAC.
(5) Successive approximation register (SAR)
This register compares the voltage of the sampled analog input signal with the output voltage of the compare
voltage generation DAC (compare voltage), and sequentially retains the comparison result bit by bit starting from
the most significant bit (MSB).
When the comparison result has been held down to the least significant bit (LSB) (that is, when A/D conversion is
complete), the contents of the SAR register are transferred to the ADA0CRn register.
Remark
n = 0 to 11
(6) 10-bit AD conversion result register n (ADA0CRn)
The ADA0CRn register is a 16-bit register that stores the A/D conversion result. ADA0ARn consist of 12 registers
and the A/D conversion result is stored in the 10 higher bits of the AD0CRn register corresponding to analog input.
(The lower 6 bits are fixed to 0.)
(7) A/D conversion result register nH (ADA0CRnH)
This is a 8-bit register that stores the A/D conversion result. ADA0CRnH consists of 12 registers and the A/D
conversion result is stored in the higher 8 bits of the ADA0CRnH register corresponding to the analog input signal.
(8) A/D converter mode register 0 (ADA0M0)
This register specifies the operation mode and controls conversion by the A/D converter.
(9) A/D converter mode register 1 (ADA0M1)
This register specifies the time required to convert an analog input signal to a digital signal.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 495 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(10) A/D converter mode register 2 (ADA0M2)
This register specifies the hardware trigger mode.
(11) A/D converter channel specification register (ADA0S)
This register specifies the pin to which the analog voltage to be converted is input.
(12) Power-fail compare mode register (ADA0PFM)
This register controls power-fail monitoring.
(13) Power-fail compare threshold value register (ADA0PFT)
The ADA0PFT register sets the threshold value that is compared with the value of A/D conversion result register
nH (ADA0CRnH). The 8-bit data set to the ADA0PFT register is compared with the higher 8 bits of the A/D
conversion result register (ADA0CRnH).
(14) Controller
The controller compares the result of A/D conversion (the value of the ADA0CRnH register) with the value of the
ADA0PFT register when A/D conversion is completed or when the power-fail detection function is used, and
generates the INTAD signal only when the specified comparison condition is satisfied.
(15) AVREF0 pin
This is the pin used to input the reference voltage of the A/D converter. Always make the potential of this pin the
same as that of the VDD pin even when the A/D converter is not used. The signals input to the ANI0 to ANI11 pins
are converted to digital signals based on the voltage applied between the AVREF0 and AVSS pins.
(16) AVSS pin
This is the ground pin of the A/D converter. Always make the potential of this pin the same as that of the VSS pin
even when the A/D converter is not used.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 496 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.4 Registers
The A/D converter is controlled by the following registers.
A/D converter mode registers 0, 1, 2 (ADA0M0, ADA0M1, ADA0M2)
A/D converter channel specification register 0 (ADA0S)
Power-fail compare mode register (ADA0PFM)
The following registers are also used.
A/D conversion result register n (ADA0CRn)
A/D conversion result register nH (ADA0CRnH)
Power-fail compare threshold value register (ADA0PFT)
(1) A/D converter mode register 0 (ADA0M0)
The ADA0M0 register is an 8-bit register that specifies the operation mode and controls conversion.
This register can be read or written in 8-bit or 1-bit units. However, the ADA0EF bit is read-only.
Reset sets this register to 00H.
Caution
Accessing the ADA0M0 register is prohibited in the following statuses.
If a wait cycle is
generated, it can be cleared only by a reset. For details, see 3.4.9 (1) Accessing special on-chip
peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
(1/2)
After reset: 00H
R/W
Address: FFFFF200H
< >
< >
ADA0M0
ADA0CE
0
ADA0MD1 ADA0MD0 ADA0ETS1 ADA0ETS0 ADA0TMD
A/D conversion control
ADA0CE
0
Stops A/D conversion
1
Enables A/D conversion
ADA0MD1 ADA0MD0
Specification of A/D converter operation mode
0
0
Continuous select mode
0
1
Continuous scan mode
1
0
One-shot select mode
1
1
One-shot scan mode
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
ADA0EF
Page 497 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(2/2)
ADA0ETS1 ADA0ETS0 Specification of external trigger (ADTRG pin) input valid edge
0
0
No edge detection
0
1
Falling edge detection
1
0
Rising edge detection
1
1
Detection of both rising and falling edges
Trigger mode selection
ADA0TMD
0
Software trigger mode
1
External trigger mode/timer trigger mode
A/D converter status display
ADA0EF
0
A/D conversion stopped
1
A/D conversion in progress
Cautions 1. A write operation to bit 0 is ignored.
2. Changing the ADA0M1.ADA0FR2 to ADA0M1.ADA0FR0 bits is prohibited while A/D
conversion is enabled (ADA0CE bit = 1).
3. In the following modes, write data to the ADA0M0, ADA0M2, ADA0S, ADA0PFM, or
ADA0PFT registers while A/D conversion is stopped (ADA0CE bit = 0), and then enable
A/D conversion (ADA0CE bit = 1).
Normal conversion mode
One-shot select mode/one-shot scan mode in high-speed conversion mode
If the ADA0M0, ADA0M2, ADA0S, ADA0PFM, and ADA0PFT registers are written in other
modes during A/D conversion (ADA0EF bit = 1), the following will be performed,
according to the mode.
In software trigger mode
A/D conversion is stopped and started again from the beginning.
In hardware trigger mode
A/D conversion is stopped, and the trigger standby status is set.
4. To select the external trigger mode/timer trigger mode (ADA0TMD bit = 1), set the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1). Do not input a trigger during the
stabilization time that is inserted once after A/D conversion is enabled (ADA0CE bit =
1).
5. When not using the A/D converter, stop A/D conversion by setting the ADA0CE bit to 0
to reduce power consumption.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 498 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(2) A/D converter mode register 1 (ADA0M1)
The ADA0M1 register is an 8-bit register that specifies the conversion time.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
ADA0M1
ADA0HS1
ADA0HS1
R/W
0
Address: FFFFF201H
0
0
0
ADA0FR2 ADA0FR1 ADA0FR0
Normal conversion mode/high-speed mode (A/D conversion time) selection
0
Normal conversion mode
1
High-speed conversion mode
Cautions 1. Changing the ADA0M1 register is prohibited while A/D conversion is enabled
(ADA0M0.ADA0CE bit = 1).
2. When selecting the external trigger mode/timer trigger mode (ADA0M0.ADA0TMD bit =
1), set the high-speed conversion mode (ADA0HS1 bit = 1). Do not input a trigger
during the stabilization time that is inserted once after A/D conversion is enabled
(ADA0CE bit = 1).
3. Be sure to clear bits 6 to 3 to “0”.
Remark
For A/D conversion time setting examples, see Tables 14-2 and 14-3.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 499 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Examples of the conversion time for each clock are shown below.
Table 14-2. Conversion Time Selection in Normal Conversion Mode (ADA0HS1 Bit = 0)
ADA0
FR2
ADA0
FR1
ADA0
FR0
0
0
0
0
0
0
A/D Conversion Time
Stabilization Time
+ Conversion Time + Wait Time
fXX = 20 MHz fXX = 16 MHz fXX = 12 MHz fXX = 10 MHz fXX = 4 MHz
Trigger
Response
Time
66/fXX (13/fXX + 26/fXX + 27/fXX)
Setting
Setting
Setting
6.6 s
prohibited prohibited prohibited
16.5 s
3/fXX
1
131/fXX (26/fXX + 52/fXX + 53/fXX)
6.55 s
8.19 s
10.92 s
13.1 s
Setting
3/fXX
prohibited
1
0
196/fXX (39/fXX + 78/fXX + 79/fXX)
9.8 s
12.25 s
16.33 s
19.6 s
Setting
3/fXX
prohibited
0
1
1
259/fXX (50/fXX + 104/fXX + 105/fXX)
12.95 s
16.19 s
21.58 s
Setting
Setting
3/fXX
prohibited prohibited
1
0
0
311/fXX (50/fXX + 130/fXX + 131/fXX)
15.55 s
19.44 s
Setting
Setting
Setting
3/fXX
prohibited prohibited prohibited
1
0
1
363/fXX (50/fXX + 156/fXX + 157/fXX)
18.15 s
22.69 s
Setting
Setting
Setting
3/fXX
prohibited prohibited prohibited
1
1
0
415/fXX (50/fXX + 182/fXX + 183/fXX)
20.75 s
Setting
Setting
Setting
Setting
3/fXX
prohibited prohibited prohibited prohibited
1
1
1
467/fXX (50/fXX + 208/fXX + 209/fXX)
23.35 s
Setting
Setting
Setting
Setting
3/fXX
prohibited prohibited prohibited prohibited
Other than above
Note
Note
Note
Setting prohibited
Note Setting prohibited when 2.7 V AVREF0 < 3.0 V
Remarks 1. Stabilization time:
A/D converter setup time (1 s or longer)
Conversion time:
Actual A/D conversion time (2.6 to 10.4 s)
Wait time:
Wait time inserted before the next conversion
Trigger response time: If a software trigger is generated after the stabilization time, it is inserted before the
conversion time.
2. For details about the operation timing, see 14.5.2 Conversion timing.
In the normal conversion mode, conversion is started after the stabilization time has elapsed after the
ADA0M0.ADA0CE bit is set to 1, and A/D conversion is performed only during the specified conversion time
(2.6 to 10.4 s). Conversion stops after the conversion ends and the A/D conversion end interrupt request
signal (INTAD) is generated after the wait time has elapsed.
Because conversion is stopped during the wait time, the operating current can be reduced.
Cautions 1. Set as 2.6 s conversion time 10.4 s when 3.0 V AVREF0 3.6 V.
Set as 3.9 s conversion time 10.4 s when 2.7 V AVREF0 < 3.0 V.
2. During A/D conversion, if the ADA0M0, ADA0M2, ADA0S, ADA0PFM, and ADA0PFT
registers are written or a trigger is input, reconversion is carried out. However, if the
stabilization time end timing conflicts with writing to these registers, or if the
stabilization time end timing conflicts with the trigger input, the stabilization time of 64
clocks is reinserted.
If a conflict occurs again with the reinserted stabilization time end timing, the
stabilization time is reinserted. Therefore do not set the trigger input interval and
control register write interval to 64 clocks or lower.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 500 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Table 14-3. Conversion Time Selection in High-Speed Conversion Mode (ADA0HS1 Bit = 1)
ADA0
FR2
ADA0
FR1
ADA0
FR0
0
0
0
0
0
0
A/D Conversion Time
Conversion Time
(+ Stabilization Time)
fXX = 20 MHz fXX = 16 MHz
fXX = 12 MHz fXX = 10 MHz
26/fXX (+ 13/fXX)
Setting
prohibited
Setting
prohibited
Setting
prohibited
1
52/fXX (+ 26/fXX)
2.6 s
(+ 1.3 s)
3.25 s
(+ 1.625 s)
1
0
78/fXX (+ 39/fXX)
3.9 s
(+ 1.95 s)
0
1
1
104/fXX (+ 50/fXX)
1
0
0
1
0
1
1
fXX = 4 MHz
Trigger
Response
Time
2.6 s
(+ 1.3 s)
6.5 s
(+ 3.25 s)
3/fXX
4.333 s
(+ 2.167 s)
5.2 s
(+ 2.6 s)
Setting
prohibited
3/fXX
4.875 s
(+ 2.438 s)
6.5 s
(+ 3.25 s)
7.8 s
(+ 3.9 s)
Setting
prohibited
3/fXX
5.2 s
(+ 2.5 s)
6.5 s
(+ 3.125 s)
8.667 s
(+ 4.167 s)
10.4 s
(+ 5 s)
Setting
prohibited
3/fXX
130/fXX (+ 50/fXX)
6.5 s
(+ 2.5 s)
8.125 s
(+ 3.125 s)
Setting
prohibited
Setting
prohibited
Setting
prohibited
3/fXX
1
156/fXX (+ 50/fXX)
7.8 s
(+ 2.5 s)
9.75 s
(+ 3.125 s)
Setting
prohibited
Setting
prohibited
Setting
prohibited
3/fXX
1
0
182/fXX (+ 50/fXX)
9.1 s
(+ 2.5 s)
Setting
prohibited
Setting
prohibited
Setting
prohibited
Setting
prohibited
3/fXX
1
1
208/fXX (+ 50/fXX)
10.4 s
(+ 2.5 s)
Setting
prohibited
Setting
prohibited
Setting
prohibited
Setting
prohibited
3/fXX
Note
Other than above
Note
Note
Setting prohibited
Note Setting prohibited when 2.7 V AVREF0 < 3.0 V
Remarks 1. Conversion time:
Stabilization time:
Actual A/D conversion time (2.6 to 10.4 s)
A/D converter setup time (1 s or longer)
Trigger response time: If a software trigger, external trigger, or timer trigger is generated after the
stabilization time, it is inserted before the conversion time.
2. For details about the operation timing, see 14.5.2 Conversion timing.
In the high-speed conversion mode, conversion is started after the stabilization time has elapsed after the
ADA0M0.ADA0CE bit is set to 1, and A/D conversion is performed only during the specified conversion time
(2.6 to 10.4 s). The A/D conversion end interrupt request signal (INTAD) is generated immediately after
conversion ends.
In continuous conversion mode, the stabilization time is inserted only before the first conversion, and is not
inserted after the second conversion (the A/D converter continues running).
Cautions 1. Set as 2.6 s conversion time 10.4 s when 3.0 V AVREF0 3.6 V.
Set as 3.9 s conversion time 10.4 s when 2.7 V AVREF0 < 3.0 V.
2. In the high-speed conversion mode, rewriting the ADA0M0, ADA0M2, ADA0S,
ADA0PFM, and ADA0PFT registers and inputting a trigger are prohibited during the
stabilization time.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 501 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(3) A/D converter mode register 2 (ADA0M2)
The ADA0M2 register specifies the hardware trigger mode.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
ADA0M2
R/W
Address: FFFFF203H
7
6
5
4
3
2
0
0
0
0
0
0
ADA0TMD1 ADA0TMD0
1
0
ADA0TMD1 ADA0TMD0
Specification of hardware trigger mode
0
0
External trigger mode (when ADTRG pin valid edge is detected)
0
1
Timer trigger mode 0
(when INTTP2CC0 interrupt request is generated)
1
0
Timer trigger mode 1
(when INTTP2CC1 interrupt request is generated)
1
1
Setting prohibited
Cautions 1. In the following modes, write data to the ADA0M2 register while A/D conversion is
stopped (ADA0M0.ADA0CE bit = 0), and then enable A/D conversion (ADA0CE bit = 1).
Normal conversion mode
One-shot select mode/one-shot scan mode in high-speed conversion mode
2. Be sure to clear bits 7 to 2 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 502 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(4) Analog input channel specification register 0 (ADA0S)
The ADA0S register specifies the pin that inputs the analog voltage to be converted into a digital signal.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
ADA0S
0
R/W
0
Address: FFFFF202H
0
0
ADA0S3 ADA0S2 ADA0S1 ADA0S0
ADA0S3 ADA0S2 ADA0S1 ADA0S0
Select mode
Scan mode
0
0
0
0
ANI0
ANI0
0
0
0
1
ANI1
ANI0, ANI1
0
0
1
0
ANI2
ANI0 to ANI2
0
0
1
1
ANI3
ANI0 to ANI3
0
1
0
0
ANI4
ANI0 to ANI4
0
1
0
1
ANI5
ANI0 to ANI5
0
1
1
0
ANI6
ANI0 to ANI6
0
1
1
1
ANI7
ANI0 to ANI7
1
0
0
0
ANI8
ANI0 to ANI8
1
0
0
1
ANI9
ANI0 to ANI9
1
0
1
0
ANI10
ANI0 to ANI10
1
0
1
1
ANI11
ANI0 to ANI11
1
1
0
0
Setting prohibited
Setting prohibited
1
1
0
1
Setting prohibited
Setting prohibited
1
1
1
0
Setting prohibited
Setting prohibited
1
1
1
1
Setting prohibited
Setting prohibited
Cautions 1. In the following modes, write data to the ADA0S register while A/D conversion is
stopped (ADA0M0.ADA0CE bit = 0), and then enable A/D conversion (ADA0CE bit = 1).
Normal conversion mode
One-shot select mode/one-shot scan mode in high-speed conversion mode
2. Be sure to clear bits 7 to 4 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 503 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(5) A/D conversion result registers n, nH (ADA0CRn, ADA0CRnH)
The ADA0CRn and ADA0CRnH registers store the A/D conversion results.
These registers are read-only, in 16-bit or 8-bit units. However, specify the ADA0CRn register for 16-bit access and
the ADA0CRnH register for 8-bit access. For ADA0CRn, the 10 bits of the conversion result are read from the
higher 10 bits, and 0 is read from the lower 6 bits. For ADA0CRnH, the higher 8 bits of the conversion result are
read.
Caution Accessing the ADA0CRn and ADA0CRnH registers is prohibited in the following statuses. If a
wait cycle is generated, it can be cleared only by a reset. For details, see 3.4.9 (1) Accessing
special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: Undefined
ADA0CRn
(n = 0 to 11)
R
AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0
After reset: Undefined
ADA0CRnH
Address: ADA0CR0 FFFFF210H, ADA0CR1 FFFFF212H,
ADA0CR2 FFFFF214H, ADA0CR3 FFFFF216H,
ADA0CR4 FFFFF218H, ADA0CR5 FFFFF21AH,
ADA0CR6 FFFFF21CH, ADA0CR7 FFFFF21EH,
ADA0CR8 FFFFF220H, ADA0CR9 FFFFF222H,
ADA0CR10 FFFFF224H, ADA0CR11 FFFFF226H
R
0
0
0
0
0
0
Address: ADA0CR0H FFFFF211H, ADA0CR1H FFFFF213H,
ADA0CR2H FFFFF215H, ADA0CR3H FFFFF217H,
ADA0CR4H FFFFF219H, ADA0CR5H FFFFF21BH,
ADA0CR6H FFFFF21DH, ADA0CR7H FFFFF21FH,
ADA0CR8H FFFFF221H, ADA0CR9H FFFFF223H,
ADA0CR10H FFFFF225H, ADA0CR11H FFFFF227H
7
6
5
4
3
2
1
0
AD9
AD8
AD7
AD6
AD5
AD4
AD3
AD2
(n = 0 to 11)
Caution
A write operation to the ADA0M0 and ADA0S registers may cause the contents of the
ADA0CRn register to become undefined. After conversion, read the conversion result
before writing to the ADA0M0 and ADA0S registers. Correct conversion results may not
be read if a sequence other than the above is used.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 504 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
The relationship between the analog voltage input to the analog input pins (ANI0 to ANI11) and the A/D conversion
result (ADA0CRn register) is as follows.
SAR = INT (
VIN
AVREF0
1,024 + 0.5)
ADA0CRNote = SAR 64
Or,
(SAR 0.5)
AVREF0
1,024
VIN < (SAR + 0.5)
AVREF0
1,024
INT( ):
Function that returns the integer of the value in ( )
VIN:
Analog input voltage
AVREF0:
AVREF0 pin voltage
ADA0CR: Value of ADA0CRn register
Note The lower 6 bits of the ADA0CRn register are fixed to 0.
The following shows the relationship between the analog input voltage and the A/D conversion results.
Figure 14-2. Relationship Between Analog Input Voltage and A/D Conversion Results
ADA0CRn
SAR
A/D conversion results
1,023
FFC0H
1,022
FF80H
1,021
FF40H
3
00C0H
2
0080H
1
0040H
0
0000H
1
1
3
2
5
3
2,048 1,024 2,048 1,024 2,048 1,024
2,043 1,022 2,045 1,023 2,047 1
2,048 1,024 2,048 1,024 2,048
Input voltage/AVREF0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 505 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(6) Power-fail compare mode register (ADA0PFM)
The ADA0PFM register is an 8-bit register that sets the power-fail compare mode.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
ADA0PFM
R/W
Address: FFFFF204H
6
ADA0PFE ADA0PFC
ADA0PFE
5
4
3
2
1
0
0
0
0
0
0
0
Selection of power-fail compare enable/disable
0
Power-fail compare disabled
1
Power-fail compare enabled
ADA0PFC
Selection of power-fail compare mode
0
Generate an interrupt request signal (INTAD) when ADA0CRnH ≥ ADA0PFT
1
Generate an interrupt request signal (INTAD) when ADA0CRnH < ADA0PFT
Cautions 1. In the select mode, the 8-bit data set to the ADA0PFT register is compared with the
conversion result of the channel specified by the ADA0S register. If the result matches
the condition specified by the ADA0PFC bit, the conversion result is stored in the
ADA0CRn register and the INTAD signal is generated.
If it does not match, the
conversion result is stored in the ADA0CR0 register and the INTAD signal is not
generated.
2. In the scan mode, the 8-bit data set to the ADA0PFT register is compared with the
conversion result of channel 0. If the result matches the condition specified by the
ADA0PFC bit, the conversion result is stored in the ADA0CR0 register and the INTAD
signal is generated.
If it does not match, the conversion result is stored in the
ADA0CR0 register but the INTAD signal is not generated.
Also, regardless of the
comparison result, scanning continues after comparison and the conversion result
continue to be stored in the ADA0CRn register until scanning ends. However, the
INTAD signal is not generated after the scanning has finished.
3. In the following modes, write data to the ADA0PFM register while A/D conversion is
stopped (ADA0M0.ADA0CE bit = 0), and then enable A/D conversion (ADA0CE bit = 1).
Normal conversion mode
One-shot select mode/one-shot scan mode in high-speed conversion mode
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 506 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(7) Power-fail compare threshold value register (ADA0PFT)
The ADA0PFT register sets the compare value in the power-fail compare mode.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
7
R/W
6
Address: FFFFF205H
5
4
3
2
1
0
ADA0PFT
Caution
In the following modes, write data to the ADA0PFT register while A/D conversion is
stopped (ADA0M0.ADA0CE bit = 0), and then enable A/D conversion (ADA0CE bit = 1).
Normal conversion mode
One-shot select mode/one-shot scan mode in high-speed conversion mode
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 507 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.5 Operation
14.5.1 Basic operation
Set the operation mode, trigger mode, and conversion time for executing A/D conversion by using the ADA0M0,
ADA0M1, ADA0M2, and ADA0S registers. When the ADA0CE bit of the ADA0M0 register is set, conversion is
started in the software trigger mode and the A/D converter waits for a trigger in the external or timer trigger mode.
When A/D conversion is started, the voltage input to the selected analog input channel is sampled by the sample
& hold circuit.
Once the sample & hold circuit has sampled the input channel for a specific time, it enters the hold status, and
holds the input analog voltage until A/D conversion is complete.
Set bit 9 of the successive approximation register (SAR). The tap selector selects (1/2) AVREF0 as the compare
voltage generation DAC.
The voltage difference between the voltage of the compare voltage generation DAC and the analog input voltage
is compared by the voltage comparator. If the analog input voltage is higher than (1/2) AVREF0, the MSB of the
SAR register remains set (1). If it is lower than (1/2) AVREF0, the MSB is reset.
Next, bit 8 of the SAR register is automatically set and the next comparison is started. Depending on the value of
bit 9, to which a result has been already set, the voltage tap of the compare voltage generation DAC is selected
as follows.
Bit 9 = 1: (3/4) AVREF0
Bit 9 = 0: (1/4) AVREF0
This compare voltage and the analog input voltage are compared and, depending on the result, bit 8 is
manipulated as follows.
Analog input voltage Compare voltage: Bit 8 = 1
Analog input voltage Compare voltage: Bit 8 = 0
This comparison is continued to bit 0 of the SAR register.
When comparison of the 10 bits is complete, the valid digital result is stored in the SAR register, and is then
transferred to and stored in the ADA0CRn register. After that, an A/D conversion end interrupt request signal
(INTAD) is generated at the following timing.
Continuous/one-shot select mode: After the fist A/D conversion is complete
Continuous/one-shot scan mode:
After A/D conversions are performed sequentially for analog input pins up to
the one specified by the ADA0S register
In one-shot select mode, conversion stops hereNote. In one-shot scan mode, conversion stops after scanning
onceNote. In continuous select mode, repeat steps to until the ADA0M0.ADA0CE bit is cleared to 0. In
continuous scan mode, repeat steps to for each channel.
Note In the external trigger mode, timer trigger mode 0, or timer trigger mode 1, the trigger standby status is
entered.
Remark
The trigger standby status means the status after the stabilization time has passed.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 508 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.5.2 Conversion timing
Figure 14-3. Conversion Timing (Continuous Conversion)
(1) Operation in normal conversion mode (ADA0HS1 bit = 0)
ADA0M0.ADA0CE bit
First conversion
Setup
Processing state
Sampling
Second conversion
A/D conversion
Wait
Conversion time
Wait time
Setup
Sampling
INTAD signal
Stabilization
time
2/fXX (MAX.)
Sampling
time
0.5/fXX
(2) Operation in high-speed conversion mode (ADA0HS1 bit = 1)
ADA0M0.ADA0CE bit
First conversion
Setup
Processing state
Second conversion
A/D conversion
Sampling
Sampling
A/D conversion
INTAD signal
Stabilization
time
2/fXX (MAX.)
ADA0FR2 to
Stabilization Time
0.5/fXX
Sampling
time
Conversion Time
Wait Time
Trigger Response
Time
(Sampling Time)
ADA0FR0 Bits
Remark
Conversion time
000
13/fXX
26/fXX (8/fXX)
27/fXX
3/fXX
001
26/fXX
52/fXX (16/fXX)
53/fXX
3/fXX
010
39/fXX
78/fXX (24/fXX)
79/fXX
3/fXX
011
50/fXX
104/fXX (32/fXX)
105/fXX
3/fXX
100
50/fXX
130/fXX (40/fXX)
131/fXX
3/fXX
101
50/fXX
156/fXX (48/fXX)
157/fXX
3/fXX
110
50/fXX
182/fXX (56/fXX)
183/fXX
3/fXX
111
50/fXX
208/fXX (64/fXX)
209/fXX
3/fXX
The above timings apply to the software trigger mode. In the external trigger mode/timer trigger
mode, a trigger response time is inserted.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 509 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.5.3 Trigger modes
The timing of starting conversion is specified by setting a trigger mode. The trigger modes include a software trigger
mode and hardware trigger modes. The hardware trigger modes include timer trigger modes 0 and 1, and external trigger
mode.
The ADA0M0.ADA0TMD bit is used to set the trigger mode.
The hardware trigger modes are set by the
ADA0M2.ADA0TMD1 and ADA0M2.ADA0TMD0 bits.
Table 14-4. Trigger Modes
ADA0M0 Register
ADA0M2 Register
Trigger Mode
ADA0TMD Bit
ADA0TMD1 Bit
ADA0TMD0 Bit
0
Software trigger mode
1
0
0
External trigger mode (based on ADTRG pin valid edge
detection)
0
1
Timer trigger mode 0 (based on INTTP2CC0 interrupt request
occurrence)
1
0
Timer trigger mode 1 (based on INTTP2CC1 interrupt request
occurrence)
1
1
Setting prohibited
(1) Software trigger mode
When the ADA0M0.ADA0CE bit is set to 1, the signal of the analog input pin (ANIn pin) specified by the ADA0S
register is converted. When conversion is complete, the result is stored in the ADA0CRn register. At the same time,
the A/D conversion end interrupt request signal (INTAD) is generated.
If the operation mode specified by the ADA0M0.ADA0MD1 and ADA0M0.ADA0MD0 bits is the continuous
select/scan mode, the next conversion is started, unless the ADA0CE bit is cleared to 0 after completion of the first
conversion. Conversion is performed once and ends if the operation mode is the one-shot select/scan mode.
When conversion is started, the ADA0M0.ADA0EF bit is set to 1 (indicating that conversion is in progress).
If the ADA0M0, ADA0M2, ADA0S, ADA0PFM, or ADA0PFT register is written during conversion, the conversion is
aborted and started again from the beginning. However, writing to these registers is prohibited in the normal
conversion mode and one-shot select mode/one-shot scan mode in the high-speed conversion mode (n = 0 to 11).
(2) External trigger mode
In this mode, converting the signal of the analog input pin (ANIn pin) specified by the ADA0S register is started
when an external trigger is input (to the ADTRG pin). Which edge of the external trigger is to be detected (that is,
the rising edge, falling edge, or both rising and falling edges) can be specified by using the ADA0M0.ADA0ETS1
and ADA0M0.ATA0ETS0 bits. When the ADA0CE bit is set to 1, the A/D converter waits for the trigger, and starts
conversion after the external trigger has been input.
When conversion is completed, the result of conversion is stored in the ADA0CRn register, regardless of whether
the continuous select, continuous scan, one-shot select, or one-shot scan mode is set as the operation mode by
the ADA0MD1 and ADA0MD0 bits. At the same time, the INTAD signal is generated, and the A/D converter waits
for the trigger again.
When conversion is started, the ADA0EF bit is set to 1 (indicating that conversion is in progress). While the A/D
converter is waiting for the trigger, however, the ADA0EF bit is cleared to 0 (indicating that conversion is stopped).
If a valid trigger is input during conversion, the conversion is aborted and started again from the beginning.
If the ADA0M0, ADA0M2, ADA0S, ADA0PFM, or ADA0PFT register is written during conversion, the conversion is
aborted, and the A/D converter waits for the trigger again. However, writing to these registers is prohibited in the
one-shot select mode/one-shot scan mode (n = 0 to 11).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 510 of 1210
V850ES/JG3-L
Caution
CHAPTER 14 A/D CONVERTER
When selecting the external trigger mode, set the high-speed conversion mode. Do not input a
trigger during the stabilization time that is inserted once after A/D conversion is enabled
(ADA0M0.ADA0CE bit = 1).
Remark
The trigger standby status means the status after the stabilization time has passed.
(3) Timer trigger mode
In this mode, converting the signal of the analog input pin (ANI0 to ANI11) specified by the ADA0S register is
started by the compare match interrupt request signal (INTTP2CC0 or INTTP2CC1) of the capture/compare
register connected to the timer.
The INTTP2CC0 or INTTP2CC1 signal is selected by the ADA0TMD1 and
ADA0TMD0 bits, and conversion is started at the rising edge of the specified compare match interrupt request
signal. When the ADA0CE bit is set to 1, the A/D converter waits for a trigger, and starts conversion when the
compare match interrupt request signal of the timer is input.
When conversion is completed, regardless of whether the continuous select, continuous scan, one-shot select, or
one-shot scan mode is set as the operation mode by the ADA0MD1 and ADA0MD0 bits, the result of the conversion
is stored in the ADA0CRn register. At the same time, the INTAD signal is generated, and the A/D converter waits
for the trigger again.
When conversion is started, the ADA0EF bit is set to 1 (indicating that conversion is in progress). While the A/D
converter is waiting for the trigger, however, the ADA0EF bit is cleared to 0 (indicating that conversion is stopped).
If a valid trigger is input during conversion, the conversion is aborted and started again from the beginning.
If the ADA0M0, ADA0M2, ADA0S, ADA0PFM, or ADA0PFT register is written during conversion, the conversion is
stopped and the A/D converter waits for the trigger again. However, writing to these registers is prohibited in the
one-shot select mode/one-shot scan mode.
Caution
When selecting the timer trigger mode, set the high-speed conversion mode. Do not input a
trigger during the stabilization time that is inserted once after A/D conversion is enabled
(ADA0M0.ADA0CE bit = 1).
Remark
The trigger standby status means the status after the stabilization time has passed.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 511 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.5.4 Operation mode
Four operation modes are available: continuous select mode, continuous scan mode, one-shot select mode, and oneshot scan mode.
The operation mode is selected by the ADA0M0.ADA0MD1 and ADA0M0.ADA0MD0 bits.
(1) Continuous select mode
In this mode, the voltage of one analog input pin selected by the ADA0S register is continuously converted into a
digital value.
The conversion result is stored in the ADA0CRn register corresponding to the analog input pin. Each time A/D
conversion is completed, the A/D conversion end interrupt request signal (INTAD) is generated. After completion of
conversion, the next conversion is started, unless the ADA0M0.ADA0CE bit is cleared to 0 (n = 0 to 11).
Figure 14-4. Example of Timing in Continuous Select Mode (ADA0S Register = 01H)
ANI1
Data 4
A/D conversion
Data 1
Data 2
Data 3
Data 1
(ANI1)
Data 2
(ANI1)
Data 3
(ANI1)
Data 1
(ANI1)
ADA0CR1
Data 2
(ANI1)
Data 4
(ANI1)
Data 3
(ANI1)
Data 5
Data 5
(ANI1)
Data 4
(ANI1)
INTAD
Conversion start
Set ADA0CE bit to 1
Remark
Conversion end
Set ADA0CE bit to 0
The above timing applies to the software trigger mode (ADA0M0.AD0TMD bit = 0) or the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1).
(2) Continuous scan mode
In this mode, analog input pins are sequentially selected, from the ANI0 pin to the pin specified by the ADA0S
register, and their values are converted into digital values.
The result of each conversion is stored in the ADA0CRn register corresponding to the analog input pin. When
conversion of the analog input pin specified by the ADA0S register is complete, the INTAD signal is generated, and
A/D conversion is started again from the ANI0 pin, unless the ADA0CE bit is cleared to 0 (n = 0 to 11).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 512 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Figure 14-5. Example of Timing in Continuous Scan Mode (ADA0S Register = 03H) (1/2)
(a) Timing example
ANI0
Data 1
Data 5
ANI1
Data 6
Data 2
Data 7
Data 3
ANI2
ANI3
Data 4
Data 1
(ANI0)
A/D conversion
Data 2
(ANI1)
Data 3
(ANI2)
Data 4
(ANI3)
Data 5
(ANI0)
Data 1
(ANI0)
ADA0CR0
Data 7
(ANI2)
Data 5
(ANI0)
Data 2
(ANI1)
ADA0CR1
Data 6
(ANI1)
Data 6
(ANI1)
Data 3
(ANI2)
ADA0CR2
Data 4
(ANI3)
ADA0CR3
INTAD
Conversion start
Set ADA0CE bit to 1
Remark
The above timing applies to the software trigger mode (ADA0M0.AD0TMD bit = 0) or the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 513 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Figure 14-5. Example of Timing in Continuous Scan Mode (ADA0S Register = 03H) (2/2)
(b) Relationship between analog input pins and A/D conversion result registers
Analog input pin
ADA0CRn register
ANI0
ADA0CR0
ANI1
ADA0CR1
ANI2
ADA0CR2
ANI3
A/D converter
ADA0CR3
ANI4
ADA0CR4
ANI5
.
.
.
.
ADA0CR5
.
.
.
ANI9
ADA0CR9
ANI10
ADA0CR10
ANI11
ADA0CR11
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 514 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(3) One-shot select mode
In this mode, the voltage of the analog input pin specified by the ADA0S register is converted into a digital value
only once.
The conversion result is stored in the ADA0CRn register corresponding to the analog input pin. In this mode, an
analog input pin and an ADA0CRn register correspond on a one-to-one basis. When A/D conversion has been
completed once, the INTAD signal is generated. A/D conversion is stopped after it has been completed (n = 0 to
11).
Figure 14-6. Example of Timing in One-Shot Select Mode (ADA0S Register = 01H)
ANI1
Data 1
Data 2
Data 1
(ANI1)
A/D conversion
Data 2
(ANI1)
Data 1
(ANI1)
ADA0CR1
Data 2
(ANI1)
INTAD
Conversion end
Conversion start
Set ADA0CE bit to 1
Remark
Conversion end
Conversion start
Set ADA0CE bit to 1
The above timing applies to the software trigger mode (ADA0M0.AD0TMD bit = 0) or the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1).
(4) One-shot scan mode
In this mode, analog input pins are sequentially selected, from the ANI0 pin to the pin specified by the ADA0S
register, and their values are converted into digital values .
Each conversion result is stored in the ADA0CRn register corresponding to the analog input pin. When conversion
of the analog input pin specified by the ADA0S register is complete, the INTAD signal is generated. A/D conversion
is stopped after it has been completed (n = 0 to 11).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 515 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Figure 14-7. Example of Timing in One-Shot Scan Mode (ADA0S Register = 03H) (1/2)
(a) Timing example
ANI0
Data 1
ANI1
Data 2
Data 3
ANI2
ANI3
Data 4
Data 1
(ANI0)
A/D conversion
Data 2
(ANI1)
Data 3
(ANI2)
Data 4
(ANI3)
Data 1
(ANI0)
ADA0CR0
Data 2
(ANI1)
ADA0CR1
Data 3
(ANI2)
ADA0CR2
Data 4
(ANI3)
ADA0CR3
INTAD
Conversion start
Set ADA0CE bit to 1
Remark
Conversion end
The above timing applies to the software trigger mode (ADA0M0.AD0TMD bit = 0) or the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 516 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Figure 14-7. Example of Timing in One-Shot Scan Mode (ADA0S Register = 03H) (2/2)
(b) Relationship between analog input pins and A/D conversion result registers
Analog input pin
ADA0CRn register
ANI0
ADA0CR0
ANI1
ADA0CR1
ANI2
ADA0CR2
ANI3
A/D converter
ADA0CR3
ANI4
ADA0CR4
ANI5
.
.
.
.
ADA0CR5
ANI9
ADA0CR9
ANI10
ADA0CR10
ANI11
ADA0CR11
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
.
.
.
Page 517 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.5.5 Power-fail compare mode
In this mode, whether the input analog signal voltage is the specified voltage or higher or whether it is lower than the
specified voltage is judged, and if the condition specified by the ADA0PFC bit is satisfied, the A/D conversion end interrupt
request signal (INTAD) is generated.
When the ADA0PFM.ADA0PFE bit is 0, the INTAD signal is generated each time A/D conversion is completed at the
following timing (normal use of the A/D converter) .
Continuous/one-shot select mode: After the fist A/D conversion is complete
Continuous/one-shot scan mode:
After A/D conversions are performed sequentially for the analog input pins
up to the one specified by the ADA0S register
When the ADA0PFE bit is 1 and when the ADA0PFM.ADA0PFC bit is 0, the value of the ADA0CRnH register is
compared with the value of the ADA0PFT register when conversion is completed, and the INTAD signal is generated
only if ADA0CRnH ADA0PFT.
When the ADA0PFE bit is 1 and when the ADA0PFC bit is 1, the value of the ADA0CRnH register is compared with
the value of the ADA0PFT register when conversion is completed, and the INTAD signal is generated only if
ADA0CRnH < ADA0PFT.
Remark
n = 0 to 11
In the power-fail compare mode, four modes are available: continuous select mode, continuous scan mode, one-shot
select mode, and one-shot scan mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 518 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(1) Continuous select mode
In this mode, the result of converting the voltage of the analog input pin specified by the ADA0S register is
compared with the set value of the ADA0PFT register. If the result of power-fail comparison matches the condition
set by the ADA0PFC bit, the conversion result is stored in the ADA0CRn register, and the INTAD signal is
generated. If it does not match, the conversion result is stored in the ADA0CRn register, and the INTAD signal is
not generated. After completion of the first conversion, the next conversion is started, unless the ADA0M0.ADA0CE
bit is cleared to 0 (n = 0 to 11).
Figure 14-8. Example of Timing in Continuous Select Mode
(When Power-Fail Comparison Is Made: ADA0PFM.ADA0PFC bit = 0, ADA0S Register = 01H)
Power-fail
comparison value
ANI1
A/D conversion
Data 1
Data 2
Data 3
Data 4
Data 5
Data 1
(ANI1)
Data 2
(ANI1)
Data 3
(ANI1)
Data 4
(ANI1)
Data 5
(ANI1)
ADA0CR1
Data 1
(ANI1)
Data 2
(ANI1)
ADA0PFT
mismatch
ADA0PFT
mismatch
Data 3
(ANI1)
Data 4
(ANI1)
INTAD
Conversion start
Set ADA0CE bit to 1
Remark
ADA0PFT ADA0PFT
match
match
Conversion end
Set ADA0CE bit to 0
The above timing applies to the software trigger mode (ADA0M0.AD0TMD bit = 0) or the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1).
(2) Continuous scan mode
In this mode, the results of converting the voltages of the analog input pins, from the ANI0 pin to the pin specified
by the ADA0S register, are stored sequentially.
First, the conversion result of channel 0 is compared. If the result of power-fail comparison matches the condition
set by the ADA0PFC bit, the conversion result is stored in the ADA0CR0 register, and the INTAD signal is
generated. If it does not match, the conversion result is stored in the ADA0CR0 register, and the INTAD signal is
not generated.
After the result of the first conversion has been stored in the ADA0CR0 register, the results of sequentially
converting the voltages of the analog input pins up to the pin specified by the ADA0S register are continuously
stored. After completion of conversion, the next conversion is started from the ANI0 pin again, unless the ADA0CE
bit is cleared to 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 519 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Figure 14-9. Example of Timing in Continuous Scan Mode
(When Power-Fail Comparison Is Made: ADA0PFM.ADA0PFC bit = 0, ADA0S Register = 03H) (1/2)
(a) Timing example
ANI0
Power-fail
comparison value
Data 1
Data 5
ANI1
Data 6
Data 2
Data 7
Data 3
ANI2
ANI3
Data 4
Data 1
(ANI0)
A/D conversion
Data 2
(ANI1)
Data 3
(ANI2)
Data 4
(ANI3)
Data 5
(ANI0)
Data 1
(ANI0)
ADA0CR0
Data 6
(ANI1)
Data 5
(ANI0)
Data 2
(ANI1)
ADA0CR1
Data 7
(ANI2)
Data 6
(ANI1)
Data 3
(ANI2)
ADA0CR2
Data 4
(ANI3)
ADA0CR3
INTAD
Conversion start
Set ADA0CE bit to 1
Remark
ADA0PFT
match
ADA0PFT
mismatch
The above timing applies to the software trigger mode (ADA0M0.AD0TMD bit = 0) or the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 520 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Figure 14-9. Example of Timing in Continuous Scan Mode
(When Power-Fail Comparison Is Made: ADA0PFM.ADA0PFC bit = 0, ADA0S Register = 03H) (2/2)
(b) Relationship between analog input pins and A/D conversion result registers
Analog input pin
ADA0CRn register
ANI0
ADA0CR0
ANI1
ADA0CR1
ADA0CR2
ANI2
ANI3
A/D converter
ADA0CR3
ANI4
ADA0CR4
ANI5
.
.
.
.
ADA0CR5
ANI9
ADA0CR9
ANI10
ADA0CR10
ANI11
ADA0CR11
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
.
.
.
Page 521 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(3) One-shot select mode
In this mode, the result of converting the voltage of the analog input pin specified by the ADA0S register is
compared with the set value of the ADA0PFT register. If the result of power-fail comparison matches the condition
set by the ADA0PFC bit, the conversion result is stored in the ADA0CRn register, and the INTAD signal is
generated. If it does not match, the conversion result is stored in the ADA0CRn register, and the INTAD signal is
not generated. Conversion is stopped after it has been completed.
Figure 14-10. Example of Timing in One-Shot Select Mode
(When Power-Fail Comparison Is Made: ADA0PFM.ADA0PFC bit = 1, ADA0S Register = 01H)
ANI1
Power-fail
comparison value
Data 1
Data 2
Data 1
(ANI1)
A/D conversion
Data 2
(ANI1)
Data 1
(ANI1)
ADA0CR1
Data 2
(ANI1)
INTAD
ADA0PFT mismatch
Conversion end
Conversion start
Set ADA0CE bit to 1
Remark
ADA0PFT match
Conversion end
Conversion start
Set ADA0CE bit to 1
The above timing applies to the software trigger mode (ADA0M0.AD0TMD bit = 0) or the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1).
(4) One-shot scan mode
In this mode, the results of converting the voltages of the analog input pins sequentially selected from the ANI0 pin
to the pin specified by the ADA0S register are stored, and the set value of the ADA0CR0H register of channel 0 is
compared with the set value of the ADA0PFT register. If the result of power-fail comparison matches the condition
set by the ADA0PFC bit, the conversion result is stored in the ADA0CR0 register and the INTAD signal is generated.
If it does not match, the conversion result is stored in the ADA0CR0 register, and the INTAD0 signal is not
generated.
After the result of the first conversion has been stored in the ADA0CR0 register, the results of
converting the signals on the analog input pins specified by the ADA0S register are sequentially stored. Conversion
is stopped after it has been completed.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 522 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Figure 14-11. Example of Timing in One-Shot Scan Mode
(When Power-Fail Comparison Is Made: ADA0PFM.ADA0PFC bit = 0, ADA0S Register = 03H) (1/2)
(a) Timing example
ANI0
Power-fail
comparison value
ANI1
Data 1
Data 2
Data 3
ANI2
ANI3
Data 4
Data 1
(ANI0)
A/D conversion
Data 2
(ANI1)
Data 3
(ANI2)
Data 4
(ANI3)
Data 1
(ANI0)
ADA0CR0
Data 2
(ANI1)
ADA0CR1
Data 3
(ANI2)
ADA0CR2
Data 4
(ANI3)
ADA0CR3
INTAD
Conversion start
Set ADA0CE bit to 1
Remark
ADA0PFT
match
The above timing applies to the software trigger mode (ADA0M0.AD0TMD bit = 0) or the highspeed conversion mode (ADA0M1.ADA0HS1 bit = 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 523 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
Figure 14-11. Example of Timing in One-Shot Scan Mode
(When Power-Fail Comparison Is Made: ADA0PFM.ADA0PFC bit = 0, ADA0S Register = 03H) (2/2)
(b) Relationship between analog input pins and A/D conversion result registers
Analog input pin
ADA0CRn register
ANI0
ADA0CR0
ANI1
ADA0CR1
ADA0CR2
ANI2
ANI3
A/D converter
ADA0CR3
ANI4
ADA0CR4
ANI5
.
.
.
.
ADA0CR5
.
.
.
ANI9
ADA0CR9
ANI10
ADA0CR10
ANI11
ADA0CR11
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 524 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.6 Cautions
(1) When A/D converter is not used
When the A/D converter is not used, the power consumption can be reduced by clearing the ADA0M0.ADA0CE bit
to 0.
(2) Input range of ANI0 to ANI11 pins
Input a voltage within the ratings to the ANI0 to ANI11 pins. If a voltage equal to or higher than AVREF0 or equal to or
lower than AVSS (even within the range of the absolute maximum ratings) is input to any of these pins, the
conversion value of that channel is undefined, and the conversion value of the other channels may also be affected.
(3) Countermeasures against noise
To maintain the 10-bit resolution, the ANI0 to ANI11 pins must be effectively protected from noise. The influence of
noise increases as the output impedance of the analog input source becomes higher.
To lower the noise,
connecting an external capacitor as shown in Figure 14-12 is recommended.
The capacitor must have a capacitance appropriate for the input signal change speed.
Figure 14-12. Handling of Analog Input Pin
Clamp using a diode with a low VF (0.3 V or less).
VDD
AVREF0
ANI0 to ANI11
AVSS
VSS
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 525 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(4) Alternate I/O
The analog input pins (ANI0 to ANI11) function alternately as port pins. When selecting one of the ANI0 to ANI11
pins to execute A/D conversion, do not execute an instruction to read an input port or write to an output port during
conversion as the conversion resolution may drop.
Also the conversion resolution may drop at the pins set as output port pins during A/D conversion if the output
current fluctuates due to the effect of the external circuit connected to the port pins.
If a digital pulse is applied to a pin adjacent to the pin whose input signal is being converted, the A/D conversion
value may not be as expected due to the influence of coupling noise. Therefore, do not apply a pulse to a pin
adjacent to the pin undergoing A/D conversion.
(5) Interrupt request flag (ADIF)
The interrupt request flag (ADIF) is not cleared (0) even if the contents of the ADA0S register are changed. If the
analog input pin is changed during A/D conversion, therefore, the result of converting the previously selected
analog input signal may be stored and the conversion end interrupt request flag may be set (1) immediately before
the ADA0S register is rewritten. If the ADIF flag is read immediately after the ADA0S register is rewritten, the ADIF
flag may be set (1) even though the A/D conversion of the newly selected analog input pin has not been completed.
When A/D conversion is stopped, clear (0) the ADIF flag before resuming conversion.
Figure 14-13. Timing of Generating A/D Conversion End Interrupt Request
ADA0S rewriting
(ANIn conversion start)
ANIn
A/D conversion
ADA0CRn
ADA0S rewriting
(ANIm conversion start)
ANIn
ANIn
ADIF is set, but ANIm
conversion does not end
ANIm
ANIn
ANIm
ANIm
ANIm
INTAD
Remark
n = 0 to 11
m = 0 to 11
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 526 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(6) Internal equivalent circuit
The following shows the equivalent circuit of the analog input block.
Figure 14-14. Internal Equivalent Circuit of ANIn Pin
RIN
ANIn
CIN
RIN
CIN
14 k
8.0 pF
Remarks 1. The above values are reference values.
2. n = 0 to 11
(7) AVREF0 pin
(a) The AVREF0 pin is used as the power supply pin of the A/D converter and also supplies power to the alternatefunction ports. In an application where a backup power supply is used, be sure to supply the same voltage as
VDD to the AVREF0 pin as shown in Figure 14-15.
(b) The AVREF0 pin is also used as the reference voltage pin of the A/D converter. If the source supplying power to
the AVREF0 pin has a high impedance or if the power supply has a low current supply capability, the reference
voltage may fluctuate due to the current that flows during conversion (especially, immediately after the
conversion enable bit ADA0CE has been set to 1). As a result, the conversion accuracy may drop. To avoid
this, it is recommended to connect a capacitor across the AVREF0 and AVSS pins to suppress the reference
voltage fluctuation as shown in Figure 14-15.
(c) If the source supplying power to the AVREF0 pin has a high DC resistance, the voltage when conversion is
enabled may be lower than the voltage when conversion is stopped, because of a voltage drop caused by the
A/D conversion current.
Figure 14-15. Example of Handling AVREF0 Pin
Note
AVREF0
Main power supply
AVSS
Note Parasitic inductance
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 527 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(8) Reading ADA0CRn register
When the ADA0M0 to ADA0M2, ADA0S, ADA0PFM, or ADA0PFT register is written, the contents of the ADA0CRn
register may be undefined. Read the conversion result after completion of conversion and before writing to the
ADA0M0 to ADA0M2, ADA0S, ADA0PFM, or ADA0PFT register.
Also, when an external/timer trigger is
acknowledged, the contents of the ADA0CRn register may be undefined.
Read the conversion result after
completion of conversion and before the next external/timer trigger is acknowledged. The correct conversion result
may not be read at a timing different from the above.
(9) Standby mode
Because the A/D converter stops operating in the STOP mode, power consumption can be reduced, but the
conversion results will be invalid.
Operations are resumed after the STOP mode is released, but the A/D
conversion results after the STOP mode is released are invalid. When using the A/D converter after the STOP
mode is released, before setting the STOP mode or releasing the STOP mode, clear the ADA0M0.ADA0CE bit to 0
then set the ADA0CE bit to 1 after releasing the STOP mode.
In the IDLE1, IDLE2, or subclock operation mode, operation continues. In the IDLE1 and IDLE2 modes, since the
analog input voltage value cannot be retained, the A/D conversion results after the IDLE1 and IDLE2 modes are
released are invalid. The results of conversions before the IDLE1 and IDLE2 modes were set are valid. To lower
the power consumption, therefore, clear the ADA0M0.ADA0CE bit to 0.
(10) High-speed conversion mode
In the high-speed conversion mode, rewriting the ADA0M0, ADA0M2, ADA0S, ADA0PFM, and ADA0PFT
registers and inputting a trigger during the stabilization time are prohibited.
(11) A/D conversion time
A/D conversion time is the total time of stabilization time, conversion time, wait time, and trigger response time
(for details of these times, refer to Table 14-2 Conversion Time Selection in Normal Conversion Mode
(ADA0HS1 Bit = 0) and Table 14-3 Conversion Time Selection in High-Speed Conversion Mode (ADA0HS1
Bit = 1)).
During A/D conversion in the normal conversion mode, if the ADA0M0, ADA0M2, ADA0S, ADA0PFM, and
ADA0PFT registers are written or a trigger is input, reconversion is carried out. However, if the stabilization time
end timing conflicts with writing to these registers, or if the stabilization time end timing conflicts with the trigger
input, the stabilization time of 64 clocks is reinserted.
If a conflict occurs again with the reinserted stabilization time end timing, the stabilization time is reinserted.
Therefore do not set the trigger input interval and control register write interval to 64 clocks or lower.
(12) Variation of A/D conversion results
The results of the A/D conversion may vary depending on the fluctuation of the supply voltage, or may be affected
by noise. To reduce the variation, take countermeasures in the program such as averaging the A/D conversion
results.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 528 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(13) A/D conversion result hysteresis characteristics
The successive comparison type A/D converter holds the analog input voltage in the internal sample & hold
capacitor and then performs A/D conversion. After A/D conversion has finished, the analog input voltage remains
in the internal sample & hold capacitor. As a result, the following phenomena may occur.
When the same channel is used for A/D conversions, if the voltage is higher or lower than the previous A/D
conversion, then hysteresis characteristics may appear where the conversion result is affected by the previous
value. Thus, even if the conversion is performed at the same potential, the result may vary.
When switching the analog input channel, hysteresis characteristics may appear where the conversion result is
affected by the previous channel value. This is because one A/D converter is used for the A/D conversions.
Thus, even if the conversion is performed at the same potential, the result may vary.
Therefore, to obtain a more accurate conversion result, perform A/D conversion twice successively for the same
channel, and discard the first conversion result.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 529 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
14.7 How to Read A/D Converter Characteristics Table
This section describes the terms related to the A/D converter.
(1) Resolution
The minimum analog input voltage that can be recognized, that is, the ratio of an analog input voltage to 1 bit of
digital output is called 1 LSB (least significant bit). The ratio of 1 LSB to the full scale is expressed as %FSR (fullscale range). %FSR is the ratio of a range of convertible analog input voltages expressed as a percentage, and
can be expressed as follows, independently of the resolution.
1%FSR = (Maximum value of convertible analog input voltage – Minimum value of convertible analog
input voltage)/100
= (AVREF0 0)/100
= AVREF0/100
When the resolution is 10 bits, 1 LSB is as follows:
1 LSB = 1/210 = 1/1,024
= 0.098%FSR
The accuracy is determined by the overall error, independently of the resolution.
(2) Overall error
This is the maximum value of the difference between an actually measured value and a theoretical value.
It is a total of zero-scale error, full-scale error, linearity error, and a combination of these errors.
The overall error in the characteristics table does not include the quantization error.
Figure 14-16. Overall Error
1......1
Digital output
Ideal line
Overall error
0......0
0
AVREF0
Analog input
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 530 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(3) Quantization error
This is an error of 1/2 LSB that inevitably occurs when an analog value is converted into a digital value. Because
the A/D converter converts analog input voltages in a range of 1/2 LSB into the same digital codes, a quantization
error is unavoidable.
This error is not included in the overall error, zero-scale error, full-scale error, integral linearity error, or differential
linearity error in the characteristics table.
Figure 14-17. Quantization Error
Digital output
1......1
1/2 LSB
Quantization error
1/2 LSB
0......0
0
AVREF0
Analog input
(4) Zero-scale error
This is the difference between the actually measured analog input voltage and its theoretical value when the digital
output changes from 0…000 to 0…001 (1/2 LSB).
Figure 14-18. Zero-Scale Error
Digital output (lower 3 bits)
111
Ideal line
100
Zero-scale error
011
010
001
000
−1
0
1
2
3
AVREF0
Analog input (LSB)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 531 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(5) Full-scale error
This is the difference between the actually measured analog input voltage and its theoretical value when the digital
output changes from 1…110 to 1…111 (full scale 3/2 LSB).
Figure 14-19. Full-Scale Error
Digital output (lower 3 bits)
Full-scale error
111
100
011
010
000
0
AVREF0 − 3 AVREF0 − 2 AVREF0 − 1 AVREF0
Analog input (LSB)
(6) Differential linearity error
Ideally, the width to output a specific code is 1 LSB. This error indicates the difference between the actually
measured value and its theoretical value when a specific code is output. This indicates the basic characteristics of
the A/D conversion when the voltage applied to the analog input pins of the same channel is consistently increased
bit by bit from AVSS to AVREF0. When the input voltage is increased or decreased, or when two or more channels
are used, see 14.7 (2) Overall error.
Figure 14-20. Differential Linearity Error
1......1
Digital output
Ideal width of 1 LSB
Differential
linearity error
0......0
AVREF0
Analog input
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 532 of 1210
V850ES/JG3-L
CHAPTER 14 A/D CONVERTER
(7) Integral linearity error
This error indicates the extent to which the conversion characteristics differ from the ideal linear relationship. It
indicates the maximum value of the difference between the actually measured value and its theoretical value where
the zero-scale error and full-scale error are 0.
Figure 14-21. Integral Linearity Error
1......1
Digital output
Ideal line
Integral
linearity error
0......0
0
AVREF0
Analog input
(8) Conversion time
This is the time required to obtain a digital output after sampling has started.
The conversion time in the characteristics table includes the sampling time.
(9) Sampling time
This is the time for which the analog switch is ON to load an analog voltage to the sample & hold circuit.
Figure 14-22. Relationship Between Conversion Time and Sampling Time
Sampling time
Conversion time
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 533 of 1210
V850ES/JG3-L
CHAPTER 15 D/A CONVERTER
CHAPTER 15 D/A CONVERTER
15.1 Functions
In the V850ES/JG3-L, two R-2R ladder type D/A converter channels are provided (DA0CS0 and DA0CS1).
The D/A converter has the following functions.
8-bit resolution 2 channels
R-2R ladder method
Conversion time: 3 s (MAX.) (when AVREF1 = 2.7 to 3.6 V, external load = 20 pF)
Analog output voltage: AVREF1 m/256 (m = 0 to 255; value set to DA0CSn register)
Operation modes: Normal mode, real-time output mode
Remark
n = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 534 of 1210
V850ES/JG3-L
CHAPTER 15 D/A CONVERTER
15.2 Configuration
The D/A converter includes the following hardware.
Table 15-1. D/A Converter Registers Used by Software
Item
Control registers
Configuration
D/A converter mode register (DA0M)
D/A conversion value setting registers 0 and 1 (DA0CS0, DA0CS1)
The block diagram of the D/A converter is shown below.
Figure 15-1. Block Diagram of D/A Converter
Internal bus
DA0CS1 write
D/A conversion value
setting register 1
(DA0CS1)
INTTP3CC0 signal
D/A conversion value
setting register 0
(DA0CS0)
DA0CS0 write
INTTP2CC0 signal
2R
AVREF1
Selector
AVSS
ANO1
2R
R
2R
R
2R
ANO0
2R
Selector
2R
R
2R
R
2R
DA0MD1 DA0CE1 DA0MD0 DA0CE0
D/A converter
mode register 1
(DA0M)
D/A converter
mode register 0
(DA0M)
Internal bus
Caution DA0CS0 and D0ACS1 are also used as the AVREF1 and AVSS pins. The AVSS pin is also used by the
A/D converter.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 535 of 1210
V850ES/JG3-L
CHAPTER 15 D/A CONVERTER
15.3 Registers
The registers that control the D/A converter are as follows.
D/A converter mode register (DA0M)
D/A conversion value setting registers 0, 1 (DA0CS0, DA0CS1)
(1) D/A converter mode register (DA0M)
The DA0M register controls the operation of the D/A converter.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address: FFFFF282H
< >
DA0M
0
DA0CEn
0
0
0
DA0MD1 DA0MD0
D/A converter operation enable/disable (n = 0, 1)
0
Disables operation
1
Enables operation
DA0MDn
< >
DA0CE1 DA0CE0
Selection of D/A converter operation mode (n = 0, 1)
0
Normal mode
1
Real-time output modeNote
Note The output trigger in the real-time output mode (DA0MDn bit = 1) is as follows.
When n = 0: INTTP2CC0 signal (see CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP))
When n = 1: INTTP3CC0 signal (see CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP))
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 536 of 1210
V850ES/JG3-L
CHAPTER 15 D/A CONVERTER
(2) D/A conversion value setting registers 0, 1 (DA0CS0, DA0CS1)
The DA0CS0 and DA0CS1 registers set the analog voltage value output to the ANO0 and ANO1 pins.
These registers can be read or written in 8-bit units.
Reset sets these registers to 00H.
After reset: 00H
DA0CSn
Caution
R/W
Address: DA0CS0 FFFFF280H, DA0CS1 FFFFF281H
DA0CSn7 DA0CSn6 DA0CSn5 DA0CSn4 DA0CSn3 DA0CSn2 DA0CSn1 DA0CSn0
In the real-time output mode (DA0M.DA0MDn bit = 1), set the DA0CSn register before the
INTTP2CC0/INTTP3CC0
signal
is
generated.
D/A
conversion
starts
when
the
INTTP2CC0/INTTP3CC0 signal is generated.
Remark
n = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 537 of 1210
V850ES/JG3-L
CHAPTER 15 D/A CONVERTER
15.4 Operation
15.4.1 Operation in normal mode
D/A conversion is performed using a write operation to the DA0CSn register as the trigger.
The setting method is described below.
Set the PM1n bit to 1 (input mode).
Clear the DA0M.DA0MDn bit to 0 (normal mode).
Set the analog voltage value to be output to the ANOn pin to the DA0CSn register.
Steps and above constitute the initial settings.
Set the DA0M.DA0CEn bit to 1 (D/A conversion enable).
The D/A converted analog voltage value is output from the ANOn pin when this setting is performed.
To change the analog voltage value, write to the DA0CSn register.
The analog voltage value set immediately before is held until the next write operation is performed.
Remarks 1. For the alternate-function pin settings, refer to Table 4-15 Settings When Pins Are Used for Alternate
Functions.
2. n = 0, 1
15.4.2 Operation in real-time output mode
D/A conversion is performed using the interrupt request signal of TMP2 or TMP3 (INTTP2CC0 or INTTP3CC0) as the
trigger.
The setting method is described below.
Set the PM1n bit to 1 (input mode).
Set the DA0M.DA0MDn bit to 1 (real-time output mode).
Set the analog voltage value to be output to the ANOn pin to the DA0CSn register.
Set the DA0M.DA0CEn bit to 1 (D/A conversion enable).
Steps to above constitute the initial settings.
Operate TMP2 and TMP3.
The D/A converted analog voltage value is output from the ANOn pin when the INTTP2CC0 or INTTP3CC0 signal
is generated.
Set the analog voltage value to be output to the DA0CSn register next, before the next INTTP2CC0 or
INTTP3CC0 signal is generated.
After that, the value set to the DA0CSn register is output from the ANOn pin every time the INTTP2CC0 or
INTTP3CC0 signal is generated.
Remarks 1. The output values of the ANO0 and ANO1 pins up to above are undefined.
2. For the output values of the ANO0 and ANO1 pins in the IDLE1, IDLE2, HALT, and STOP modes, refer to
CHAPTER 24 STANDBY FUNCTION.
3. n = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 538 of 1210
V850ES/JG3-L
CHAPTER 15 D/A CONVERTER
15.4.3 Cautions
Observe the following cautions when using the D/A converter.
(1) Set the port pins to the input mode (PM1n bit = 1).
(2) Do not read or write the P1 register during D/A conversion.
(3) When using one of the P10/ANO0 and P11/ANO1 pins as an I/O port pin and the other as a D/A output pin, do so
in an application where the port I/O level does not change during D/A output.
(4) In the real-time output mode, avoid a conflict between writing the DA0CSn register by software and trigger signal
output, which can occur by writing the DA0CSn register while the interrupt requested by the selected trigger signal
is being serviced.
(5) Make sure that AVREF1 VDD and AVREF1 = 2.7 to 3.6 V. The operation is not guaranteed if ranges other than the
above are used.
(6) Turn on or off AVREF1 at the same time as turning on or off AVREF0.
(7) Because the output impedance of the D/A converter is high, a current cannot be supplied from the ANOn pin.
When connecting a resistor of 2 M or lower, take appropriate measures such as inserting a JFET input type
operational amplifier between the resistor and the ANOn pin.
Remark n = 0, 1
Figure 15-2. Example of External Pin Connection
−
Output
ANOn
+
2 MΩ
AVREF0
JFET input
operational amplifier
0.1 μF
10 μ F
0.1 μF
10 μ F
EVDD
AVSS
AVREF1
Caution
The figure shown here is only for reference. Use it after fully evaluating its appropriateness.
(8) Because the D/A converter stops operating in the STOP mode, the ANO0 and ANO1 pins go into a high-impedance
state, and the power consumption can be reduced.
In the IDLE1, IDLE2, or subclock operation mode, however, the D/A converter continues operating. To lower the
power consumption, therefore, clear the DA0M.DA0CEn bit to 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 539 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
The V850ES/JG3-L have 6-channels UARTA.
16.1 Features
On-chip dedicated baud rate generator
Transfer rate: 300 bps to 625 kbps (using dedicated baud rate generator)
Full-duplex communication
Double buffer configuration Internal UARTAn receive data register (UAnRX)
Internal UARTAn transmit data register (UAnTX)
Reception error detection function
Parity error
Framing error
Overrun error
Interrupt sources: 2
Reception complete interrupt (INTUAnR):
This interrupt occurs upon transfer of receive data from the receive
shift register to the receive data register after serial transfer
completion, in the reception enabled status.
Transmission enable interrupt (INTUAnT):
This interrupt occurs upon transfer of transmit data from the
transmit data register to the transmit shift register in the
transmission enabled status. (Continuous transmission is possible.)
Character length: 7, 8 bits
Parity function: Odd, even, 0, none
Transmission stop bit: 1, 2 bits
MSB-/LSB-first transfer selectable
Internal digital noise filter
Inverted input/output of transmit/receive data possible
SBF (Sync Break Field) transmission/reception in the LIN (Local Interconnect Network) communication format
13 to 20 bits selectable for SBF transmission
Recognition of 11 bits or more possible for SBF reception
SBF reception flag provided
Remark
n = 0 to 5
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 540 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.2 Configuration
UARTAn includes the following hardware.
Table 16-1. Configuration of UARTAn
Item
Configuration
Registers
UARTAn control register 0 (UAnCTL0)
UARTAn control register 1 (UAnCTL1)
UARTAn control register 2 (UAnCTL2)
UARTAn option control register 0 (UAnOPT0)
UARTAn status register (UAnSTR)
UARTAn receive shift register
UARTAn receive data register (UAnRX)
UARTAn transmit shift register
UARTAn transmit data register (UAnTX)
The block diagram of the UARTAn is shown below.
Figure 16-1. Block Diagram of UARTAn
Internal bus
INTUAnT
INTUAnR
UAnRX
Reception unit
Transmission
unit
UAnTX
UARTAn receive
shift register
Reception
controller
Transmission
controller
UARTAn transmit
shift register
Filter
Baud rate
generator
Baud rate
generator
Selector
RXDAn
Selector
Clock
selector
fXX to fXX/210
ASCKA0Note
TXDAn
UAnCTL0
UAnCTL1
UAnCTL2
UAnSTR
UAnOPT0
Internal bus
Note
UARTA0 only
Remarks1.
2.
n = 0 to 5
For the configuration of the baud rate generator, see Figure 16-17.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 541 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(1) UARTAn control register 0 (UAnCTL0)
The UAnCTL0 register is an 8-bit register used to specify the operation of UARTAn.
(2) UARTAn control register 1 (UAnCTL1)
The UAnCTL1 register is an 8-bit register used to select the base clock (fUCLK) for UARTAn.
(3) UARTAn control register 2 (UAnCTL2)
The UAnCTL2 register is an 8-bit register used with the UAnCTL1 register to generate the baud rate for UARTAn.
(4) UARTAn option control register 0 (UAnOPT0)
The UAnOPT0 register is an 8-bit register used to control SBF transmission/reception in the LIN communication
format and the level of the transmission/reception signals for the UARTAn.
(5) UARTAn status register (UAnSTR)
The UAnSTR register is an 8-bit register that indicates the contents of a reception error. Each one of the reception
error flags is set (to 1) upon the occurrence of a reception error.
(6) UARTAn receive shift register
This is a shift register used to convert the serial data input to the RXDAn pin into parallel data. Upon reception of
1-character data and detection of the stop bit, the receive data is transferred to the UAnRX register.
This register cannot be manipulated directly.
(7) UARTAn receive data register (UAnRX)
The UAnRX register is an 8-bit buffer register that holds receive data.
In the reception enabled status, receive data is transferred from the UARTAn receive shift register to the UAnRX
register in synchronization with the completion of shift-in processing of 1 character.
Transfer to the UAnRX register also causes the reception complete interrupt request signal (INTUAnR) to be output.
(8) UARTAn transmit shift register
The transmit shift register is a shift register used to convert the parallel data transferred from the UAnTX register
into serial data.
When 1-character data is transferred from the UAnTX register, the shift register data is output from the TXDAn pin.
This register cannot be manipulated directly.
(9) UARTAn transmit data register (UAnTX)
The UAnTX register is an 8-bit transmit data buffer. Transmission starts when transmit data is written to the UAnTX
register. When data can be written to the UAnTX register (when 1-character data is transferred from the UAnTX
register to the UARTAn transmit shift register), the transmission enable interrupt request signal (INTUAnT) is
generated.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 542 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.2.1 Pin functions of each channel
The RXDAn, TXDAn, and ASCKA0 pins used by UARTA in the V850ES/JG3-L are used for other functions as shown in
Table 16-2. To use these pins for UARTA, set the related registers as described in Table 4-15 Settings When Pins Are
Used for Alternate Functions.
Table 16-2. Pins Used by UARTA
Channel
Pin No.
GC
UARTA0
UARTA2
UARTA3
UARTA4
UARTA5
Note
F1
UARTA
UARTA
Reception
Transmission
Input
Output
26
K3
P31
RXDA0
25
L3
P30
P32
27
UARTA1
Port
L4
44
L9
P91
RXDA1
43
H8
P90
36
H7
P39
RXDA2
35
H6
P38
32
J6
P37
RXDA3
31
H5
P36
46
J9
P93
RXDA4
45
K9
P92
48
K10
P95
RXDA5
47
L10
P94
TXDA0
TXDA1
TXDA2
TXDA3
TXDA4
TXDA5
UARTA Clock
Other Functions
Note
I/O
INTP7/SIB4
ASCKA0
SOB4
Note
SCKB4/TIP00/TOP00
KR7/SCL02
KR6/SDA02
SCL00
SDA00
TIP40/TOP40
TIP41/TOP41
TIP30/TOP30
TIP31/TOP31
The ASCKA0 function is provided only for UARTA0.
Caution Other than alternate function pins above, INTUA5T interrupt of UART5 and INTP3CC1
interrupt of TMP3, and INTUA5R interrupt of UART5 and INTP3OV interrupt of TMP3 are
alternate interrupt signals and therefore cannot be used simultaneously.
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 543 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.3 Mode Switching of UARTA and Other Serial Interfaces
16.3.1 UARTA0 and CSIB4 mode switching
In the V850ES/JG3-L, UARTA0 and CSIB4 share pins and therefore cannot be used simultaneously. To use the
UARTA0 function, specify the UARTA0 mode in advance by using the PMC3, PFC3, and PFCE3 registers.
Switching the operation mode between UARTA0 and CSIB4 is described below.
Caution
Transmission and reception by UARTA0 and CSIB4 are not guaranteed if these operation modes are
switched during transmission or reception. Be sure to stop the serial interface that is not being used.
Figure 16-2. Switching UARTA0 and CSIB4 Operation Modes
After reset: 0000H
14
13
12
11
10
9
8
0
0
0
0
0
0
PMC39
PMC38
0
0
PMC35
PMC34
PMC33
PMC32
PMC31
PMC30
After reset: 0000H
R/W
Address: FFFFF466H, FFFFF467H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
PFC39
PFC38
0
0
PFC35
PFC34
PFC33
PFC32
PFC31
PFC30
0
PFCE32
0
0
After reset: 00H
PFCE3L
Address: FFFFF446H, FFFFF447H
15
PMC3
PFC3
R/W
R/W
Address: FFFFF706H
0
0
0
0
PMC32
PFCE32
PFC32
0
×
×
Port I/O mode
1
0
0
ASCKA0 mode
1
0
1
SCKB4 mode
PMC3n
PFC3n
0
×
Port I/O mode
1
0
UARTA0 mode
1
1
CSIB4 mode
Operation mode
Operation mode
Remarks 1. n = 0, 1
2. = don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 544 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.3.2 UARTA1 and I2C02 mode switching
In the V850ES/JG3-L, UARTA1 and I2C02 share pins and therefore cannot be used simultaneously. To use the UARTA1
function, specify the UARTA1 mode in advance by using the PMC9, PFC9, and PFCE9 registers.
Switching the operation mode between UARTA1 and I2C02 are described below.
Caution
Transmission and reception by UARTA1 and I2C02 are not guaranteed if these operation modes are
switched during transmission or reception. Be sure to stop the serial interface that is not being used.
Figure 16-3. Switching UARTA1 and I2C02 Operation Modes
After reset: 0000H
15
PMC9
9
8
PMC99
PMC98
PMC97
PMC91
PMC90
9
8
PMC96
R/W
13
PMC95
12
PMC94
11
10
PMC93
PMC92
Address: FFFFF472H, FFFFF473H
15
14
PFC915
PFC914
PFC913 PFC912
PFC911 PFC910
PFC99
PFC98
PFC97
PFC96
PFC95
PFC93
PFC91
PFC90
After reset: 0000H
15
PFCE9
14
Address: FFFFF452H, FFFFF453H
PMC915 PMC914 PMC913 PMC912 PMC911 PMC910
After reset: 0000H
PFC9
R/W
R/W
14
PFCE915 PFCE914
13
12
PFC94
11
13
12
11
10
9
8
0
0
0
0
0
0
PFCE91
PFCE90
PFCE95 PFCE94
PMC9n
PFCE9n
PFC9n
1
1
0
UARTA1 mode
1
1
1
I2C02 mode
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
PFC92
Address: FFFFF712H, FFFFF713H
PFCE97 PFCE96
Remark
10
PFCE93 PFCE92
Operation mode
n = 0, 1
Page 545 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.3.3 UARTA2 and I2C00 mode switching
In the V850ES/JG3-L, UARTA2 and I2C00 share pins and therefore cannot be used simultaneously. To use the UARTA2
function, specify the UARTA2 mode in advance by using the PMC3 and PFC3 registers.
Switching the operation mode between UARTA2 and I2C00 are described below.
Caution
Transmission and reception by UARTA2 and I2C00 are not guaranteed if these operation modes are
switched during transmission or reception. Be sure to stop the serial interface that is not being used.
Figure 16-4. Switching UARTA2 and I2C00 Operation Modes
After reset: 0000H
PMC3
Address: FFFFF446H, FFFFF447H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
PMC39
PMC38
0
0
PMC35
PMC34
PMC33
PMC32
PMC31
PMC30
After reset: 0000H
PFC3
R/W
R/W
Address: FFFFF466H, FFFFF467H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
PFC39
PFC38
0
0
PFC35
PFC34
PFC33
PFC32
PFC31
PFC30
PMC3n
PFC3n
Operation mode
0
×
Port I/O mode
1
0
UARTA2 mode
1
1
I2C00 mode
Remarks 1. n = 8, 9
2. = don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 546 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.4 Registers
(1) UARTAn control register 0 (UAnCTL0)
The UAnCTL0 register is an 8-bit register that controls the UARTAn serial transfer operation.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 10H.
(1/2)
After reset: 10H
UAnCTL0
R/W
Address: UA0CTL0 FFFFFA00H, UA1CTL0 FFFFFA10H,
UA2CTL0 FFFFFA20H, UA3CTL0 FFFFFA30H,
UA4CTL0 FFFFFA40H, UA5CTL0 FFFFFA50H
UAnPWR UAnTXE UAnRXE UAnDIR
3
2
UAnPS1 UAnPS0
1
0
UAnCL
UAnSL
(n = 0 to 5)
UAnPWR
UARTAn operation control
0
Disable UARTAn operation (UARTAn reset asynchronously)
1
Enable UARTAn operation
The UARTAn operation is controlled by the UAnPWR bit. The TXDAn pin output
is fixed to high level by clearing the UAnPWR bit to 0 (fixed to low level if
UAnOPT0.UAnTDL bit = 1).
UAnTXE
Transmission operation enable
0
Disable transmission operation
1
Enable transmission operation
• To start transmission, set the UAnPWR bit to 1 and then set the UAnTXE bit to 1.
To stop transmission, clear the UAnTXE bit to 0 and then UAnPWR bit to 0.
• To initialize the transmission unit, clear the UAnTXE bit to 0, wait for two cycles of
the base clock, and then set the UAnTXE bit to 1 again. Otherwise, initialization
may not be executed (for the base clock, see 16.7 (1) (a) Base clock).
• When UARTAn operation is enabled (UAnPWR bit = 1) and the UAnTXE bit is set
to 1, transmission is enabled after at least two cycles of the base clock (fUCLK) have
elapsed.
UAnRXE
Reception operation enable
0
Disable reception operation
1
Enable reception operation
• To start reception, set the UAnPWR bit to 1 and then set the UAnRXE bit to 1.
To stop reception, clear the UAnRXE bit to 0 and then UAnPWR bit to 0.
• To initialize the reception unit, clear the UAnRXE bit to 0, wait for two cycles of
the base clock, and then set the UAnRXE bit to 1 again. Otherwise, initialization
may not be executed (for the base clock, see 16.7 (1) (a) Base clock).
• When UARTAn operation is enabled (UAnPWR bit = 1) and the UAnRXE bit is set
to 1, reception is enabled after at least two cycles of the base clock (fUCLK) have
elapsed. If a start bit is received before reception is enabled, the start bit is
ignored.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 547 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(2/2)
UAnDIR
Data transfer order
0
MSB first
1
LSB first
• This register can be rewritten only when the UAnPWR bit is 0 or the UAnTXE bit
and the UAnRXE bit are 0.
• When transmission and reception are performed in the LIN format, set the UAnDIR
bit to 1.
UAnPS1 UAnPS0 Parity selection during transmission Parity selection during reception
0
0
No parity output
Reception with no parity
0
1
0 parity output
Reception with 0 parity
1
0
Odd parity output
Odd parity check
1
1
Even parity output
Even parity check
• This register is rewritten only when the UAnPWR bit is 0 or the UAnTXE bit and the
UAnRXE bit are 0.
• If “Reception with 0 parity” is selected during reception, a parity check is not performed.
Therefore, the UAnSTR.UAnPE bit is not set.
• When transmission and reception are performed in the LIN format, clear the
UAnPS1 and UAnPS0 bits to 00.
UAnCL
Specification of data character length of 1 frame of transmit/receive data
0
7 bits
1
8 bits
• This register can be rewritten only when the UAnPWR bit is 0 or the UAnTXE bit
and the UAnRXE bit are 0.
• When transmission and reception are performed in the LIN format, set the UAnCL
bit to 1.
UAnSL
Specification of length of stop bit for transmit data
0
1 bit
1
2 bits
This register can be rewritten only when the UAnPWR bit is 0 or the UAnTXE bit and
the UAnRXE bit are 0.
Remark
For details of parity, see 16.6.6 Parity types and operations.
(2) UARTAn control register 1 (UAnCTL1)
For details, see 16.7 (2) UARTAn control register 1 (UAnCTL1).
(3) UARTAn control register 2 (UAnCTL2)
For details, see 16.7 (3) UARTAn control register 2 (UAnCTL2).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 548 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(4) UARTAn option control register 0 (UAnOPT0)
The UAnOPT0 register is an 8-bit register used to control SBF transmission/reception in the LIN communication
format and the level of the transmission/reception signals for the UARTAn.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 14H.
(1/2)
After reset: 14H
R/W
Address: UA0OPT0 FFFFFA03H, UA1OPT0 FFFFFA13H,
UA2OPT0 FFFFFA23H, UA3OPT0 FFFFFA33H,
UA4OPT0 FFFFFA43H, UA5OPT0 FFFFFA53H
UAnOPT0
6
5
4
3
2
1
0
UAnSRF UAnSRT UAnSTT UAnSLS2 UAnSLS1 UAnSLS0 UAnTDL UAnRDL
(n = 0 to 5)
UAnSRF
SBF reception flag
0
The UAnCTL0.UAnPWR bit or the UAnCTL0.UAnRXE bit is set to 0,
or SBF reception ends normally.
1
During SBF reception
• This bit indicates whether SBF (Sync Brake Field) is received in LIN communication.
• When an SBF reception error occurs, the UAnSRF bit remains 1 and SBF reception
is started again.
• The UAnSRF bit is a read-only bit.
UAnSRT
SBF reception trigger
−
0
1
SBF reception trigger
• This is the SBF reception trigger bit during LIN communication, and is always 0
when read.
• For SBF reception, set the UAnSRT bit (to 1) to enable SBF reception.
• Set the UAnSRT bit after setting the UAnPWR bit and UAnRXE bit to 1.
UAnSTT
SBF transmission trigger
−
0
1
SBF transmission trigger
• This is the SBF transmission trigger bit during LIN communication, and is always 0
when read.
• Setting this bit to 1 triggers SBF transmission.
• Set the UAnSTT bit after setting the UAnPWR bit and UAnTXE bit to 1.
Caution
Do not set the UAnSRT and UAnSTT bits (to 1) during SBF reception
(UAnSRF bit = 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 549 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(2/2)
UAnSLS2 UAnSLS1 UAnSLS0
SBF transmit length selection
1
0
1
13-bit output (initial value)
1
1
0
14-bit output
1
1
1
15-bit output
0
0
0
16-bit output
0
0
1
17-bit output
0
1
0
18-bit output
0
1
1
19-bit output
1
0
0
20-bit output
This register can be set when the UAnPWR bit or the UAnTXE bit is 0.
UAnTDL
Transmit data level bit
0
Normal output of transfer data
1
Inverted output of transfer data
• The output level of the TXDAn pin can be inverted by using the UAnTDL bit.
• This register can be set when the UAnPWR bit or the UAnTXE bit is 0.
UAnRDL
Receive data level bit
0
Normal input of transfer data
1
Inverted input of transfer data
• The input level of the RXDAn pin can be inverted by using the UAnRDL bit.
• This register can be set when the UAnPWR bit or the UAnRXE bit is 0.
(5) UARTAn status register (UAnSTR)
The UAnSTR register is an 8-bit register that displays the UARTAn transfer status and reception error contents.
This register can be read or written in 8-bit or 1-bit units, but the UAnTSF bit is a read-only bit, while the UAnPE,
UAnFE, and UAnOVE bits can be both read and written. However, these bits can only be cleared by writing 0; they
cannot be set by writing 1 (even if 1 is written to them, the previous value is retained).
The conditions for clearing the UAnSTR register are shown below.
Table 16-3. Conditions for Clearing STR Register
Register/Bit
UAnSTR register
Conditions for Clearing
Reset
UAnCTL0.UAnPWR = 0
UAnTSF bit
UAnCTL0.UAnTXE = 0
UAnPE, UAnFE, UAnOVE bits
0 write
UAnCTL0.UAnRXE = 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 550 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
After reset: 00H
R/W
Address: UA0STR FFFFFA04H, UA1STR FFFFFA14H,
UA2STR FFFFFA24H, UA3STR FFFFFA34H,
UA4STR FFFFFA44H, UA5STR FFFFFA54H
UAnSTR
6
5
4
3
UAnTSF
0
0
0
0
UAnPE
UAnFE
UAnOVE
(n = 0 to 5)
UAnTSF
0
Transfer status flag
The transmit shift register does not have data.
• When the UAnPWR bit or the UAnTXE bit has been set to 0.
• When, following transfer completion, there was no next data transfer
from UAnTX register
1
The transmit shift register has data.
(Write to UAnTX register)
The UAnTSF bit is always 1 when performing continuous transmission. When
initializing the transmission unit, check that the UAnTSF bit is 0 before performing
initialization. The transmit data is not guaranteed when initialization is performed
while the UAnTSF bit is 1.
UAnPE
Parity error flag
0
• When the UAnPWR bit or the UAnRXE bit has been set to 0.
• When 0 has been written
1
The received parity bit does not match the specified parity.
• The operation of the UAnPE bit is controlled by the settings of the
UAnCTL0.UAnPS1 and UAnCTL0.UAnPS0 bits.
• Once the UAnPE bit is set (1), the value is retained until the bit is cleared (0).
• The UAnPE bit can be read and written, but it can only be cleared by writing 0 to it;
it cannot be set by writing 1 to it. When 1 is written to this bit, the previous value is
retained.
UAnFE
Framing error flag
0
• When the UAnPWR bit or the UAnRXE bit has been set to 0
• When 0 has been written
1
When no stop bit is detected during reception
• Only the first bit of the receive data stop bits is checked, regardless of the value
of the UAnCTL0.UAnSL bit.
• Once the UAnFE bit is set (1), the value is retained until the bit is cleared (0).
• The UAnFE bit can be both read and written, but it can only be cleared by
writing 0 to it; it cannot be set by writing 1 to it. When 1 is written to this bit, the
previous value is retained.
UAnOVE
Overrun error flag
0
• When the UAnPWR bit or the UAnRXE bit has been set to 0.
• When 0 has been written
1
When receive data has been set to the UAnRX register and the next
receive operation is completed before that receive data has been read
• When an overrun error occurs, the data is discarded without the next receive data
being written to the receive buffer.
• Once the UAnOVE bit is set (1), the value is retained until the bit is cleared (0).
• The UAnOVE bit can be both read and written, but it can only be cleared by writing
0 to it; it cannot be set by writing 1 to it. When 1 is written to this bit, the previous
value is retained.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 551 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(6) UARTAn receive data register (UAnRX)
The UAnRX register is an 8-bit buffer register that stores parallel data converted by the receive shift register.
The data stored in the receive shift register is transferred to the UAnRX register upon completion of reception of 1character data.
During LSB-first reception when the data length has been specified as 7 bits, the receive data is transferred to bits
6 to 0 of the UAnRX register and the MSB always becomes 0. During MSB-first reception, the receive data is
transferred to bits 7 to 1 of the UAnRX register and the LSB always becomes 0.
When an overrun error (UAnOVE) occurs, the receive data at this time is not transferred to the UAnRX register and
is discarded.
This register is read-only, in 8-bit units.
In addition to reset input, the UAnRX register can be set to FFH by clearing the UAnCTL0.UAnPWR bit to 0.
After reset: FFH
R
Address: UA0RX FFFFFA06H, UA1RX FFFFFA16H,
UA2RX FFFFFA26H, UA3RX FFFFFA36H,
UA4RX FFFFFA46H, UA5RX FFFFFA56H
7
6
5
4
3
2
1
0
UAnRX
(n = 0 to 5)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 552 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(7) UARTAn transmit data register (UAnTX)
The UAnTX register is an 8-bit register used to set transmit data.
Writing transmit data to the UAnTX register with transmission enabled (UAnCTL0.UAnTXE bit = 1) triggers
transmission. When transfer of the UAnTX register data to the UARTAn transmit shift register is complete, the
transmission enable interrupt request signal (INTUAnT) is generated.
When 7-bit data is transmitted LSB-first, the data is transferred to bits 6 to 0 of the UAnTX register. When the data
is transmitted MSB-first, it is transferred to bits 7 to 1 of the UAnTX register.
This register can be read or written in 8-bit units.
Reset sets this register to FFH.
Caution
Writing the UAnTX register with transmission enabled (UAnPWR bit = 1 and UAnTXE bit = 1)
triggers transmission. If the same value as the one immediately before is written, therefore, the
same data is transmitted twice. To write new transmit data during processing of the preceding
one, wait until the transmission enable interrupt request signal (INTUAnT) has been generated.
Even if transmission is enabled after data is written to the UAnTX register with transmission
disabled (UAnPWR bit = 0 or UAnTXE bit = 0), transmission does not start.
After reset: FFH
R/W
Address: UA0TX FFFFFA07H, UA1TX FFFFFA17H,
UA2TX FFFFFA27H, UA3TX FFFFFA37H,
UA4TX FFFFFA47H, UA5TX FFFFFA57H
7
6
5
4
3
2
1
0
UAnTX
(n = 0 to 5)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 553 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.5 Interrupt Request Signals
The following two interrupt request signals are generated from UARTAn.
Reception complete interrupt request signal (INTUAnR)
Transmission enable interrupt request signal (INTUAnT)
The default priority for these two interrupt request signals is reception complete interrupt request signal then
transmission enable interrupt request signal.
Table 16-4. Interrupts and Their Default Priorities
Interrupt Request Signal
Priority
Reception complete
High
Transmission enable
Low
(1) Reception complete interrupt request signal (INTUAnR)
When the data stored in the receive shift register is transferred to the UAnRX register with reception enabled, the
reception complete interrupt request signal is generated.
A reception complete interrupt request signal is also output when a reception error occurs. Therefore, when a
reception complete interrupt request signal is acknowledged and the data is read, read the UAnSTR register and
check that the reception result is not an error.
No reception complete interrupt request signal is generated in the reception disabled status.
(2) Transmission enable interrupt request signal (INTUAnT)
If transmit data is transferred from the UAnTX register to the UARTAn transmit shift register with transmission
enabled, the transmission enable interrupt request signal is generated.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 554 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6 Operation
16.6.1 Data format
As shown in Figure 16-5, one frame of transmit/receive data consists of a start bit, character bits, parity bit, and stop
bit(s).
Specification of the character bit length within 1 data frame, parity selection, specification of the stop bit length, and
specification of MSB-first/LSB-first transfer are performed using the UAnCTL0 register.
The UAnOPT0.UAnTDL bit is used to specify normal output/inverted output for the data to be transferred via the TXDAn
pin.
The UAnOPT0.UAnRDL bit is used to specify normal input/inverted input for the data to be received via the RXDAn pin.
Start bit..................................... 1 bit
Character bits ........................... 7 bits/8 bits
Parity bit ................................... Even parity/odd parity/0 parity/no parity
Stop bit ..................................... 1 bit/2 bits
Input logic ................................. Normal input/inverted input
Output logic .............................. Normal output/inverted output
Communication direction .......... MSB/LSB
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 555 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
Figure 16-5. UARTA Transmit/Receive Data Format
(a) 8-bit data length, LSB first, even parity, 1 stop bit, transfer data: 55H
1 data frame
Start
bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity Stop
bit
bit
(b) 8-bit data length, MSB first, even parity, 1 stop bit, transfer data: 55H
1 data frame
Start
bit
D7
D6
D5
D4
D3
D2
D1
D0
Parity Stop
bit
bit
(c) 8-bit data length, MSB first, even parity, 1 stop bit, transfer data: 55H, transmit/receive data inverted
1 data frame
Start
bit
D7
D6
D5
D4
D3
D2
D1
D0 Parity Stop
bit
bit
(d) 7-bit data length, LSB first, odd parity, 2 stop bits, transfer data: 36H
1 data frame
Start
bit
D0
D1
D2
D3
D4
D5
D6
Parity Stop
bit
bit
Stop
bit
(e) 8-bit data length, LSB first, no parity, 1 stop bit, transfer data: 87H
1 data frame
Start
bit
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
D0
D1
D2
D3
D4
D5
D6
D7
Stop
bit
Page 556 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.2 UART transmission
Transmission is enabled by setting the UAnCTL0.UAnPWR and UAnCTL0.UAnTXE bits to 1, and transmission is
started by writing transmit data to the UAnTX register. The start bit, parity bit, and stop bit are automatically added.
Since the CTS (transmit enable signal) input pin is not provided in UARTAn, use a port to check that reception is
enabled at the transmit destination.
The data in the UAnTX register is transferred to the UARTAn transmit shift register upon the start of transmission.
A transmission enable interrupt request signal (INTUAnT) is generated upon completion of transmission of the data of
the UAnTX register to the UARTAn transmit shift register, and the contents of the UARTAn transmit shift register are output
to the TXDAn pin.
Writing the next transmit data to the UAnTX register is enabled after the INTUAnT signal is generated.
Figure 16-6. UART Transmission
TXDAn
Start
bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity Stop
bit
bit
INTUAnT
Remark
LSB first
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 557 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.3 Continuous transmission procedure
Writing transmit data to the UAnTX register with transmission enabled triggers transmission. The data in the UAnTX
register is transferred to the UARTAn transmit shift register, the transmission enable interrupt request signal (INTUAnT) is
generated, and then shifting is started. After the transmission enable interrupt request signal (INTUAnT) is generated, the
next transmit data can be written to the UAnTX register. The timing of UARTAn transmit shift register transmission can be
judged from the transmission enable interrupt request signal (INTUAnT).
An efficient communication rate is realized by writing the data to be transmitted next to the UAnTX register during
transfer.
Caution
When initializing transmission during the execution of continuous transmission, make sure that the
UAnSTR.UAnTSF bit is 0, then perform initialization.
Transmit data that is initialized when the
UAnTSF bit is 1 cannot be guaranteed.
Figure 16-7. Continuous Transmission Processing
Start
Register settings
UAnTX write
Occurrence of transmission
interrupt?Note
No
Yes
Required number of
writes performed?
No
Yes
End
Note Be sure to read the UAnSTR register after generation of the transmission enable interrupt request
signal (INTUAnT) to check whether a transmission error has occurred.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 558 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
Figure 16-8. Continuous Transmission Operation Timing
(a) Transmission start
TXDAn
Start
UAnTX
Data (1)
Parity
Data (1)
Transmission
shift register
Stop
Start
Data (2)
Parity
Data (2)
Stop
Start
Data (3)
Data (2)
Data (1)
INTUAnT
UAnTSF
(b) Transmission end
TXDAn
UAnTX
Parity
Stop
Start
Data (n – 1)
Parity
Data (n – 1)
Transmission
shift register
Stop
Start
Data (n)
Parity Stop
Data (n)
Data (n – 1)
Data (n)
FF
INTUAnT
UAnTSF
UAnPWR or UAnTXE bit
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 559 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.4 UART reception
First, enable reception by executing the following operations and monitor the RXDAn input to detect the start bit.
Specify the operating clock by using UARTA control register 1 (UAnCTL1).
Specify the baud rate by using UARTA control register 2 (UAnCTL2).
Specify the output logic level by using UARTA option control register 0 (UAnOPT0).
Specify the communication direction, parity, data character length, and stop bit length by using UARTA control
register 0 (UAnCTL0).
Set the power bit and reception enable bit (UAnPWR = 1 and UAnRXE = 1).
To change the communication direction, parity, data character length, and/or stop bit length, clear the power bit
(UAnPWR = 0) or clear both the transmission enable bit and reception enable bit (UAnTXE = 0 and UAnRXE = 0)
beforehand.
The level input to the RXDAn pin is sampled by using the operating clock. If the falling edge is detected, sampling of
data input to RXDAn is started. If the data is low level half a bit after detection of the falling edge (indicated by in Figure
16-9), it is recognized as a start bit. When the start bit has been recognized, reception is started, and serial data is
sequentially stored in the receive shift register at the specified baud rate. When the stop bit has been received, the
reception complete interrupt request signal (INTUAnR) is generated and, at the same time, the data stored in the receive
shift register is transferred to the receive data register (UAnRX).
If an overrun error occurs (UAnOVE = 1), however, the receive data is not transferred to UAnRX, but is discarded. On
the other hand, even if a parity error (UAnPE = 1) or framing error (UAnFE = 1) occurs, reception continues and the
receive data is transferred to the UAnRX register. No matter which reception error has occurred, the INTUAnR interrupt is
generated after reception is complete.
Figure 16-9. UART Reception
RXDAn
Start
bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity Stop
bit
bit
INTUAnR
UAnRX
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 560 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
Cautions 1. Be sure to read the UAnRX register even when a reception error occurs. If the UAnRX register is
not read, an overrun error occurs during reception of the next data, and reception errors continue
occurring indefinitely.
2. Reception is performed assuming that there is only one stop bit. A second stop bit is ignored.
3. When reception is completed, read the UAnRX register after the reception complete interrupt
request signal (INTUAnR) has been generated, and clear the UAnRXE bit to 0. If the UAnRXE bit is
cleared to 0 before the INTUAnR signal is generated, the read value of the UAnRX register cannot
be guaranteed.
4. If the receive completion processing (INTUAnR signal generation) of UARTAn conflicts with
setting the UAnPWR bit or UAnRXE bit to 0, the INTUAnR signal may be generated in spite of
there being no data stored in the UAnRX register.
To complete reception without waiting for INTUAnR signal generation, be sure to clear (0) the
interrupt request flag (UAnRIF) of the UAnRIC register, after setting (1) the interrupt mask flag
(UAnRMK) of the interrupt control register (UAnRIC) and then set (1) the UAnPWR bit or UAnRXE
bit to 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 561 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.5 Reception errors
Three types of errors can occur during reception: parity errors, framing errors, and overrun errors. The data reception
result error flag is set in the UAnSTR register and a reception complete interrupt request signal (INTUAnR) is output when
an error occurs.
It is possible to ascertain which error occurred during reception by reading the contents of the UAnSTR register.
Clear the reception error flag by writing 0 to it after reading it.
Figure 16-10. Reading Receive Data
START
INTUAnR signal
generated?
No
Yes
Read UAnRX register
Read UAnSTR register
No
Error occurs?
Yes
Error processing
END
Caution
When the INTUAnR signal is generated, the UAnSTR register must be read to check for
errors.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 562 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
Table 16-5. Reception Error Causes
Error Flag
Reception Error
Cause
UAnPE
Parity error
The received parity bit does not match the setting.
UAnFE
Framing error
The stop bit was not detected.
UAnOVE
Overrun error
Reception of the next data was completed before data was read from the
receive buffer.
When a reception error occurs, perform the following procedure according to the kind of error.
Parity error
If false data is received due to problems such as noise on the reception line, discard the received data and
retransmit.
Framing error
A baud rate error may have occurred between the reception side and transmission side or a start bit may have been
erroneously detected.
Since this is a fatal error for the communication format, check that operation on the
transmission side has stopped, initialize both sides, and then start the communication again.
Overrun error
1 frame of data is discarded because the next reception is completed before data was read from the receive buffer.
If this data was needed, retransmit the data.
Caution
In reception, be sure to read the UAnSTR register before completion of the next reception to check
whether an error has occurred. If an error has occurred, perform error processing.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 563 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.6 Parity types and operations
The parity bit is used to detect bit errors in the communication data. Normally the same parity is used on the
transmission side and the reception side.
In the case of even parity and odd parity, it is possible to detect odd-count bit errors. In the case of 0 parity and no
parity, errors cannot be detected.
(a) Even parity
(i) During transmission
The number of bits whose value is “1” among the transmit data, including the parity bit, is controlled so as to be
an even number. The parity bit values are as follows.
Odd number of bits whose value is “1” among transmit data: 1
Even number of bits whose value is “1” among transmit data: 0
(ii) During reception
The number of bits whose value is “1” among the reception data, including the parity bit, is counted, and if it is
an odd number, a parity error is output.
(b) Odd parity
(i) During transmission
Opposite to even parity, the number of bits whose value is “1” among the transmit data, including the parity bit,
is controlled so that it is an odd number. The parity bit values are as follows.
Odd number of bits whose value is “1” among transmit data: 0
Even number of bits whose value is “1” among transmit data: 1
(ii) During reception
The number of bits whose value is “1” among the receive data, including the parity bit, is counted, and if it is an
even number, a parity error is output.
(c) 0 parity
During transmission, the parity bit is always made 0, regardless of the transmit data.
During reception, a parity bit check is not performed. Therefore, no parity error occurs, regardless of whether the
parity bit is 0 or 1.
(d) No parity
No parity bit is added to the transmit data.
Reception is performed assuming that there is no parity bit. No parity error occurs since there is no parity bit.
Caution
When using the LIN function, fix the UAnPS1 and UAnPS0 bits of the UAnCTL0 register to 0, 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 564 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.7 LIN transmission/reception format
The V850ES/JG3-L has an SBF (Sync Break Field) transmission/reception control function to enable use of the LIN
function.
Remark
LIN stands for Local Interconnect Network and is a low-speed (1 to 20 kbps) serial communication protocol
intended to reduce costs of automotive networks.
LIN communication is single-master communication, and up to 15 slaves can be connected to the master.
The LIN slaves are used to control the switches, actuators, and sensors, and these are connected to the LIN
master via the LIN network.
Normally, the LIN master is connected to a network such as CAN (Controller Area Network).
In addition, the LIN bus uses a single-wire method and is connected to the nodes via a transceiver that
complies with ISO9141.
In the LIN protocol, the master transmits a frame with baud rate information and the slave receives it and
corrects the baud rate error. Therefore, communication is possible when the baud rate error in the slave is
15% or less.
Figures 16-11 and 16-12 outline the transmission and reception manipulations of LIN.
Figure 16-11. LIN Transmission Format
Wake-up
signal
frame
Sync break
field
(SBF)
Sync
field
ID
field
DATA
field
DATA
field
Check
SUM
field
Note 2
13 bits
55H
transmission
Data
transmission
Data
transmission
Data
transmission
Data
transmission
LIN
bus
Note 3
8 bits
Note 1
TXDAn (output)
SBF transmissionNote 4
INTUAnT
interrupt
Notes 1. The interval between each field is controlled by software.
2. SBF output is performed by hardware.
The output width is the bit length set by the
UAnOPT0.UAnSBL2 to UAnOPT0.UAnSBL0 bits.
If even finer output width adjustments are
required, such adjustments can be performed using the UAnCTLn.UAnBRS7 to UAnCTLn.UAnBRS0
bits.
3. 80H transfer in the 8-bit mode is substituted for the wakeup signal frame.
4. A transmission enable interrupt request signal (INTUAnT) is output at the start of each transmission.
The INTUAnT signal is also output at the start of each SBF transmission.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 565 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
Figure 16-12. LIN Reception Format
Wake-up
signal
frame
Sync
break
field (SBF)
ID
field
DATA
field
DATA
field
ID reception
Data
reception
Data
reception
Sync
field
Check
SUM
field
LIN
bus
SF reception
Note 2
Disable
RXDAn (input)
Enable
Note 5
Data
reception
SBF
reception
Note 3
Reception interrupt
(INTUAnR)
Note 1
Edge detection
Note 4
Capture timer
Disable
Enable
Notes 1. The wakeup signal is detected by the pin edge detector, UARTAn is enabled, and the SBF reception
mode is set.
2. Reception is performed until detection of the stop bit. Upon detection of SBF reception of 11 or more
bits, it is judged as normal SBF reception end, and an interrupt signal is output. Upon detection of
SBF reception of less than 11 bits, it is judged as an SBF reception error, no interrupt signal is
output, and the mode returns to the SBF reception mode.
3. If SBF reception ends normally, an interrupt request signal is output. The timer is enabled by an SBF
reception complete interrupt. Moreover, error detection for the UAnSTR.UAnOVE, UAnSTR.UAnPE,
and UAnSTR.UAnFE bits is suppressed and UART communication error detection processing and
data transfer of the UARTAn receive shift register and UAnRX register is not performed.
The
UARTAn receive shift register holds the initial value, FFH.
4. The RXDAn pin is connected to TI (capture input) of the timer and the transfer rate is calculated. The
value of the UAnCTL2 register obtained by correcting the baud rate error after UARTA enable goes
low is set again, causing the status to become the reception status.
5. A check-sum field is identified by software. UARTAn is initialized following reception of the checksum field, and the processing for re-specifying the SBF reception mode is performed, also by
software.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 566 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.8 SBF transmission
When the UAnCTL0.UAnPWR bit and UAnCTL0.UAnTXE bit are 1, the transmission enabled status is entered, and
SBF transmission is started by setting the SBF transmission trigger (UAnOPT0.UAnSTT bit) to 1.
Thereafter, a low level signal having a length of 13 to 20 bits, as specified by the UAnOPT0.UAnSLS2 to
AnOPT0.UAnSLS0 bits, is output. A transmission enable interrupt request signal (INTUAnT) is generated upon the start of
SBF transmission. Following the end of SBF transmission, the UAnSTT bit is automatically cleared.
Transmission is suspended until the data to be transmitted next is written to the UAnTX register, or until the SBF
transmission trigger (UAnSTT bit) is set.
Figure 16-13. Example of SBF Transmission
TXDAn
1
2
3
4
5
6
7
8
9
10
11
12
13
Stop
bit
INTUAnT
interrupt
Setting of UAnSTT bit
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 567 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.9 SBF reception
The reception enabled status is entered by setting the UAnCTL0.UAnPWR bit to 1 and then setting the
UAnCTL0.UAnRXE bit to 1.
The SBF reception wait status is set by setting the SBF reception trigger (UAnOPT0.UAnSTR bit) to 1.
In the SBF reception wait status, similarly to the UART reception wait status, the RXDAn pin is monitored and start bit
detection is performed.
Following detection of the start bit, reception is started and the internal counter increments according to the set baud
rate.
When a stop bit is received, if the SBF width is 11 or more bits, it is judged as normal processing and a reception
complete interrupt request signal (INTUAnR) is output. The UAnOPT0.UAnSRF bit is automatically cleared and SBF
reception ends. Error detection for the UAnSTR.UAnOVE, UAnSTR.UAnPE, and UAnSTR.UAnFE bits is suppressed and
UART communication error detection processing is not performed. Moreover, data transfer of the UARTAn reception shift
register and UAnRX register is not performed and FFH, the initial value, is held. If the SBF width is 10 or fewer bits,
reception is terminated as an error, an interrupt is not generated, and the SBF reception mode is restored. The UAnSRF
bit is not cleared at this time.
Cautions 1. If SBF is transmitted during data reception, a framing error occurs.
2. Do not set the SBF reception trigger bit (UAnSRT) and SBF transmission trigger bit (UAnSTT) to 1
during SBF reception (UAnSRF = 1).
Figure 16-14. SBF Reception
(a) Normal SBF reception (detection of stop bit after more than 10.5 bits)
RXDAn
1
2
3
4
5
6
7
8
9
10
11
11.5
UAnSRF
INTUAnR
interrupt
(b) SBF reception error (detection of stop bit after 10.5 or fewer bits)
RXDAn
1
2
3
4
5
6
7
8
9
10
10.5
UAnSRF
INTUAnR
interrupt
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 568 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.6.10 Receive data noise filter
This filter samples signals received via the RXDAn pin using the base clock supplied by the dedicated baud rate
generator.
When the same sampling value is read twice, the match detector output changes and the RXDAn signal is sampled as
the input data. Therefore, data not exceeding 1 clock cycle width is judged to be noise and is not delivered to the internal
circuit (see Figure 16-16). See 16.7 (1) (a) Base clock for details of the base clock.
Moreover, since the circuit is as shown in Figure 16-15, the processing that goes on within the receive operation is
delayed by 3 clocks in relation to the external signal status.
Figure 16-15. Noise Filter Circuit
Base clock (fUCLK)
RXDAn
In
Q
Internal signal A
In
Q
Internal signal B
Match
detector
In
Q
Internal signal C
LD_EN
Figure 16-16. Timing of RXDAn Signal Judged as Noise
Base clock
RXDAn (input)
Internal signal A
Internal signal B
Match
Mismatch
(judged as noise)
Match
Mismatch
(judged as noise)
Internal signal C
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 569 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.7 Dedicated Baud Rate Generator
The dedicated baud rate generator consists of a source clock selector block and an 8-bit programmable counter block,
and generates a serial clock during transmission and reception using UARTAn. Regarding the serial clock, a dedicated
baud rate generator output can be selected for each channel.
There is an 8-bit counter for transmission and another one for reception.
(1) Baud rate generator configuration
Figure 16-17. Configuration of Baud Rate Generator
UAnPWR
fXX
fXX/2
fXX/4
fXX/8
fXX/16
fXX/32
fXX/64
fXX/128
fXX/256
fXX/512
fXX/1024
ASCKA0Note
UAnPWR, UAnTXEn bus (or UAnRXE bit)
Selector
8-bit counter
fUCLK
fUCLK/k
Match detector
UAnCTL1:
UAnCKS3 to UAnCKS0
1/2
Baud rate
UAnCTL2:
UAnBRS7 to UAnBRS0
Note Only UARTA0 is valid; setting UARTA1 to UARTA5 are prohibited.
Remarks 1. n = 0 to 5
2. fXX:
Main clock frequency
3. fUCLK:
Base clock frequency
4. fUCLK/k: Serial clock (k: BRGCn register value)
(a) Base clock
When the UAnCTL0.UAnPWR bit is 1, the clock selected by the UAnCTL1.UAnCKS3 to UAnCTL1.UAnCKS0
bits is supplied to the 8-bit counter. This clock is called the base clock (fUCLK).
(b) Serial clock generation
A serial clock can be generated by setting the UAnCTL1 register and the UAnCTL2 register (n = 0 to 2).
The base clock is selected by UAnCTL1.UAnCKS3 to UAnCTL1.UAnCKS0 bits.
The frequency division value for the 8-bit counter can be set using the UAnCTL2.UAnBRS7 to
UAnCTL2.UAnBRS0 bits.
The baud rate clock is generated by dividing the serial clock by two.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 570 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(2) UARTAn control register 1 (UAnCTL1)
The UAnCTL1 register is an 8-bit register that selects the UARTAn base clock.
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
Caution
Clear the UAnCTL0.UAnPWR bit to 0 before rewriting the UAnCTL1 register.
After reset: 00H
R/W
Address: UA0CTL1 FFFFFA01H, UA1CTL1 FFFFFA11H,
UA2CTL1 FFFFFA21H, UA3CTL1 FFFFFA31H,
UA4CTL1 FFFFFA41H, UA5CTL1 FFFFFA51H
UAnCTL1
7
6
5
4
0
0
0
0
3
2
1
0
UAnCKS3 UAnCKS2 UAnCKS1 UAnCKS0
(n = 0 to 5)
UAnCKS3 UAnCKS2 UAnCKS1UAnCKS0
Base clock (fUCLK) selection
0
0
0
0
fXX
0
0
0
1
fXX/2
0
0
1
0
fXX/4
0
0
1
1
fXX/8
0
1
0
0
fXX/16
0
1
0
1
fXX/32
0
1
1
0
fXX/64
0
1
1
1
fXX/128
1
0
0
0
fXX/256
1
0
0
1
fXX/512
1
0
1
0
fXX/1,024
1
0
1
1
External clockNote (ASCKA0 pin)
Other than above
Setting prohibited
Note Only UARTA0 is valid; setting UARTA1 to UARTA5 are prohibited.
Remark
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
fXX: Main clock frequency
Page 571 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(3) UARTAn control register 2 (UAnCTL2)
The UAnCTL2 register is an 8-bit register that selects the baud rate (serial transfer speed) clock of UARTAn.
The baud rate clock is generated by dividing the serial clock specified by this register by two.
This register can be read or written in 8-bit units.
Reset sets this register to FFH.
Caution
Either clear the UAnCTL0.UAnPWR bit to 0, or clear the UAnTXE and UAnRXE bits to 0, 0, before
rewriting the UAnCTL2 register.
After reset FFH
R/W
Address: UA0CTL2 FFFFFA02H, UA1CTL2 FFFFFA12H,
UA2CTL2 FFFFFA22H, UA3CTL2 FFFFFA32H,
UA4CTL2 FFFFFA42H, UA5CTL2 FFFFFA52H
6
7
UAnCTL2
5
4
3
2
1
0
UAnBRS7 UAnBRS6 UAnBRS5 UAnBRS4 UAnBRS3 UAnBRS2 UAnBRS1 UAnBRS0
(n = 0 to 5)
UAn
BRS7
UAn
BRS6
UAn
BRS5
UAn
BRS4
UAn
BRS3
UAn
BRS2
UAn
BRS1
0
0
0
0
0
0
×
×
×
Setting
prohibited
0
0
0
0
0
1
0
0
4
fUCLK/4
0
0
0
0
0
1
0
1
5
fUCLK/5
0
0
0
0
0
1
1
0
6
fUCLK/6
:
:
:
:
:
:
:
:
:
:
1
1
1
1
1
1
0
0
252
fUCLK/252
1
1
1
1
1
1
0
1
253
fUCLK/253
1
1
1
1
1
1
1
0
254
fUCLK/254
1
1
1
1
1
1
1
1
255
fUCLK/255
Remark
UAn Default
BRS0
(k)
Serial
clock
fUCLK: Clock frequency selected by the UAnCTL1.UAnCKS3 to
UAnCTL1.UAnCKS0 bits
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 572 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(4) Baud rate
The baud rate is obtained by the following equation.
Baud rate =
fUCLK
2k
[bps]
When using the internal clock, the equation will be as follows (when using the ASCKA0 pin input as the
clock for UARTA0, calculate using the above equation).
Baud rate =
fXX
m+1
2
Remark
k
[bps]
fUCLK = Frequency of base clock selected by the UAnCTL1.UAnCKS3 to UAnCTL1.UAnCKS0 bits
fXX: Main clock frequency
m = Value set using the UAnCTL1.UAnCKS3 to UAnCTL1.UAnCKS0 bits (m = 0 to 10)
k = Value set using the UAnCTL2.UAnBRS7 to UAnCTL2.UAnBRS0 bits (k = 4 to 255)
The baud rate error is obtained by the following equation.
Error (%) =
=
Actual baud rate (baud rate with error)
Target baud rate (correct baud rate)
fUCLK
2 k Target baud rate
1 100 [%]
1 100 [%]
When using the internal clock, the equation will be as follows (when using the ASCKA0 pin input as the
clock for UARTA0, calculate the baud rate error using the above equation).
fXX
Error (%) =
m+1
2
k Target baud rate
1 100 [%]
Cautions 1. The baud rate error during transmission must be within the error tolerance on the
receiving side.
2. The baud rate error during reception must satisfy the range indicated in (5) Allowable
baud rate range during reception.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 573 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
To set the baud rate, perform the following calculation for setting the UAnCTL1 and UAnCTL2 registers (when using
the internal clock).
Set k to fxx/(2 target baud rate) and m to 0.
If k is 256 or greater (k 256), reduce k to half (k/2) and increment m by 1 (m + 1).
Repeat Step until k becomes less than 256 (k < 256).
Round off the first decimal point of k to the nearest whole number.
If k is 256 after round-off, reduce k to half (k/2) and increment m by 1 (m + 1) to obtain k = 128.
Set the value of m to the UAnCTL1 register and the value of k to the UAnCTL2 register.
Example: When fXX = 20 MHz and target baud rate = 153,600 bps
k = 20,000,000/(2 153,600) = 65.10…, m = 0
, k = 65.10… < 256, m = 0
Set value of UAnCTL2 register: k = 65 = 41H, set value of UAnCTL1 register: m = 0
Actual baud rate = 20,000,000/(2 65)
= 153,846 [bps]
Baud rate error
= {20,000,000/(2 65 153,600) 1} 100
= 0.160 [%]
Representative examples of baud rate settings are shown below.
Table 16-6. Baud Rate Generator Setting Data
Baud Rate
(bps)
Remark
fXX = 20 MHz
fXX = 16 MHz
fXX = 10 MHz
UAnCTL1 UAnCTL2
ERR (%)
UAnCTL1 UAnCTL2
ERR (%)
UAnCTL1 UAnCTL2
ERR (%)
300
08H
82H
0.16
07H
D0H
0.16
07H
82H
0.16
600
07H
82H
0.16
06H
D0H
0.16
06H
82H
0.16
1200
06H
82H
0.16
05H
D0H
0.16
05H
82H
0.16
2400
05H
82H
0.16
04H
D0H
0.16
04H
82H
0.16
4800
04H
82H
0.16
03H
D0H
0.16
03H
82H
0.16
9600
03H
82H
0.16
02H
D0H
0.16
02H
82H
0.16
19200
02H
82H
0.16
01H
D0H
0.16
01H
82H
0.16
31250
01H
A0H
0
01H
80H
0
00H
A0H
0
38400
01H
82H
0.16
00H
D0H
0.16
00H
82H
0.16
76800
00H
82H
0.16
00H
68H
0.16
00H
41H
0.16
153600
00H
41H
0.16
00H
34H
0.16
00H
21H
1.36
312500
00H
20H
0
00H
1AH
1.54
00H
10H
0
625000
00H
10H
0
00H
0DH
1.54
00H
08H
0
fXX:
Main clock frequency
ERR: Baud rate error (%)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 574 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(5) Allowable baud rate range during reception
The baud rate error range at the destination that is allowable during reception is shown below.
Caution
The baud rate error indicated below is a theoretical value. In practice, the signal might be
distorted, or communication might not be performed normally even if the error is within the
allowable range. Therefore, the error must be minimized.
Figure 16-18. Allowable Baud Rate Range During Reception
Latch timing
UARTn
data frame length
Start bit
Bit 0
Bit 1
Bit 7
Stop bit
Parity bit
BL
1 data frame (11 × BL = FL)
Minimum allowable
data frame length
Start bit
Bit 0
Bit 1
Bit 7
Parity bit
Stop bit
FLmin
Maximum allowable
data frame length
Start bit
Bit 0
Bit 1
Parity bit
Bit 7
Stop bit
FLmax
Remark
n = 0 to 5
As shown in Figure 16-18, the receive data latch timing is determined by the counter set using the UAnCTL2
register following start bit detection. The transmit data can be received normally if up to the last data (stop bit) can
be received in time for this latch timing.
When this is applied to 11-bit reception, the following is the theoretical result.
BL = (Brate)1
Brate: UARTAn baud rate (n = 0 to 2)
k:
Setting value of UAnCTL2.UAnBRS7 to UAnCTL2.UAnBRS0 bits (n = 0 to 2)
BL:
1-bit data length
FL:
Length of 1 data frame
Latch timing margin: 2 clock cycles
Minimum allowable data frame length: FLmin = 11 BL
k2
2k
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
BL =
21k + 2
BL
2k
Page 575 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
Therefore, the maximum baud rate that can be received by the destination is as follows.
BRmax = (FLmin/11)1 =
22k
Brate
21k + 2
Similarly, obtaining the maximum allowable data frame length yields the following.
10
k+2
FLmax = 11 BL
2k
11
FLmax =
21k 2
BL =
21k 2
2k
BL
BL 11
20 k
Therefore, the minimum baud rate that can be received by the destination is as follows.
BRmin = (FLmax/11)1 =
20k
21k 2
Brate
Obtaining the allowable baud rate error for UARTAn and the destination from the above-described equations yields
the following.
Table 16-7. Maximum/Minimum Allowable Baud Rate Error (11-Bit Length)
Division Ratio (k)
Maximum Allowable Baud Rate Error
Minimum Allowable Baud Rate Error
4
+2.32%
2.43%
8
+3.53%
3.61%
20
+4.26%
4.31%
50
+4.56%
4.58%
100
+4.66%
4.67%
255
+4.72%
4.73%
Remarks 1. The reception accuracy depends on the bit count in 1 frame, the base clock
frequency (fUCLK), and the division ratio (k). The higher the base clock frequency
(fUCLK) and the larger the division ratio (k), the higher the accuracy.
2. k: Setting value of UAnCTL2.UAnBRS7 to UAnCTL2.UAnBRS0 bits (n = 0 to 2)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 576 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
(6) Data frame length during continuous transmission
In continuous transmission, the data frame length from the stop bit to the next start bit is 2 base clock cycles longer
than usual. However, timing initialization is performed via start bit detection by the receiving side, so this has no
influence on the transfer result.
Figure 16-19. Data Frame Length During Continuous Transmission
Start bit of 2nd byte
1 data frame (FL)
Start bit
BL
Bit 0
Bit 1
Bit 7
BL
BL
BL
Parity bit
BL
Stop bit
BLstp
Start bit
BL
Bit 0
BL
Assuming a 1 bit data length of BL; a stop bit length of BLstp; and a base clock frequency of fUCLK, we obtain the
following equation.
BLstp = BL + 2/fUCLK
Therefore, the transfer rate during continuous transmission is as follows.
Data frame length = 11 BL + (2/fUCLK)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 577 of 1210
V850ES/JG3-L
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE A (UARTA)
16.8 Cautions
(1) When the clock supply to UARTAn is stopped (for example, in IDLE1, IDLE2, or STOP mode), the operation stops
with each register retaining the value it had immediately before the clock supply was stopped. The TXDAn pin
output also holds and outputs the value it had immediately before the clock supply was stopped. However, the
operation is not guaranteed after the clock supply is resumed. Therefore, after the clock supply is resumed, the
circuits should be initialized by setting the UAnCTL0.UAnPWR, UAnCTL0.UAnRXEn, and UAnCTL0.UAnTXEn bits
to 0, 0, 0.
(2) The RXDA1 and KR7 pins must not be used at the same time. When using the RXDA1 pin, do not use the KR7 pin.
When using the KR7 pin, do not use the RXDA1 pin. (It is recommended to set the PFC91 bit to 1 and clear
PFCE91 bit to 0.)
(3) In UARTAn, the interrupt caused by a communication error does not occur. When transferring transmit data and
receive data using DMA transfer, error processing cannot be performed even if errors (parity, overrun, framing)
occur during transfer. Either read the UAnSTR register after DMA transfer has been completed to make sure that
there are no errors, or read the UAnSTR register during communication to check for errors.
(4) RXDA0 and INTP7 use the same pin. To use the pin for the RXDA0 function, disable edge detection for INTP7
(INTF3.INTF31 bit = 0, INTR3.INTR31 bit = 0).
(5) Start up UARTAn in the following sequence.
Set the UAnCTL0.UAnPWR bit to 1.
Set the ports.
Set the UAnCTL0.UAnTXE bit to 1 and the UAnCTL0.UAnRXE bit to 1.
(6) Stop UARTAn in the following sequence.
Set the UAnCTL0.UAnTXE bit to 0 and the UAnCTL0.UAnRXE bit to 0.
Set the ports and set the UAnCTL0.UAnPWR bit to 0 (it is not a problem if the port settings are not changed).
(7) In transmit mode (UAnCTL0.UAnPWR bit = 1 and UAnCTL0.UAnTXE bit = 1), do not overwrite the same value to
the UAnTX register by software because transmission starts by writing to this register. To transmit the same value
continuously, overwrite the same value.
(8) In continuous transmission, the period from the stop bit to the next start bit is 2 base clock cycles longer than usual.
However, the reception side initializes the timing by detecting the start bit, so the reception result is not affected.
(9) UARTA cannot identify the start bit if low level signals are continuously input to the RXDAn pin.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 578 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
The V850ES/JG3-L have a 1-channel UARTC.
17.1 Features
On-chip dedicated baud rate generator
Transfer rate: 300 bps to 625 kbps (using dedicated baud rate generator)
Full-duplex communication
Double buffer configuration Internal UARTC0 receive data register (UC0RX)
Internal UARTC0 transmit data register (UC0TX)
Reception error detection function
Parity error
Framing error
Overrun error
Interrupt sources: 2
Reception complete interrupt (INTUC0R):
This interrupt occurs upon transfer of receive data from the receive
shift register to the receive data register after serial transfer
completion, in the reception enabled status.
Transmission enable interrupt (INTUC0T):
This interrupt occurs upon transfer of transmit data from the
transmit data register to the transmit shift register in the
transmission enabled status. (Continuous transmission is possible.)
Character length: 7 to 9 bits
Parity function: Odd, even, 0, none
Transmission stop bit: 1, 2 bits
MSB-/LSB-first transfer selectable
Internal digital noise filter
Inverted input/output of transmit/receive data possible
SBF (Sync Break Field) transmission/reception in the LIN (Local Interconnect Network) communication format
13 to 20 bits selectable for SBF transmission
Recognition of 11 bits or more possible for SBF reception
SBF reception flag provided
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 579 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.2 Configuration
UARTC0 includes the following hardware.
Table 17-1. Configuration of UARTC0
Item
Registers
Configuration
UARTC0 control register 0 (UC0CTL0)
UARTC0 control register 1 (UC0CTL1)
UARTC0 control register 2 (UC0CTL2)
UARTC0 option control register 0 (UC0OPT0)
UARTC0 option control register 1 (UC0OPT1)
UARTC0 status register (UC0STR)
UARTC0 receive shift register
UARTC0 receive data register (UC0RX)
UARTC0 transmit shift register
UARTC0 transmit data register (UC0TX)
The block diagram of the UARTC0 is shown below.
Figure 17-1. Block Diagram of UARTC0
Internal bus
INTUC0T
INTUC0R
UC0RX
Reception unit
Transmission
unit
UC0TX
UARTC0 receive
shift register
Reception
controller
Transmission
controller
UARTC0 transmit
shift register
Filter
Baud rate
generator
Baud rate
generator
Selector
RXDC0
Clock
selector
Selector
fXX to fXX/210
TXDC0
UC0CTL0
UC0CTL1
UC0CTL2
UC0STR
UC0OPT0
Internal bus
Remark
For the configuration of the baud rate generator, see Figure 17-15.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 580 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(1) UARTC0 control register 0 (UC0CTL0)
The UC0CTL0 register is an 8-bit register used to specify the operation of UARTC0.
(2) UARTC0 control register 1 (UC0CTL1)
The UC0CTL1 register is an 8-bit register used to select the base clock (fUCLK) for UARTC0.
(3) UARTC0 control register 2 (UC0CTL2)
The UC0CTL2 register is an 8-bit register used with the UC0CTL1 register to generate the baud rate for UARTC0.
(4) UARTC0 option control register 0 (UC0OPT0)
The UC0OPT0 register is an 8-bit register used to control SBF transmission/reception in the LIN communication
format and the level of the transmission/reception signals for the UARTC0.
(5) UARTC0 option control register 1 (UC0OPT1)
The UC0OPT1 register is an 8-bit register used to control 9-bit length serial transfer for the UARTC0.
(6) UARTC0 status register (UC0STR)
The UC0STR register is an 8-bit register that indicates the contents of a reception error. Each one of the reception
error flags is set (to 1) upon the occurrence of a reception error.
(7) UARTC0 receive shift register
This is a shift register used to convert the serial data input to the RXDC0 pin into parallel data. Upon reception of
1-character data and detection of the stop bit, the receive data is transferred to the UC0RX register.
This register cannot be manipulated directly.
(8) UARTC0 receive data register (UC0RX)
The UC0RX register is an 8-bit buffer register that holds receive data.
In the reception enabled status, receive data is transferred from the UARTC0 receive shift register to the UC0RX
register in synchronization with the completion of shift-in processing of 1 character.
Transfer to the UC0RX register also causes the reception complete interrupt request signal (INTUC0R) to be output.
(9) UARTC0 transmit shift register
The transmit shift register is a shift register used to convert the parallel data transferred from the UC0TX register
into serial data.
When 1-character data is transferred from the UC0TX register, the shift register data is output from the TXDC0 pin.
This register cannot be manipulated directly.
(10) UARTC0 transmit data register (UC0TX)
The UC0TX register is an 8-bit transmit data buffer. Transmission starts when transmit data is written to the UC0TX
register. When data can be written to the UC0TX register (when 1-character data is transferred from the UC0TX
register to the UARTC0 transmit shift register), the transmission enable interrupt request signal (INTUC0T) is
generated.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 581 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.2.1 Pin functions of each channel
The RXDC0 andTXDC0 pins used by UARTC are used for other functions as shown in Table 17-2. To use these pins
for UARTC, set the related registers as described in Table 4-15 Settings When Pins Are Used for Alternate Functions.
Table 17-2. Pins Used by UARTC
Channel
UARTC0
Remark
Pin No.
Port
UARTC Reception Input
UARTC Transmission
Other Functions
Output
GC
F1
50
J11
P97
49
K11
P96
RXDC0
TXDC0
SIB7/TIP20/TOP20
TIP21/TOP21
GC: 100-pin plastic LQFP (fine pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 582 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.3 Mode Switching of UARTC and Other Serial Interfaces
17.3.1 UARTC0 and CSIB1 mode switching
In the V850ES/JG3-L, CSIB1 and UARTC0 share the same pins and therefore cannot be used simultaneously. Set
UARTC0 in advance, using the PMC9 and PFC9 registers, before use.
Caution
The transmit/receive operation of CSIF4 and UARTC0 is not guaranteed if these functions are
switched during transmission or reception. Be sure to disable the one that is not used.
Figure 17-2. CSIF4 and UARTC0 Mode Switch Settings
After reset: 00H
PMC9
PMC97
After reset: 00H
PFC97
PFC9
After reset: 00H
PFCE9
Note
R/W
PMC96
R/W
PFC96
R/W
Address: FFFFF462H
PMC95
PMC94
PMC93
PMC92
PMC91
PMC90
PFC93
PFC92
PFC91
PFC90
PFCE91
PFCE90
Address: FFFFF472H
PFC95
PFC94
Address: FFFFF712H
PFCE97 PFCE96
PFCE95 PFCE94
PFCE93 PFCE92
PMC97
PFCE97
PFC97
0
0
0
Port I/O mode
1
0
1
SIB1 (CSIB1)/RXDC0 (UARTC) NOTE
Operation mode
SIB1 and RXDC0 are alternate functions. When using the pin as the SIB1 pin,
disable RXDC0 pin detection, which is the alternate function. (Clear the
UC0CTL0.UC0PWR bit to 0.) Also, when using the pin as the RXDC0 pin,
disable SIB1 pin, which is the alternate function. (Clear the CB1CTL0.CB1PWR
bit to 0.)
Remark
= don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 583 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.4 Registers
(1) UARTC0 control register 0 (UC0CTL0)
The UC0CTL0 register is an 8-bit register that controls the UARTC0 serial transfer operation.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 10H.
(1/2)
After reset: 10H
UC0CTL0
R/W
Address: FFFFFAA0H
UC0PWR UC0TXE UC0RXE UC0DIR
UC0PWR
3
2
UC0PS1 UC0PS0
1
0
UC0CL
UC0SL
UARTC0 operation control
0
Disable UARTC0 operation (UARTC0 reset asynchronously)
1
Enable UARTC0 operation
The UARTC0 operation is controlled by the UC0PWR bit. The TXDC0 pin output
is fixed to high level by clearing the UC0PWR bit to 0 (fixed to low level if
UC0OPT0.UC0TDL bit = 1).
UC0TXE
Transmission operation enable
0
Disable transmission operation
1
Enable transmission operation
• To start transmission, set the UC0PWR bit to 1 and then set the UC0TXE bit to 1.
To stop transmission, clear the UC0TXE bit to 0 and then UC0PWR bit to 0.
• To initialize the transmission unit, clear the UC0TXE bit to 0, wait for two cycles of
the base clock, and then set the UC0TXE bit to 1 again. Otherwise, initialization
may not be executed (for the base clock, see 17.7 (1) (a) Base clock).
• When UARTC0 operation is enabled (UC0PWR bit = 1) and the UC0TXE bit is set
to 1, transmission is enabled after at least two cycles of the base clock (fUCLK) have
elapsed.
UC0RXE
Reception operation enable
0
Disable reception operation
1
Enable reception operation
• To start reception, set the UC0PWR bit to 1 and then set the UC0RXE bit to 1.
To stop reception, clear the UC0RXE bit to 0 and then UC0PWR bit to 0.
• To initialize the reception unit, clear the UC0RXE bit to 0, wait for two cycles of
the base clock, and then set the UC0RXE bit to 1 again. Otherwise, initialization
may not be executed (for the base clock, see 17.7 (1) (a) Base clock).
• When UARTC0 operation is enabled (UC0PWR bit = 1) and the UC0RXE bit is set
to 1, reception is enabled after at least two cycles of the base clock (fUCLK) have
elapsed. If a start bit is received before reception is enabled, the start bit is
ignored.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 584 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(2/2)
UC0DIR
Data transfer order
0
MSB first
1
LSB first
• This register can be rewritten only when the UC0PWR bit is 0 or the UC0TXE bit
and the UC0RXE bit are 0.
• When transmission and reception are performed in the LIN format, set the UC0DIR
bit to 1.
UC0PS1 UC0PS0 Parity selection during transmission Parity selection during reception
0
0
No parity output
Reception with no parity
0
1
0 parity output
Reception with 0 parity
1
0
Odd parity output
Odd parity check
1
1
Even parity output
Even parity check
• This register is rewritten only when the UC0PWR bit is 0 or the UC0TXE bit and the
UC0RXE bit are 0.
• If “Reception with 0 parity” is selected during reception, a parity check is not performed.
Therefore, the UC0STR.UC0PE bit is not set.
• When transmission and reception are performed in the LIN format, clear the
UC0PS1 and UC0PS0 bits to 00.
UC0CL
Specification of data character length of 1 frame of transmit/receive data
0
7 bits
1
8 bits
• This register can be rewritten only when the UC0PWR bit is 0 or the UC0TXE bit
and the UC0RXE bit are 0.
• When transmission and reception are performed in the LIN format, set the UC0CL
bit to 1.
UC0SL
Specification of length of stop bit for transmit data
0
1 bit
1
2 bits
This register can be rewritten only when the UC0PWR bit is 0 or the UC0TXE bit and
the UC0RXE bit are 0.
Remark
For details of parity, see 17.6.6 Parity types and operations.
(2) UARTC0 control register 1 (UC0CTL1)
For details, see 17.7 (2) UARTC0 control register 1 (UC0CTL1).
(3) UARTC0 control register 2 (UC0CTL2)
For details, see 17.7 (3) UARTC0 control register 2 (UC0CTL2).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 585 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(4) UARTC0 option control register 0 (UC0OPT0)
The UC0OPT0 register is an 8-bit register used to control SBF transmission/reception in the LIN communication
format and the level of the transmission/reception signals for the UARTC0.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 14H.
(1/2)
After reset: 14H
R/W
6
UC0OPT0
Address: FFFFFAA3H
5
4
3
2
1
0
UC0SRF UC0SRT UC0STT UC0SLS2 UC0SLS1 UC0SLS0 UC0TDL UC0RDL
UC0SRF
SBF reception flag
0
The UC0CTL0.UC0PWR bit or the UC0CTL0.UC0RXE bit is set to 0,
or SBF reception ends normally.
1
During SBF reception
• This bit indicates whether SBF (Sync Brake Field) is received in LIN communication.
• When an SBF reception error occurs, the UC0SRF bit remains 1 and SBF reception
is started again.
• The UC0SRF bit is a read-only bit.
UC0SRT
SBF reception trigger
−
0
1
SBF reception trigger
• This is the SBF reception trigger bit during LIN communication, and is always 0
when read.
• For SBF reception, set the UC0SRT bit (to 1) to enable SBF reception.
• Set the UC0SRT bit after setting the UC0PWR bit and UC0RXE bit to 1.
UC0STT
SBF transmission trigger
−
0
1
SBF transmission trigger
• This is the SBF transmission trigger bit during LIN communication, and is always 0
when read.
• Setting this bit to 1 triggers SBF transmission.
• Set the UC0STT bit after setting the UC0PWR bit and UC0TXE bit to 1.
Caution
Do not set the UC0SRT and UC0STT bits (to 1) during SBF reception
(UC0SRF bit = 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 586 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(2/2)
UC0SLS2 UC0SLS1 UC0SLS0
SBF transmit length selection
1
0
1
13-bit output (initial value)
1
1
0
14-bit output
1
1
1
15-bit output
0
0
0
16-bit output
0
0
1
17-bit output
0
1
0
18-bit output
0
1
1
19-bit output
1
0
0
20-bit output
This register can be set when the UC0PWR bit or the UC0TXE bit is 0.
UC0TDL
Transmit data level bit
0
Normal output of transfer data
1
Inverted output of transfer data
• The output level of the TXDC0 pin can be inverted by using the UC0TDL bit.
• This register can be set when the UC0PWR bit or the UC0TXE bit is 0.
UC0RDL
Receive data level bit
0
Normal input of transfer data
1
Inverted input of transfer data
• The input level of the RXDC0 pin can be inverted by using the UC0RDL bit.
• This register can be set when the UC0PWR bit or the UC0RXE bit is 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 587 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(5) UARTC0 option control register 1 (UC0OPT1)
The UC0OPT1 register is an 8-bit register that controls the serial transfer operation of UARTC0.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
Caution
Set the UC0EBE bit while the operation of UARTC is disabled (UC0CTL0.UC0PWR = 0).
After reset: 00H
UC0OPT1
R/W
Address: UC0OPT1 FFFFFAAAH
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
UC0EBE
UC0EBE
Extension bit enable/disable
0
Extension-bit operation is prohibited. Transmission/reception is performed
in the data length set by the UC0CTL0.UC0CL bit.
1
Extension-bit operation enabled. Transmission/reception can be
performed in 9-bit character length.
• When setting the UC0EBE bit to 1, and transmitting in 9-bit data length, be sure to
set the following. If this setting is not performed, the setting of UC0EBE bit is invalid.
• UC0CTL0.UC0PS1, UC0PS0 = 00 (no parity)
• C0CTL0.UC0CL = 1 (8-bit character length)
• If transmitting or receiving in the LIN communication format, set the UC0EBE to 0.
The following shows the relationship between the register setting value and the data format.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 588 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
Table 17-3. Relationship Between Register Setting and Data Format
Register Setting
Data Format
UC0CTL0
UC0OPT1
D0 to D6
D7
D8
D9
D10
Data
Stop
UC0CL
UC0PS1
UC0PS0
UC0SL
UC0EBE
0
0
0
0
0
0
Other than 00
Data
Parity
Stop
1
0
0
Data
Data
Stop
1
Other than 00
Data
Data
Parity
Stop
0
0
Data
Stop
Stop
0
1
0
0
Other than 00
Data
Parity
Stop
Stop
1
0
0
Data
Data
Stop
Stop
1
Other than 00
Data
Data
Parity
Stop
Stop
0
0
Data
Stop
0
Other than 00
Data
Parity
Stop
1
0
0
Data
Data
Data
Stop
1
Other than 00
Data
Data
Parity
Stop
0
0
Data
Stop
Stop
0
0
0
1
1
1
0
Other than 00
Data
Parity
Stop
Stop
1
0
0
Data
Data
Data
Stop
Stop
1
Other than 00
Data
Data
Parity
Stop
Stop
Remark
Data: Data bit
Stop: Stop bit
Parity: Parity bit
(6) UARTC0 status register (UC0STR)
The UC0STR register is an 8-bit register that displays the UARTC0 transfer status and reception error contents.
This register can be read or written in 8-bit or 1-bit units, but the UC0TSF bit is a read-only bit, while the UC0PE,
UC0FE, and UC0OVE bits can be both read and written. However, these bits can only be cleared by writing 0; they
cannot be set by writing 1 (even if 1 is written to them, the previous value is retained).
The conditions for clearing the UC0STR register are shown below.
Table 17-4. Conditions for Clearing STR Register
Register/Bit
UC0STR register
Conditions for Clearing
Reset
UC0CTL0.UC0PWR = 0
UC0TSF bit
UC0CTL0.UC0TXE = 0
UC0PE, UC0FE, UC0OVE bits
0 write
UC0CTL0.UC0RXE = 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 589 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
After reset: 00H
UC0STR
R/W
Address: FFFFFAA4H
6
5
4
3
UC0TSF
0
0
0
0
UC0PE
UC0FE
UC0OVE
UC0TSF
Transfer status flag
0
The transmit shift register does not have data.
• When the UC0PWR bit or the UC0TXE bit has been set to 0.
• When, following transfer completion, there was no next data transfer
from UC0TX register
1
The transmit shift register has data.
(Write to UC0TX register)
The UC0TSF bit is always 1 when performing continuous transmission. When
initializing the transmission unit, check that the UC0TSF bit is 0 before performing
initialization. The transmit data is not guaranteed when initialization is performed
while the UC0TSF bit is 1.
UC0PE
Parity error flag
0
• When the UC0PWR bit or the UC0RXE bit has been set to 0.
• When 0 has been written
1
The received parity bit does not match the specified parity.
• The operation of the UC0PE bit is controlled by the settings of the
UC0CTL0.UC0PS1 and UC0CTL0.UC0PS0 bits.
• Once the UC0PE bit is set (1), the value is retained until the bit is cleared (0).
• The UC0PE bit can be read and written, but it can only be cleared by writing 0 to it;
it cannot be set by writing 1 to it. When 1 is written to this bit, the previous value is
retained.
UC0FE
Framing error flag
0
• When the UC0PWR bit or the UC0RXE bit has been set to 0
• When 0 has been written
1
When no stop bit is detected during reception
• Only the first bit of the receive data stop bits is checked, regardless of the value
of the UC0CTL0.UC0SL bit.
• Once the UC0FE bit is set (1), the value is retained until the bit is cleared (0).
• The UC0FE bit can be both read and written, but it can only be cleared by
writing 0 to it; it cannot be set by writing 1 to it. When 1 is written to this bit, the
previous value is retained.
UC0OVE
Overrun error flag
0
• When the UC0PWR bit or the UC0RXE bit has been set to 0.
• When 0 has been written
1
When receive data has been set to the UC0RX register and the next
receive operation is completed before that receive data has been read
• When an overrun error occurs, the data is discarded without the next receive data
being written to the receive buffer.
• Once the UC0OVE bit is set (1), the value is retained until the bit is cleared (0).
• The UC0OVE bit can be both read and written, but it can only be cleared by writing
0 to it; it cannot be set by writing 1 to it. When 1 is written to this bit, the previous
value is retained.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 590 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(7) UARTC0 receive data register L (UC0RXL) and UARTC0 receive data register (UC0RX)
The UC0RXL and UC0RX register are an 8- bit or 9-bit buffer register that stores parallel data converted by the
receive shift register.
The data stored in the receive shift register is transferred to the UC0RXL and UC0RX register upon completion of
reception of 1 byte of data.
During LSB-first reception when the data length has been specified as 7 bits, the receive data is transferred to bits
6 to 0 of the UC0RXL register and the MSB always becomes 0. During MSB-first reception, the receive data is
transferred to bits 7 to 1 of the UC0RXL register and the LSB always becomes 0.
When an overrun error (UC0OVE) occurs, the receive data at this time is not transferred to the UC0RXL and
UC0RX register and is discarded.
The access unit or reset value differs depending on the character length.
Character length 7/8-bit (UC0OPT1.UC0EBE = 0)
This register is read-only, in 8-bit units.
Reset or UC0CTL0.UC0PWR bit = 0 sets this register to FFH.
Character length 9-bit (UC0OPT1.UC0EBE = 0)
This register is read-only, in 16-bit units.
Reset or UC0CTL0.UC0PWR bit = 0 sets this register to 01FFH.
(a) Character length 7/8-bit (UC0OPT1.UC0EBE = 0)
After reset: FFH
R
Address: UC0RXL FFFFFAA6H
6
7
5
4
3
2
1
0
UC0RXL
(b) Character length 9-bit (UC0OPT1.UC0EBE = 1)
After reset: 01FFH
UC0RX
R
Address: UC0RX FFFFFAA6H
15
14
13
12
11
10
9
0
0
0
0
0
0
0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
8
7
6
5
4
3
2
1
0
Page 591 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(8) UARTC0 transmit data register L (UC0TXL), UARTC0 transmit data register (UC0TX)
The UC0TXL and UC0TX register is an 8-bit or 9-bit register used to set transmit data.
During LSB-first transmission when the data length has been specified as 7 bits, the transmit data is transferred to
bits 6 to 0 of the UC0RX register. During MSB-first transmission, the receive data is transferred to bits 7 to 1 of the
UC0RX register.
The access unit or reset value differs depending on the character length.
Character length 7/8-bit (UC0OPT1.UC0EBE = 0)
This register can be read or written in 8-bit units.
Reset sets this register to FFH.
Character length 9-bit (UC0OPT1.UC0EBE = 0)
This register can be read or written in 16-bit units.
Reset sets this register to 01FFH.
Cautions 1. In the transmission operation enable status (UC0PWR = 1 and UC0TXE = 1), Writing to the
UC0TXL, UC0TX register, as operate as trigger of transmission star, if writing the value of as
soon as before and save value, before the INTUC0T interrupt is occurred, the same data
is
transferred at twice.
2. Data writing for consecutive transmission, after be generated the INTUC0T interrupt.
If writing the next data before the INTUC0T interrupt is occurred, transmission start
processing and source of conflict writing the UC0TXL, UC0TX register, unexpected
operations may occur.
3. If perform to write the UC0TXL, UC0TXLin the disable transmission operation register, can
not be used as transmission start trigger. Consequently, even if transmission enable
status after perform to write the UC0TXL, UC0TX register in the disable transmission
operation status, can not be started transmission.
(a) Character length 7/8-bit (UC0OPT1.UC0EBE = 0)
After reset: FFH
R/W
Address: UC0TXL FFFFFAA8H
6
7
5
4
3
2
1
0
UC0TXL
(b) Character length 9-bit (UC0OPT1.UC0EBE = 1)
After reset: 01FFH
UC0TX
R/W
Address: UC0TX FFFFFAA8H
15
14
13
12
11
10
9
0
0
0
0
0
0
0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
8
7
6
5
4
3
2
1
0
Page 592 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.5 Interrupt Request Signals
The following two interrupt request signals are generated from UARTC0.
Reception complete interrupt request signal (INTUC0R)
Transmission enable interrupt request signal (INTUC0T)
The default priority for these two interrupt request signals is reception complete interrupt request signal then
transmission enable interrupt request signal.
Table 17-5. Interrupts and Their Default Priorities
Interrupt Request Signal
Priority
Reception complete
High
Transmission enable
Low
(1) Reception complete interrupt request signal (INTUC0R)
When the data stored in the receive shift register is transferred to the UC0RX register with reception enabled, the
reception complete interrupt request signal is generated.
A reception complete interrupt request signal is also output when a reception error occurs. Therefore, when a
reception complete interrupt request signal is acknowledged and the data is read, read the UC0STR register and
check that the reception result is not an error.
No reception complete interrupt request signal is generated in the reception disabled status.
(2) Transmission enable interrupt request signal (INTUC0T)
If transmit data is transferred from the UC0TX register to the UARTC0 transmit shift register with transmission
enabled, the transmission enable interrupt request signal is generated.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 593 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6 Operation
17.6.1 Data format
As shown in Figure 17-5, one frame of transmit/receive data consists of a start bit, character bits, parity bit, and stop
bit(s).
Specification of the character bit length within 1 data frame, parity selection, specification of the stop bit length, and
specification of MSB-first/LSB-first transfer are performed using the UC0CTL0 register.
Specification of 9-bit character length is performed using the UC0OPT1 register.
The UC0OPT0.UC0TDL bit is used to specify normal output/inverted output for the data to be transferred via the
TXDC0 pin.
The UC0OPT0.UC0RDL bit is used to specify normal input/inverted input for the data to be received via the RXDC0 pin.
Start bit..................................... 1 bit
Character bits ........................... 7 bits/8 bits/9 bits
Parity bit ................................... Even parity/odd parity/0 parity/no parity
Stop bit ..................................... 1 bit/2 bits
Input logic ................................. Normal input/inverted input
Output logic .............................. Normal output/inverted output
Communication direction .......... MSB/LSB
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 594 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
Figure 17-3. UARTC Transmit/Receive Data Format
(a) 8-bit data length, LSB first, even parity, 1 stop bit, transfer data: 55H
1 data frame
Start
bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity Stop
bit
bit
(b) 8-bit data length, MSB first, even parity, 1 stop bit, transfer data: 55H
1 data frame
Start
bit
D7
D6
D5
D4
D3
D2
D1
D0
Parity Stop
bit
bit
(c) 8-bit data length, MSB first, even parity, 1 stop bit, transfer data: 55H, transmit/receive data inverted
1 data frame
Start
bit
D7
D6
D5
D4
D3
D2
D1
D0 Parity Stop
bit
bit
(d) 7-bit data length, LSB first, odd parity, 2 stop bits, transfer data: 36H
1 data frame
Start
bit
D0
D1
D2
D3
D4
D5
D6
Parity Stop
bit
bit
Stop
bit
(e) 8-bit data length, LSB first, no parity, 1 stop bit, transfer data: 87H
1 data frame
Start
bit
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
D0
D1
D2
D3
D4
D5
D6
D7
Stop
bit
Page 595 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.2 UART transmission
Transmission is enabled by setting the UC0CTL0.UC0PWR and UC0CTL0.UC0TXE bits to 1, and transmission is
started by writing transmit data to the UC0TX register. The start bit, parity bit, and stop bit are automatically added.
Since the CTS (transmit enable signal) input pin is not provided in UARTC0, use a port to check that reception is
enabled at the transmit destination.
The data in the UC0TX register is transferred to the UARTC0 transmit shift register upon the start of transmission.
A transmission enable interrupt request signal (INTUC0T) is generated upon completion of transmission of the data of
the UC0TX register to the UARTC0 transmit shift register, and the contents of the UARTC0 transmit shift register are
output to the TXDC0 pin.
Writing the next transmit data to the UC0TX register is enabled after the INTUC0T signal is generated.
Figure 17-4. UART Transmission
TXDC0
Start
bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity Stop
bit
bit
INTUC0T
Remark
LSB first
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 596 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.3 Continuous transmission procedure
Writing transmit data to the UC0TX register with transmission enabled triggers transmission. The data in the UC0TX
register is transferred to the UARTC0 transmit shift register, the transmission enable interrupt request signal (INTUC0T) is
generated, and then shifting is started. After the transmission enable interrupt request signal (INTUC0T) is generated, the
next transmit data can be written to the UC0TX register. The timing of UARTC0 transmit shift register transmission can be
judged from the transmission enable interrupt request signal (INTUC0T).
An efficient communication rate is realized by writing the data to be transmitted next to the UC0TX register during
transfer.
Caution
When initializing transmission during the execution of continuous transmission, make sure that the
UC0STR.UC0TSF bit is 0, then perform initialization.
Transmit data that is initialized when the
UC0TSF bit is 1 cannot be guaranteed.
Figure 17-5. Continuous Transmission Processing
Start
Register settings
UC0TX write
Occurrence of transmission
interrupt?Note
No
Yes
Required number of
writes performed?
No
Yes
End
Note Be sure to read the UC0STR register after generation of the transmission enable interrupt request
signal (INTUC0T) to check whether a transmission error has occurred.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 597 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
Figure 17-6. Continuous Transmission Operation Timing
(a) Transmission start
TXDC0
Start
UC0TX
Data (1)
Parity
Data (1)
Transmission
shift register
Stop
Start
Data (2)
Parity
Data (2)
Stop
Start
Data (3)
Data (2)
Data (1)
INTUC0T
UC0TSF
(b) Transmission end
TXDC0
UC0TX
Parity
Stop
Start
Data (n – 1)
Parity
Data (n – 1)
Transmission
shift register
Stop
Start
Data (n)
Parity Stop
Data (n)
Data (n – 1)
Data (n)
FF
INTUC0T
UC0TSF
UC0PWR or UC0TXE bit
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 598 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.4 UART reception
First, enable reception by executing the following operations and monitor the RXDC0 input to detect the start bit.
Specify the operating clock by using UARTC control register 1 (UC0CTL1).
Specify the baud rate by using UARTC control register 2 (UC0CTL2).
Specify the output logic level by using UARTC option control register 0 (UC0OPT0).
Specify the communication direction, parity, data character length, and stop bit length by using UARTC control
register 0 (UC0CTL0).
Set the power bit and reception enable bit (UC0PWR = 1 and UC0RXE = 1).
To change the communication direction, parity, data character length, and/or stop bit length, clear the power bit
(UC0PWR = 0) or clear both the transmission enable bit and reception enable bit (UC0TXE = 0 and UC0RXE = 0)
beforehand.
The level input to the RXDC0 pin is sampled by using the operating clock. If the falling edge is detected, sampling of
data input to RXDC0 is started. If the data is low level half a bit after detection of the falling edge (indicated by in Figure
17-9), it is recognized as a start bit. When the start bit has been recognized, reception is started, and serial data is
sequentially stored in the receive shift register at the specified baud rate. When the stop bit has been received, the
reception complete interrupt request signal (INTUC0R) is generated and, at the same time, the data stored in the receive
shift register is transferred to the receive data register (UC0RX).
If an overrun error occurs (UC0OVE = 1), however, the receive data is not transferred to UC0RX, but is discarded. On
the other hand, even if a parity error (UC0PE = 1) or framing error (UC0FE = 1) occurs, reception continues and the
receive data is transferred to the UC0RX register. No matter which reception error has occurred, the INTUC0R interrupt is
generated after reception is complete.
Figure 17-7. UART Reception
RXDC0
Start
bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity Stop
bit
bit
INTUC0R
UC0RX
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 599 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
Cautions 1. Be sure to read the UC0RX register even when a reception error occurs. If the UC0RX register is
not read, an overrun error occurs during reception of the next data, and reception errors continue
occurring indefinitely.
2. Reception is performed assuming that there is only one stop bit. A second stop bit is ignored.
3. When reception is completed, read the UC0RX register after the reception complete interrupt
request signal (INTUC0R) has been generated, and clear the UC0RXE bit to 0. If the UC0RXE bit is
cleared to 0 before the INTUC0R signal is generated, the read value of the UC0RX register cannot
be guaranteed.
4. If the receive completion processing (INTUC0R signal generation) of UARTC0 conflicts with
setting the UC0PWR bit or UC0RXE bit to 0, the INTUC0R signal may be generated in spite of
there being no data stored in the UC0RX register.
To complete reception without waiting for INTUC0R signal generation, be sure to clear (0) the
interrupt request flag (UC0RIF) of the UC0RIC register, after setting (1) the interrupt mask flag
(UC0RMK) of the interrupt control register (UC0RIC) and then set (1) the UC0PWR bit or UC0RXE
bit to 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 600 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.5 Reception errors
Three types of errors can occur during reception: parity errors, framing errors, and overrun errors. The data reception
result error flag is set in the UC0STR register and a reception complete interrupt request signal (INTUC0R) is output when
an error occurs.
It is possible to ascertain which error occurred during reception by reading the contents of the UC0STR register.
Clear the reception error flag by writing 0 to it after reading it.
Figure 17-8. Reading Receive Data
START
INTUC0R signal
generated?
No
Yes
Read UC0RX register
Read UC0STR register
No
Error occurs?
Yes
Error processing
END
Caution
When the INTUC0R signal is generated, the UC0STR register must be read to check for
errors.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 601 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
Table 17-6. Reception Error Causes
Error Flag
Reception Error
Cause
UC0PE
Parity error
The received parity bit does not match the setting.
UC0FE
Framing error
The stop bit was not detected.
UC0OVE
Overrun error
Reception of the next data was completed before data was read from the
receive buffer.
When a reception error occurs, perform the following procedure according to the kind of error.
Parity error
If false data is received due to problems such as noise on the reception line, discard the received data and
retransmit.
Framing error
A baud rate error may have occurred between the reception side and transmission side or a start bit may have been
erroneously detected.
Since this is a fatal error for the communication format, check that operation on the
transmission side has stopped, initialize both sides, and then start the communication again.
Overrun error
1 frame of data is discarded because the next reception is completed before data was read from the receive buffer.
If this data was needed, retransmit the data.
Caution
In reception, be sure to read the UC0STR register before completion of the next reception to check
whether an error has occurred. If an error has occurred, perform error processing.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 602 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.6 Parity types and operations
The parity bit is used to detect bit errors in the communication data. Normally the same parity is used on the
transmission side and the reception side.
In the case of even parity and odd parity, it is possible to detect odd-count bit errors. In the case of 0 parity and no
parity, errors cannot be detected.
(a) Even parity
(i) During transmission
The number of bits whose value is “1” among the transmit data, including the parity bit, is controlled so as to be
an even number. The parity bit values are as follows.
Odd number of bits whose value is “1” among transmit data: 1
Even number of bits whose value is “1” among transmit data: 0
(ii) During reception
The number of bits whose value is “1” among the reception data, including the parity bit, is counted, and if it is
an odd number, a parity error is output.
(b) Odd parity
(i) During transmission
Opposite to even parity, the number of bits whose value is “1” among the transmit data, including the parity bit,
is controlled so that it is an odd number. The parity bit values are as follows.
Odd number of bits whose value is “1” among transmit data: 0
Even number of bits whose value is “1” among transmit data: 1
(ii) During reception
The number of bits whose value is “1” among the receive data, including the parity bit, is counted, and if it is an
even number, a parity error is output.
(c) 0 parity
During transmission, the parity bit is always made 0, regardless of the transmit data.
During reception, a parity bit check is not performed. Therefore, no parity error occurs, regardless of whether the
parity bit is 0 or 1.
(d) No parity
No parity bit is added to the transmit data.
Reception is performed assuming that there is no parity bit. No parity error occurs since there is no parity bit.
Caution
When using the LIN function, fix the UC0PS1 and UC0PS0 bits of the UC0CTL0 register to 0, 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 603 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.7 LIN transmission/reception format
The V850ES/JG3-L have an SBF (Sync Break Field) transmission/reception control function to enable use of the LIN
function.
Remark
LIN stands for Local Interconnect Network and is a low-speed (1 to 20 kbps) serial communication protocol
intended to reduce costs of automotive networks.
LIN communication is single-master communication, and up to 15 slaves can be connected to the master.
The LIN slaves are used to control the switches, actuators, and sensors, and these are connected to the LIN
master via the LIN network.
Normally, the LIN master is connected to a network such as CAN (Controller Area Network).
In addition, the LIN bus uses a single-wire method and is connected to the nodes via a transceiver that
complies with ISO9141.
In the LIN protocol, the master transmits a frame with baud rate information and the slave receives it and
corrects the baud rate error. Therefore, communication is possible when the baud rate error in the slave is
15% or less.
Figures 17-9 and 17-10 outline the transmission and reception manipulations of LIN.
Figure 17-9. LIN Transmission Format
Wake-up
signal
frame
Sync break
field
(SBF)
Sync
field
ID
field
DATA
field
DATA
field
Check
SUM
field
Note 2
13 bits
55H
transmission
Data
transmission
Data
transmission
Data
transmission
Data
transmission
LIN
bus
Note 3
8 bits
Note 1
TXDC0 (output)
SBF transmissionNote 4
INTUC0T
interrupt
Notes 1. The interval between each field is controlled by software.
2. SBF output is performed by hardware. The output width is the bit length set by the
UC0OPT0.UC0SBL2 to UC0OPT0.UC0SBL0 bits. If even finer output width adjustments are
required, such adjustments can be performed using the UC0CTLn.UC0BRS7 to
UC0CTLn.UC0BRS0 bits.
3. 80H transfer in the 8-bit mode is substituted for the wakeup signal frame.
4. A transmission enable interrupt request signal (INTUC0T) is output at the start of each transmission.
The INTUC0T signal is also output at the start of each SBF transmission.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 604 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
Figure 17-10. LIN Reception Format
Wake-up
signal
frame
Sync
break
field (SBF)
ID
field
DATA
field
DATA
field
ID reception
Data
reception
Data
reception
Sync
field
Check
SUM
field
LIN
bus
SF reception
Note 2
Disable
RXDC0 (input)
Enable
Note 5
Data
reception
SBF
reception
Note 3
Reception interrupt
(INTUC0R)
Note 1
Edge detection
Note 4
Capture timer
Disable
Enable
Notes 1. The wakeup signal is detected by the pin edge detector, UARTC0 is enabled, and the SBF reception
mode is set.
2. Reception is performed until detection of the stop bit. Upon detection of SBF reception of 11 or more
bits, it is judged as normal SBF reception end, and an interrupt signal is output. Upon detection of
SBF reception of less than 11 bits, it is judged as an SBF reception error, no interrupt signal is
output, and the mode returns to the SBF reception mode.
3. If SBF reception ends normally, an interrupt request signal is output. The timer is enabled by an SBF
reception complete interrupt. Moreover, error detection for the UC0STR.UC0OVE, UC0STR.UC0PE,
and UC0STR.UC0FE bits is suppressed and UART communication error detection processing and
data transfer of the UARTC0 receive shift register and UC0RX register is not performed. The
UARTC0 receive shift register holds the initial value, FFH.
4. The RXDC0 pin is connected to TI (capture input) of the timer and the transfer rate is calculated.
The value of the UC0CTL2 register obtained by correcting the baud rate error after UARTC enable
goes low is set again, causing the status to become the reception status.
5. A check-sum field is identified by software. UARTC0 is initialized following reception of the checksum field, and the processing for re-specifying the SBF reception mode is performed, also by
software.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 605 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.8 SBF transmission
When the UC0CTL0.UC0PWR bit and UC0CTL0.UC0TXE bit are 1, the transmission enabled status is entered, and
SBF transmission is started by setting the SBF transmission trigger (UC0OPT0.UC0STT bit) to 1.
Thereafter, a low level signal having a length of 13 to 20 bits, as specified by the UC0OPT0.UC0SLS2 to
AnOPT0.UC0SLS0 bits, is output. A transmission enable interrupt request signal (INTUC0T) is generated upon the start of
SBF transmission. Following the end of SBF transmission, the UC0STT bit is automatically cleared.
Transmission is suspended until the data to be transmitted next is written to the UC0TX register, or until the SBF
transmission trigger (UC0STT bit) is set.
Figure 17-11. Example of SBF Transmission
TXDC0
1
2
3
4
5
6
7
8
9
10
11
12
13
Stop
bit
INTUC0T
interrupt
Setting of UC0STT bit
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 606 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.9 SBF reception
The reception enabled status is entered by setting the UC0CTL0.UC0PWR bit to 1 and then setting the
UC0CTL0.UC0RXE bit to 1.
The SBF reception wait status is set by setting the SBF reception trigger (UC0OPT0.UC0STR bit) to 1.
In the SBF reception wait status, similarly to the UART reception wait status, the RXDC0 pin is monitored and start bit
detection is performed.
Following detection of the start bit, reception is started and the internal counter increments according to the set baud
rate.
When a stop bit is received, if the SBF width is 11 or more bits, it is judged as normal processing and a reception
complete interrupt request signal (INTUC0R) is output. The UC0OPT0.UC0SRF bit is automatically cleared and SBF
reception ends. Error detection for the UC0STR.UC0OVE, UC0STR.UC0PE, and UC0STR.UC0FE bits is suppressed and
UART communication error detection processing is not performed. Moreover, data transfer of the UARTC0 reception shift
register and UC0RX register is not performed and FFH, the initial value, is held. If the SBF width is 10 or fewer bits,
reception is terminated as an error, an interrupt is not generated, and the SBF reception mode is restored. The UC0SRF
bit is not cleared at this time.
Cautions 1. If SBF is transmitted during data reception, a framing error occurs.
2. Do not set the SBF reception trigger bit (UC0SRT) and SBF transmission trigger bit (UC0STT) to 1
during SBF reception (UC0SRF = 1).
Figure 17-12. SBF Reception
(a) Normal SBF reception (detection of stop bit after more than 10.5 bits)
RXDC0
1
2
3
4
5
6
7
8
9
10
11
11.5
UC0SRF
INTUC0R
interrupt
(b) SBF reception error (detection of stop bit after 10.5 or fewer bits)
RXDC0
1
2
3
4
5
6
7
8
9
10
10.5
UC0SRF
INTUC0R
interrupt
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 607 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.6.10 Receive data noise filter
This filter samples signals received via the RXDC0 pin using the base clock supplied by the dedicated baud rate
generator.
When the same sampling value is read twice, the match detector output changes and the RXDC0 signal is sampled as
the input data. Therefore, data not exceeding 1 clock cycle width is judged to be noise and is not delivered to the internal
circuit (see Figure 17-14). See 17.7 (1) (a) Base clock for details of the base clock.
Moreover, since the circuit is as shown in Figure 17-13, the processing that goes on within the receive operation is
delayed by 3 clocks in relation to the external signal status.
Figure 17-13. Noise Filter Circuit
Base clock (fUCLK)
RXDC0
In
Q
Internal signal A
In
Q
Internal signal B
Match
detector
In
Q
Internal signal C
LD_EN
Figure 17-14. Timing of RXDC0 Signal Judged as Noise
Base clock
RXDC0 (input)
Internal signal A
Internal signal B
Match
Mismatch
(judged as noise)
Match
Mismatch
(judged as noise)
Internal signal C
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 608 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.7 Dedicated Baud Rate Generator
The dedicated baud rate generator consists of a source clock selector block and an 8-bit programmable counter block,
and generates a serial clock during transmission and reception using UARTC0. Regarding the serial clock, a dedicated
baud rate generator output can be selected for each channel.
There is an 8-bit counter for transmission and another one for reception.
(1) Baud rate generator configuration
Figure 17-15. Configuration of Baud Rate Generator
UC0PWR
fXX
fXX/2
fXX/4
UC0PWR, UC0TXEn bus (or UC0RXE bit)
fXX/8
fXX/16
fXX/32
Selector
fXX/64
8-bit counter
fUCLK
fXX/128
fXX/256
fUCLK/k
fXX/512
fXX/1024
Match detector
UC0CTL1:
UC0CKS3 to UC0CKS0
Remarks 1. fXX:
1/2
Baud rate
UC0CTL2:
UC0BRS7 to UC0BRS0
Main clock frequency
2. fUCLK:
Base clock frequency
3. fUCLK/k: Serial clock (k: BRGCn register value)
(a) Base clock
When the UC0CTL0.UC0PWR bit is 1, the clock selected by the UC0CTL1.UC0CKS3 to UC0CTL1.UC0CKS0
bits is supplied to the 8-bit counter. This clock is called the base clock (fUCLK).
(b) Serial clock generation
A serial clock can be generated by setting the UC0CTL1 register and the UC0CTL2 register (n = 0 to 2).
The base clock is selected by UC0CTL1.UC0CKS3 to UC0CTL1.UC0CKS0 bits.
The frequency division value for the 8-bit counter can be set using the UC0CTL2.UC0BRS7 to
UC0CTL2.UC0BRS0 bits.
The baud rate clock is generated by dividing the serial clock by two.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 609 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(2) UARTC0 control register 1 (UC0CTL1)
The UC0CTL1 register is an 8-bit register that selects the UARTC0 base clock.
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
Caution
Clear the UC0CTL0.UC0PWR bit to 0 before rewriting the UC0CTL1 register.
After reset: 00H
UC0CTL1
R/W
Address: FFFFFAA1H
7
6
5
4
0
0
0
0
3
UC0CKS3 UC0CKS2 UC0CKS1UC0CKS0
0
0
0
fXX
0
0
0
1
fXX/2
0
0
1
0
fXX/4
0
0
1
1
fXX/8
0
1
0
0
fXX/16
0
1
0
1
fXX/32
0
1
1
0
fXX/64
0
1
1
1
fXX/128
1
0
0
0
fXX/256
1
0
0
1
fXX/512
0
1
0
fXX/1,024
Other than above
Remark
1
0
Base clock (fUCLK) selection
0
1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
2
UC0CKS3UC0CKS2 UC0CKS1 UC0CKS0
Setting prohibited
fXX: Main clock frequency
Page 610 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(3) UARTC0 control register 2 (UC0CTL2)
The UC0CTL2 register is an 8-bit register that selects the baud rate (serial transfer speed) clock of UARTC0.
The baud rate clock is generated by dividing the serial clock specified by this register by two.
This register can be read or written in 8-bit units.
Reset sets this register to FFH.
Caution
Either clear the UC0CTL0.UC0PWR bit to 0, or clear the UC0TXE and UC0RXE bits to 0, 0, before
rewriting the UC0CTL2 register.
After reset FFH
R/W
6
7
UC0CTL2
Address: FFFFFAA2H
5
4
3
2
1
0
UC0BRS7 UC0BRS6 UC0BRS5UC0BRS4 UC0BRS3UC0BRS2 UC0BRS1 UC0BRS0
UC0
BRS7
UC0
BRS6
UC0
BRS5
UC0
BRS4
UC0
BRS3
UC0
BRS2
UC0
BRS1
UC0 Default
BRS0
(k)
Serial
clock
0
0
0
0
0
0
×
×
×
Setting
prohibited
0
0
0
0
0
1
0
0
4
fUCLK/4
0
0
0
0
0
1
0
1
5
fUCLK/5
0
0
0
0
0
1
1
0
6
fUCLK/6
:
:
:
:
:
:
:
:
:
:
1
1
1
1
1
1
0
0
252
fUCLK/252
1
1
1
1
1
1
0
1
253
fUCLK/253
1
1
1
1
1
1
1
0
254
fUCLK/254
1
1
1
1
1
1
1
1
255
fUCLK/255
Remark fUCLK: Clock frequency selected by the UC0CTL1.UC0CKS3 to
UC0CTL1.UC0CKS0 bits
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 611 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(4) Baud rate
The baud rate is obtained by the following equation.
Baud rate =
fXX
m+1
2
Remark
k
[bps]
fUCLK = Frequency of base clock selected by the UC0CTL1.UC0CKS3 to UC0CTL1.UC0CKS0 bits
fXX: Main clock frequency
m = Value set using the UC0CTL1.UC0CKS3 to UC0CTL1.UC0CKS0 bits (m = 0 to 10)
k = Value set using the UC0CTL2.UC0BRS7 to UC0CTL2.UC0BRS0 bits (k = 4 to 255)
The baud rate error is obtained by the following equation.
fXX
Error (%) =
m+1
2
k Target baud rate
1 100 [%]
Cautions 1. The baud rate error during transmission must be within the error tolerance on the
receiving side.
2. The baud rate error during reception must satisfy the range indicated in (5) Allowable
baud rate range during reception.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 612 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
To set the baud rate, perform the following calculation for setting the UC0CTL1 and UC0CTL2 registers (when
using the internal clock).
Set k to fxx/(2 target baud rate) and m to 0.
If k is 256 or greater (k 256), reduce k to half (k/2) and increment m by 1 (m + 1).
Repeat Step until k becomes less than 256 (k < 256).
Round off the first decimal point of k to the nearest whole number.
If k is 256 after round-off, reduce k to half (k/2) and increment m by 1 (m + 1) to obtain k = 128.
Set the value of m to the UC0CTL1 register and the value of k to the UC0CTL2 register.
Example: When fXX = 20 MHz and target baud rate = 153,600 bps
k = 20,000,000/(2 153,600) = 65.10…, m = 0
, k = 65.10… < 256, m = 0
Set value of UC0CTL2 register: k = 65 = 41H, set value of UC0CTL1 register: m = 0
Actual baud rate = 20,000,000/(2 65)
= 153,846 [bps]
Baud rate error
= {20,000,000/(2 65 153,600) 1} 100
= 0.160 [%]
Representative examples of baud rate settings are shown below.
Table 17-7. Baud Rate Generator Setting Data
Baud Rate
(bps)
Remark
fXX = 20 MHz
fXX = 16 MHz
fXX = 10 MHz
UC0CTL1 UC0CTL2
ERR (%)
UC0CTL1 UC0CTL2
ERR (%)
UC0CTL1 UC0CTL2
ERR (%)
300
08H
82H
0.16
07H
D0H
0.16
07H
82H
0.16
600
07H
82H
0.16
06H
D0H
0.16
06H
82H
0.16
1200
06H
82H
0.16
05H
D0H
0.16
05H
82H
0.16
2400
05H
82H
0.16
04H
D0H
0.16
04H
82H
0.16
4800
04H
82H
0.16
03H
D0H
0.16
03H
82H
0.16
9600
03H
82H
0.16
02H
D0H
0.16
02H
82H
0.16
19200
02H
82H
0.16
01H
D0H
0.16
01H
82H
0.16
31250
01H
A0H
0
01H
80H
0
00H
A0H
0
38400
01H
82H
0.16
00H
D0H
0.16
00H
82H
0.16
76800
00H
82H
0.16
00H
68H
0.16
00H
41H
0.16
153600
00H
41H
0.16
00H
34H
0.16
00H
21H
1.36
312500
00H
20H
0
00H
1AH
1.54
00H
10H
0
625000
00H
10H
0
00H
0DH
1.54
00H
08H
0
fXX:
Main clock frequency
ERR: Baud rate error (%)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 613 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(5) Allowable baud rate range during reception
The baud rate error range at the destination that is allowable during reception is shown below.
Caution
The baud rate error indicated below is a theoretical value. In practice, the signal might be
distorted, or communication might not be performed normally even if the error is within the
allowable range. Therefore, the error must be minimized.
Figure 17-16. Allowable Baud Rate Range During Reception
Latch timing
UARTC0
data frame length
Start bit
Bit 0
Bit 1
Bit 7
Stop bit
Parity bit
BL
1 data frame (11 × BL = FL)
Minimum allowable
data frame length
Start bit
Bit 0
Bit 1
Bit 7
Parity bit
Stop bit
FLmin
Maximum allowable
data frame length
Start bit
Bit 0
Bit 1
Parity bit
Bit 7
Stop bit
FLmax
As shown in Figure 17-16, the receive data latch timing is determined by the counter set using the UC0CTL2
register following start bit detection. The transmit data can be received normally if up to the last data (stop bit) can
be received in time for this latch timing.
When this is applied to 11-bit reception, the following is the theoretical result.
BL = (Brate)1
Brate: UARTC0 baud rate (n = 0 to 2)
k:
Setting value of UC0CTL2.UC0BRS7 to UC0CTL2.UC0BRS0 bits (n = 0 to 2)
BL:
1-bit data length
FL:
Length of 1 data frame
Latch timing margin: 2 clock cycles
Minimum allowable data frame length: FLmin = 11 BL
k2
2k
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
BL =
21k + 2
BL
2k
Page 614 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
Therefore, the maximum baud rate that can be received by the destination is as follows.
BRmax = (FLmin/11)1 =
22k
Brate
21k + 2
Similarly, obtaining the maximum allowable data frame length yields the following.
10
k+2
FLmax = 11 BL
2k
11
FLmax =
21k 2
BL =
21k 2
2k
BL
BL 11
20 k
Therefore, the minimum baud rate that can be received by the destination is as follows.
BRmin = (FLmax/11)1 =
20k
21k 2
Brate
Obtaining the allowable baud rate error for UARTC0 and the destination from the above-described equations yields
the following.
Table 17-8. Maximum/Minimum Allowable Baud Rate Error (11-Bit Length)
Division Ratio (k)
Maximum Allowable Baud Rate Error
Minimum Allowable Baud Rate Error
4
+2.32%
2.43%
8
+3.53%
3.61%
20
+4.26%
4.31%
50
+4.56%
4.58%
100
+4.66%
4.67%
255
+4.72%
4.73%
Remarks 1. The reception accuracy depends on the bit count in 1 frame, the base clock
frequency (fUCLK), and the division ratio (k). The higher the base clock frequency
(fUCLK) and the larger the division ratio (k), the higher the accuracy.
2. k: Setting value of UC0CTL2.UC0BRS7 to UC0CTL2.UC0BRS0 bits (n = 0 to 2)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 615 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
(6) Data frame length during continuous transmission
In continuous transmission, the data frame length from the stop bit to the next start bit is 2 base clock cycles longer
than usual. However, timing initialization is performed via start bit detection by the receiving side, so this has no
influence on the transfer result.
Figure 17-17. Data Frame Length During Continuous Transmission
Start bit of 2nd byte
1 data frame (FL)
Start bit
BL
Bit 0
Bit 1
Bit 7
BL
BL
BL
Parity bit
BL
Stop bit
BLstp
Start bit
BL
Bit 0
BL
Assuming a 1 bit data length of BL; a stop bit length of BLstp; and a base clock frequency of fUCLK, we obtain the
following equation.
BLstp = BL + 2/fUCLK
Therefore, the transfer rate during continuous transmission is as follows.
Data frame length = 11 BL + (2/fUCLK)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 616 of 1210
V850ES/JG3-L
CHAPTER 17 ASYNCHRONOUS SERIAL INTERFACE C (UARTC)
17.8 Cautions
(1) When the clock supply to UARTC0 is stopped (for example, in IDLE1, IDLE2, or STOP mode), the operation stops
with each register retaining the value it had immediately before the clock supply was stopped. The TXDC0 pin
output also holds and outputs the value it had immediately before the clock supply was stopped. However, the
operation is not guaranteed after the clock supply is resumed. Therefore, after the clock supply is resumed, the
circuits should be initialized by setting the UC0CTL0.UC0PWR, UC0CTL0.UC0RXEn, and UC0CTL0.UC0TXEn
bits to 0, 0, 0.
(2) In UARTC0, the interrupt caused by a communication error does not occur. When transferring transmit data and
receive data using DMA transfer, error processing cannot be performed even if errors (parity, overrun, framing)
occur during transfer. Either read the UC0STR register after DMA transfer has been completed to make sure that
there are no errors, or read the UC0STR register during communication to check for errors.
(3) Start up UARTC0 in the following sequence.
Set the UC0CTL0.UC0PWR bit to 1.
Set the ports.
Set the UC0CTL0.UC0TXE bit to 1 and the UC0CTL0.UC0RXE bit to 1.
(4) Stop UARTC0 in the following sequence.
Set the UC0CTL0.UC0TXE bit to 0 and the UC0CTL0.UC0RXE bit to 0.
Set the ports and set the UC0CTL0.UC0PWR bit to 0 (it is not a problem if the port settings are not changed).
(5) In transmit mode (UC0CTL0.UC0PWR bit = 1 and UC0CTL0.UC0TXE bit = 1), do not overwrite the same value to
the UC0TX register by software because transmission starts by writing to this register. To transmit the same value
continuously, overwrite the same value.
(6) In continuous transmission, the period from the stop bit to the next start bit is 2 base clock cycles longer than usual.
However, the reception side initializes the timing by detecting the start bit, so the reception result is not affected.
(7) UARTC cannot identify the start bit if low level signals are continuously input to the RXDC0 pin.
(8) The RXDC0 and SIB1 pins cannot be used at the same time. When using the pin for RXDC0, stop CSIB0
reception. (clear the CB1CTL0.CB1RXE bit to 0.) When using the pin for SIB1 , stop UARTC0 reception. (clear the
UC0CTL0.UC0RXE bit to 0.)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 617 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.1 Features
3-wire serial interface
SOBn: Serial data output
SIBn:
Serial data input
SCKBn: Serial clock I/O
Transmission mode, reception mode, and transmission/reception mode can be specified.
Transfer rate: 8 Mbps max
Master mode and slave mode can be selected.
Two interrupt request signals:
Reception complete interrupt (INTCBnR): This interrupt occurs when receive data is transferred to the CBnRX
register with reception enabled, or when an overrun error occurs. In
the single transfer mode, this interrupt occurs upon completion of
transmission, even when only transmission is executed.
Transmission enable interrupt (INTCBnT): In continuous transmission or continuous transmission/reception mode,
this interrupt occurs when transmit data is transferred from the CBnTX
register and it becomes possible to write data to CBnTX.
Timing of data reception/transmission via SCKBn can be specified
Transfer data length can be selected in 1-bit units from between 8 and 16 bits
Transfer data can be switched between MSB-first and LSB-first
Double buffers for both transmission and reception
Overrun error detection
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 618 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.2 Configuration
CSIBn includes the following hardware.
Table 18-1. Configuration of CSIBn
Item
Configuration
CSIBn receive data register (CBnRX)
Registers
CSIBn transmit data register (CBnTX)
CSIBn control register 0 (CBnCTL0)
CSIBn control register 1 (CBnCTL1)
CSIBn control register 2 (CBnCTL2)
CSIBn status register (CBnSTR)
The following shows the block diagram of CSIBn.
Figure 18-1. Block Diagram of CSIBn
Internal bus
CBnCTL1
CBnCTL0
CBnCTL2
CBnSTR
INTCBnT
Controller
Selector
fXX/2
fXX/4
fXX/8
fXX/16
fXX/32
fXX/64
fBRGm
fCCLK
SCKBn
INTCBnR
Phase control
CBnTX
SO latch
Shift register
SIBn
Phase
control
SOBn
CBnRX
Remarks fCCLK:
Communication clock
fXX:
Main clock frequency
fBRGm:
BRGm count clock
n = 0 to 4
m = 1 (n = 0, 1)
m = 2 (n = 2, 3)
m = 3 (n = 4)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 619 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.2.1 Pin functions of each channel
The SIBn, SOBn, and SCKBn pins used by CSIB in the V850ES/JG3-L are used for other functions as shown in Table
18-2. To use these pins for CSIB, set the related registers as described in Table 4-15 Settings When Pins Are Used for
Alternate Functions.
Table 18-2. Pins Used by CSIB
Channel
CSIB0
CSIB1
CSIB2
CSIB3
CSIB4
Remark
Pin No.
Port
CSIB Reception CSIB Transmission CSIB Clock I/O
Input
GC
F1
22
K1
P40
23
K2
P41
SIB0
SOB0
24
L2
P42
50
J11
P97
51
J10
P98
52
H11
P99
40
L8
P53
41
K8
P54
42
J8
P55
53
H10
P910
54
H9
P911
55
G11
P912
26
K4
P31
25
L3
P30
27
L4
P32
Other Functions
Output
SIB1
SOB2
SIB3
SOB3
SIB4
SDA01
SCL01
SCKB0
RXDC0/TIP20/TOP20
SOB1
SIB2
SOB4
SCKB1
KR3/TIQ00/TOQ00/RTP03/DDO
KR4/RTP04/DCK
SCKB2
KR5/RTP05/DMS
SCKB3
RXDA0/INTP7
TXDA0
SCKB4
ASCKA0/TIP00/TOP00
GC: 100-pin plastic LQFP (fine-pitch) (14 14)
F1: 121-pin plastic FBGA (8 8)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 620 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.3 Mode Switching of CSIB and Other Serial Interfaces
18.3.1 CSIB0 and I2C01 mode switching
In the V850ES/JG3-L, CSIB0 and I2C01 share pins and therefore cannot be used simultaneously. To use the CSIB0
function, specify the CSIB0 mode in advance by using the PMC4 and PFC4 registers.
Switching the operation mode between CSIB0 and I2C01 is described below.
Caution
Transmission and reception by CSIB0 and I2C01 are not guaranteed if these operation modes are
switched during transmission or reception. Be sure to disable the serial interface that is not being
used.
Figure 18-2. Switching CSIB0 and I2C01 Operation Modes
After reset: 00H
PMC4
0
After reset: 00H
PFC4
R/W
Address: FFFFF448H
0
R/W
0
0
PMC4n
PFC4n
0
0
0
PMC42
PMC41
PMC40
0
0
PFC41
PFC40
Address: FFFFF468H
0
0
Operation mode
0
×
Port I/O mode
1
0
CSIB0 mode
1
1
I2C01 mode
Remarks 1. n = 0, 1
2. = don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 621 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.3.2 CSIB4 and UARTA0 mode switching
In the V850ES/JG3-L, CSIB4 and UARTA0 share pins and therefore cannot be used simultaneously. To use the CSIB4
function, specify the CSIB4 mode in advance by using the PMC3, PFC3, and PFCE3L registers.
Switching the operation mode between CSIB4 and UARTA0 is described below.
Caution
Transmission and reception by CSIB4 and UARTA0 are not guaranteed if these operation modes are
switched during transmission or reception. Be sure to disable the serial interface that is not being
used.
Figure 18-3. Switching CSIB4 and UARTA0 Operation Modes
After reset: 0000H
PMC3
14
13
12
11
10
9
8
0
0
0
0
0
0
PMC39
PMC38
0
0
PMC35
PMC34
PMC33
PMC32
PMC31
PMC30
R/W
Address: FFFFF466H, FFFFF467H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
PFC39
PFC38
0
0
PFC35
PFC34
PFC33
PFC32
PFC31
PFC30
0
PFCE32
0
0
After reset: 00H
PFCE3L
Address: FFFFF446H, FFFFF447H
15
After reset: 0000H
PFC3
R/W
R/W
Address: FFFFF706H
0
0
0
PMC32
PFCE32
PFC32
0
Operation mode
0
×
×
Port I/O mode
1
0
0
ASCKA0 mode
1
0
1
SCKB4 mode
PMC3n
PFC3n
0
×
Port I/O mode
1
0
UARTA0 mode
1
1
CSIB4 mode
Operation mode
Remarks 1. n = 0, 1
2. = don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 622 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.4 Registers
The following registers are used to control CSIBn.
CSIBn receive data register (CBnRX)
CSIBn transmit data register (CBnTX)
CSIBn control register 0 (CBnCTL0)
CSIBn control register 1 (CBnCTL1)
CSIBn control register 2 (CBnCTL2)
CSIBn status register (CBnSTR)
(1) CSIBn receive data register (CBnRX)
The CBnRX register is a 16-bit buffer register that holds receive data.
This register is read-only, in 16-bit units.
The receive operation is started by reading the CBnRX register in reception mode.
If the transfer data length is 8 bits, the lower 8 bits of this register are read-only in 8-bit units as the CBnRXL
register.
Reset sets this register to 0000H.
In addition to reset input, the CBnRX register can be initialized by clearing (to 0) the CBnPWR bit of the CBnCTL0
register.
After reset: 0000H
R
Address: CB0RX FFFFFD04H, CB1RX FFFFFD14H,
CB2RX FFFFFD24H, CB3RX FFFFFD34H,
CB4RX FFFFFD44H
CBnRX
(n = 0 to 4)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 623 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(2) CSIBn transmit data register (CBnTX)
The CBnTX register is a 16-bit buffer register used to write the CSIBn transfer data.
This register can be read or written in 16-bit units.
The transmit operation is started by writing data to the CBnTX register when transmission is enabled.
If the transfer data length is 8 bits, the lower 8 bits of this register are read-only in 8-bit units as the CBnTXL register.
Reset sets this register to 0000H.
After reset 0000H
R/W
Address: CB0TX FFFFFD06H, CB1TX FFFFFD16H,
CB2TX FFFFFD26H, CB3TX FFFFFD36H,
CB4TX FFFFFD46H
CBnTX
(n = 0 to 4)
Remark
The communication start conditions are shown below.
Transmission mode (CBnTXE bit = 1, CBnRXE bit = 0):
Write to CBnTX register
Transmission/reception mode (CBnTXE bit = 1, CBnRXE bit = 1): Write to CBnTX register
Reception mode (CBnTXE bit = 0, CBnRXE bit = 1):
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Read from CBnRX register
Page 624 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(3) CSIBn control register 0 (CBnCTL0)
CBnCTL0 is an 8-bit register that controls CSIBn serial transfer.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 01H.
(1/3)
After reset: 01H
R/W
Address: CB0CTL0 FFFFFD00H, CB1CTL0 FFFFFD10H,
CB2CTL0 FFFFFD20H, CB3CTL0 FFFFFD30H,
CB4CTL0 FFFFFD40H
< >
< >
CBnCTL0
< >
Note
CBnPWR CBnTXE
< >
< >
Note
CBnRXE
Note
CBnDIR
0
0
Note
CBnTMS
CBnSCE
(n = 0 to 4)
CBnPWR
Specification of CSIBn operation disable/enable
0
Disable CSIBn operation and reset the CBnSTR register
1
Enable CSIBn operation
• The CBnPWR bit controls the CSIBn operation and resets the internal circuit.
CBnTXENote
Specification of transmit operation disable/enable
0
Disable transmit operation
1
Enable transmit operation
• The SOBn output is low level when the CBnTXE bit is 0.
CBnRXENote
Specification of receive operation disable/enable
0
Disable receive operation
1
Enable receive operation
• When the CBnRXE bit is 0, no reception complete interrupt is output even when
the specified data is transferred, and the receive data (in the CBnRX register) is
not updated.
Note These bits can only be rewritten when the CBnPWR bit is 0.
However, the values of these bits can be changed to 0 or 1 at the same
time the CBnPWR bit is set.
Caution
To forcibly suspend transmission/reception, clear the CBnPWR
bit to 0 instead of the CBnRXE and CBnTXE bits.
At this time, the clock output is stopped.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 625 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(2/3)
CBnDIRNote
Specification of transfer direction mode (MSB/LSB)
0
MSB-first transfer
1
LSB-first transfer
CBnTMSNote
Transfer mode specification
0
Single transfer mode
1
Continuous transfer mode
[In single transfer mode]
• In this mode, the reception complete interrupt (INTCBnR) occurs upon completion
of communication. The transmission enable interrupt (INTCBnT) does not occur
even if transmission is enabled (CBnTXE bit = 1).
• After the reception complete interrupt (INTCBnR) occurs, writing/reading the next
transmit/receive data triggers the next communication.
• The next communication does not start even if the next transmit/receive data is
written/read during the preceding communication (CBnSTR.CBnTSF bit = 1).
[In continuous transfer mode]
• In this mode and with transmission enabled (CBnTXE bit = 1), the transmission
enable interrupt (INTCBnT) occurs when writing the next transmit data becomes
possible. With reception enabled (CBnRXE bit = 1), the reception complete
interrupt (INTCBnR) occurs upon completion of transfer.
• Writing the next transmit data becomes possible after INTCBnT occurs. If new
data is written at this time, continuous transfer can be performed.
• If reception-only is specified (CBnTXE bit = 0, CBnRXE bit = 1), the next
transmission starts immediately after INTCBnR has occurred, regardless of the
progress of reading the CBnRX register. Be sure to read receive data immediately
after INTCBnR has occurred. If receive data is not read before the next INTCBnR
occurs, an overrun error will occur (CBnSTR.CBnOVE bit = 1).
Note These bits can only be rewritten when the CBnPWR bit is 0. However,
the values of these bits can be changed to 0 or 1 at the same time the
CBnPWR bit is set.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 626 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(3/3)
CBnSCE
Specification of start transfer disable/enable
0
Communication start trigger invalid
1
Communication start trigger valid
This bit enables or disables the communication start trigger in reception mode.
• In master mode
(a) In single transmission or transmission/reception mode, or continuous
transmission or continuous transmission/reception mode:
The setting of the CBnSCE bit has no effect on communication.
(b) In single reception mode:
Clear the CBnSCE bit to 0 before reading the last receive data to disable the
start of reception because reception is started by reading the receive data
(CBnRX register)Note 1.
(c) In continuous reception mode
Clear the CBnSCE bit to 0 one communication clock cycle before reception of
the last data is completed to disable the start of reception after the last data is
receivedNote 2.
• In slave mode
Set the CBnSCE bit to 1.
[Usage of CBnSCE bit]
• In single reception mode
When reception of the last data is completed by INTCBnR interrupt
servicing, clear the CBnSCE bit to 0 before reading the CBnRX register.
After confirming that the CBnSTR.CBnTSF bit is 0, clear the CBnPWR and
CBnRXE bits to 0 to disable reception.
To receive data again, set the CBnSCE bit to 1 to start the next reception
by dummy-reading the CBnRX register.
• In continuous reception mode
Clear the CBnSCE bit to 0 in the INTCBnR interrupt servicing for the receive
data immediately before the last one.
Read the CBnRX register.
Read the last reception data by reading the CBnRX register after
acknowledging the CBnTIR interrupt.
After confirming that the CBnSTR.CBnTSF bit is 0, clear the CBnPWR and
CBnRXE bits to 0 to disable reception.
To receive data again, set the CBnSCE bit to 1 to wait for the next reception
by dummy-reading the CBnRX register.
Notes 1. If the CBnRX register is read with the CBnSCE bit set to 1, the next
communication is started.
2. If the CBnSCE bit is not cleared to 0, one communication clock
cycle before reception of the last data is completed, the next
communication is automatically started.
Caution
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Be sure to clear bits 3 and 2 to “0”.
Page 627 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(4) CSIBn control register 1 (CBnCTL1)
CBnCTL1 is an 8-bit register that is used to specify the CSIBn serial transfer operation mode.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
Caution
The CBnCTL1 register can be rewritten only when the CBnCTL0.CBnPWR bit is 0.
After reset 00H
R/W
Address: CB0CTL1 FFFFFD01H, CB1CTL1 FFFFFD11H,
CB2CTL1 FFFFFD21H, CB3CTL1 FFFFFD31H,
CB4CTL1 FFFFFD41H
CBnCTL1
0
0
CBnCKP CBnDAP CBnCKS2 CBnCKS1 CBnCKS0
0
(n = 0 to 4)
Specification of data transmission/
reception timing in relation to SCKBn
CBnCKP CBnDAP
0
Communication
type 1
0
SCKBn (I/O)
D7
SOBn (output)
D6
D5
D4
D3
D2
D1
D0
SIBn capture
0
Communication
type 2
1
SCKBn (I/O)
SOBn (output)
D7
D6
D5
D4
D3
D2
D1
D0
SIBn capture
1
Communication
type 3
0
SCKBn (I/O)
D7
(output)
D6
D5
D4
D3
D2
D1
D0
SIBn capture
1
Communication
type 4
1
SCKBn (I/O)
(output)
D7
D6
D5
D4
D3
D2
D1
D0
SIBn capture
CBnCKS2 CBnCKS1 CBnCKS0 Communication clock (fCCLK)Note
Mode
0
0
0
fXX/2
Master mode
0
0
1
fXX/4
Master mode
0
1
0
fXX/8
Master mode
0
1
1
fXX/16
Master mode
1
0
0
fXX/32
Master mode
1
0
1
fXX/64
Master mode
1
1
0
fBRGm
Master mode
1
1
1
External clock (SCKBn)
Slave mode
Note Set the communication clock (fCCLK) to 8 MHz or lower.
Remark
When n = 0, 1, m = 1
When n = 2, 3, m = 2
When n = 4, m = 3
For details of fBRGm, see 18.8 Baud Rate Generator.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 628 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(5) CSIBn control register 2 (CBnCTL2)
CBnCTL2 is an 8-bit register that is used to specify the CSIBn serial transfer data length.
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
Caution
The CBnCTL2 register can be rewritten only when the CBnCTL0.CBnPWR bit is 0 or when both
the CBnTXE and CBnRXE bits are 0.
After reset: 00H
R/W
Address: CB0CTL2 FFFFFD02H, CB1CTL2 FFFFFD12H,
CB2CTL2 FFFFFD22H, CB3CTL2 FFFFFD32H,
CB4CTL2 FFFFFD42H
CBnCTL2
0
0
0
0
CBnCL3 CBnCL2
CBnCL1
CBnCL0
(n = 0 to 4)
CBnCL3
CBnCL2 CBnCL1
CBnCL0
Transfer data length
0
0
0
0
8 bits
0
0
0
1
9 bits
0
0
1
0
10 bits
0
0
1
1
11 bits
0
1
0
0
12 bits
0
1
0
1
13 bits
0
1
1
0
14 bits
0
1
1
1
15 bits
1
×
×
×
16 bits
Remarks 1. If the transfer data length is other than 8 or 16 bits, set the data
to the CBnTX or CBnRX register starting from the LSB.
2. : don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 629 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(a) Changing the transfer data length
The CSIBn transfer data length can be set in 1-bit units between 8 and 16 bits using the CBnCTL2.CBnCL3 to
CBnCTL2.CBnCL0 bits.
When the transfer data length is set to a value other than 16 bits, the data must be set to the CBnTX or CBnRX
register starting from the LSB, regardless of whether the transfer start bit is the MSB or LSB. Any data can be
set for the higher bits that are not used, but the received data becomes 0 following serial transfer.
Figure 18-4. Example of Operation with Transfer Data Length Set to Other Than 16 Bits
(i) Transfer data length = 10 bits, MSB first
SOBn
SIBn
15
10
9
0
Insertion of 0
(ii) Transfer data length = 12 bits, LSB first
SIBn
15
12
SOBn
11
0
Insertion of 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 630 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(6) CSIBn status register (CBnSTR)
CBnSTR is an 8-bit register that displays the CSIBn status.
This register can be read or written in 8-bit or 1-bit units, but the CBnTSF flag is read-only.
Reset sets this register to 00H.
In addition to reset input, the CBnSTR register can be initialized by clearing (0) the CBnCTL0.CBnPWR bit.
After reset 00H
R/W
Address: CB0STR FFFFFD03H, CB1STR FFFFFD13H,
CB2STR FFFFFD23H, CB3STR FFFFFD33H,
CB4STR FFFFFD43H
< >
< >
CBnSTR
CBnTSF
0
0
0
0
0
0
CBnOVE
(n = 0 to 4)
CBnTSF
Communication status flag
0
Communication stopped
1
Communicating
• During transmission, this register is set when data is prepared in the CBnTX
register, and during reception, it is set when a dummy read of the CBnRX register
is performed.
When transfer ends, this flag is cleared to 0 at the last edge of the clock cycle.
CBnOVE
Overrun error flag
0
No overrun
1
Overrun
• An overrun error occurs when the next reception is completed without the CPU
reading the value of the receive buffer, during reception or upon completion of a
receive operation.
The CBnOVE flag displays the overrun error occurrence status in this case.
• The CBnOVE bit is valid also in the single transfer mode. Therefore, when only
using transmission, note the following.
• Do not check the CBnOVE flag.
• Read this bit even if reading the receive data is not required.
• The CBnOVE flag is cleared by writing 0 to it. It cannot be set even by writing 1 to it.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 631 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.5 Interrupt Request Signals
CSIBn can generate the following two interrupt request signals.
Reception complete interrupt request signal (INTCBnR)
Transmission enable interrupt request signal (INTCBnT)
Of these two interrupt request signals, the reception complete interrupt request signal has the higher priority by default,
and the priority of the transmission enable interrupt request signal is lower.
Table 18-3. Interrupts and Their Default Priority
Interrupt Request Signal
Priority
Reception complete
High
Transmission enable
Low
(1) Reception complete interrupt request signal (INTCBnR)
When receive data is transferred to the CBnRX register while reception is enabled, the reception complete interrupt
request signal is generated.
This interrupt request signal can also be generated if an overrun error occurs.
When the reception complete interrupt request signal is acknowledged and the data is read, read the CBnSTR
register to check that the result of reception is not an error.
In the single transfer mode, the INTCBnR interrupt request signal is generated upon completion of transmission,
even when only transmission is executed.
(2) Transmission enable interrupt request signal (INTCBnT)
In the continuous transmission or continuous transmission/reception mode, transmit data is transferred from the
CBnTX register and, as soon as writing to CBnTX has been enabled, the transmission enable interrupt request
signal is generated.
In the single transmission and single transmission/reception modes, the INTCBnT interrupt is not generated.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 632 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6 Operation
18.6.1 Single transfer mode (master mode, transmission mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = fXX/2 (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 000), transfer data length = 8 bits
(CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
Figure 18-5. Single Transfer Mode Operation (Master Mode, Transmission Mode)
START
(1), (2), (3)
CBnCTL1 register ← 00H
CBnCTL2 register ← 00H
CBnCTL0 register ← C1H
(4)
Write CBnTX register
(5)
Start transmission
(6)
INTCBnR interrupt
generated?
No
Yes
Transmission
completed?
No (7)
Yes
(8)
CBnCTL0 register ← 00H
END
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-6.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 633 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-6. Single Transfer Mode Operation Timing (Master Mode, Transmission Mode)
CBnTSF bit
INTCBnR signal
SCKBn pin
SOBn pin
Bit 7
(1)
(2)
(3)
(4)
Bit 6
Bit 5
(5)
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
(6)
Bit 7 Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
(7)
(8)
(1) Write 00H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
fXX/2, and master mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write C1H to the CBnCTL0 register, and select the transmission mode and MSB first at the same time
as enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by writing the transmit data to the CBnTX register, and
transmission is started.
(5) When transmission is started, output the serial clock to the SCKBn pin, and output the transmit data
from the SOBn pin in synchronization with the serial clock.
(6) When transmission of data of the transfer data length set by the CBnCTL2 register is completed, stop
the serial clock output and transmit data output, generate the reception complete interrupt request
signal (INTCBnR) at the last edge of the serial clock cycle, and clear the CBnTSF bit to 0.
(7) To continue transmission, repeat the above steps from (4) after the INTCBnR signal is generated.
(8) To end transmission, clear the CBnCTL0.CBnPWR and CBnCTL0.CBnTXE bits to 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 634 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.2 Single transfer mode (master mode, reception mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = fXX/2 (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 000), transfer data length = 8 bits
(CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
Figure 18-7. Single Transfer Mode Operation (Master Mode, Reception Mode)
START
(1), (2), (3)
CBnCTL1 register ← 00H
CBnCTL2 register ← 00H
CBnCTL0 register ← A1H
(4)
CBnRX register
dummy read
(5)
Start reception
(6)
INTCBnR interrupt
generated?
No
Yes
Reception completed?
Yes
(8)
CBnSCE bit = 0
(CBnCTL0)
(9)
Read CBnRX register
(10)
CBnCTL0 register ← 00H
No (7)
Read CBnRX register
END
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-8.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 635 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-8. Single Transfer Mode Operation Timing (Master Mode, Reception Mode)
CBnTSF bit
INTCBnR signal
SCKBn pin
SIBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SIBn pin capture
timing
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(1) Write 00H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
fXX/2, and master mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write A1H to the CBnCTL0 register, and select the reception mode and MSB first at the same time as
enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by performing a dummy read of the CBnRX register, and
reception is started.
(5) When reception is started, output the serial clock to the SCKBn pin, and capture the receive data of
the SIBn pin in synchronization with the serial clock.
(6) When reception of data of the transfer data length set by the CBnCTL2 register is completed, stop the
serial clock output and data capturing, generate the reception complete interrupt request signal
(INTCBnR) at the last edge of the serial clock cycle, and clear the CBnTSF bit to 0.
(7) To continue reception, read the CBnRX register with the CBnCTL0.CBnSCE bit set to 1 after the
INTCBnR signal is generated.
(8) To read the CBnRX register without starting the next reception, clear the CBnSCE bit to 0.
(9) Read the CBnRX register.
(10) To end reception, clear the CBnCTL0.CBnPWR and CBnCTL0.CBnRXE bits to 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 636 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.3 Single transfer mode (master mode, transmission/reception mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = fXX/2 (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 000), transfer data length = 8 bits
(CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
Figure 18-9. Single Transfer Mode Operation (Master Mode, Transmission/Reception Mode)
START
(1), (2), (3)
CBnCTL1 register ← 00H
CBnCTL2 register ← 00H
CBnCTL0 register ← E1H
(4)
Write CBnTX register
(5)
Start transmission/reception
(6)
INTCBnR interrupt
generated?
No
Yes
(7), (9)
Read CBnRX register
Transmission/reception
completed?
No (8)
Yes
(10)
CBnCTL0 ← 00H
END
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-10.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 637 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-10. Single Transfer Mode Operation Timing (Master Mode, Transmission/Reception Mode)
CBnTSF bit
INTCBnR signal
SCKBn pin
SOBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
SIBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
SIBn pin capture
timing
(1)
(2)
(3)
(4)
(5)
(6) (7) (8)
(9)(10)
(1) Write 00H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
fXX/2, and master mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write E1H to the CBnCTL0 register, and select the transmission/reception mode and MSB first at the
same time as enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by writing the transmit data to the CBnTX register, and
transmission/reception is started.
(5) When transmission/reception is started, output the serial clock to the SCKBn pin, output the transmit
data to the SOBn pin in synchronization with the serial clock, and capture the receive data of the SIBn
pin.
(6) When transmission/reception of data of the transfer data length set by the CBnCTL2 register is
completed, stop the serial clock output, transmit data output, and data capturing, generate the
reception complete interrupt request signal (INTCBnR) at the last edge of the serial clock cycle, and
clear the CBnTSF bit to 0.
(7) Read the CBnRX register.
(8) To continue transmission/reception, repeat the above steps from (4).
(9) Read the CBnRX register.
(10) To
end
transmission/reception,
clear
the
CBnCTL0.CBnPWR,
CBnCTL0.CBnTXE,
and
CBnCTL0.CBnRXE bits to 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 638 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.4 Single transfer mode (slave mode, transmission mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = external clock (SCKBn) (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 111), transfer
data length = 8 bits (CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
Figure 18-11. Single Transfer Mode Operation (Slave Mode, Transmission Mode)
START
(1), (2), (3)
CBnCTL1 register ← 07H
CBnCTL2 register ← 00H
CBnCTL0 register ← C1H
(4)
Write CBnTX registerNote
(4)
SCKBn pin input
started?
No
Yes
(5)
Start transmission
(6)
INTCBnR interrupt
generated?
No
Yes
Transmission
completed?
No (7)
Yes
(8)
CBnCTL0 ← 00H
END
Note If the serial clock is input via the SCKBn pin of the master before the CBnTX register is written, data
cannot be transmitted normally. In this case, initialize both the master and the slave.
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-12.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 639 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-12. Single Transfer Mode Operation Timing (Slave Mode, Transmission Mode)
CBnTSF bit
INTCBnR signal
SCKBn pin
SOBn pin
Bit 7
(1)
(2)
(3)
(4)
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
(5)
Bit 0
(6)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
(7)
Bit 0
(8)
(1) Write 07H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
external clock (SCKBn), and slave mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write C1H to the CBnCTL0 register, and select the transmission mode and MSB first at the same time
as enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by writing the transmit data to the CBnTX register, and the device
waits for serial clock input.
(5) When the serial clock is input, output the transmit data from the SOBn pin in synchronization with the
serial clock.
(6) When transmission of data of the transfer data length specified by the CBnCTL2 register is completed,
generate the reception complete interrupt request signal (INTCBnR) at the last edge of the serial clock
cycle, stop the serial clock input and transmit data output, and then clear the CBnTSF bit to 0.
(7) To continue transmission, repeat the above steps from (4) after the INTCBnR signal is generated.
(8) To end transmission, clear the CBnCTL0.CBnPWR and CBnCTL0.CBnTXE bits to 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 640 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.5 Single transfer mode (slave mode, reception mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = external clock (SCKBn) (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 111), transfer
data length = 8 bits (CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 641 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-13. Single Transfer Mode Operation (Slave Mode, Reception Mode)
START
(1), (2), (3)
CBnCTL1 register ← 07H
CBnCTL2 register ← 00H
CBnCTL0 register ← A1H
(4)
CBnRX register
dummy readNote
(4)
SCKBn pin input
started?
No
Yes
(5)
Start reception
(6)
INTCBnR interrupt
generated?
No
Yes
(6)
Reception completed?
Yes
(8)
CBnSCE bit = 0
(CBnCTL0)
(9)
Read CBnRX register
(10)
CBnCTL0 register ← 00H
No (7)
Read CBnRX register
END
Note If the serial clock is input via the SCKBn pin of the master before a dummy-read of the CBnRX
register is executed, data cannot be received normally. In this case, initialize both the master and
the slave.
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-14.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 642 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-14. Single Transfer Mode Operation Timing (Slave Mode, Reception Mode)
CBnTSF bit
INTCBnR signal
SCKBn pin
SIBn pin
Bit 7
Bit 6
Bit 5 Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5 Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SIBn pin capture
timing
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(1) Write 07H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
external clock (SCKBn), and slave mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write A1H to the CBnCTL0 register, and select the reception mode and MSB first at the same time as
enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by performing a dummy read of the CBnRX register, and the
device waits for serial clock input.
(5) When the serial clock is input, capture the receive data of the SIBn pin in synchronization with the
serial clock.
(6) When reception of the data of transfer data length set by the CBnCTL2 register is completed, stop the
serial clock input and data capturing, generate the reception complete interrupt request signal
(INTCBnR) at the last edge of the serial clock, and clear the CBnTSF bit to 0.
(7) To continue reception, read the CBnRX register with the CBnCTL0.CBnSCE bit set to 1 after the
INTCBnR signal is generated, and wait for serial clock input.
(8) To end reception, clear the CBnSCE bit to 0.
(9) Read the CBnRX register.
(10) Clear the CBnCTL0.CBnPWR and CBnCTL0.CBnRXE bits to 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 643 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.6 Single transfer mode (slave mode, transmission/reception mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = external clock (SCKBn) (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 111), transfer
data length = 8 bits (CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
Figure 18-15. Single Transfer Mode Operation (Slave Mode, Transmission/Reception Mode)
START
(1), (2), (3)
CBnCTL1 register ← 07H
CBnCTL2 register ← 00H
CBnCTL0 register ← E1H
(4)
Write CBnTX registerNote
(4)
SCKBn pin input
started?
No
Yes
(5)
Start transmission/reception
(6)
INTCBnR interrupt
generated?
No
Yes
(7), (9)
Read CBnRX register
Transmission/reception
completed?
No (8)
Yes
(10)
CBnCTL0 ← 00H
END
Note If the serial clock is input via the SCKBn pin of the master before the CBnTX register is written, data
cannot be transmitted/received normally. In this case, initialize both the master and the slave.
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-16.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 644 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-16. Single Transfer Mode Operation Timing (Slave Mode, Transmission/Reception Mode)
CBnTSF bit
INTCBnR signal
SCKBn pin
SOBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SIBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SIBn pin capture
timing
(1)
(2)
(3)
(4)
(5)
(6) (7) (8)
(9)(10)
(1) Write 07H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
external clock (SCKBn), and slave mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write E1H to the CBnCTL0 register, and select the transmission/reception mode and MSB first at the
same time as enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by writing the transmit data to the CBnTX register, and the device
waits for serial clock input.
(5) When the serial clock is input, output the transmit data to the SOBn pin in synchronization with the
serial clock, and capture the receive data of the SIBn pin.
(6) When transmission/reception of data of the transfer data length set by the CBnCTL2 register is
completed, stop the serial clock input, transmit data output, and data capturing, generate the reception
complete interrupt request signal (INTCBnR) at the last edge of the serial clock cycle, and clear the
CBnTSF bit to 0.
(7) Read the CBnRX register.
(8) To continue transmission/reception, repeat the above steps from (4).
(9) Read the CBnRX register.
(10) To
end
transmission/reception,
clear
the
CBnCTL0.CBnPWR,
CBnCTL0.CBnTXE,
and
CBnCTL0.CBnRXE bits to 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 645 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.7 Continuous transfer mode (master mode, transmission mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = fXX/2 (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 000), transfer data length = 8 bits
(CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
Figure 18-17. Continuous Transfer Mode Operation (Master Mode, Transmission Mode)
START
(1), (2), (3)
(4)
CBnCTL1 register ← 00H
CBnCTL2 register ← 00H
CBnCTL0 register ← C3H
Write CBnTX register
(5), (8)
Start transmission
(6), (9)
INTCBnT interrupt
generated?
No
Yes
Transmission
completed?
No (7)
Yes
(10)
CBnTSF bit = 0?
(CBnSTR register)
No
Yes
(11)
CBnCTL0 ← 00H
END
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-18.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 646 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-18. Continuous Transfer Mode Operation Timing (Master Mode, Transmission Mode)
CBnTSF bit
INTCBnT signal
INTCBnR signal
L
SCKBn pin
SOBn pin
Bit 7
(1)
(2)
(3)
(4)
(5)
Bit 6
Bit 5
(6)
Bit 4
Bit 3
Bit 2
Bit 1
(7)
Bit 0 Bit 7
(8)
Bit 6
Bit 5 Bit 4
Bit 3
Bit 2
Bit 1 Bit 0
(9)
(10)
(11)
(1) Write 00H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
fXX/2, and master mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write C3H to the CBnCTL0 register, and select the transmission mode, MSB first, and continuous
transfer mode at the same time as enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by writing the transmit data to the CBnTX register, and
transmission is started.
(5) When transmission is started, output the serial clock to the SCKBn pin, and output the transmit data
from the SOBn pin in synchronization with the serial clock.
(6) When transfer of the transmit data from the CBnTX register to the shift register is completed and
writing to the CBnTX register is enabled, the transmission enable interrupt request signal (INTCBnT) is
generated.
(7) To continue transmission, repeat the above steps from (4) after the INTCBnT signal is generated.
(8) When new transmit data is written to the CBnTX register before communication is complete, the next
communication is started following the completion of communication.
(9) The transfer of the transmit data from the CBnTX register to the shift register is completed and the
INTCBnT signal is generated. To end continuous transmission with the current transmission, do not
write to the CBnTX register.
(10) If the next transmit data is not written to the CBnTX register before transfer is complete, wait for the
CBnTSF bit to be cleared to 0 after completion of transfer.
(11) To disable transmission, clear the CBnCTL0.CBnPWR and CBnCTL0.CBnTXE bits to 0 after
confirming that the CBnTSF bit is set to 0.
Caution
In continuous transmission mode, the reception complete interrupt request signal
(INTCBnR) is not generated.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 647 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.8 Continuous transfer mode (master mode, reception mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = fXX/2 (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 000), transfer data length = 8 bits
(CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
The flowchart in Figure 18-19 shows the operation where a specified number of data items are received in the master
mode. Operations are repeated until all the specified data items are received. If an overrun error occurs, however, transfer
ends. Perform error processing as necessary. For details about the overrun error, see 18.6.13 Reception errors.
The operation timing in Figure 18-20 shows a case where no error occurred.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 648 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-19. Continuous Transfer Mode Operation (Master Mode, Reception Mode)
START
(1), (2), (3)
CBnCTL1 register ← 00H
CBnCTL2 register ← 00H
CBnCTL0 register ← A3H
(4)
CBnRX register
dummy read
(5)
Start reception
(6)
No
INTCBnR interrupt
generated?
Yes
Yes
Overrun error occurred.
CBnOVE bit = 1?
(CBnSTR)
No
CBnSCE bit = 0
(CBnCTL0)
Is data being
received last data?
No
(7)
Yes
Read CBnRX register
(8)
CBnSCE bit = 0
(CBnCTL0)
CBnOVE bit = 0
(CBnSTR)
(9)
(9)
Read CBnRX register
Read CBnRX register
Error processing
(10)
INTCBnR interrupt
generated?
No
Yes
(11)
Read CBnRX register
(12)
CBnTSF bit = 0?
(CBnSTR)
No
Yes
(12)
CBnCTL0 register ← 00H
END
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-20.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 649 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-20. Continuous Transfer Mode Operation Timing (Master Mode, Reception Mode)
CBnTSF bit
INTCBnR signal
CBnSCE bit
SCKBn pin
SOBn pin
L
SIBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0 Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
SIBn pin capture
timing
(1) (3) (4)
(2)
(5)
(6) (7) (8) (9)
(10)
(11) (12)
(1) Write 00H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
fXX/2, and master mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write A3H to the CBnCTL0 register, and select the reception mode, MSB first, and continuous transfer
mode at the same time as enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by performing a dummy read of the CBnRX register, and
reception is started.
(5) When reception is started, output the serial clock to the SCKBn pin, and capture the receive data of
the SIBn pin in synchronization with the serial clock.
(6) When reception is completed, the reception complete interrupt request signal (INTCBnR) is generated,
and reading receive data from the CBnRX register is enabled.
(7) Because the CBnCTL0.CBnSCE bit was 1 when communication ended, the next communication is
started immediately.
(8) To end continuous reception with the current reception, clear the CBnSCE bit to 0.
(9) Read the CBnRX register.
(10) When reception is completed, the INTCBnR signal is generated and reading receive data from the
CBnRX register is enabled. If the CBnSCE bit is set to 0 before communication is complete, stop the
serial clock output to the SCKBn pin and clear the CBnTSF bit to 0 to end the receive operation.
(11) Read the CBnRX register.
(12) To disable reception, clear the CBnCTL0.CBnPWR and CBnCTL0.CBnRXE bits to 0 after confirming
that the CBnTSF bit is 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 650 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.9 Continuous transfer mode (master mode, transmission/reception mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = fXX/2 (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 000), transfer data length = 8 bits
(CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
The flowchart in Figure 18-21 shows the operation where the specified number of transmit/receive data items are
transmitted are received in the master mode.
Operations are repeated until all the specified data items are
transmitted/received. If an overrun error occurs, however, transfer ends. Perform error processing as necessary. For
details about the overrun error, see 18.6.13 Reception errors.
The operation timing in Figure 18-22 shows a case where no error occurred.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 651 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-21. Continuous Transfer Mode Operation (Master Mode, Transmission/Reception Mode)
START
(1), (2), (3)
CBnCTL1 register ← 00H
CBnCTL2 register ← 00H
CBnCTL0 register ← E3H
(4)
Write CBnTX register
(5)
Start transmission/reception
(6), (11)
INTCBnT interrupt
generated?
No
Yes
(7)
Is data being
transmitted last data?
Yes (11)
No
(7)
No
Write CBnTX register
INTCBnR interrupt
generated?
(8)
Yes
Overrun error occurred.
Yes
CBnOVE bit = 1?
(CBnSTR)
(9)
No
Read CBnRX register
(10)
Read CBnRX register
CBnOVE bit = 0
(CBnSTR)
Is receive data
last data?
No
Yes (12)
Error processing
(14)
CBnTSF bit = 0?
(CBnSTR)
No
Yes
(14)
CBnCTL0 register ← 00H
END
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-22.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 652 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-22. Continuous Transfer Mode Operation Timing (Master Mode, Transmission/Reception Mode) (1/2)
CBnTSF bit
INTCBnT signal
INTCBnR signal
SCKBn pin
SOBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0 Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SIBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0 Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SIBn pin capture
timing
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8) (9) (10) (11)
(12)
(13) (14)
(1) Write 00H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
fXX/2, and master mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write E3H to the CBnCTL0 register, and select the transmission/reception mode, MSB first, and
continuous transfer mode at the same time as enabling the operation of the communication clock
(fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by writing the transmit data to the CBnTX register, and
transmission/reception is started.
(5) When transmission/reception is started, output the serial clock to the SCKBn pin, output the transmit
data to the SOBn pin in synchronization with the serial clock, and capture the receive data of the SIBn
pin.
(6) When transfer of the transmit data from the CBnTX register to the shift register is completed and
writing to the CBnTX register is enabled, the transmission enable interrupt request signal (INTCBnT) is
generated.
(7) To continue transmission/reception, write the transmit data to the CBnRX register again after the
INTCBnT signal is generated.
(8) When one transmission/reception is completed, the reception complete interrupt request signal
(INTCBnR) is generated, and reading of the CBnRX register is enabled.
(9) When new transmit data is written to the CBnTX register before communication is complete, the next
communication is started following completion of communication.
(10) Read the CBnRX register.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 653 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-22. Continuous Transfer Mode Operation Timing (Master Mode, Transmission/Reception Mode) (2/2)
(11) The transfer of the transmit data from the CBnTX register to the shift register is completed and the
INTCBnT signal is generated.
To end continuous transmission/reception with the current
transmission/reception, do not write to the CBnTX register.
(12) If the next transmit data is not written to the CBnTX register before transfer is complete, stop outputting
the serial clock to the SCKBn pin and wait for the CBnTSF bit to be cleared to 0 after completion of
transfer.
(13) When the reception complete interrupt request signal (INTCBnR) is generated, read the CBnRX
register.
(14) To
disable
transmission/reception,
clear
the
CBnCTL0.CBnPWR,
CBnCTL0.CBnTXE,
and
CBnCTL0.CBnRXE bits to 0 after confirming that the CBnTSF bit is set to 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 654 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.10 Continuous transfer mode (slave mode, transmission mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = external clock (SCKBn) (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 111), transfer
data length = 8 bits (CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
Figure 18-23. Continuous Transfer Mode Operation (Slave Mode, Transmission Mode)
START
(1), (2), (3)
CBnCTL1 register ← 07H
CBnCTL2 register ← 00H
CBnCTL0 register ← C3H
(4)
Write CBnTX registerNote
(4)
SCKBn pin input
started?
No
Yes
(5), (8)
Start transmission
(6), (9)
INTCBnT interrupt
generated?
No
Yes
(9)
Transmission
completed?
No (7)
Yes
(10)
CBnTSF bit = 0?
(CBnSTR register)
No
Yes
(11)
CBnCTL0 register ← 00H
END
Note If the serial clock is input via the SCKBn pin of the master before the CBnTX register is written, data
cannot be transmitted normally. In this case, initialize both the master and the slave.
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-24.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 655 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-24. Continuous Transfer Mode Operation Timing (Slave Mode, Transmission Mode)
CBnTSF bit
INTCBnT signal
SCKBn pin
SOBn pin
Bit 7
(1)
(2)
(3)
(4)
(5)
Bit 6
(6)
Bit 5
Bit 4
Bit 3
Bit 2
(7)
Bit 1
Bit 0 Bit 7
(8)
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
(9)
Bit 0
(10)
(11)
(1) Write 07H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
external clock (SCKBn), and slave mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write C3H to the CBnCTL0 register, and select the transmission mode, MSB first, and continuous
transfer mode at the same time as enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by writing the transmit data to the CBnTX register, and the device
waits for serial clock input.
(5) When the serial clock is input, output the transmit data from the SOBn pin in synchronization with the
serial clock.
(6) When transfer of the transmit data from the CBnTX register to the shift register is completed and
writing to the CBnTX register is enabled, the transmission enable interrupt request signal (INTCBnT) is
generated.
(7) To continue transmission, repeat the above steps from (4) after the INTCBnT signal is generated.
(8) When the serial clock is input following completion of the transmission of the transfer data length set
by the CBnCTL2 register, continuous transmission is started.
(9) When transfer of the transmit data from the CBnTX register to the shift register is completed and
writing to the CBnTX register is enabled, the INTCBnT signal is generated.
To end continuous
transmission with the current transmission, do not write to the CBnTX register.
(10) When the number of clock cycles of the transfer data length set by the CBnCTL2 register is input
without writing to the CBnTX register, clear the CBnTSF bit to 0 to end transmission.
(11) To disable transmission, clear the CBnCTL0.CBnPWR and CBnCTL0.CBnTXE bits to 0 after
confirming that the CBnTSF bit is set to 0.
Caution
In continuous transmission mode, the reception complete interrupt request signal
(INTCBnR) is not generated.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 656 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.11 Continuous transfer mode (slave mode, reception mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = external clock (SCKBn) (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 111), transfer
data length = 8 bits (CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
The flowchart in Figure 18-25 shows the operation where the specified number of data items are received in the slave
mode. Operations are repeated until all the specified data items are received. If an overrun error occurs, however, transfer
ends. Perform error processing as necessary. For details about the overrun error, see 18.6.13 Reception errors.
The operation timing in Figure 18-26 shows a case where no error occurred.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 657 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-25. Continuous Transfer Mode Operation (Slave Mode, Reception Mode)
START
(1), (2), (3)
CBnCTL1 register ← 07H
CBnCTL2 register ← 00H
CBnCTL0 register ← A3H
(4)
CBnRX register
dummy readNote
(4)
SCKBn pin input
started?
No
Yes
(5)
No
Reception start
(6)
INTCBnR interrupt
generated?
Yes
Yes
Overrun error
occurred.
CBnOVE bit = 1?
(CBnSTR)
No
CBnSCE bit = 0
(CBnCTL0)
Is data
being received last
data?
Read CBnRX register
CBnOVE bit = 0
(CBnSTR)
No
(7)
Yes
(8)
CBnSCE bit = 0
(CBnCTL0)
(9)
Read CBnRX register
(10)
INTCBnR interrupt
generated?
(9)
Read CBnRX register
Error processing
No
Yes
(11)
Read CBnRX register
(12)
CBnTSF bit = 0?
(CBnSTR)
No
Yes
(12)
CBnCTL0 register ← 00H
END
Note If the serial clock is input via the SCKBn pin of the master before a dummy-read of the CBnRX
register is executed, data cannot be received normally. In this case, initialize both the master and
the slave.
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-26.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 658 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-26. Continuous Transfer Mode Operation Timing (Slave Mode, Reception Mode)
CBnTSF bit
INTCBnR signal
CBnSCE bit
SCKBn pin
SIBn pin
Bit 7
Bit 6
Bit 5
Bit 4 Bit 3
Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4 Bit 3
Bit 2
Bit 1
Bit 0
SIBn pin capture
timing
(1) (3) (4)
(2)
(5)
(6) (7) (8) (9)
(10)
(11) (12)
(1) Write 07H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
external clock (SCKBn), and slave mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write A3H to the CBnCTL0 register, and select the reception mode, MSB first, and continuous transfer
mode at the same time as enabling the operation of the communication clock (fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by performing a dummy read of the CBnRX register, and the
device waits for serial clock input.
(5) When the serial clock is input, capture the receive data of the SIBn pin in synchronization with the
serial clock.
(6) When reception is completed, the reception complete interrupt request signal (INTCBnR) is generated,
and reading receive data from the CBnRX register is enabled.
(7) When the serial clock is input with the CBnCTL0.CBnSCE bit set to 1, continuous reception is started.
(8) To end continuous reception with the current reception, clear the CBnSCE bit to 0.
(9) Read the CBnRX register.
(10) When reception is completed, the INTCBnR signal is generated, and reading receive data from the
CBnRX register is enabled. If the CBnSCE bit is set to 0 before communication is complete, clear the
CBnTSF bit to 0 to end the receive operation.
(11) Read the CBnRX register.
(12) To disable reception, clear the CBnCTL0.CBnPWR and CBnCTL0.CBnRXE bits to 0 after confirming
that the CBnTSF bit is 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 659 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.12 Continuous transfer mode (slave mode, transmission/reception mode)
MSB first (CBnCTL0.CBnDIR bit = 0), communication type 1 (CBnCTL1.CBnCKP and CBnCTL1.CBnDAP bits = 00),
communication clock (fCCLK) = external clock (SCKBn) (CBnCTL1.CBnCKS2 to CBnCTL1.CBnCKS0 bits = 111), transfer
data length = 8 bits (CBnCTL2.CBnCL3 to CBnCTL2.CBnCL0 bits = 0000)
The flowchart in Figure 18-27 shows the operation where the specified number of transmit/receive data items are
transmitted/received in the slave mode. Operations are repeated until all the specified data items are transmitted/received.
If an overrun error occurs, however, transfer ends. Perform error processing as necessary. For details about the overrun
error, see 18.6.13 Reception errors.
The operation timing in Figure 18-28 shows a case where no error occurred.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 660 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-27. Continuous Transfer Mode Operation (Slave Mode, Transmission/Reception Mode)
START
(1), (2), (3)
CBnCTL1 register ← 07H
CBnCTL2 register ← 00H
CBnCTL0 register ← E3H
(4)
Write CBnTX registerNote
(4)
SCKBn pin input
started?
No
Yes
(5)
Start transmission/
reception
(6)
INTCBnT interrupt
generated?
No
Yes
(7)
Is data
being transmitted
last data?
Yes
No
(7)
No
Write CBnTX register
INTCBnR interrupt
generated?
(8)
Yes
Read CBnRX register
Yes
(9)
CBnOVE bit = 1?
(CBnSTR)
No
CBnOVE bit = 0
(CBnSTR)
Is receive data
last data?
No
Error processing
Yes
(10)
CBnTSF bit = 0?
(CBnSTR)
No
Yes
(10)
CBnCTL0 register ← 00H
END
Note If the serial clock is input via the SCKBn pin of the master before the CBnTX register is written, data
cannot be transmitted/received normally. In this case, initialize both the master and the slave.
Remarks 1. The broken lines indicate the hardware processing.
2. The numbers in this figure correspond to the processing numbers in Figure 18-28.
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 661 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-28. Continuous Transfer Mode Operation Timing (Slave Mode, Transmission/Reception Mode)
CBnTSF bit
INTCBnT signal
INTCBnR signal
SCKBn pin
SOBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
SIBn pin
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3 Bit 2
Bit 1
Bit 0
SIBn pin capture
timing
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) (6)
(7)
(8)
(9) (10)
(1) Write 07H to the CBnCTL1 register, and select communication type 1, communication clock (fCCLK) =
external clock (SCKBn), and slave mode.
(2) Write 00H to the CBnCTL2 register, and set the transfer data length to 8 bits.
(3) Write E3H to the CBnCTL0 register, and select the transmission/reception mode, MSB first, and
continuous transfer mode at the same time as enabling the operation of the communication clock
(fCCLK).
(4) The CBnSTR.CBnTSF bit is set to 1 by writing the transmit data to the CBnTX register, and the device
waits for serial clock input.
(5) When the serial clock is input, output the transmit data to the SOBn pin in synchronization with the
serial clock, and capture the receive data of the SIBn pin.
(6) When transfer of the transmit data from the CBnTX register to the shift register is completed and
writing to the CBnTX register is enabled, the transmission enable interrupt request signal (INTCBnT) is
generated.
(7) To continue transmission, write the transmit data to the CBnTX register again after the INTCBnT signal
is generated. When transfer of transmit data from the CBnTX register to the shift register is complete
and writing data to the CBnTX register is enabled, the INTCBnT signal is generated.
To end
continuous transmission/reception with the current transmission/reception, do not write data to the
CBnTX register.
(8) When reception of data of the transfer data length set by the CBnCTL2 register is completed, the
reception complete interrupt request signal (INTCBnR) is generated, and reading of the CBnRX
register is enabled. If the next transmit data is written to the CBnTX register in (7) and the serial clock
is input immediately, new continuous transmission/reception is started. If the next data is not written to
the CBnTX register, clear the CBnTSF bit to 0 to end the transmission/reception.
(9) Read the CBnRX register.
(10) To disable transmission, clear the CBnCTL0.CBnPWR, CBnCTL0.CBnTXE, and CBnCTL0.CBnRXE
bits to 0 after confirming that the CBnTSF bit is set to 0.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 662 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.13 Reception errors
When transfer is performed with reception enabled (CBnCTL0.CBnRXE bit = 1) in the continuous transfer mode, the
reception complete interrupt request signal (INTCBnR) is generated again if the next receive operation is completed before
the CBnRX register is read after the INTCBnR signal is generated, and the overrun error flag (CBnSTR.CBnOVE) is set to
1.
If an overrun error occurs, the previous receive data is lost because the CBnRX register is updated. Even if a reception
error occurs, the INTCBnR signal is generated again upon completion of the next reception if the CBnRX register is not
read.
An overrun error occurs if reading the CBnRX register has not been completed half a clock cycle before the last bit of
the next receive data is sampled after the INTCBnR signal is generated.
Figure 18-29. Overrun Error Timing
CBnRX register
read signal
INTCBnR signal
CBnOVE bit
CBnRX register
AAH
Shift register
01H
02H
05H 0AH
15H 2AH 55H
AAH 00H
01H
55H
02H
05H
0AH
15H 2AH 55H
SCKBn pin
SIBn pin
SIBn pin capture
timing
(1)
(2)
(3)(4)
(1) Start of continuous transfer
(2) Completion of the first transfer
(3) The CBnRX register cannot be read until half a clock cycle before the completion of the second
transfer.
(4) An overrun error occurs, the reception complete interrupt request signal (INTCBnR) is generated, and
the overrun error flag (CBnSTR.CBnOVE) is set to 1. The receive data is overwritten.
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 663 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.6.14 Clock timing
Figure 18-30. Clock Timing (1/2)
(i) Communication type 1 (CBnCKP and CBnDAP bits = 00)
SCKBn pin
SIBn capture
SOBn pin
D7
D6
D5
D4
D3
D2
D1
D0
Reg-R/W
INTCBnT
interruptNote 1
INTCBnR
interruptNote 2
CBnTSF bit
(ii) Communication type 3 (CBnCKP and CBnDAP bits = 10)
SCKBn pin
SIBn capture
SOBn pin
D7
D6
D5
D4
D3
D2
D1
D0
Reg-R/W
INTCBnT
interruptNote 1
INTCBnR
interruptNote 2
CBnTSF bit
Notes 1. The INTCBnT interrupt is set when the data written to the CBnTX register is transferred to the data
shift register in the continuous transmission or continuous transmission/reception mode. In the
single transmission or single transmission/reception mode, the INTCBnT interrupt request signal is
not generated, but the INTCBnR interrupt request signal is generated at the end of communication.
2. The INTCBnR interrupt occurs if reception is complete and the next receive data is ready in the
CBnRX register while reception is enabled. In the single mode, the INTCBnR interrupt request
signal is generated even in the transmission mode, at the end of communication.
Caution
In single transfer mode, writing to the CBnTX register with the CBnTSF bit set to 1 is ignored.
This has no effect on the operation during transfer.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 664 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
Figure 18-30. Clock Timing (2/2)
(iii) Communication type 2 (CBnCKP and CBnDAP bits = 01)
SCKBn pin
SIBn capture
D7
SOBn pin
D6
D5
D4
D3
D2
D1
D0
Reg-R/W
INTCBnT
interruptNote 1
INTCBnR
interruptNote 2
CBnTSF bit
(iv) Communication type 4 (CBnCKP and CBnDAP bits = 11)
SCKBn pin
SIBn capture
SOBn pin
D7
D6
D5
D4
D3
D2
D1
D0
Reg-R/W
INTCBnT
interruptNote 1
INTCBnR
interruptNote 2
CBnTSF bit
Notes 1. The INTCBnT interrupt is set when the data written to the CBnTX register is transferred to the data
shift register in the continuous transmission or continuous transmission/reception modes. In the
single transmission or single transmission/reception modes, the INTCBnT interrupt request signal is
not generated, but the INTCBnR interrupt request signal is generated at the end of communication.
2. The INTCBnR interrupt occurs if reception is complete and the next receive data is ready in the
CBnRX register while reception is enabled. In the single mode, the INTCBnR interrupt request
signal is generated even in the transmission mode, at the end of communication.
Caution
In single transfer mode, writing to the CBnTX register with the CBnTSF bit set to 1 is ignored.
This has no effect on the operation during transfer.
For example, if the next data is written to the CBnTX register when DMA is started by
generating the INTCBnR signal, the written data is not transferred because the CBnTSF bit is
set to 1.
Use the continuous transfer mode, not the single transfer mode, for such applications.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 665 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.7 Output Pins
(1) SCKBn pin
When CSIBn is disabled (CBnCTL0.CBnPWR bit = 0), the SCKBn pin output status is as follows.
Table 18-4. SCKBn Pin Output Status with CSIBn Disabled
CBnCKP
CBnCKS2
CBnCKS1
CBnCKS0
0
1
1
1
Other than above
1
1
1
SCKBn Pin Output
High impedance
High level
1
Other than above
High impedance
Low level
Remarks 1. The output level of the SCKBn pin changes if any of the CBnCTL1.CBnCKP and CBnCKS2 to
CBnCKS0 bits is rewritten.
2. n = 0 to 4
(2) SOBn pin
When CSIBn is disabled (CBnPWR bit = 0), the SOBn pin output status is as follows.
Table 18-5. SOBn Pin Output Status with CSIBn Disabled
CBnTXE
CBnDAP
CBnDIR
SOBn Pin Output
0
Low level
1
0
Low level
1
0
CBnTX0 value (MSB)
1
CBnTX0 value (LSB)
Remarks 1. The SOBn pin output changes when any one of the
CBnCTL0.CBnTXE, CBnCTL0.CBnDIR, and CBnCTL1.CBnDAP bits is
rewritten.
2. : Don’t care
3. n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 666 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.8 Baud Rate Generator
The BRG1 to BRG3 and CSIB0 to CSIB4 baud rate generators are connected as shown in the following block diagram.
Figure 18-31. Baud Rate Generator Connection
fX
fBRG1
BRG1
CSIB0
CSIB1
fX
fBRG2
BRG2
CSIB2
CSIB3
fX
fBRG3
BRG3
CSIB4
(1) Prescaler mode registers 1 to 3 (PRSM1 to PRSM3)
The PRSM1 to PRSM3 registers control generation of the baud rate signal for CSIBn.
These registers can be read or written in 8-bit or 1-bit units.
Reset sets these registers to 00H.
After reset: 00H
R/W
Address: PRSM1 FFFFF320H, PRSM2 FFFFF324H,
PRSM3 FFFFF328H
< >
PRSMm
(m = 1 to 3)
0
0
0
BGCEm
BGCEm
0
0
BGCSm1 BGCSm0
Baud rate output
0
Disabled
1
Enabled
Input clock selection (fBGCSm)
BGCSm1 BGCSm0
Setting value (k)
0
0
fXX
0
0
1
fXX/2
1
1
0
fXX/4
2
1
1
fXX/8
3
Cautions 1. Do not rewrite the PRSMm register during operation.
2. Before setting the BGCEm bit to 1, set the BGCSm1 and
BGCSm0 bits and prescaler compare registers 1 to 3
(PRSCM1 to PRSCM3).
3. Be sure to clear bits 7 to 5, 3 and 2 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 667 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
(2) Prescaler compare registers 1 to 3 (PRSCM1 to PRSCM3)
The PRSCM1 to PRSCM3 registers are 8-bit compare registers.
These registers can be read or written in 8-bit units.
Reset sets these registers to 00H.
After reset: 00H
R/W
Address: PRSCM1 FFFFF321H, PRSCM2 FFFFF325H,
PRSCM3 FFFFF329H
PRSCMm
PRSCMm7 PRSCMm6 PRSCMm5 PRSCMm4 PRSCMm3 PRSCMm2 PRSCMm1 PRSCMm0
Cautions 1. Do not rewrite the PRSCMm register during operation.
2. Set the PRSCMm register before setting the PRSMm.BGCEm bit to 1.
18.8.1 Baud rate generation
The transmission/reception clock is generated by dividing the main clock. The baud rate generated from the main clock
is obtained by the following equation.
fXX
fBRGm =
k+1
2
Caution
Remark
N
Set fBRGm to 8 MHz or lower.
fBRGm: BRGm count clock
fXX:
Main clock oscillation frequency
k:
PRSMm register setting value = 0 to 3
N:
PRSCMm register setting value = 1 to 256
However, N = 256 only when PRSCMm register is set to 00H.
m = 1 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 668 of 1210
V850ES/JG3-L
CHAPTER 18 CLOCKED SERIAL INTERFACE B (CSIB)
18.9 Cautions
(1)
When transferring transmit data and receive data using DMA transfer, error processing cannot be performed even
if an overrun error occurs during serial transfer. Check that the no overrun error has occurred by reading the
CBnSTR.CBnOVE bit after DMA transfer is complete.
(2)
In regards to registers that are forbidden must not be rewritten during operations (when the CBnCTL0.CBnPWR
bit is 1), if rewriting has been carried out by mistake, set the CBnCTL0.CBnPWR bit to 0 once, then initialize
CSIBn.
The registers that must no be rewritten during operation are shown below.
CBnCTL0 register: CBnTXE, CBnRXE, CBnDIR, CBnTMS bits
CBnCTL1 register: CBnCKP, CBnDAP, CBnCKS2 to CBnCKS0 bits
CBnCTL2 register: CBnCL3 to CBnCL0 bits
(3) In communication type 2 or 4 (CBnCTL1.CBnDAP bit = 1), the CBnSTR.CBnTSF bit is cleared half a SCKBn clock
cycle after occurrence of a reception complete interrupt (INTCBnR).
In the single transfer mode, writing the next transmit data is ignored during communication (CBnTSF bit = 1), and
the next communication is not started.
Also if reception-only communication (CBnCTL0.CBnTXE bit = 0,
CBnCTL0.CBnRXE bit = 1) is set, the next communication is not started even if the receive data is read during
communication (CBnTSF bit = 1).
Therefore, when using the single transfer mode with communication type 2 or 4 (CBnDAP bit = 1), pay particular
attention to the following.
To start the next transmission, confirm that the CBnTSF bit is 0 and then write the transmit data to the CBnTX
register.
To perform the next reception continuously when reception-only communication (CBnTXE bit = 0, CBnRXE bit =
1) is set, confirm that the CBnTSF bit is 0 and then read the CBnRX register.
Or, use the continuous transfer mode instead of the single transfer mode. Use of the continuous transfer mode is
recommended especially when using DMA.
(4) The SIB1 and RXDC0 pins cannot be used at the same time. When using the pin for SIB1, stop UARTC0 reception.
(clear the UC0CTL0.UC0RXE bit to 0.)
When using the pin for RXDC0, stop CSIB1 reception. (clear the
CB1CTL0.CB1RXE bit to 0.)
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 669 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
CHAPTER 19 I2C BUS
To use the I2C bus function, set the P38/SDA00, P39/SCL00, P40/SDA01, P41/SCL01, P90/SDA02, and
P91/SCL02 pins as the serial transmit/receive data I/O pins (SDA00 to SDA02) and serial clock I/O pins
(SCL00 to SCL02), and set them to N-ch open-drain output.
19.1 Mode Switching of I2C Bus and Other Serial Interfaces
19.1.1 UARTA2 and I2C00 mode switching
In the V850ES/JG3-L, UARTA2 and I2C00 share pins and therefore cannot be used simultaneously. Set the operation
mode to I2C00 in advance, using the PMC3 and PFC3 registers.
Caution
The transmit/receive operation of UARTA2 and I2C00 is not guaranteed if these functions are
switched during transmission or reception. Be sure to disable the one that is not used.
Figure 19-1. Switching UARTA2 and I2C00 Mode
After reset: 0000H
PMC3
R/W
Address: FFFFF446H, FFFFF447H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
PMC39
PMC38
0
0
PMC35
PMC34
PMC33
PMC32
PMC31
PMC30
After reset: 0000H
R/W
Address: FFFFF466H, FFFFF467H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
PFC39
PFC38
0
0
PFC35
PFC34
PFC33
PFC32
PFC31
PFC30
PMC3n
PFC3n
0
×
Port I/O mode
1
0
UARTA2 mode
1
1
I2C00 mode
PFC3
Operation mode
Remarks 1. n = 8, 9
2. = don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 670 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.1.2 CSIB0 and I2C01 mode switching
In the V850ES/JG3-L, CSIB0 and I2C01 share pins and therefore cannot be used simultaneously. Set the operation
mode to I2C01 in advance, using the PMC4 and PFC4 registers.
Caution
The transmit/receive operation of CSIB0 and I2C01 is not guaranteed if these functions are switched
during transmission or reception. Be sure to disable the one that is not used.
Figure 19-2. Switching CSIB0 and I2C01 Mode
After reset: 00H
PMC4
0
After reset: 00H
PFC4
R/W
Address: FFFFF448H
0
R/W
0
0
PMC4n
PFC4n
0
0
0
PMC42
PMC41
PMC40
0
0
PFC41
PFC40
Address: FFFFF468H
0
0
Operation mode
0
×
Port I/O mode
1
0
CSIB0 mode
1
1
I2C01 mode
Remarks 1. n = 0, 1
2. = don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 671 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.1.3 UARTA1 and I2C02 mode switching
In the V850ES/JG3-L, UARTA1 and I2C02 share pins and therefore cannot be used simultaneously. Set the operation
mode to I2C02 in advance, using the PMC9, PFC9, and PFCE9 registers.
Caution
The transmit/receive operation of UARTA1 and I2C02 is not guaranteed if these functions are
switched during transmission or reception. Be sure to disable the one that is not used.
Figure 19-3. Switching UARTA1 and I2C02 Mode
After reset: 0000H
15
PMC9
9
8
PMC99
PMC98
PMC97
PMC91
PMC90
9
8
PMC96
R/W
13
PMC95
12
PMC94
11
10
PMC93
PMC92
Address: FFFFF472H, FFFFF473H
15
14
PFC915
PFC914
PFC913 PFC912
PFC911 PFC910
PFC99
PFC98
PFC97
PFC96
PFC95
PFC93
PFC91
PFC90
After reset: 0000H
15
PFCE9
14
Address: FFFFF452H, FFFFF453H
PMC915 PMC914 PMC913 PMC912 PMC911 PMC910
After reset: 0000H
PFC9
R/W
R/W
14
PFCE915 PFCE914
13
12
PFC94
11
13
12
11
10
9
8
0
0
0
0
0
0
PFCE91
PFCE90
PFCE95 PFCE94
PMC9n
PFCE9n
PFC9n
1
1
0
UARTA1 mode
1
1
1
I2C02 mode
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
PFC92
Address: FFFFF712H, FFFFF713H
PFCE97 PFCE96
Remark
10
PFCE93 PFCE92
Operation mode
n = 0, 1
Page 672 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.2 Features
I2C00 to I2C02 have the following two modes.
Operation stopped mode
I2C (Inter IC) bus mode (multimasters supported)
(1) Operation stopped mode
In this mode, serial transfers are not performed, thus enabling a reduction in power consumption.
(2) I2C bus mode (multimaster support)
This mode is used for 8-bit data transfers with several devices via two lines: a serial clock pin (SCL0n) and a serial
data bus pin (SDA0n).
This mode complies with the I2C bus format and the master device can generate “start condition”, “address”,
“transfer direction specification”, “data”, and “stop condition” data to the slave device via the serial data bus. The
slave device automatically detects the received statuses and data by hardware. This function can simplify the part
of an application program that controls the I2C bus.
Since SCL0n and SDA0n pins are used for N-ch open-drain outputs, I2C0n requires pull-up resistors for the serial
clock line and the serial data bus line.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 673 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.3 Configuration
The block diagram of the I2C0n is shown below.
Figure 19-4. Block Diagram of I2C0n
Internal bus
IIC status register n (IICSn)
MSTSn ALDn EXCn COIn TRCn ACKDn STDn SPDn
IIC control register n
(IICCn)
IICEn LRELn WRELn SPIEn WTIMn ACKEn STTn SPTn
Slave address
register n (SVAn)
SDA0n
Set
Match
signal
Noise
eliminator
IIC shift
register n (IICn)
DFCn
D Q
Stop
condition
generator
SO latch
CLn1,
CLn0
Data
retention time
correction
circuit
TRCn
N-ch open-drain
output
Start
condition
generator
Clear
Acknowledge
generator
Output control
Wakeup controller
Acknowledge detector
Start condition
detector
Stop condition
detector
SCL0n
Noise
eliminator
Interrupt request
signal generator
Serial clock counter
DFCn
Serial clock
controller
IIC shift register n
(IICn)
IICCn.STTn, SPTn
IICSn.MSTSn, EXCn, COIn
fxx
Prescaler
IICSn.MSTSn,
EXCn, COIn
Serial clock
wait controller
N-ch open-drain
output
INTIICn
Bus status
detector
Prescaler
fxx to fxx/5
OCKSENm OCKSTHm OCKSm1 OCKSm0
CLDn DADn SMCn DFCn CLn1 CLn0
IIC division clock select
register m (OCKSm)
IIC clock select
register n (IICCLn)
CLXn
STCFn IICBSYn STCENn IICRSVn
IIC function expansion
register n (IICXn)
IIC flag register n
(IICFn)
Internal bus
Remark
n = 0 to 2
m = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 674 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
A serial bus configuration example is shown below.
Figure 19-5. Serial Bus Configuration Example Using I2C Bus
+VDD +VDD
Master CPU1
SDA
Slave CPU1
Address 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
SCL
Serial data bus
Serial clock
SDA
Master CPU2
Slave CPU2
SCL
Address 2
SDA
Slave CPU3
SCL
Address 3
SDA
Slave IC
SCL
Address 4
SDA
Slave IC
SCL
Address N
Page 675 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
I2C0n includes the following hardware (n = 0 to 2).
Table 19-1. Configuration of I2C0n
Item
Registers
Configuration
IIC shift register n (IICn)
Slave address register n (SVAn)
Control registers
IIC control register n (IICCn)
IIC status register n (IICSn)
IIC flag register n (IICF0n)
IIC clock select register n (IICCLn)
IIC function expansion register n (IICXn)
IIC division clock select registers 0, 1 (OCKS0, OCKS1)
(1) IIC shift register n (IICn)
The IICn register converts 8-bit serial data into 8-bit parallel data and vice versa, and can be used for both
transmission and reception (n = 0 to 2).
Write and read operations to the IICn register are used to control the actual transmit and receive operations.
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
(2) Slave address register n (SVAn)
The SVAn register sets local addresses when in slave mode (n = 0 to 2).
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
(3) SO latch
The SO latch is used to retain the output level of the SDA0n pin (n = 0 to 2).
(4) Wakeup controller
This circuit generates an interrupt request signal (INTIICn) when the address received by this register matches the
address value set to the SVAn register or when an extension code is received (n = 0 to 2).
(5) Prescaler
This selects the sampling clock to be used.
(6) Serial clock counter
This counter counts the serial clocks that are output and the serial clocks that are input during transmit/receive
operations and is used to verify that 8-bit data was transmitted or received.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 676 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(7) Interrupt request signal generator
This circuit controls the generation of interrupt request signals (INTIICn).
An I2C interrupt is generated following either of two triggers.
Falling edge of eighth or ninth clock of the serial clock (set by IICCn.WTIMn bit)
Interrupt occurrence due to stop condition detection (set by IICCn.SPIEn bit)
Remark
n = 0 to 2
(8) Serial clock controller
In master mode, this circuit generates the clock output via the SCL0n pin from the sampling clock (n = 0 to 2).
(9) Serial clock wait controller
This circuit controls the wait timing.
(10) ACK generator, stop condition detector, start condition detector, and ACK detector
These circuits are used to generate and detect various statuses.
(11) Data hold time correction circuit
This circuit generates the hold time for data corresponding to the falling edge of the SCL0n pin.
(12) Start condition generator
A start condition is generated when the IICCn.STTn bit is set.
However, in the communication reservation disabled status (IICFn.IICRSVn bit = 1), this request is ignored and the
IICFn.STCFn bit is set to 1 if the bus is not released (IICFn.IICBSYn bit = 1).
(13) Stop condition generator
A stop condition is generated when the IICCn.SPTn bit is set.
(14) Bus status detector
Whether the bus is released or not is ascertained by detecting a start condition and stop condition.
However, the bus status cannot be detected immediately after operation, so set the bus status detector to the
initial status by using the IICFn.STCENn bit.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 677 of 1210
V850ES/JG3-L
CHAPTER 19 I2C BUS
19.4 Registers
I2C00 to I2C02 are controlled by the following registers.
IIC control registers 0 to 2 (IICC0 to IICC2)
IIC status registers 0 to 2 (IICS0 to IICS2)
IIC flag registers 0 to 2 (IICF0 to IICF2)
IIC clock select registers 0 to 2 (IICCL0 to IICCL2)
IIC function expansion registers 0 to 2 (IICX0 to IICX2)
IIC division clock select registers 0, 1 (OCKS0, OCKS1)
The following registers are also used.
IIC shift registers 0 to 2 (IIC0 to IIC2)
Slave address registers 0 to 2 (SVA0 to SVA2)
Remark
For the alternate-function pin settings, see Table 4-15
Settings When Pins Are Used for Alternate
Functions.
(1) IIC control registers 0 to 2 (IICC0 to IICC2)
The IICCn register enables/stops I2C0n operations, sets the wait timing, and sets other I2C operations (n = 0 to 2).
These registers can be read or written in 8-bit or 1-bit units. However, set the SPIEn, WTIMn, and ACKEn bits
when the IICEn bit is 0 or during the wait period. When setting the IICEn bit from “0” to “1”, these bits can also be
set at the same time.
Reset sets these registers to 00H.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 678 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(1/4)
After reset: 00H
IICCn
R/W
Address: IICC0 FFFFFD82H, IICC1 FFFFFD92H, IICC2 FFFFFDA2H
IICEn
LRELn
WRELn
SPIEn
WTIMn
ACKEn
STTn
SPTn
(n = 0 to 2)
2
IICEn
Specification of I Cn operation enable/disable
Note 1
0
Operation stopped. IICSn register reset
1
Operation enabled.
. Internal operation stopped.
Be sure to set this bit to 1 when the SCL0n and SDA0n lines are high level.
Condition for clearing (IICEn bit = 0)
Condition for setting (IICEn bit = 1)
Cleared by instruction
Set by instruction
After reset
LRELn
Note 2
Exit from communications
0
Normal operation
1
This exits from the current communication operation and sets standby mode. This setting is
automatically cleared after being executed. Its uses include cases in which a locally irrelevant
extension code has been received.
The SCL0n and SDA0n lines are set to high impedance.
The STTn and SPTn bits and the MSTSn, EXCn, COIn, TRCn, ACKDn, and STDn bits of the IICSn
register are cleared.
The standby mode following exit from communications remains in effect until the following communication entry
conditions are met.
After a stop condition is detected, restart is in master mode.
An address match occurs or an extension code is received after the start condition.
Condition for clearing (LRELn bit = 0)
Condition for setting (LRELn bit = 1)
Automatically cleared after execution
Set by instruction
After reset
WRELn
Note 2
Wait state cancellation control
0
Wait state not canceled
1
Wait state canceled. This setting is automatically cleared after wait state is canceled.
Condition for clearing (WRELn bit = 0)
Condition for setting (WRELn bit = 1)
Automatically cleared after execution
Set by instruction
After reset
Notes 1. The IICSn register, IICFn.STCFn and IICFn.IICBSYn bits, and IICCLn.CLDn and IICCLn.DADn bits
are reset.
2. This flag’s signal is invalid when the IICEn bit = 0.
Caution
If the I2Cn operation is enabled (IICEn bit = 1) when the SCL0n line is high level and the
SDA0n line is low level, the start condition is detected immediately. To avoid this, after
enabling the I2Cn operation, immediately set the LRELn bit to 1 with a bit manipulation
instruction.
Remark
The LRELn and WRELn bits are 0 when read after the data has been set.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 679 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(2/4)
Note
SPIEn
Enable/disable generation of interrupt request when stop condition is detected
0
Disabled
1
Enabled
Condition for clearing (SPIEn bit = 0)
Condition for setting (SPIEn bit = 1)
Cleared by instruction
Set by instruction
After reset
Note
WTIMn
Control of wait state and interrupt request generation
0
Interrupt request is generated at the eighth clock’s falling edge.
Master mode: After output of eight clocks, clock output is set to low level and the wait state is set.
Slave mode: After input of eight clocks, the clock is set to low level and the wait state is set for the
master device.
1
Interrupt request is generated at the ninth clock’s falling edge.
Master mode: After output of nine clocks, clock output is set to low level and the wait state is set.
Slave mode: After input of nine clocks, the clock is set to low level and the wait state is set for the
master device.
During address transfer, an interrupt occurs at the falling edge of the ninth clock regardless of this bit setting. This
bit setting becomes valid when the address transfer is completed. In master mode, a wait state is inserted at the
falling edge of the ninth clock during address transfer. For a slave device that has received a local address, a wait
state is inserted at the falling edge of the ninth clock after ACK is generated. When the slave device has received
an extension code, however, a wait state is inserted at the falling edge of the eighth clock.
Condition for clearing (WTIMn bit = 0)
Condition for setting (WTIMn bit = 1)
Cleared by instruction
Set by instruction
After reset
Note
ACKEn
Acknowledgment control
0
Acknowledgment disabled.
1
Acknowledgment enabled. During the ninth clock period, the SDA0n line is set to low level.
The ACKEn bit setting is invalid for address reception by the slave device. In this case, ACK is generated when
the addresses match.
However, the ACKEn bit setting is valid for reception of the extension code. Set the ACKEn bit in the system that
receives the extension code.
Condition for clearing (ACKEn bit = 0)
Condition for setting (ACKEn bit = 1)
Cleared by instruction
Set by instruction
After reset
Note
This flag’s signal is invalid when the IICEn bit = 0.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 680 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(3/4)
STTn
Start condition trigger
0
Start condition is not generated.
1
When bus is released (in STOP mode):
A start condition is generated (for starting as master). The SDA0n line is changed from high level to
low level while the SCLn line is high level and then the start condition is generated. Next, after the
rated amount of time has elapsed, the SCL0n line is changed to low level.
During communication with a third party:
If the communication reservation function is enabled (IICFn.IICRSVn bit = 0)
This trigger functions as a start condition reserve flag. When set to 1, it releases the bus and then
automatically generates a start condition.
If the communication reservation function is disabled (IICRSVn = 1)
The IICFn.STCFn bit is set to 1 and information set (1) to the STTn bit is cleared. This trigger
does not generate a start condition.
In the wait state (when master device):
A restart condition is generated after the wait state is released.
Cautions concerning set timing
For master reception:
Cannot be set to 1 during transfer. Can be set to 1 only when the ACKEn bit has been
set to 0 and the slave has been notified of final reception.
For master transmission: A start condition cannot be generated normally during the ACK period. Set to 1 during
the wait period that follows output of the ninth clock.
For slave:
Even when the communication reservation function is disabled (IICRSVn bit = 1), the
communication reservation status is entered.
Setting to 1 at the same time as the SPTn bit is prohibited.
When the STTn bit is set to 1, setting the STTn bit to 1 again is disabled until the setting is cleared to 0.
Condition for clearing (STTn bit = 0)
Condition for setting (STTn bit = 1)
When the STTn bit is set to 1 in the communication
Set by instruction
reservation disabled status
Cleared by loss in arbitration
Cleared after start condition is generated by master
device
When the LRELn bit = 1 (communication save)
When the IICEn bit = 0 (operation stop)
After reset
Remarks 1. The STTn bit is 0 if it is read immediately after data setting.
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 681 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(4/4)
SPTn
Stop condition trigger
0
Stop condition is not generated.
1
Stop condition is generated (termination of master device’s transfer).
After the SDA0n line goes to low level, either set the SCL0n line to high level or wait until the SCL0n
pin goes to high level. Next, after the rated amount of time has elapsed, the SDA0n line is changed
from low level to high level and a stop condition is generated.
Cautions concerning set timing
For master reception:
Cannot be set to 1 during transfer.
Can be set to 1 only when the ACKEn bit has been set to 0 and during the wait period
after the slave has been notified of final reception.
For master transmission: A stop condition cannot be generated normally during the ACK reception period. Set to
1 during the wait period that follows output of the ninth clock.
Cannot be set to 1 at the same time as the STTn bit.
The SPTn bit can be set to 1 only when in master mode
Note
.
When the WTIMn bit has been set to 0, if the SPTn bit is set to 1 during the wait period that follows output of
eight clocks, note that a stop condition will be generated during the high-level period of the ninth clock.
The WTIMn bit should be changed from 0 to 1 during the wait period following output of eight clocks, and the
SPTn bit should be set to 1 during the wait period that follows output of the ninth clock.
When the SPTn bit is set to 1, setting the SPTn bit to 1 again is disabled until the setting is cleared to 0.
Condition for clearing (SPTn bit = 0)
Condition for setting (SPTn bit = 1)
Cleared by loss in arbitration
Set by instruction
Automatically cleared after stop condition is detected
When the LRELn bit = 1 (communication save)
When the IICEn bit = 0 (operation stop)
After reset
Note Set the SPTn bit to 1 only in master mode. However, when the IICRSVn bit is 0, the SPTn bit must be set
to 1 and a stop condition generated before the first stop condition is detected following the switch to the
operation enabled status. For details, see 19.15 Cautions.
Caution
When the TRCn bit = 1, the WRELn bit is set to 1 during the ninth clock and the wait state
is canceled, after which the TRCn bit is cleared to 0 and the SDA0n line is set to high
impedance.
Remarks 1. The SPTn bit is 0 if it is read immediately after data setting.
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 682 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(2) IIC status registers 0 to 2 (IICS0 to IICS2)
The IICSn register indicates the status of I2C0n (n = 0 to 2).
These registers are read-only, in 8-bit or 1-bit units. However, the IICSn register can only be read when the
IICCn.STTn bit is 1 or during the wait period.
Reset sets these registers to 00H.
Caution
Accessing the IICSn register is prohibited in the following statuses. For details, see 3.4.9 (1)
Accessing special on-chip peripheral I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
(1/3)
After reset: 00H
IICSn
R
Address: IICS0 FFFFFD86H, IICS1 FFFFFD96H, IICS2 FFFFFDA6H
MSTSn
ALDn
EXCn
COIn
TRCn
ACKDn
STDn
SPDn
(n = 0 to 2)
MSTSn
Master device status
0
Slave device status or communication standby status
1
Master device communication status
Condition for clearing (MSTSn bit = 0)
Condition for setting (MSTSn bit = 1)
When a stop condition is detected
When the ALDn bit = 1 (arbitration loss)
Cleared by LRELn bit = 1 (communication save)
When the IICEn bit changes from 1 to 0 (operation
stop)
After reset
When a start condition is generated
ALDn
Arbitration loss detection
0
This status means either that there was no arbitration or that the arbitration result was a “win”.
1
This status indicates the arbitration result was a “loss”. The MSTSn bit is cleared to 0.
Condition for clearing (ALDn bit = 0)
Condition for setting (ALDn bit = 1)
Automatically cleared after the IICSn register is
Note
read
When the IICEn bit changes from 1 to 0 (operation
stop)
After reset
When the arbitration result is a “loss”.
EXCn
Detection of extension code reception
0
Extension code was not received.
1
Extension code was received.
Condition for clearing (EXCn bit = 0)
Condition for setting (EXCn bit = 1)
When a start condition is detected
When a stop condition is detected
Cleared by LRELn bit = 1 (communication save)
When the IICEn bit changes from 1 to 0 (operation
stop)
After reset
When the higher four bits of the received address
data are either “0000” or “1111” (set at the rising
edge of the eighth clock).
Note This bit is also cleared when a bit manipulation instruction is executed for another bit in the IICSn
register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 683 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(2/3)
COIn
Matching address detection
0
Addresses do not match.
1
Addresses match.
Condition for clearing (COIn bit = 0)
Condition for setting (COIn bit = 1)
When a start condition is detected
When the received address matches the local
When a stop condition is detected
address (SVAn register) (set at the rising edge of the
Cleared by LRELn bit = 1 (communication save)
eighth clock).
When the IICEn bit changes from 1 to 0 (operation
stop)
After reset
TRCn
Transmit/receive status detection
0
Receive status (other than transmit status). The SDA0n line is set to high impedance.
1
Transmit status. The value in the SO latch is enabled for output to the SDA0n line (valid starting at
the falling edge of the first byte’s ninth clock).
Condition for clearing (TRCn bit = 0)
Condition for setting (TRCn bit = 1)
When a stop condition is detected
Master
Cleared by LRELn bit = 1 (communication save)
When a start condition is generated
When the IICEn bit changes from 1 to 0 (operation
When “0” is output to the first byte’s LSB (transfer
stop)
direction specification bit)
Cleared by IICCn.WRELn bit = 1
Slave
When the ALDn bit changes from 0 to 1 (arbitration
When “1” is input by the first byte’s LSB (transfer
Note
loss)
direction specification bit)
After reset
Master
When “1” is output to the first byte’s LSB (transfer
direction specification bit)
Slave
When a start condition is detected
When not used for communication
ACKDn
ACK detection
0
ACK was not detected.
1
ACK was detected.
Condition for clearing (ACKDn bit = 0)
Condition for setting (ACKD bit = 1)
When a stop condition is detected
After the SDA0n bit is set to low level at the rising
At the rising edge of the next byte’s first clock
edge of the SCL0n pin’s ninth clock
Cleared by LRELn bit = 1 (communication save)
When the IICEn bit changes from 1 to 0 (operation
stop)
After reset
Note The TRCn bit is cleared to 0 and SDA0n line becomes high impedance when the WRELn bit is set to
1 and the wait state is canceled to 0 at the ninth clock by TRCn bit = 1.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 684 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(3/3)
STDn
Start condition detection
0
Start condition was not detected.
1
Start condition was detected. This indicates that the address transfer period is in effect
Condition for clearing (STDn bit = 0)
Condition for setting (STDn bit = 1)
When a stop condition is detected
When a start condition is detected
At the rising edge of the next byte’s first clock
following address transfer
Cleared by LRELn bit = 1 (communication save)
When the IICEn bit changes from 1 to 0 (operation
stop)
After reset
SPDn
Stop condition detection
0
Stop condition was not detected.
1
Stop condition was detected. The master device’s communication is terminated and the bus is
released.
Condition for clearing (SPDn bit = 0)
Condition for setting (SPDn bit = 1)
At the rising edge of the address transfer byte’s first
When a stop condition is detected
clock following setting of this bit and detection of a
start condition
When the IICEn bit changes from 1 to 0 (operation
stop)
After reset
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 685 of 1210
V850ES/JG3-L
CHAPTER 19 I2C BUS
(3) IIC flag registers 0 to 2 (IICF0 to IICF2)
The IICFn register sets the I2C0n operation mode and indicates the I2C bus status.
These registers can be read or written in 8-bit or 1-bit units. However, the STCFn and IICBSYn bits are read-only.
IICRSVn enables/disables the communication reservation function (see 19.14 Communication Reservation).
The initial value of the IICBSYn bit is set by using the STCENn bit (see 19.15 Cautions).
The IICRSVn and STCENn bits can be written only when operation of I2C0n is disabled (IICCn.IICEn bit = 0). After
operation is enabled, IICFn can be read (n = 0 to 2).
Reset sets these registers to 00H.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 686 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
After reset: 00H
IICFn
R/W
Note
Address: IICF0 FFFFFD8AH, IICF1 FFFFFD9AH, IICF2 FFFFFDAAH
5
4
3
2
STCFn
IICBSYn
0
0
0
0
STCENn
IICRSVn
(n = 0 to 2)
STCFn
STTn bit clear
0
Start condition issued
1
Start condition cannot be issued, STTn bit cleared
Condition for clearing (STCFn bit = 0)
Condition for setting (STCFn bit = 1)
Cleared by IICCn.STTn bit = 1
When the IICCn.IICEn bit = 0
After reset
When start condition is not issued and STTn flag is
cleared to 0 during communication reservation is
disabled (IICRSVn bit = 1).
2
IICBSYn
I C0n bus status
0
Bus released status (default communication status when STCENn bit = 1)
1
Bus communication status (default communication status when STCENn bit = 0)
Condition for clearing (IICBSYn bit = 0)
Condition for setting (IICBSYn bit = 1)
When stop condition is detected
When the IICEn bit = 0
After reset
When start condition is detected
By setting the IICEn bit when the STCENn bit = 0
STCENn
Initial start enable trigger
0
Start conditions cannot be generated until a stop condition is detected following operation enable
(IICEn bit = 1).
1
Start conditions can be generated even if a stop condition is not detected following operation enable
(IICEn bit = 1).
Condition for clearing (STCENn bit = 0)
Condition for setting (STCENn bit = 1)
When start condition is detected
After reset
Setting by instruction
IICRSVn
Communication reservation function disable bit
0
Communication reservation enabled
1
Communication reservation disabled
Condition for clearing (IICRSVn bit = 0)
Condition for setting (IICRSVn bit = 1)
Clearing by instruction
After reset
Setting by instruction
Note Bits 6 and 7 are read-only bits.
Cautions 1. Write the STCENn bit only when operation is stopped (IICEn bit = 0).
2. When the STCENn bit = 1, the bus released status (IICBSYn bit = 0) is recognized
regardless of the actual bus status immediately after the I2Cn bus operation is enabled.
Therefore, to issue the first start condition (STTn bit = 1), it is necessary to confirm
that the bus has been released, so as to not disturb other communications.
3. Write the IICRSVn bit only when operation is stopped (IICEn bit = 0).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 687 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(4) IIC clock select registers 0 to 2 (IICCL0 to IICCL2)
The IICCLn register sets the transfer clock for I2C0n.
These registers can be read or written in 8-bit or 1-bit units. However, the CLDn and DADn bits are read-only.
Set the IICCLn register when the IICCn.IICEn bit = 0.
The SMCn, CLn1, and CLn0 bits are set by the combination of the IICXn.CLXn bit and the OCKSTHm, OCKSm1,
and OCKSm0 bits of the OCKSm register (see 19.4 (6) I2C0n transfer clock setting method) (n = 0 to 2, m = 0, 1).
Reset sets these registers to 00H.
After reset: 00H
IICCLn
R/W
Note
Address: IICCL0 FFFFFD84H, IICCL1 FFFFFD94H, IICCL2 FFFFFDA4H
7
6
3
2
1
0
0
0
CLDn
DADn
SMCn
DFCn
CLn1
CLn0
(n = 0 to 2)
CLDn
Detection of SCL0n pin level (valid only when IICCn.IICEn bit = 1)
0
The SCL0n pin was detected at low level.
1
The SCL0n pin was detected at high level.
Condition for clearing (CLDn bit = 0)
Condition for setting (CLDn bit = 1)
When the SCL0n pin is at low level
When the IICEn bit = 0 (operation stop)
After reset
When the SCL0n pin is at high level
DADn
Detection of SDA0n pin level (valid only when IICEn bit = 1)
0
The SDA0n pin was detected at low level.
1
The SDA0n pin was detected at high level.
Condition for clearing (DADn bit = 0)
Condition for setting (DAD0n bit = 1)
When the SDA0n pin is at low level
When the IICEn bit = 0 (operation stop)
After reset
When the SDA0n pin is at high level
SMCn
Operation mode switching
0
Operation in standard mode
1
Operation in high-speed mode
DFCn
Digital filter operation control
0
Digital filter off
1
Digital filter on
The digital filter can be used only in high-speed mode.
In high-speed mode, the transfer clock does not vary regardless of the DFCn bit setting (on/off).
The digital filter is used to eliminate noise in high-speed mode.
Note Bits 4 and 5 are read-only bits.
Caution
Be sure to clear bits 7 and 6 to “0”.
Remark
When the IICCn.IICEn bit = 0, 0 is read when reading the CLDn and DADn bits.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 688 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(5) IIC function expansion registers 0 to 2 (IICX0 to IICX2)
The IICXn register sets I2C0n function expansion (valid only in the high-speed mode).
These registers can be read or written in 8-bit or 1-bit units.
Setting of the CLXn bit is performed in combination with the SMCn, CLn1, and CLn0 bits of the IICCLn register and
the OCKSTHm, OCKSm1, and OCKSm0 bits of the OCKSm register (see 19.4 (6) I2C0n transfer clock setting
method) (m = 0, 1).
Set the IICXn register when the IICCn.IICEn bit = 0.
Reset sets these registers to 00H.
After reset: 00H
R/W
Address: IICX0 FFFFFD85H, IICX1 FFFFFD95H, IICX2 FFFFFDA5H
< >
IICXn
0
0
0
0
0
0
0
CLXn
(n = 0 to 2)
(6) I2C0n transfer clock setting method
The I2C0n transfer clock frequency (fSCL) is calculated using the following expression (n = 0 to 2).
fSCL = 1/(m T + tR + tF)
m = 12, 18, 24, 36, 44, 48, 54, 60, 66, 72, 86, 88, 96, 132, 172, 176, 198, 220, 258, 344 (see Table 19-2
Clock Settings).
T:
1/fXX
tR:
SCL0n pin rise time
tF:
SCL0n pin fall time
For example, the I2C0n transfer clock frequency (fSCL) when fXX = 19.2 MHz, m = 198, tR = 200 ns, and tF = 50 ns is
calculated using following expression.
fSCL = 1/(198 52 ns + 200 ns + 50 ns) 94.7 kHz
m × T + tR + tF
tR
m/2 × T
tF
m/2 × T
SCL0n
SCL0n inversion
SCL0n inversion
SCL0n inversion
The clock to be selected can be set by the combination of the SMCn, CLn1, and CLn0 bits of the IICCLn register,
the CLXn bit of the IICXn register, and the OCKSTHm, OCKSm1, and OCKSm0 bits of the OCKSm register (n = 0
to 2, m = 0, 1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 689 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Table 19-2. Clock Settings (1/2)
IICX0
Selection Clock
IICCL0
Bit 0
Bit 3
Bit 1
Bit 0
CLX0
SMC0
CL01
CL00
0
0
0
0
0
0
0
1
Transfer
Settable Main Clock
Operating
Clock
Frequency (fXX) Range
Mode
fXX (when OCKS0 = 18H set)
fXX/44
2.50 MHz fXX 4.19 MHz
Standard
fXX/2 (when OCKS0 = 10H set)
fXX/88
4.00 MHz fXX 8.38 MHz
mode
fXX/3 (when OCKS0 = 11H set)
fXX/132
6.00 MHz fXX 12.57 MHz
fXX/4 (when OCKS0 = 12H set)
fXX/176
8.00 MHz fXX 16.76 MHz
fXX/5 (when OCKS0 = 13H set)
fXX/220
10.00 MHz fXX 20.00 MHz
fXX (when OCKS0 = 18H set)
fXX/86
4.19 MHz fXX 8.38 MHz
fXX/2 (when OCKS0 = 10H set)
fXX/172
8.38 MHz fXX 16.76 MHz
fXX/3 (when OCKS0 = 11H set)
fXX/258
12.57 MHz fXX 20.00 MHz
fXX/4 (when OCKS0 = 12H set)
fXX/344
16.76 MHz fXX 20.00 MHz
(SMC0 bit = 0)
0
0
1
0
fXX
fXX/86
4.19 MHz fXX 8.38 MHz
0
0
1
1
fXX (when OCKS0 = 18H set)
fXX/66
fXX = 6.40 MHz
fXX/2 (when OCKS0 = 10H set)
fXX/132
fXX = 12.80 MHz
fXX/3 (when OCKS0 = 11H set)
fXX/198
fXX = 19.20 MHz
fXX (when OCKS0 = 18H set)
fXX/24
4.19 MHz fXX 8.38 MHz
High-speed
fXX/2 (when OCKS0 = 10H set)
fXX/48
8.00 MHz fXX 16.76 MHz
mode
fXX/3 (when OCKS0 = 11H set)
fXX/72
12.00 MHz fXX 20.00 MHz
fXX/4 (when OCKS0 = 12H set)
fXX/96
16.00 MHz fXX 20.00 MHz
0
1
0
Note
0
1
1
0
fXX
fXX/24
4.00 MHz fXX 8.38 MHz
0
1
1
1
fXX (when OCKS0 = 18H set)
fXX/18
fXX = 6.40 MHz
fXX/2 (when OCKS0 = 10H set)
fXX/36
fXX = 12.80 MHz
fXX/3 (when OCKS0 = 11H set)
fXX/54
fXX = 19.20 MHz
fXX (when OCKS0 = 18H set)
fXX/12
4.00 MHz fXX 4.19 MHz
fXX/2 (when OCKS0 = 10H set)
fXX/24
8.00 MHz fXX 8.38 MHz
fXX/3 (when OCKS0 = 11H set)
fXX/36
12.00 MHz fXX 12.57 MHz
fXX/4 (when OCKS0 = 12H set)
fXX/48
16.00 MHz fXX 16.67 MHz
fXX/5 (when OCKS0 = 13H set)
fXX/60
fXX = 20.00 MHz
fXX/12
4.00 MHz fXX 4.19 MHz
1
1
1
1
0
1
0
Other than above
Note
Note
fXX
Setting prohibited
(SMC0 bit = 1)
Note Since the selection clock is fXX regardless of the value set to the OCKS0 register, clear the OCKS0 register to
00H (I2C division clock stopped status).
Remark
: don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 690 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Table 19-2. Clock Settings (2/2)
IICXm
Bit 0
Bit 3
Bit 1
CLXm SMCm CLm1
0
0
Selection Clock
IICCLm
0
0
0
0
Bit 0
Transfer
Settable Main Clock
Operating
Clock
Frequency (fXX) Range
Mode
CLm0
0
1
fXX (when OCKS1 = 18H set)
fXX/44
2.50 MHz fXX 4.19 MHz
Standard
fXX/2 (when OCKS1 = 10H set)
fXX/88
4.00 MHz fXX 8.38 MHz
mode
fXX/3 (when OCKS1 = 11H set)
fXX/132
6.00 MHz fXX 12.57 MHz
fXX/4 (when OCKS1 = 12H set)
fXX/176
8.00 MHz fXX 16.76 MHz
fXX/5 (when OCKS1 = 13H set)
fXX/220
10.00 MHz fXX 20.00 MHz
fXX (when OCKS1 = 18H set)
fXX/86
4.19 MHz fXX 8.38 MHz
fXX/2 (when OCKS1 = 10H set)
fXX/172
8.38 MHz fXX 16.76 MHz
fXX/3 (when OCKS1 = 11H set)
fXX/258
12.57 MHz fXX 20.00 MHz
fXX/4 (when OCKS1 = 12H set)
fXX/344
16.76 MHz fXX 20.00 MHz
(SMCm bit = 0)
0
0
1
0
fXX
fXX/86
4.19 MHz fXX 8.38 MHz
0
0
1
1
fXX (when OCKS1 = 18H set)
fXX/66
fXX = 6.40 MHz
fXX/2 (when OCKS1 = 10H set)
fXX/132
fXX = 12.80 MHz
fXX/3 (when OCKS1 = 11H set)
fXX/198
fXX = 19.20 MHz
fXX (when OCKS1 = 18H set)
fXX/24
4.19 MHz fXX 8.38 MHz
High-speed
fXX/2 (when OCKS1 = 10H set)
fXX/48
8.00 MHz fXX 16.76 MHz
mode
fXX/3 (when OCKS1 = 11H set)
fXX/72
12.00 MHz fXX 20.00 MHz
fXX/4 (when OCKS1 = 12H set)
fXX/96
16.00 MHz fXX 20.00 MHz
0
1
0
Note
0
1
1
0
fXX
fXX/24
4.00 MHz fXX 8.38 MHz
0
1
1
1
fXX (when OCKS1 = 18H set)
fXX/18
fXX = 6.40 MHz
fXX/2 (when OCKS1 = 10H set)
fXX/36
fXX = 12.80 MHz
fXX/3 (when OCKS1 = 11H set)
fXX/54
fXX = 19.20 MHz
fXX (when OCKS1 = 18H set)
fXX/12
4.00 MHz fXX 4.19 MHz
fXX/2 (when OCKS1 = 10H set)
fXX/24
8.00 MHz fXX 8.38 MHz
fXX/3 (when OCKS1 = 11H set)
fXX/36
12.00 MHz fXX 12.57 MHz
fXX/4 (when OCKS1 = 12H set)
fXX/48
16.00 MHz fXX 16.67 MHz
fXX/5 (when OCKS1 = 13H set)
fXX/60
fXX = 20.00 MHz
fXX/12
4.00 MHz fXX 4.19 MHz
1
1
1
1
0
1
0
Other than above
Note
Note
fXX
Setting prohibited
(SMCm bit = 1)
Note Since the selection clock is fXX regardless of the value set to the OCKS1 register, clear the OCKS1 register to
00H (I2C division clock stopped status).
Remarks 1. m = 1, 2
2. : don’t care
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 691 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(7) IIC division clock select registers 0, 1 (OCKS0, OCKS1)
The OCKSm register controls the I2C0n division clock (n = 0 to 2, m = 0, 1).
These registers control the I2C00 division clock via the OCKS0 register and the I2C01 and I2C02 division clocks via
the OCKS1 register.
These registers can be read or written in 8-bit units.
Reset sets these registers to 00H.
After reset: 00H
OCKSm
R/W
0
Address: OCKS0 FFFFF340H, OCKS1 FFFFF344H
0
0
OCKSENm OCKSTHm
0
OCKSm1 OCKSm0
(m = 0, 1)
Operation setting of I2C division clock
OCKSENm
0
Disable I2C division clock operation
1
Enable I2C division clock operation
Selection of I2C division clock
OCKSTHm OCKSm1 OCKSm0
0
0
0
fXX/2
0
0
1
fXX/3
0
1
0
fXX/4
0
1
1
fXX/5
1
0
0
fXX
Other than above
Setting prohibited
(8) IIC shift registers 0 to 2 (IIC0 to IIC2)
The IICn register is used for serial transmission/reception (shift operations) synchronized with the serial clock.
These registers can be read or written in 8-bit units, but data should not be written to the IICn register during a data
transfer.
Access (read/write) the IICn register only during the wait period. Accessing this register in communication states
other than the wait period is prohibited. However, for the master device, the IICn register can be written once only
after the transmission trigger bit (IICCn.STTn bit) has been set to 1.
A wait state is released by writing the IICn register during the wait period, and data transfer is started (n = 0 to 2).
Reset sets these registers to 00H.
After reset: 00H
R/W
7
Address: IIC0 FFFFFD80H, IIC1 FFFFFD90H, IIC2 FFFFFDA0H
6
5
4
3
2
1
0
IICn
(n = 0 to 2)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 692 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(9) Slave address registers 0 to 2 (SVA0 to SVA2)
The SVAn register holds the I2C bus’s slave address.
These registers can be read or written in 8-bit units, but bit 0 should be fixed to 0. However, rewriting this register
is prohibited when the IICSn.STDn bit = 1 (start condition detection).
Reset sets these registers to 00H.
After reset: 00H
R/W
7
SVAn
Address: SVA0 FFFFFD83H, SVA1 FFFFFD93H, SVA2 FFFFFDA3H
6
5
4
3
2
1
0
0
(n = 0 to 2)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 693 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.5 I2C Bus Mode Functions
19.5.1 Pin configuration
The serial clock pin (SCL0n) and serial data bus pin (SDA0n) are configured as follows (n = 0 to 2).
SCL0n .................This pin is used for serial clock input and output.
This pin is an N-ch open-drain output for both master and slave devices. Input is Schmitt input.
SDA0n ................This pin is used for serial data input and output.
This pin is an N-ch open-drain output for both master and slave devices. Input is Schmitt input.
Since outputs from the serial clock line and the serial data bus line are N-ch open-drain outputs, an external pull-up
resistor is required.
Figure 19-6. Pin Configuration Diagram
VDD
Slave device
Master device
SCL0n
SCL0n
Clock output
(Clock output)
VDD
(Clock input)
Clock input
SDA0n
Data output
Data input
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
SDA0n
Data output
Data input
Page 694 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.6 I2C Bus Definitions and Control Methods
The following section describes the I2C bus’s serial data communication format and the signals used by the I2C bus.
The transfer timing for the “start condition”, “address”, “transfer direction specification”, “data”, and “stop condition”
generated on the I2C bus’s serial data bus is shown below.
Figure 19-7. I2C Bus Serial Data Transfer Timing
1 to 7
SCL0n
8
9
1 to 8
9
1 to 8
9
R/W
ACK
Data
ACK
Data
ACK
SDA0n
Start
Address
condition
Stop
condition
The master device generates the start condition, slave address, and stop condition.
ACK can be generated by either the master or slave device (normally, it is generated by the device that receives 8-bit
data).
The serial clock (SCL0n) is continuously output by the master device. However, in the slave device, the SCL0n pin’s
low-level period can be extended and a wait state can be inserted (n = 0 to 2).
19.6.1 Start condition
A start condition is met when the SCL0n pin is high level and the SDA0n pin changes from high level to low level. The
start condition for the SCL0n and SDA0n pins is a signal that the master device outputs to the slave device when starting a
serial transfer. The slave device can defect the start condition (n = 0 to 2).
Figure 19-8. Start Condition
H
SCL0n
SDA0n
A start condition is output when the IICCn.STTn bit is set (1) after a stop condition has been detected (IICSn.SPDn bit =
1). When a start condition is detected, the IICSn.STDn bit is set (1) (n = 0 to 2).
Caution
When the IICCn.IICEn bit of the V850ES/JG3-L is set to 1 while communications with other devices
are in progress, the start condition may be detected depending on the status of the communication
line. Be sure to set the IICCn.IICEn bit to 1 when the SCL0n and SDA0n lines are high level.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 695 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.6.2 Addresses
The 7 bits of data that follow the start condition are defined as an address.
An address is a 7-bit data segment that is output in order to select one of the slave devices that are connected to the
master device via the bus lines. Therefore, each slave device connected via the bus lines must have a unique address.
The slave devices include hardware that detects the start condition and checks whether or not the 7-bit address data
matches the data values stored in the SVAn register. If the address data matches the values of the SVAn register, the
slave device is selected and communicates with the master device until the master device generates a start condition or
stop condition (n = 0 to 2).
Figure 19-9. Address
SCL0n
1
2
3
4
5
6
7
8
SDA0n
AD6
AD5
AD4
AD3
AD2
AD1
AD0
R/W
Address
9
Note
INTIICn
Note The interrupt request signal (INTIICn) is generated if a local address or extension code is received
during slave device operation.
Remark
n = 0 to 2
The slave address and the eighth bit, which specifies the transfer direction as described in 19.6.3 Transfer direction
specification below, are written together to IIC shift register n (IICn) and then output. Received addresses are written to
the IICn register (n = 0 to 2).
The slave address is assigned to the higher 7 bits of the IICn register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 696 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.6.3 Transfer direction specification
In addition to the 7-bit address data, the master device sends 1 bit that specifies the transfer direction. When this
transfer direction specification bit has a value of 0, it indicates that the master device is transmitting data to a slave device.
When the transfer direction specification bit has a value of 1, it indicates that the master device is receiving data from a
slave device.
Figure 19-10. Transfer Direction Specification
SCL0n
1
2
3
4
5
6
7
8
SDA0n
AD6
AD5
AD4
AD3
AD2
AD1
AD0
R/W
9
Transfer direction specification
Note
INTIICn
Note The INTIICn signal is generated if a local address or extension code is received during slave device
operation.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 697 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.6.4 ACK
ACK is used to confirm the serial data status of the transmitting and receiving devices.
The receiving device returns ACK for every 8 bits of data it receives.
The transmitting device normally receives ACK after transmitting 8 bits of data. When ACK is returned from the
receiving device, the reception is judged as normal and processing continues. The detection of ACK is confirmed with the
IICSn.ACKDn bit.
When the master device is the receiving device, after receiving the final data, it does not return ACK and generates the
stop condition. When the slave device is the receiving device and does not return ACK, the master device generates
either a stop condition or a restart condition, and then stops the current transmission. Failure to return ACK may be
caused by the following factors.
(a) Reception was not performed normally.
(b) The final data was received.
(c) The receiving device (slave) does not exist for the specified address.
When the receiving device sets the SDA0n line to low level during the ninth clock, ACK is generated (normal reception).
When the IICCn.ACKEn bit is set to 1, automatic ACK generation is enabled. Transmission of the eighth bit following
the 7 address data bits causes the IICSn.TRCn bit to be set. Normally, set the ACKEn bit to 1 for reception (TRCn bit = 0).
When the slave device is receiving (when TRCn bit = 0), if the slave device cannot receive data or does not need to
receive any more data, clear the ACKEn bit to 0 to indicate to the master that no more data can be received.
Similarly, when the master device is receiving (when TRCn bit = 0) and the subsequent data is not needed, clear the
ACKEn bit to 0 to prevent ACK from being generated. This notifies the slave device (transmitting device) of the end of the
data transmission (transmission stopped).
Figure 19-11. ACK
Remark
SCL0n
1
2
3
4
5
6
7
SDA0n
AD6
AD5
AD4
AD3
AD2
AD1
AD0
8
9
R/W ACK
n = 0 to 2
When the local address is received, ACK is automatically generated regardless of the value of the ACKEn bit. No ACK
is generated if the received address is not a local address (NACK).
When receiving the extension code, set the ACKEn bit to 1 in advance to generate ACK.
The ACK generation method during data reception is based on the wait timing setting, as described by the following.
When 8-clock wait is selected (IICCn.WTIMn bit = 0):
ACK is generated at the falling edge of the SCL0n pin’s eighth clock if the ACKEn bit is set to 1 before the wait state
cancellation.
When 9-clock wait is selected (IICCn.WTIMn bit = 1):
ACK is generated if the ACKEn bit is set to 1 in advance.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 698 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.6.5 Stop condition
When the SCL0n pin is high level, changing the SDA0n pin from low level to high level generates a stop condition (n = 0
to 2).
A stop condition is generated when the master device outputs to the slave device when serial transfer has been
completed. When used as the slave device, the start condition can be detected.
Figure 19-12. Stop Condition
H
SCL0n
SDA0n
Remark
n = 0 to 2
A stop condition is generated when the IICCn.SPTn bit is set to 1. When the stop condition is detected, the IICSn.SPDn
bit is set to 1 and the interrupt request signal (INTIICn) is generated when the IICCn.SPIEn bit is set to 1 (n = 0 to 2).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 699 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.6.6 Wait state
A wait state is used to notify the communication partner that a device (master or slave) is preparing to transmit or
receive data (i.e., is in a wait state).
Setting the SCL0n pin to low level notifies the communication partner of the wait state. When the wait state has been
canceled for both the master and slave devices, the next data transfer can begin (n = 0 to 2).
Figure 19-13. Wait State (1/2)
(a) When master device has a nine-clock wait and slave device has an eight-clock wait
(master: transmission, slave: reception, and IICCn.ACKEn bit = 1)
Master
Master returns to high
Wait after output
impedance but slave
is in wait state (low level). of ninth clock.
IICn data write (cancel wait state)
IICn
6
SCL0n
7
8
1
9
2
3
Slave
Wait after output
of eighth clock.
FFH is written to IICn register or
IICCn.WRELn bit is set to 1.
IICn
SCL0n
ACKEn
H
Transfer lines
Wait state
from master
Wait state
from slave
SCL0n
6
7
8
SDA0n
D2
D1
D0
Remark
9
ACK
1
2
3
D7
D6
D5
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 700 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-13. Wait State (2/2)
(b) When master and slave devices both have a nine-clock wait
(master: transmission, slave: reception, and ACKEn bit = 1)
Master and slave both wait
after output of ninth clock.
IICn data write (cancel wait state)
Master
IICn
6
SCL0n
7
8
1
9
2
3
Slave
FFH is written to IICn register
or WRELn bit is set to 1.
IICn
SCL0n
ACKEn
H
Transfer lines
Wait state
Wait state
from master/
from slave
slave
SCL0n
6
7
8
9
SDA0n
D2
D1
D0
ACK
1
D7
2
3
D6
D5
Generate according to previously set ACKEn bit value
Remark
n = 0 to 2
A wait state may be automatically generated depending on the setting of the IICCn.WTIMn bit (n = 0 to 2).
Normally, when the IICCn.WRELn bit is set to 1 or when FFH is written to the IICn register on the receiving side, the
wait state is canceled and the transmitting side writes data to the IICn register to cancel the wait state.
The master device can also cancel the wait state via either of the following methods.
By setting the IICCn.STTn bit to 1
By setting the IICCn.SPTn bit to 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 701 of 1210
V850ES/JG3-L
CHAPTER 19 I2C BUS
19.6.7 Wait state cancellation method
In the case of I2C0n, a wait state can be canceled normally in the following ways (n = 0 to 2).
By writing data to the IICn register
By setting the IICCn.WRELn bit to 1 (wait state cancellation)
By setting the IICCn.STTn bit to 1 (start condition generation)
By setting the IICCn.SPTn bit to 1 (stop condition generation)
If any of these wait state cancellation actions is performed, I2C0n will cancel the wait state and restart communication.
When canceling the wait state and sending data (including addresses), write data to the IICn register.
To receive data after canceling the wait state, or to complete data transmission, set the WRELn bit to 1.
To generate a restart condition after canceling the wait state, set the STTn bit to 1.
To generate a stop condition after canceling the wait state, set the SPTn bit to 1.
Cancel each wait state only once.
For example, if data is written to the IICn register following wait state cancellation by setting the WRELn bit to 1, a
conflict between the SDA0n line change timing and the IICn register write timing may result in the data output to the
SDA0n line being incorrect.
Even in other operations, if communication is stopped halfway, clearing the IICCn.IICEn bit to 0 will stop communication,
enabling the wait state to be cancelled.
If the I2C bus deadlocks due to noise, etc., setting the IICCn.LRELn bit to 1 causes the communication to stop, enabling
the wait state to be cancelled.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 702 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.7 I2C Interrupt Request Signals (INTIICn)
The following shows the value of the IICSn register at the INTIICn interrupt request signal generation timing and at the
INTIICn signal timing (n = 0 to 2).
19.7.1 Master device operation
(1) Start ~ Address ~ Data ~ Data ~ Stop (normal transmission/reception)
When IICCn.WTIMn bit = 0
IICCn.SPTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
3
SP
4
5
1: IICSn register = 1000X110B
2: IICSn register = 1000X000B
3: IICSn register = 1000X000B (WTIMn bit = 1)
4: IICSn register = 1000XX00B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
SPTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
3
4
1: IICSn register = 1000X110B
2: IICSn register = 1000X100B
3: IICSn register = 1000XX00B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 703 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(2) Start ~ Address ~ Data ~ Start ~ Address ~ Data ~ Stop (restart)
When WTIMn bit = 0
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
STTn bit = 1
SPTn bit = 1
ACK
2
ST
AD6 to AD0
R/W
ACK
3
D7 to D0
4
ACK
5
SP
6
7
1: IICSn register = 1000X110B
2: IICSn register = 1000X000B (WTIMn bit = 1)
3: IICSn register = 1000XX00B (WTIMn bit = 0)
4: IICSn register = 1000X110B (WTIMn bit = 0)
5: IICSn register = 1000X000B (WTIMn bit = 1)
6: IICSn register = 1000XX00B
7: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
STTn bit = 1
SPTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
ACK
1
ST
AD6 to AD0
2
R/W
ACK
D7 to D0
3
ACK
SP
4
5
1: IICSn register = 1000X110B
2: IICSn register = 1000XX00B
3: IICSn register = 1000X110B
4: IICSn register = 1000XX00B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 704 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(3) Start ~ Code ~ Data ~ Data ~ Stop (extension code transmission)
When WTIMn bit = 0
SPTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
3
SP
4
5
1: IICSn register = 1010X110B
2: IICSn register = 1010X000B
3: IICSn register = 1010X000B (WTIMn bit = 1)
4: IICSn register = 1010XX00B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
SPTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
3
4
1: IICSn register = 1010X110B
2: IICSn register = 1010X100B
3: IICSn register = 1010XX00B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 705 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.7.2 Slave device operation (when receiving slave address data (address match))
(1) Start ~ Address ~ Data ~ Data ~ Stop
When IICCn.WTIMn bit = 0
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
4
3
1: IICSn register = 0001X110B
2: IICSn register = 0001X000B
3: IICSn register = 0001X000B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when IICCn.SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
3
4
1: IICSn register = 0001X110B
2: IICSn register = 0001X100B
3: IICSn register = 0001XX00B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 706 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(2) Start ~ Address ~ Data ~ Start ~ Address ~ Data ~ Stop
When WTIMn bit = 0 (after restart, address match)
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
ST
AD6 to AD0
R/W
ACK
2
D7 to D0
3
ACK
SP
5
4
1: IICSn register = 0001X110B
2: IICSn register = 0001X000B
3: IICSn register = 0001X110B
4: IICSn register = 0001X000B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1 (after restart, address match)
ST
AD6 to AD0
R/W
ACK
D7 to D0
ACK
1
ST
AD6 to AD0
2
R/W
ACK
D7 to D0
3
ACK
SP
4
5
1: IICSn register = 0001X110B
2: IICSn register = 0001XX00B
3: IICSn register = 0001X110B
4: IICSn register = 0001XX00B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 707 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(3) Start ~ Address ~ Data ~ Start ~ Code ~ Data ~ Stop
When WTIMn bit = 0 (after restart, extension code reception)
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
ST
AD6 to AD0
R/W
2
ACK
D7 to D0
3
ACK
SP
5
4
1: IICSn register = 0001X110B
2: IICSn register = 0001X000B
3: IICSn register = 0010X010B
4: IICSn register = 0010X000B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1 (after restart, extension code reception)
ST
AD6 to AD0
R/W
ACK
D7 to D0
ACK
1
ST
AD6 to AD0
2
R/W
ACK
3
D7 to D0
4
ACK
SP
5
6
1: IICSn register = 0001X110B
2: IICSn register = 0001XX00B
3: IICSn register = 0010X010B
4: IICSn register = 0010X110B
5: IICSn register = 0010XX00B
6: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 708 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(4) Start ~ Address ~ Data ~ Start ~ Address ~ Data ~ Stop
When WTIMn bit = 0 (after restart, address mismatch (= not extension code))
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
ST
AD6 to AD0
R/W
ACK
2
D7 to D0
ACK
SP
4
3
1: IICSn register = 0001X110B
2: IICSn register = 0001X000B
3: IICSn register = 00000X10B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1 (after restart, address mismatch (= not extension code))
ST
AD6 to AD0
R/W
ACK
D7 to D0
ACK
1
ST
AD6 to AD0
2
R/W
ACK
D7 to D0
3
ACK
SP
4
1: IICSn register = 0001X110B
2: IICSn register = 0001XX00B
3: IICSn register = 00000X10B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 709 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.7.3 Slave device operation (when receiving extension code)
(1) Start ~ Code ~ Data ~ Data ~ Stop
When IICCn.WTIMn bit = 0
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
4
3
1: IICSn register = 0010X010B
2: IICSn register = 0010X000B
3: IICSn register = 0010X000B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when IICCn.SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
ST
AD6 to AD0
R/W
ACK
1
D7 to D0
2
ACK
D7 to D0
3
ACK
SP
4
5
1: IICSn register = 0010X010B
2: IICSn register = 0010X110B
3: IICSn register = 0010X100B
4: IICSn register = 0010XX00B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 710 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(2) Start ~ Code ~ Data ~ Start ~ Address ~ Data ~ Stop
When WTIMn bit = 0 (after restart, address match)
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
ST
AD6 to AD0
R/W
ACK
2
D7 to D0
3
ACK
SP
5
4
1: IICSn register = 0010X010B
2: IICSn register = 0010X000B
3: IICSn register = 0001X110B
4: IICSn register = 0001X000B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1 (after restart, address match)
ST
AD6 to AD0
R/W
ACK
1
D7 to D0
ACK
2
ST
AD6 to AD0
3
R/W
ACK
D7 to D0
4
ACK
SP
5
6
1: IICSn register = 0010X010B
2: IICSn register = 0010X110B
3: IICSn register = 0010XX00B
4: IICSn register = 0001X110B
5: IICSn register = 0001XX00B
6: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 711 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(3) Start ~ Code ~ Data ~ Start ~ Code ~ Data ~ Stop
When WTIMn bit = 0 (after restart, extension code reception)
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
ST
AD6 to AD0
R/W
2
ACK
D7 to D0
3
ACK
SP
5
4
1: IICSn register = 0010X010B
2: IICSn register = 0010X000B
3: IICSn register = 0010X010B
4: IICSn register = 0010X000B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1 (after restart, extension code reception)
ST
AD6 to AD0
R/W
ACK
1
D7 to D0
ACK
2
ST
AD6 to AD0
3
R/W
ACK
4
D7 to D0
5
ACK
SP
6
7
1: IICSn register = 0010X010B
2: IICSn register = 0010X110B
3: IICSn register = 0010XX00B
4: IICSn register = 0010X010B
5: IICSn register = 0010X110B
6: IICSn register = 0010XX00B
7: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 712 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(4) Start ~ Code ~ Data ~ Start ~ Address ~ Data ~ Stop
When WTIMn bit = 0 (after restart, address mismatch (= not extension code))
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
ST
AD6 to AD0
R/W
ACK
2
D7 to D0
ACK
SP
4
3
1: IICSn register = 0010X010B
2: IICSn register = 0010X000B
3: IICSn register = 00000X10B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1 (after restart, address mismatch (= not extension code))
ST
AD6 to AD0
R/W
ACK
1
D7 to D0
ACK
2
ST
AD6 to AD0
3
R/W
ACK
D7 to D0
4
ACK
SP
5
1: IICSn register = 0010X010B
2: IICSn register = 0010X110B
3: IICSn register = 0010XX00B
4: IICSn register = 00000X10B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 713 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.7.4 Operation without communication
(1) Start ~ Code ~ Data ~ Data ~ Stop
ST
AD6 to AD0
R/W
ACK
D7 to D0
ACK
D7 to D0
ACK
SP
1
1: IICSn register = 00000001B
Remarks 1. : Generated only when SPIEn bit = 1
2. n = 0 to 2
19.7.5 Operation when arbitration loss occurs (operation as slave after arbitration loss)
(1) When arbitration loss occurs during transmission of slave address data
When IICCn.WTIMn bit = 0
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
4
3
1: IICSn register = 0101X110B (Example: When IICSn.ALDn bit is read during interrupt servicing)
2: IICSn register = 0001X000B
3: IICSn register = 0001X000B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when IICCn.SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
3
4
1: IICSn register = 0101X110B (Example: When ALDn bit is read during interrupt servicing)
2: IICSn register = 0001X100B
3: IICSn register = 0001XX00B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 714 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(2) When arbitration loss occurs during transmission of extension code
When WTIMn bit = 0
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
4
3
1: IICSn register = 0110X010B (Example: When ALDn bit is read during interrupt servicing)
2: IICSn register = 0010X000B
3: IICSn register = 0010X000B
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
ST
AD6 to AD0
R/W
ACK
1
D7 to D0
2
ACK
D7 to D0
3
ACK
SP
4
5
1: IICSn register = 0110X010B (Example: When ALDn bit is read during interrupt servicing)
2: IICSn register = 0010X110B
3: IICSn register = 0010X100B
4: IICSn register = 0010XX00B
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 715 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.7.6 Operation when arbitration loss occurs (no communication after arbitration loss)
(1) When arbitration loss occurs during transmission of slave address data
ST
AD6 to AD0
R/W
ACK
D7 to D0
ACK
D7 to D0
ACK
SP
2
1
1: IICSn register = 01000110B (Example: When IICSn.ALDn bit is read during interrupt servicing)
2: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when IICCn.SPIEn bit = 1
2. n = 0 to 2
(2) When arbitration loss occurs during transmission of extension code
ST
AD6 to AD0
R/W
ACK
D7 to D0
ACK
D7 to D0
1
1:
ACK
SP
2
IICSn register = 0110X010B (Example: When ALDn bit is read during interrupt servicing)
IICCn.LRELn bit is set to 1 by software
2:
IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 716 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(3) When arbitration loss occurs during data transfer
When IICCn.WTIMn bit = 0
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
ACK
SP
3
2
1: IICSn register = 10001110B
2: IICSn register = 01000000B (Example: When ALDn bit is read during interrupt servicing)
3: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
2. n = 0 to 2
When WTIMn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
SP
3
1: IICSn register = 10001110B
2: IICSn register = 01000100B (Example: When ALDn bit is read during interrupt servicing)
3: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 717 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(4) When arbitration loss occurs due to restart condition during data transfer
Not extension code (Example: Address mismatch)
ST
AD6 to AD0
R/W
ACK
D7 to Dn
ST
AD6 to AD0
R/W
ACK
1
D7 to D0
ACK
SP
3
2
1: IICSn register = 1000X110B
2: IICSn register = 01000110B (Example: When ALDn bit is read during interrupt servicing)
3: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. Dn = D6 to D0
n = 0 to 2
Extension code
ST
AD6 to AD0
R/W
ACK
D7 to Dn
ST
AD6 to AD0
1
R/W
ACK
D7 to D0
2
ACK
SP
3
1: IICSn register = 1000X110B
2: IICSn register = 0110X010B (Example: When ALDn bit is read during interrupt servicing)
IICCn.LRELn bit is set to 1 by software
3: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. Dn = D6 to D0
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 718 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(5) When arbitration loss occurs due to stop condition during data transfer
ST
AD6 to AD0
R/W
ACK
D7 to Dn
1
SP
2
1: IICSn register = 1000X110B
2: IICSn register = 01000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. Dn = D6 to D0
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 719 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(6) When arbitration loss occurs due to low level of SDA0n pin when attempting to generate a restart
condition
When WTIMn bit = 0
IICCn.STTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
2
D7 to D0
3
ACK
D7 to D0
ACK
SP
5
4
1: IICSn register = 1000X110B
2: IICSn register = 1000X000B (WTIMn bit = 1)
3: IICSn register = 1000XX00B (WTIMn bit = 0)
4: IICSn register = 01000000B (Example: When ALDn bit is read during interrupt servicing)
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
IICCn.STTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
D7 to D0
3
ACK
SP
4
1: IICSn register = 1000X110B
2: IICSn register = 1000XX00B
3: IICSn register = 01000100B (Example: When ALDn bit is read during interrupt servicing)
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 720 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(7) When arbitration loss occurs due to a stop condition when attempting to generate a restart condition
When WTIMn bit = 0
STTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
2
SP
4
3
1: IICSn register = 1000X110B
2: IICSn register = 1000X000B (WTIMn bit = 1)
3: IICSn register = 1000XX00B
4: IICSn register = 01000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
STTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
SP
2
3
1: IICSn register = 1000X110B
2: IICSn register = 1000XX00B
3: IICSn register = 01000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 721 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(8) When arbitration loss occurs due to low level of SDA0n pin when attempting to generate a stop condition
When WTIMn bit = 0
IICCn.SPTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
2
D7 to D0
3
ACK
D7 to D0
ACK
SP
5
4
1: IICSn register = 1000X110B
2: IICSn register = 1000X000B (WTIMn bit = 1)
3: IICSn register = 1000XX00B (WTIMn bit = 0)
4: IICSn register = 01000000B (Example: When ALDn bit is read during interrupt servicing)
5: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
When WTIMn bit = 1
IICCn.SPTn bit = 1
ST
AD6 to AD0
R/W
ACK
D7 to D0
1
ACK
D7 to D0
2
ACK
D7 to D0
3
ACK
SP
4
1: IICSn register = 1000X110B
2: IICSn register = 1000XX00B
3: IICSn register = 01000000B (Example: When ALDn bit is read during interrupt servicing)
4: IICSn register = 00000001B
Remarks 1. : Always generated
: Generated only when SPIEn bit = 1
X: don’t care
2. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 722 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.8 Interrupt Request Signal (INTIICn) Generation Timing and Wait Control
The setting of the IICCn.WTIMn bit determines the timing by which the INTIICn register is generated and the
corresponding wait control, as shown below (n = 0 to 2).
Table 19-3. INTIICn Generation Timing and Wait Control
WTIMn Bit
During Slave Device Operation
Address
0
1
Notes 1.
9
Notes 1, 2
9
Notes 1, 2
Data Reception
8
Note 2
9
Note 2
During Master Device Operation
Data Transmission
Address
Data Reception
Data Transmission
8
Note 2
9
8
8
9
Note 2
9
9
9
The slave device’s INTIICn signal and wait period occur at the falling edge of the ninth clock only when there
is a match with the address set to the SVAn register.
At this point, ACK is generated regardless of the value set to the IICCn.ACKEn bit. For a slave device that
has received an extension code, the INTIICn signal occurs at the falling edge of the eighth clock.
When the address does not match after restart, the INTIICn signal is generated at the falling edge of the
ninth clock, but no wait occurs.
2.
If the received address does not match the contents of the SVAn register and an extension code is not
received, neither the INTIICn signal nor a wait occurs.
Remarks 1. The numbers in the table indicate the number of the serial clock’s clock signals. Interrupt requests and
wait control are both synchronized with the falling edge of these clock signals.
2. n = 0 to 2
(1) During address transmission/reception
Slave device operation: Interrupt and wait timing is determined in accordance with the conditions shown in
notes 1 and 2 above regardless of the WTIMn bit setting.
Master device operation: Interrupt and wait timing occurs at the falling edge of the ninth clock regardless of the
WTIMn bit setting.
(2) During data reception
Master/slave device operation: Interrupt and wait timing is determined according to the WTIMn bit setting.
(3) During data transmission
Master/slave device operation: Interrupt and wait timing is determined according to the WTIMn bit setting.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 723 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
(4) Wait cancellation method
The following four wait cancellation methods are available.
By setting the IICCn.WRELn bit to 1
By writing to the IICn register
By setting start condition (IICCn.STTn bit = 1)Note
By setting stop condition (IICCn.SPTn bit = 1)Note
Note Master only
When an 8-clock wait has been selected (WTIMn bit = 0), whether or not ACK has been generated must be
determined prior to wait cancellation.
Remark
n = 0 to 2
(5) Stop condition detection
The INTIICn signal is generated when a stop condition is detected.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 724 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.9 Address Match Detection Method
In I2C bus mode, the master device can select a particular slave device by transmitting the corresponding slave address.
Address match detection is performed automatically by hardware. The INTIICn signal occurs when a local address has
been set to the SVAn register and when the address set to the SVAn register matches the slave address sent by the
master device, or when an extension code has been received (n = 0 to 2).
19.10 Error Detection
In I2C bus mode, the status of the serial data bus pin (SDA0n) during data transmission is captured by the IICn register
of the transmitting device, so the data of the IICn register prior to transmission can be compared with the transmitted IICn
data to enable detection of transmission errors. A transmission error is judged as having occurred when the compared
data values do not match (n = 0 to 2).
19.11 Extension Code
(1) When the higher 4 bits of the receive address are either 0000 or 1111, the extension code flag (IICSn.EXCn bit) is
set for extension code reception and an interrupt request signal (INTIICn) is issued at the falling edge of the eighth
clock (n = 0 to 2).
The local address stored in the SVAn register is not affected.
(2) If 11110xx0 is set to the SVAn register by a 10-bit address transfer and 11110xx0 is transferred from the master
device, the results are as follows. Note that the INTIICn signal occurs at the falling edge of the eighth clock (n = 0
to 2)
Higher 4 bits of data match:
EXCn bit = 1
7 bits of data match:
IICSn.COIn bit = 1
(3) Since the processing after the interrupt request signal occurs differs according to the data that follows the extension
code, such processing is performed by software.
For example, when operation as a slave is not desired after the extension code is received, set the IICCn.LRELn bit
to 1 and the CPU will enter the next communication wait state.
Table 19-4. Extension Code Bit Definitions
Slave Address
R/W Bit
Description
0000
000
0
General call address
0000
000
1
Start byte
0000
001
X
CBUS address
0000
010
X
Address that is reserved for different bus format
1111
0xx
X
10-bit slave address specification
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 725 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.12 Arbitration
When several master devices simultaneously generate a start condition (when the IICCn.STTn bit is set to 1 before the
IICSn.STDn bit is set to 1), communication between the master devices is performed while the number of clocks is
adjusted until the data differs. This kind of operation is called arbitration (n = 0 to 2).
When one of the master devices loses in arbitration, an arbitration loss flag (IICSn.ALDn bit) is set to 1 at the timing at
which the arbitration loss occurred, and the SCL0n and SDA0n lines are both set to high impedance, which releases the
bus (n = 0 to 2).
Arbitration loss is detected based on the timing of the next interrupt request signal (INTIICn) (the eighth or ninth clock,
when a stop condition is detected, etc.) and the setting of the ALDn bit to 1, which is made by software (n = 0 to 2).
For details of interrupt request timing, see 19.7 I2C Interrupt Request Signals (INTIICn).
Figure 19-14. Arbitration Timing Example
Master 1
SCL0n
SDA0n
Hi-Z
Hi-Z
Master 1 loses arbitration
Master 2
SCL0n
SDA0n
Transfer lines
SCL0n
SDA0n
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 726 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Table 19-5. Status During Arbitration and Interrupt Request Signal Generation Timing
Status During Arbitration
Transmitting address transmission
Interrupt Request Generation Timing
Note 1
At falling edge of eighth or ninth clock following byte transfer
Read/write data after address transmission
Transmitting extension code
Read/write data after extension code transmission
Transmitting data
ACK transfer period after data reception
When restart condition is detected during data transfer
Note 2
When stop condition is detected during data transfer
When stop condition is generated (when IICCn.SPIEn bit = 1)
When SDA0n pin is low level while attempting to generate
At falling edge of eighth or ninth clock following byte transfer
Note 1
restart condition
When stop condition is detected while attempting to
Note 2
When stop condition is generated (when IICCn.SPIEn bit = 1)
generate restart condition
When DSA0n pin is low level while attempting to generate
Note 1
At falling edge of eighth or ninth clock following byte transfer
stop condition
When SCL0n pin is low level while attempting to generate
restart condition
Notes 1.
When the IICCn.WTIMn bit = 1, an INTIICn signal occurs at the falling edge of the ninth clock. When the
WTIMn bit = 0 and the extension code’s slave address is received, an INTIICn signal occurs at the falling
edge of the eighth clock (n = 0 to 2).
2.
When there is a possibility that arbitration will occur, set the SPIEn bit to 1 for master device operation (n = 0
to 2).
19.13 Wakeup Function
The I2C bus slave function is a function that generates an interrupt request signal (INTIICn) when a local address and
extension code have been received.
This function makes processing more efficient by preventing unnecessary INTIICn signals from occurring when
addresses do not match.
When a start condition is detected, wakeup standby mode is set.
This wakeup standby mode is in effect while
addresses are transmitted due to the possibility that an arbitration loss may change the master device (which has
generated a start condition) to a slave device.
However, when a stop condition is detected, the IICCn.SPIEn bit is set regardless of the wakeup function, and this
determines whether INTIICn signal is enabled or disabled (n = 0 to 2).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 727 of 1210
V850ES/JG3-L
CHAPTER 19 I2C BUS
19.14 Communication Reservation
19.14.1 When communication reservation function is enabled (IICFn.IICRSVn bit = 0)
To start master device communications when the V850ES/JG3-L is not currently using the bus, a communication
reservation can be made to enable transmission of a start condition when the bus is released. There are two modes in
which the bus is not used by the V850ES/JG3-L.
When arbitration results in the V850ES/JG3-L being neither the master nor a slave
When an extension code is received and slave operation is disabled (ACK is not returned and the bus was released
when the IICCn.LRELn bit was set to 1) (n = 0 to 2).
If the IICCn.STTn bit is set to 1 while the bus is not used by the V850ES/JG3-L, a start condition is automatically
generated and a wait status is set after the bus is released (after a stop condition is detected).
When the bus release is detected (when a stop condition is detected), writing to the IICn register causes master
address transfer to start. At this point, the IICCn.SPIEn bit should be set to 1 (n = 0 to 2).
When STTn has been set to 1, the operation mode (as start condition or as communication reservation) is determined
according to the bus status (n = 0 to 2).
If the bus has been released .............................................A start condition is generated
If the bus has not been released (standby mode)..............Communication reservation
To detect which operation mode has been determined for the STTn bit, set the STTn bit to 1, wait for the wait period,
then check the IICSn.MSTSn bit (n = 0 to 2).
The wait periods, which should be set via software, are listed in Table 19-6. These wait periods can be set by using the
SMCn, CLn1, and CLn0 bits of the IICCLn register and the IICXn.CLXn bit (n = 0 to 2).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 728 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Table 19-6. Wait Periods
Clock Selection
CLXn
SMCn
CLn1
CLn0
Wait Period
fXX (when OCKSm = 18H set)
0
0
0
0
26 clocks
fXX/2 (when OCKSm = 10H set)
0
0
0
0
52 clocks
fXX/3 (when OCKSm = 11H set)
0
0
0
0
78 clocks
fXX/4 (when OCKSm = 12H set)
0
0
0
0
104 clocks
fXX/5 (when OCKSm = 13H set)
0
0
0
0
130 clocks
fXX (when OCKSm = 18H set)
0
0
0
1
47 clocks
fXX/2 (when OCKSm = 10H set)
0
0
0
1
94 clocks
fXX/3 (when OCKSm = 11H set)
0
0
0
1
141 clocks
fXX/4 (when OCKSm = 12H set)
0
0
0
1
188 clocks
fXX
0
0
1
0
47 clocks
fXX (when OCKSm = 18H set)
0
0
1
1
37 clocks
fXX/2 (when OCKSm = 10H set)
0
0
1
1
74 clocks
fXX/3 (when OCKSm = 11H set)
0
0
1
1
111 clocks
fXX (when OCKSm = 18H set)
0
1
0
16 clocks
fXX/2 (when OCKSm = 10H set)
0
1
0
32 clocks
fXX/3 (when OCKSm = 11H set)
0
1
0
48 clocks
fXX/4 (when OCKSm = 12H set)
0
1
0
64 clocks
fXX
0
1
1
0
16 clocks
fXX (when OCKSm = 18H set)
0
1
1
1
13 clocks
fXX/2 (when OCKSm = 10H set)
0
1
1
1
26 clocks
fXX/3 (when OCKSm = 11H set)
0
1
1
1
39 clocks
fXX (when OCKSm = 18H set)
1
1
0
10 clocks
fXX/2 (when OCKSm = 10H set)
1
1
0
20 clocks
fXX/3 (when OCKSm = 11H set)
1
1
0
30 clocks
fXX/4 (when OCKSm = 12H set)
1
1
0
40 clocks
fXX/5 (when OCKSm = 13H set)
1
1
0
50 clocks
fXX
1
1
1
0
10 clocks
Remarks 1. n = 0 to 2
m = 0, 1
2. = don’t care
The communication reservation timing is shown below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 729 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-15. Communication Reservation Timing
Program processing
Hardware processing
SCL0n
1
2
3
4
STTn
=1
Write to
IICn
Set SPDn
and INTIICn
Communication
reservation
5
6
7
8
9
Set
STDn
1
2
3
4
5
6
SDA0n
Generated by master with bus access
Remark
n = 0 to 2
STTn:
Bit of IICCn register
STDn:
Bit of IICSn register
SPDn:
Bit of IICSn register
Communication reservations are accepted at the following timing. After the IICSn.STDn bit is set to 1, a communication
reservation can be made by setting the IICCn.STTn bit to 1 before a stop condition is detected (n = 0 to 2).
Figure 19-16. Timing for Accepting Communication Reservations
SCL0n
SDA0n
STDn
SPDn
Standby mode
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 730 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
The communication reservation flowchart is illustrated below.
Figure 19-17. Communication Reservation Flowchart
DI
SET1 STTn
Define communication
reservation
Wait
Sets STTn bit (communication reservation).
Defines that communication reservation is in effect
(defines and sets user flag to any part of RAM).
Secures wait period set by software (see Table 19-6).
Note
(Communication reservation)
Yes
MSTSn bit = 0?
Confirmation of communication reservation
No
(Generate start condition)
Cancel communication
reservation
IICn register ← xxH
Clears user flag.
IICn register write operation
EI
Note When communication is reserved, the IICn register is written when a stop condition interrupt request
occurs.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 731 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.14.2 When communication reservation function is disabled (IICFn.IICRSVn bit = 1)
If the IICCn.STTn bit is set when the bus is not being used by the V850ES/JG3-L in a bus communication, this request
is rejected and a start condition is not generated. There are two modes in which the bus is not used by the V850ES/JG3-L.
When arbitration results in the V850ES/JG3-L being neither the master nor a slave
When an extension code is received and slave operation is disabled (ACK is not returned and the bus was released
when the IICCn.LRELn bit was set to 1) (n = 0 to 2).
To confirm whether the start condition was generated or request was rejected, check the IICFn.STCFn flag. The time
shown in Table 19-7 is required until the STCFn flag is set after setting the STTn bit to 1. Therefore, secure the time by
software.
Table 19-7. Wait Periods
OCKSENm
OCKSm1
OCKSm0
CLn1
CLn0
Wait Period
1
0
0
0
10 clocks
1
0
1
0
15 clocks
1
1
0
0
20 clocks
1
1
1
0
25 clocks
0
0
0
1
0
5 clocks
Remarks 1. : don’t care
2. n = 0 to 2
m = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 732 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.15 Cautions
(1) When IICFn.STCENn bit = 0
Immediately after the I2C0n operation is enabled, the bus communication status (IICFn.IICBSYn bit = 1) is
recognized regardless of the actual bus status. To execute master communication in the status where a stop
condition has not been detected, generate a stop condition and then release the bus before starting the master
communication.
Use the following sequence for generating a stop condition.
Set the IICCLn register.
Set the IICCn.IICEn bit.
Set the IICCn.SPTn bit.
(2) When IICFn.STCENn bit = 1
Immediately after I2C0n operation is enabled, the bus released status (IICBSYn bit = 0) is recognized regardless of
the actual bus status. To generate the first start condition (IICCn.STTn bit = 1), it is necessary to confirm that the
bus has been released, so as to not disturb other communications.
(3) When the IICCn.IICEn bit of the V850ES/JG3-L is set to 1 while communications with other devices are in progress,
the start condition may be detected depending on the status of the communication line.
Be sure to set the
IICCn.IICEn bit to 1 when the SCL0n and SDA0n lines are high level.
(4) Determine the operation clock frequency by the IICCLn, IICXn, and OCKSm registers before enabling the operation
(IICCn.IICEn bit = 1). To change the operation clock frequency, clear the IICCn.IICEn bit to 0 once.
(5) After the IICCn.STTn and IICCn.SPTn bits have been set to 1, they must not be re-set without being cleared to 0
first.
(6) If transmission has been reserved, set the IICCN.SPIEn bit to 1 so that an interrupt request is generated by the
detection of a stop condition. After an interrupt request has been generated, the wait status will be released by
writing communication data to I2Cn, then transferring will begin. If an interrupt is not generated by the detection of a
stop condition, transmission will halt in the wait status because an interrupt request was not generated. However, it
is not necessary to set the SPIEn bit to 1 for the software to detect the IICSn.MSTSn bit.
Remark
n = 0 to 2
m = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 733 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.16 Communication Operations
Next the following three operations are shown using flowcharts.
(1) Master operation in single master system
The flowchart when using the V850ES/JG3-L as the master in a single master system is shown below.
This flowchart is broadly divided into the initial settings and communication processing. Execute the initial settings
at startup.
If communication with the slave is required, prepare the communication and then execute
communication processing.
(2) Master operation in multimaster system
In the I2C0n bus multimaster system, whether the bus is released or used cannot be judged by the I2C bus
specifications when the bus takes part in a communication. Here, when data and clock are at a high level for a
certain period (1 frame), the V850ES/JG3-L takes part in a communication with bus released state.
This flowchart is broadly divided into the initial settings, communication waiting, and communication processing.
The processing when the V850ES/JG3-L loses in arbitration and is specified as the slave is omitted here, and only
the processing as the master is shown. Execute the initial settings at startup to take part in a communication.
Then, wait for the communication request as the master or wait for the specification as the slave. The actual
communication is performed in the communication processing, and it supports the transmission/reception with the
slave and the arbitration with other masters.
(3) Slave operation
An example of when the V850ES/JG3-L is used as the slave of the I2C0n bus is shown below.
When used as the slave, operation is started by an interrupt. Execute the initial settings at startup, then wait for the
INTIICn interrupt occurrence (communication waiting). When the INTIICn interrupt occurs, the communication
status is judged and its result is passed as a flag over to the main processing.
By checking the flags, necessary communication processing is performed.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 734 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.16.1 Master operation in single master system
Figure 19-18. Master Operation in Single Master System
START
Initialize I2C busNote
Set ports
Initial settings
IICXn ← 0XH
IICCLn ← XXH
OCKSm ← XXH
Refer to Table 4-15 Settings When Pins Are Used for Alternate Functions
to set the I2C mode before this function is used.
Transfer clock selection
SVAn ← XXH
Local address setting
IICFn ← 0XH
Set STCENn, IICRSVn = 0
Start condition setting
IICCn ← XXH
ACKEn = WTIMn = SPIEn = 1
IICEn = 1
STCENn = 1?
Yes
No
SPTn = 1
INTIICn
interrupt occurred?
Communication start preparation
(stop condition generation)
No
Waiting for stop condition detection
Yes
STTn = 1
Communication start preparation
(start condition generation)
Write IICn
Communication start
(address, transfer direction specification)
INTIICn
interrupt occurred?
No
Waiting for ACK detection
Yes
No
ACKDn = 1?
Yes
Communication processing
TRCn = 1?
No
ACKEn = 1
WTIMn = 0
Yes
Write IICn
INTIICn
interrupt occurred?
Transmission start
No
Waiting for data transmission
WRELn = 1
INTIICn
interrupt occurred?
Yes
Yes
ACKDn = 1?
No
Reception start
No
Waiting for
data reception
Read IICn
Yes
No
Transfer completed?
No
Transfer completed?
Yes
Yes
Restarted?
Yes
ACKEn = 0
WTIMn = WRELn = 1
No
SPTn = 1
INTIICn
interrupt occurred?
No
Waiting for ACK detection
Yes
END
2
Note Release the I C0n bus (SCL0n, SDA0n pins = high level) in compliance with the specifications of the product
involved in the communication.
For example, when the EEPROMTM outputs a low level to the SDA0n pin, set the SCL0n pin as an output pin
and output clock pulses from that output pin until the SDA0n pin is constantly high level.
Remarks 1. For the transmission and reception formats, conform to the specifications of the product involved in
the communication.
2. n = 0 to 2, m = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 735 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.16.2 Master operation in multimaster system
Figure 19-19. Master Operation in Multimaster System (1/3)
START
Refer to Table 4-15 Settings When Pins Are Used for Alternate Functions
to set the I2C mode before this function is used.
Set ports
IICXn ← 0XH
IICCLn ← XXH
OCKSm ← XXH
Transfer clock selection
SVAn ← XXH
Local address setting
IICFn ← 0XH
Set STCENn, IICRSVn
Start condition setting
Initial settings
IICCn ← XXH
ACKEn = WTIMn = SPIEn = 1
IICEn = 1
Confirm bus statusNote
Bus release status for a certain period
Confirmation of bus
status is in progress
No
INTIICn interrupt
occurred?
No
STCENn = 1?
Communication start preparation
(stop condition generation)
SPTn = 1
Yes
Yes
SPDn = 1?
INTIICn interrupt
occurred?
No
Yes
Yes
Slave operation
SPDn = 1?
No
Waiting for stop condition
detection
No
Yes
1
Master operation
started?
Communication waiting
Slave operation
• Waiting for slave specification from another master
• Waiting for communication start request (depending on user program)
No
(no communication start request)
Yes
(communication start
request issued)
SPIEn = 0
INTIICn interrupt
occurred?
SPIEn = 1
No
Waiting for communication request
Yes
IICRSVn = 0?
No
Slave operation
Yes
A
B
Communication
Communication
reservation enable reservation disable
Note Confirm that the bus release status (IICCLn.CLDn bit = 1, IICCLn.DADn bit = 1) has been maintained for a
certain period (1 frame, for example). When the SDA0n pin is constantly low level, determine whether to
release the I2C0n bus (SCL0n, SDA0n pins = high level) by referring to the specifications of the product
involved in the communication.
Remark
n = 0 to 2, m = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 736 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-19. Master Operation in Multimaster System (2/3)
A
Communication reservation enabled
STTn = 1
Securing wait time by software
(refer to Table 19-6)
Wait
Communication processing
Communication start preparation
(start condition generation)
MSTSn = 1?
No
Yes
INTIICn
interrupt occurred?
No
Waiting for bus release
(communication reserved)
Yes
No
Wait status after stop condition
detection and start condition generation
by communication reservation function
C
Yes
Slave operation
B
Communication reservation disabled
IICBSYn = 0?
No
Yes
D
Communication processing
EXCn = 1 or COIn =1?
STTn = 1
Wait
STCFn = 0?
Yes
Communication start preparation
(start condition generation)
Securing wait time by software
(refer to Table 19-7)
No
INTIICn
interrupt occurred?
No
Waiting for bus release
Yes
C
EXCn = 1 or COIn =1?
No
D
Remark
Yes
Stop condition detection
Slave operation
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 737 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-19. Master Operation in Multimaster System (3/3)
C
Write IICn
INTIICn
interrupt occurred?
Communication start
(address, transfer direction specification)
No
Waiting for ACK detection
Yes
MSTSn = 1?
No
Yes
No
2
ACKDn = 1?
Yes
Communication processing
TRCn = 1?
No
ACKEn = 1
WTIMn = 0
Yes
WTIMn = 1
WRELn = 1
Write IICn
Transmission start
INTIICn
interrupt occurred?
INTIICn
interrupt occurred?
No
Waiting for data transmission
Yes
MSTSn = 1?
Yes
MSTSn = 1?
No
Waiting for data
transmission
No
No
Yes
Yes
ACKDn = 1?
Reception start
2
2
Read IICn
No
Transfer completed?
No
Yes
Yes
No
WTIMn = WRELn = 1
ACKEn = 0
Transfer completed?
Yes
INTIICn
interrupt occurred?
Restarted?
No
No
Waiting for ACK detection
Yes
SPTn = 1
Yes
MSTSn = 1?
STTn = 1
END
Yes
No
2
Communication processing
C
2
EXCn = 1 or COIn = 1?
No
Yes
Slave operation
1
Not in communication
Remarks 1. Conform the transmission and reception formats to the specifications of the product involved in the
communication.
2. When using the V850ES/JG3-L as the master in a multimaster system, read the IICSn.MSTSn bit for
each INTIICn interrupt occurrence to confirm the arbitration result.
3. When using the V850ES/JG3-L as the slave in a multimaster system, confirm the status using the
IICSn and IICFn registers for each INTIICn interrupt occurrence to determine the next processing.
4. n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 738 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
19.16.3 Slave operation
The following shows the processing procedure of the slave operation.
Basically, the operation of the slave device is event-driven. Therefore, processing by an INTIICn interrupt (processing
requiring a significant change of the operation status, such as stop condition detection during communication) is necessary.
The following description assumes that data communication does not support extension codes. Also, it is assumed that
the INTIICn interrupt servicing performs only status change processing and that the actual data communication is passing
during the main processing.
Figure 19-20. Outline of Software During Slave Operation
INTIICn signal
Flag
Interrupt servicing
Setting, etc.
Main processing
I2C
Data
Setting, etc.
Therefore, the following three flags are prepared so that the data transfer processing can be performed by passing
these flags to the main processing instead of INTIICn signal.
(1) Communication mode flag
This flag indicates the following communication statuses.
Clear mode:
Data communication not in progress
Communication mode: Data communication in progress (valid address detection stop condition detection, ACK from
master not detected, address mismatch)
(2) Ready flag
This flag indicates that data communication is enabled. This is the same status as an INTIICn interrupt during normal
data transfer. This flag is set in the interrupt processing block and cleared in the main processing block. The ready
flag for the first data for transmission is not set in the interrupt processing block, so the first data is transmitted without
clear processing (the address match is regarded as a request for the next data).
(3) Communication direction flag
This flag indicates the direction of communication and is the same as the value of IICSn.TRCn bit.
The following shows the operation of the main processing block during slave operation.
I2C0n is started and waits for the communication enabled status. When communication is enabled, transfer is executed
using the communication mode flag and ready flag (the processing of the stop condition and start condition is performed
by interrupts, conditions are confirmed by flags).
For transmission, transmission is repeated until the master device stops returning ACK. When the master device stops
returning ACK, transfer is complete.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 739 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
For reception, the required number of data items are received and ACK is not returned for the next data immediately
after transfer is complete. After that, the master device generates the stop condition or restart condition. This causes exit
from communications.
Figure 19-21. Slave Operation Flowchart (1)
START
Refer to Table 4-15 Settings When Pins Are Used for Alternate
Functions to set the I2C mode before this function is used.
Set ports
Initial settings
IICXn ← 0XH
IICCLn ← XXH
OCKSm ← XXH
Transfer clock selection
SVAn ← XXH
Local address setting
IICFn ← 0XH
Start condition setting
Set IICRSVn
IICCn ← XXH
ACKEn = WTIMn = 1
SPIEn = 0, IICEn = 1
No
Communication mode
flag = 1?
Yes
No
Communication direction
flag = 1?
Yes
WRELn = 1
Transmission
start
Communication processing
Write IICn
No
Communication mode
flag = 1?
Communication mode
flag = 1?
No
Yes
Yes
No
Reception
start
Communication direction
flag = 0?
Communication direction
flag = 1?
No
Yes
No
Yes
No
Ready flag = 1?
Ready flag = 1?
Yes
Yes
Read IICn
Clear ready flag
Yes
Clear ready flag
ACKDn = 1?
No
Clear communication mode flag
WRELn = 1
Remark
n = 0 to 2, m = 0, 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 740 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
The following shows an example of the processing of the slave device by an INTIICn interrupt (it is assumed that no
extension codes are used here). During an INTIICn interrupt, the status is confirmed and the following steps are executed.
When a stop condition is detected, communication is terminated.
When a start condition is detected, the address is confirmed. If the address does not match, communication is
terminated. If the address matches, the communication mode is set and wait is released, and operation returns
from the interrupt (the ready flag is cleared).
For data transmission/reception, when the ready flag is set, operation returns from the interrupt while the I2C0n
bus remains in the wait status.
Remark
to above correspond to to in Figure 19-22 Slave Operation Flowchart (2).
Figure 19-22. Slave Operation Flowchart (2)
INTIICn occurred
Yes
Yes
SPDn = 1?
No
STDn = 1?
No
No
COIn = 1?
Yes
Set ready flag
Communication direction flag ← TRCn
Set communication mode flag
Clear ready flag
Clear communication
direction flag, ready flag,
and communication mode flag
Interrupt servicing completed
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 741 of 1210
V850ES/JG3-L
CHAPTER 19 I2C BUS
19.17 Timing of Data Communication
When using I2C bus mode, the master device outputs an address via the serial bus to select one of several slave
devices as its communication partner.
After outputting the slave address, the master device transmits the IICSn.TRCn bit value, which specifies the data
transfer direction, and then starts serial communication with the slave device.
The shift operation of the IICn register is synchronized with the falling edge of the serial clock pin (SCL0n). The
transmit data is transferred to the SO latch and is output (MSB first) via the SDA0n pin.
Data that is input via the SDA0n pin is captured by the IICn register at the rising edge of the SCL0n pin.
The data communication timing is shown below.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 742 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-23. Example of Master to Slave Communication
(When 9-Clock Wait Is Selected for Both Master and Slave) (1/3)
(a) Start condition ~ address
Processing by master device
IICn ← address
IICn
IICn ← data
ACKDn
STDn
SPDn
WTIMn
H
ACKEn
H
MSTSn
STTn
SPTn
L
WRELn
L
INTIICn
TRCn
H
Transmit
Transfer lines
1
SCL0n
2
3
4
5
6
7
AD6 AD5 AD4 AD3 AD2 AD1 AD0
SDA0n
8
9
1
2
3
4
W
ACK
D7
D6
D5
D4
Start condition
Processing by slave device
IICn ← FFH
IICn
Note
ACKDn
STDn
SPDn
WTIMn
H
ACKEn
H
MSTSn
L
STTn
L
SPTn
L
Note
WRELn
INTIICn
(when EXCn = 1)
TRCn
L
Receive
Note To cancel slave wait, write FFH to IICn or set WRELn.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 743 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-23. Example of Master to Slave Communication
(When 9-Clock Wait Is Selected for Both Master and Slave) (2/3)
(b) Data
Processing by master device
IICn ← data
IICn
IICn ← data
ACKDn
STDn
L
SPDn
L
WTIMn
H
ACKEn
H
MSTSn
H
STTn
L
SPTn
L
WRELn
L
INTIICn
TRCn
H
Transmit
Transfer lines
SCL0n
8
9
1
2
3
4
5
6
7
8
9
SDA0n
D0
ACK
D7
D6
D5
D4
D3
D2
D1
D0
ACK
1
2
3
D7
D6
D5
Processing by slave device
IICn ← FFH Note
IICn
IICn ← FFH Note
ACKDn
STDn
L
SPDn
L
WTIMn
H
ACKEn
H
MSTSn
L
STTn
L
SPTn
L
Note
WRELn
Note
INTIICn
TRCn
L
Receive
Note To cancel slave wait, write FFH to IICn or set WRELn.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 744 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-23. Example of Master to Slave Communication
(When 9-Clock Wait Is Selected for Both Master and Slave) (3/3)
(c) Stop condition
Processing by master device
IICn ← data
IICn
IICn ← address
ACKDn
STDn
SPDn
WTIMn
H
ACKEn
H
MSTSn
STTn
SPTn
WRELn
L
INTIICn
(when SPIEn = 1)
TRCn
H Transmit
Transfer lines
SCL0n
1
2
3
4
5
6
7
8
9
SDA0n
D7
D6
D5
D4
D3
D2
D1
D0
ACK
Processing by slave device
IICn ← FFH Note
IICn
1
2
AD6 AD5
Stop
condition
Start
condition
IICn ← FFH Note
ACKDn
STDn
SPDn
WTIMn
H
ACKEn
H
MSTSn
L
STTn
L
SPTn
L
Note
WRELn
Note
INTIICn
(when SPIEn = 1)
TRCn
L Receive
Note To cancel slave wait, write FFH to IICn or set WRELn.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 745 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-24. Example of Slave to Master Communication
(When 8-Clock Wait Is Selected for Master and 9-Clock Wait Is Selected for Slave) (1/3)
(a) Start condition ~ address
Processing by master device
IICn ← address
IICn
IICn ← FFH Note
ACKDn
STDn
SPDn
WTIMn
L
ACKEn
H
MSTSn
STTn
L
SPTn
Note
WRELn
INTIICn
TRCn
Transfer lines
1
SCL0n
2
3
4
5
6
7
AD6 AD5 AD4 AD3 AD2 AD1 AD0
SDA0n
8
9
R
ACK
1
D7
2
3
4
5
6
D6
D5
D4
D3
D2
Start condition
Processing by slave device
IICn ← data
IICn
ACKDn
STDn
SPDn
WTIMn
H
ACKEn
H
MSTSn
L
STTn
L
SPTn
L
WRELn
L
INTIICn
TRCn
Note To cancel master wait, write FFH to IICn or set WRELn.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 746 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-24. Example of Slave to Master Communication
(When 8-Clock Wait Is Selected for Master and 9-Clock Wait Is Selected for Slave (2/3)
(b) Data
Processing by master device
IICn ← FFH Note
IICn
IICn ← FFH Note
ACKDn
STDn
L
SPDn
L
WTIMn
L
ACKEn
H
MSTSn
H
STTn
L
SPTn
L
Note
WRELn
Note
INTIICn
TRCn
L Receive
Transfer lines
SCL0n
8
9
SDA0n
D0
ACK
1
D7
2
3
4
5
6
7
8
9
D6
D5
D4
D3
D2
D1
D0
ACK
1
D7
2
3
D6
D5
Processing by slave device
IICn ← data
IICn
IICn ← data
ACKDn
STDn
L
SPDn
L
WTIMn
H
ACKEn
H
MSTSn
L
STTn
L
SPTn
L
WRELn
L
INTIICn
TRCn
H Transmit
Note To cancel master wait, write FFH to IICn or set WRELn.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 747 of 1210
CHAPTER 19 I2C BUS
V850ES/JG3-L
Figure 19-24. Example of Slave to Master Communication
(When Wait Is Changed from 8 Clocks to 9 Clocks for Master and 9-Clock Wait Is Selected for Slave) (3/3)
(c) Stop condition
Processing by master device
IICn ← address
IICn ← FFH Note
IICn
ACKDn
STDn
SPDn
WTIMn
ACKEn
MSTSn
STTn
SPTn
Note
WRELn
INTIICn
(when SPIEn = 1)
TRCn
Transfer lines
SCL0n
1
2
3
4
5
6
7
8
SDA0n
D7
D6
D5
D4
D3
D2
D1
D0
Processing by slave device
9
1
NACK
Stop
condition
AD6
Start
condition
IICn ← data
IICn
ACKDn
STDn
SPDn
WTIMn
H
ACKEn
H
MSTSn
L
STTn
L
SPTn
L
WRELn
INTIICn
(when SPIEn = 1)
TRCn
Note To cancel master wait, write FFH to IICn or set WRELn.
Remark
n = 0 to 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 748 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
The V850ES/JG3-L have an internal USB function controller (USBF) conforming to the Universal Serial Bus
Specification. Data communication using the polling method is performed between the USB function controller and
external host device by using a token-based protocol.
20.1 Overview
Conforms to the Universal Serial Bus Specification
Supports 12 Mbps (full-speed) transfer
Endpoint for transfer incorporated
Endpoint Name
FIFO Size (Bytes)
Transfer Type
Remark
Endpoint0 Read
64
Control transfer
Endpoint0 Write
64
Control transfer
Endpoint1
64 2
Bulk 1 transfer (IN)
2-buffer configuration
Endpoint2
64 2
Bulk 1 transfer (OUT)
2-buffer configuration
Endpoint3
64 2
Bulk 2 transfer (IN)
2-buffer configuration
Endpoint4
64 2
Bulk 2 transfer (OUT)
2-buffer configuration
Endpoint7
8
Interrupt transfer
Bulk transfer (IN/OUT) can be executed as DMA transfer (2-cycle single-transfer mode)
Clock: Internal clock (6 MHz external clock internal clock multiplied by 8 = 48 MHz internal clock) or external clock
(external clock input to UCLK pin (fUSB = 48 MHz)) selectable
Caution
The registers listed in 20.6.2 USB function controller register list must be accessed after specifying
that the internal clock or the external clock is to be used as the USB clock and supplying clock to the
USB function controller.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 749 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.2 Configuration
20.2.1 Block diagram
Figure 20-1. Block Diagram of USB Function Controller
Bridge interrupt enable register
(BRGINTE)
Internal CPU
Bridge circuit
USBF interrupt
(INTUSBF0)
USBF
controller
Endpoint
Endpoint0 Read (64 bytes)
Endpoint0 Write (64 bytes)
Endpoint1
(64 bytes × 2)
Endpoint2
(64 bytes × 2)
Endpoint3
(64 bytes × 2)
Endpoint4
(64 bytes × 2)
Endpoint7
(8 bytes)
SIE
I/O
buffer
UDMF
UDPF
USB resume
interrupt
(INTUSBF1)
USB clock
Remark
Inside broken lines: These functions are included in the USB function controller.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 750 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.2.2 USB memory map
The USB function controller seen from the CPU is assigned to the 00200000H to 0024FFFFH memory space in the
microcontroller. The memory space is divided for use as follows.
Table 20-1. Division of CPU Memory Space
Address
Area
00200000H to 00200092H
EPC control register area
00200100H to 00200114H
EPC data hold register area
00200144H to 002003C4H
EPC request data register area
00200400H to 00200408H
Bridge register area
00200500H to 0020050EH
DMA register area
00201000H
Bulk-in register area
00202000H
00210000H
EP3 (Bulk-IN2)
Bulk-out register area
00220000H
00240000H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
EP1 (Bulk-IN1)
EP2 (Bulk-Out1)
EP4 (Bulk-Out2)
Peripheral control register area
Page 751 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.3 External Circuit Configuration
20.3.1 Outline
In USB transmission, when communication is performed with the host controller and function controller facing each
other, pull-up/pull-down resistors must be connected to the USB signal (D+/D) to identify the communication partner.
Moreover in the V850ES/JG3-L, series resistors must also be connected.
Because the V850ES/JG3-L do not include these pull-up/pull-down resistors and series resistors, be sure to connect
them externally.
The following shows the outline configuration of the USB transmission line. For details of the external configuration, see
the description provided in each section.
Figure 20-2. Outline Configuration of Pull-up, Pull-down, Series Resistors in USB Transmission Line
VDD
VDD
Host device
Function
device
Connect series resistors when using the V850ES/JG3-L
D+
D-
15 kΩ ±5%
15 kΩ ±5%
Low speed
Full speed
(USB function controller in the V850ES/JG3-L
is fixed to full speed)
Mount either one in accordance with operation speed.
Host side
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Function side
Page 752 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.3.2 Connection configuration
Figure 20-3. Example of USB Function Controller Connection
UVDD
V850ES/JG3-L
Determine the pull-up resistor value in accordance
with the buffer type (pull-down/pull-up) of the port
pin to be used.
P06/INTP3
UVDD
IC1
P41
IC2
Connect a pull-up
resistor to D+.
1.5 kΩ ±5%.
Schmitt buffer
recommended
R1
VBUS
UDPF
UDMF
D+
30 Ω ±5%
D−
30 Ω ±5%
Insert a series resistor adjacent to
the V850ES/JG3-L.
Make the length of the wiring between
resistors and D+/D− of the USB connector
the same.
R2
USB connector
50 kΩ or more
(floating protection)
VBUS is resistancedivided at a ratio of R1:R2.
(1) Series resistor connection to D+/D
Connect series resistors of 30 5% to the D+/D pins (UFDP, UFDM) of the USB function controller in the
V850ES/JG3-L. If they are not connected, the impedance rating cannot be satisfied and the output waveform may
be disturbed.
Allocate the series resistors adjacent to the V850ES/JG3-L and make the length of the wiring between the series
resistors and the USB connectors the same, to make the impedance of D+ and D equal (a differential with 90
5% is recommended).
(2) Pull-up control of D+
Because the function controller of the V850ES/JG3-L is fixed to full speed (FS), be sure to pull up the D+ pin
(UFDP) by 1.5 k 5% to UVDD.
To disable a connection report (D+ pull up) to the USB host/HUB (such as during high priority servicing or
initialization), control the pull-up resistor of D+ via a general-purpose port in the system. For a circuit such as the
one shown in Figure 20-3, control the pull-up control signal and the VBUS input signal of the D+ pin by using a
general-purpose port and the USB cable VBUS (AND circuit). In Figure 20-3, if the general-purpose port is low
level, pulling up of D+ is prohibited.
For the IC2 in Figure 20-3, use an IC to which voltage can be applied when the system power is off.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 753 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3) Detection of USB cable connection/disconnection
The USB function controller (USBF) requires a VBUS input signal to recognize whether the USB cable is connected
or disconnected, because the state of the USBF is controlled by hardware. The voltage from the USB host or HUB
(5 V) is applied as the VBUS input signal when the USB cable VBUS is connected to the USB host or HUB while
the USBF power is off. Therefore, for IC1 in Figure 20-3, use an IC to which voltage can be applied when the
system power is off. When disconnecting the USB cable in the circuit in Figure 20-3, the input signal to INTP3 may
be unstable while the VBUS voltage is dropping. It is therefore recommended to use a Schmitt buffer for IC1 in
Figure 20-3.
(4) Floating protection during initialization or when USBF is unused
When the USB function controller is initialized or unused, to avoid a floating status, pull the D+/D pins down using
a resistor of 50 k or higher.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 754 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.4 Cautions
(1) Clock accuracy
To operate the USB function controller, the internal clock (6 MHz external clock × internal clock multiplied by 8 = 48
MHz internal clock) or external clock (external clock input to UCLK pin (fUSB = 48 MHz)) must be used as the USB
clock. When the internal clock is used as the USB clock, use a resonator with an accuracy of 6 MHz 2500 ppm
(max.). When the external clock is used, apply a clock with an accuracy of 48 MHz 2500 ppm (max.) to the UCLK
pin. If the USB clock accuracy drops, the transmission data cannot satisfy the USB rating.
(2) Stopping the USB clock
When the main clock (fXX) has been selected as the USB function controller clock and it is necessary to stop the
USB function controller, be sure to stop the USB function controller (by setting bits 1 and 0 of the UFCKMSK
register to 1) first before stopping the main clock (fXX).
If the main clock (fXX) is stopped without first stopping the USB function controller, a malfunction might occur due to
noise in the clock pulse when the main clock (fXX) is restarted.
Similarly, when an external clock whose signal is input from the UCLK pin is selected as the USB function controller
clock, measures must be taken to prevent noise from being generated in the clock pulse by the external circuit. If
this is not feasible, then the USB function controller must be stopped first before stopping the main clock (fXX).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 755 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.5 Requests
The USB standard has a request command that reports requests from the host device to the function device to execute
response processing.
The requests are received in the SETUP stage of control transfer, and most can be automatically processed via the
hardware of the USB function controller (USBF).
20.5.1 Automatic requests
(1) Decode
The following tables show the request format and the correspondence between requests and decoded values.
Table 20-2. Request Format
Offset
Field Name
0
bmRequestType
1
bRequest
2
wValue
3
4
Higher side
wIndex
5
6
7
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Lower side
Lower side
Higher side
wLength
Lower side
Higher side
Page 756 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Table 20-3. Correspondence Between Requests and Decoded Values
Offset
Decoded Value
bmRequestType bRequest
Request
GET_INTERFACE
Response
wValue
wIndex
wLength
0
1
3
2
5
4
7
6
81H
0AH
00H
00H
00H
0nH
00H
01H
Df
Ad
STALL
STALL
Data
Cf
ACK
Stage
NAK
GET_CONFIGURATION
GET_DESCRIPTOR
80H
80H
08H
06H
00H
01H
00H
00H
00H
00H
00H
00H
00H
XXH
01H
XXHNote 1
Device
GET_DESCRIPTOR
80H
06H
02H
00H
00H
00H
XXH
XXHNote 1
Configuration
GET_STATUS
80H
00H
00H
00H
00H
00H
00H
02H
Device
GET_STATUS
82H
00H
00H
00H
00H
Endpoint 0
00H
00H
02H
80H
GET_STATUS
82H
00H
00H
00H
00H
$$H
00H
02H
ACK
ACK
ACK
NAK
NAK
NAK
ACK
ACK
ACK
NAK
NAK
NAK
ACK
ACK
ACK
NAK
NAK
NAK
ACK
ACK
ACK
NAK
NAK
NAK
ACK
ACK
ACK
NAK
NAK
NAK
STALL
STALL
Endpoint X
ACK
NAK
CLEAR_FEATURE
00H
01H
00H
01H
00H
00H
00H
00H
DeviceNote 2
CLEAR_FEATURE
02H
01H
00H
00H
00H
Endpoint 0Note 2
00H
00H
00H
80H
CLEAR_FEATURE
02H
01H
00H
00H
00H
$$H
00H
00H
ACK
ACK
ACK
NAK
NAK
NAK
ACK
ACK
ACK
NAK
NAK
NAK
STALL
STALL
Endpoint XNote 2
ACK
NAK
00H
SET_FEATURE
03H
00H
01H
00H
00H
00H
00H
DeviceNote 3
02H
SET_FEATURE
03H
00H
00H
00H
Endpoint 0Note 3
00H
00H
00H
80H
02H
SET_FEATURE
03H
00H
00H
00H
$$H
00H
00H
ACK
ACK
ACK
NAK
NAK
NAK
ACK
ACK
ACK
NAK
NAK
NAK
STALL
STALL
Endpoint XNote 3
ACK
NAK
SET_INTERFACE
01H
0BH
00H
0#H
00H
0?H
00H
00H
STALL
STALL
ACK
NAK
SET_CONFIGURATIONNote 4
00H
09H
00H
00H
00H
00H
00H
00H
01H
SET_ADDRESS
Remark
00H
05H
XXH
XXH
00H
00H
00H
00H
ACK
ACK
ACK
NAK
NAK
NAK
ACK
ACK
ACK
NAK
NAK
NAK
: Data stage
: No data stage
Notes 1. If the wLength value is lower than the prepared value, the wLength value is returned; if the wLength value is
the prepared value or higher, the prepared value is returned.
2. The CLEAR_FEATURE request clears UF0 device status register L (UF0DSTL) and UF0 EPn status register
L (UF0EnSL) (n = 0 to 4, 7) when ACK is received in the status stage.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 757 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Notes 3. The SET_FEATURE request sets the UF0 device status register L (UF0DSTL) and UF0 EPn status register L
(UF0EnSL) (n = 0 to 4, 7) when ACK is received in the status stage. If the E0HALT bit of the UF0E0SL
register is set, a STALL response is made in the status stage or data stage of control transfer for a request
other than the GET_STATUS Endpoint0 request, SET_FEATURE Endpoint0 request, and a request
generated by the CPUDEC interrupt request, until the CLEAR_FEATURE Endpoint0 request is received. A
STALL response to an unsupported request does not set the E0HALT bit of the UF0E0SL register to 1, and
the STALL response is cleared as soon as the next SETUP token has been received.
4. If the wValue is not the default value, an automatic STALL response is made.
Cautions 1. The sequence of control transfer defined by the Universal Serial Bus Specification is not satisfied
under the following conditions. The operation is not guaranteed under these conditions.
If an IN/OUT token is suddenly received without a SETUP stage
If DATA PID1 is sent in the data phase of the SETUP stage
If a token of 128 addresses or more is received
If the request data transmitted in the SETUP stage is of less than 8 bytes
2. An ACK response is made even when the host transmits data other than a Null packet in the
status stage.
3. If the wLength value is 00H during control transfer (read) of FW processing, a Null packet is
automatically transmitted for control transfer (without data).
The FW request does not
automatically transmit a Null packet.
Remarks 1. Df: Default state, Ad: Addressed state, Cf: Configured state
2. n = 0 to 4
It is determined by the setting of the UF0 active interface number register (UF0AIFN) whether a request
with Interface number 1 to 4 is correctly responded to, depending on whether the Interface number of the
target is valid or not.
3. $$: Valid endpoint number including transfer direction
The valid endpoint is determined by the currently set Alternate Setting number (see 20.6.3 (36) UF0
active alternative setting register (UF0AAS), (38)
UF0 endpoint 1 interface mapping register
(UF0E1IM) to (42) UF0 endpoint 7 interface mapping register (UF0E7IM)).
4. ? and #: Value transmitted from host (information on Interface numbers 0 to 4)
It is determined by the UF0 active interface number register (UF0AIFN) and UF0 active alternative setting
register (UF0AAS) whether an Alternate Setting request corresponding to each Interface number is
correctly responded to or not, depending on whether the Interface number and Alternate Setting of the
target are valid or not.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 758 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2) Processing
The processing of an automatic request in the Default state, Addressed state, and Configured state is described
below.
Remark
Default state: State in which an operation is performed with the Default address
Addressed state: State after an address has been allocated
Configured state: State after SET_CONFIGURATION wValue = 1 has been correctly received
(a) CLEAR_FEATURE() request
A STALL response is made in the status stage if the CLEAR_FEATURE() request cannot be cleared, if
FEATURE does not exist, or if the target is an interface or an endpoint that does not exist. A STALL response
is also made if the wLength value is other than 0.
Default state:
The correct response is made when the CLEAR_FEATURE() request has been received
only if the target is a device or a request for Endpoint0; otherwise a STALL response is
made in the status stage.
Addressed state: The correct response is made when the CLEAR_FEATURE() request has been received
only if the target is a device or a request for Endpoint0; otherwise a STALL response is
made in the status stage.
Configured state: The correct response is made when the CLEAR_FEATURE() request has been received
only if the target is a device or a request for an endpoint that exists; otherwise a STALL
response is made in the status stage.
When the CLEAR_FEATURE() request has been correctly processed, the corresponding bit of the UF0 CLR
request register (UF0CLR) is set to 1, the EnHALT bit of the UF0 EPn status register L (UF0EnSL) is cleared to
0, and an interrupt is issued (n = 0 to 4, 7). If the CLEAR_FEATURE() request is received when the subject is
an endpoint, the toggle bit (that controls switching between DATA0 and DATA1) of the corresponding endpoint
is always re-set to DATA0.
(b) GET_CONFIGURATION() request
A STALL response is made in the data stage if any of wValue, wIndex, or wLength is other than the values
shown in Table 20-3.
Default state:
The value stored in the UF0 configuration register (UF0CNF) is returned when the
GET_CONFIGURATION() request has been received.
Addressed state: The value stored in the UF0CNF register is returned when the GET_CONFIGURATION()
request has been received.
Configured state: The value stored in the UF0CNF register is returned when the GET_CONFIGURATION()
request has been received.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 759 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(c) GET_DESCRIPTOR() request
If the subject descriptor has a length that is a multiple of wMaxPacketSize, a Null packet is returned to indicate
the end of the data stage. If the length of the descriptor at this time is less than the wLength value, the entire
descriptor is returned; if the length of the descriptor is greater than the wLength value, the descriptor up to the
wLength value is returned.
Default state:
The
value
stored
in
UF0
device
descriptor
register
n
(UF0DDn)
and
UF0
configuration/interface/endpoint descriptor register m (UF0CIEm) is returned (n = 0 to 17,
m = 0 to 255) when the GET_DESCRIPTOR() request has been received.
Addressed state: The value stored in the UF0DDn register and UF0CIEm register is returned when the
GET_DESCRIPTOR() request has been received.
Configured state: The value stored in the UF0DDn register and UF0CIEm register is returned when the
GET_DESCRIPTOR() request has been received.
A descriptor of up to 256 bytes can be stored in the UF0CIEm register. To return a descriptor of more than 256
bytes, set the CDCGDST bit of the UF0MODC register to 1 and process the GET_DESCRIPTOR() request by
FW.
Store the value of the total number of bytes of the descriptor set by the UF0CIEm register – 1 in the UF0
descriptor length register (UF0DSCL). The transfer data is controlled by the value of this data + 1 and wLength.
(d) GET_INTERFACE() request
If either of wValue and wLength is other than that shown in Table 20-3, or if wIndex is other than that set by the
UF0 active interface number register (UF0AIFN), a STALL response is made in the data stage.
Default state:
A STALL response is made in the data stage when the GET_INTERFACE() request has
been received.
Addressed state: A STALL response is made in the data stage when the GET_INTERFACE() request has
been received.
Configured state: The value stored in the UF0 interface n register (UF0IFn) corresponding to the wIndex
value is returned (n = 0 to 4) when the GET_INTERFACE() request has been received.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 760 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(e) GET_STATUS() request
A STALL response is made in the data stage if any of wValue, wIndex, or wLength is other than the values
shown in Table 20-3. A STALL response is also made in the data stage if the target is an interface or an
endpoint that does not exist.
Default state:
The value stored in the target status registerNote is returned only when the GET_STATUS()
request has been received and when the request is for a device or Endpoint0; otherwise a
STALL response is made in the data stage.
Addressed state: The value stored in the target status registerNote is returned only when the GET_STATUS()
request has been received and when the request is for a device or Endpoint0; otherwise a
STALL response is made in the data stage.
Configured state: The value stored in the target status registerNote is returned only when the GET_STATUS()
request has been received and when the request is for a device or an endpoint that exists;
otherwise a STALL response is made in the data stage.
Note The target status register is as follows.
If the target is a device: UF0 device status register L (UF0DSTL)
If the target is endpoint 0: UF0 EP0 status register L (UF0E0SL)
If the target is endpoint n: UF0 EPn status register L (UF0EnSL) (n = 1 to 4, 7)
(f) SET_ADDRESS() request
A STALL response is made in the status stage if either of wIndex or wLength is other than the values shown in
Table 20-3. A STALL response is also made if the specified device address is greater than 127.
Default state:
The device enters the Addressed state and changes the USB Address value to be input to
SIE into a specified address value if the specified address is other than 0 when the
SET_ADDRESS() request has been received. If the specified address is 0, the device
remains in the Default state.
Addressed state: The device enters the Default state and returns the USB Address value to be input to SIE
to the default address if the specified address is 0 when the SET_ADDRESS() request
has been received. If the specified address is other than 0, the device remains in the
Addressed state, and changes the USB Address value to be input to SIE into a specified
new address value.
Configured state: The device remains in the Configured state and returns the USB Address value to be input
to SIE to the default address if the specified address is 0 when the SET_ADDRESS()
request has been received. In this case, the endpoints other than endpoint 0 remain valid,
and control transfer (IN), control transfer (OUT), bulk transfer and interrupt transfer for an
endpoint other than endpoint 0 are also acknowledged. If the specified address is other
than 0, the device remains in the Configured state and changes the USB Address value to
be input to SIE into a specified new address value.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 761 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(g) SET_CONFIGURATION() request
If any of wValue, wIndex, or wLength is other than the values shown in Table 20-3, a STALL response is made
in the status stage.
Default state:
The CONF bit of the UF0 mode status register (UF0MODS) and the UF0 configuration
register (UF0CNF) are set to 1 if the specified configuration value is 1 when the
SET_CONFIGURATION() request has been received. If the specified configuration value
is 0, the CONF bit of the UF0MODS register and UF0CNF register are cleared to 0. In
other words, the device skips the Addressed state and moves to the Configured state in
which it responds to the Default address.
Addressed state: The CONF bit of the UF0MODS register and UF0CNF register are set to 1 and the device
enters the Configured state if the specified configuration value is 1 when the
SET_CONFIGURATION() request has been received. If the specified configuration value
is 0, the device remains in the Addressed state.
Configured state: The CONF bit of the UF0MODS register and UF0CNF register are set to 1 and the device
returns to the Addressed state if the specified configuration value is 0 when the
SET_CONFIGURATION() request has been received. If the specified configuration value
is 1, the device remains in the Configured state.
If the SET_CONFIGURATION() request has been correctly processed, the target bit of the UF0 SET request
register (UF0SET) is set to 1, and an interrupt is issued.
All Halt Features are cleared after the
SET_CONFIGURATION() request has been completed even if the specified configuration value is the same as
the current configuration value. If the SET_CONFIGURATION() request has been correctly processed, the
data toggle of all endpoints is always initialized to DATA0 again (it is defined that the default status, Alternative
Setting 0, is set from when the SET_CONFIGURATION request is received to when the SET_INTERFACE
request is received).
(h) SET_FEATURE() request
A STALL response is made in the status stage if the SET_FEATURE() request is for a Feature that cannot be
set or does not exist, or if the target is an interface or an endpoint that does not exist. A STALL response is
also made if the wLength value is other than 0.
Default state:
The correct response is made when the SET_FEATURE() request has been received, only
if the request is for a device or Endpoint0; otherwise a STALL response is made in the
status stage.
Addressed state: The correct response is made when the SET_FEATURE() request has been received, only
if the request is for a device or Endpoint0; otherwise a STALL response is made in the
status stage.
Configured state: The correct response is made when the SET_FEATURE() request has been received, only
if the request is for a device or an endpoint that exists; otherwise a STALL response is
made in the status stage.
When the SET_FEATURE() request has been correctly processed, the target bit of the UF0 SET request
register (UF0SET) and the EnHALT bit of the UF0 EPn status register L (UF0EnSL) are set to 1, and an
interrupt is issued (n = 0 to 4, 7).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 762 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(i) SET_INTERFACE() request
If wLength is other than the values shown in Table 20-3, if wIndex is other than the value set to the UF0 active
interface number register (UF0AIFN), or if wValue is other than the value set to the UF0 active alternative
setting register (UF0AAS), a STALL response is made in the status stage.
Default state:
A STALL response is made in the status stage when the SET_INTERFACE() request has
been received.
Addressed state: A STALL response is made in the status stage when the SET_INTERFACE() request has
been received.
Configured state: Null packet is transmitted in the status stage when the SET_INTERFACE() request has
been received.
When the SET_INTERFACE() request has been correctly processed, an interrupt is issued. All the Halt
Features of the endpoint linked to the target Interface are cleared after the SET_INTERFACE() request has
been cleared. The data toggle of all the endpoints related to the target Interface number is always initialized
again to DATA0. When the currently selected Alternative Setting is to be changed by correctly processing the
SET_INTERFACE() request, the FIFO of the endpoint that is affected is completely cleared, and all the related
interrupt sources are also initialized.
When the SET_INTERFACE() request has been completed, the FIFO of all the endpoints linked to the target
Interface are cleared. At the same time, Halt Feature and Data PID are initialized, and the related UF0 INT
status n register (UF0ISn) is cleared to 0 (n = 0 to 4). (Only Halt Feature and Data PID are cleared when the
SET_CONFIGURATION request has been completed.)
If the target Endpoint is not supported by the SET_INTERFACE() request during DMA transfer, the DMA
request signal is immediately deasserted, and the FIFO of the Endpoint that has been linked when the
SET_INTERFACE() request has been completed is completely cleared. As a result of this clearing of the FIFO,
data transferred by DMA is not correctly processed.
20.5.2 Other requests
(1) Response and processing
The following table shows how other requests are responded to and processed.
Table 20-4. Response and Processing of Other Requests
Request
Response and Processing
GET_DESCRIPTOR String
Generation of CPUDEC interrupt request
GET_STATUS Interface
Automatic STALL response
CLEAR_FEATURE Interface
Automatic STALL response
SET_FEATURE Interface
Automatic STALL response
all SET_DESCRIPTOR
Generation of CPUDEC interrupt request
All other requests
Generation of CPUDEC interrupt request
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 763 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6 Register Configuration
20.6.1 USB control registers
(1) USB clock select register (UCKSEL)
The UCKSEL register selects the operation clock of the USB controller.
The UCKSEL register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
UCKSEL
R/W
Address: FFFFFF40H
7
6
5
4
3
2
1
0
0
0
0
0
0
0
UUSEL1
0
UUSEL1
Caution
Selection of USB controller operation clock
0
External clock input from UCLK pin (fUSB = 48 MHz)
1
PLL clock
Be sure to set bits 7 to 2, and 0 to ‘‘0’’.
(2) USB function control register (UFCKMSK)
The UFCKMSK register controls enable/disable of USB function controller operation.
The UFCKMSK register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 03H.
After reset: 03H
R/W
Address: FFFFFF41H
7
6
5
4
3
2
1
0
0
0
0
0
0
0
UFBUFMSK
UFMSK
UFBUFMSK
UFMSK
0
0
Operation enabled
0
1
Operation stopped (set while USB is suspended)
1
1
Operation stopped
UFCKMSK
Other than above
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
USB function controller operation enable/stop
Setting prohibited
Page 764 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.2 USB function controller register list
(1) EPC control register
(1/2)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
8
Default Value
16
00200000H
UF0 EP0NAK register
UF0E0N
R/W
00H
00200002H
UF0 EP0NAKALL register
UF0E0NA
R/W
00H
00200004H
UF0 EPNAK register
UF0EN
R/W
00H
00200006H
UF0 EPNAK mask register
UF0ENM
R/W
00H
00200008H
UF0 SNDSIE register
UF0SDS
R/W
00H
0020000AH
UF0 CLR request register
UF0CLR
R
00H
0020000CH
UF0 SET request register
UF0SET
R
00H
0020000EH
UF0 EP status 0 register
UF0EPS0
R
00H
00200010H
UF0 EP status 1 register
UF0EPS1
R
00H
00200012H
UF0 EP status 2 register
UF0EPS2
R
00H
00200020H
UF0 INT status 0 register
UF0IS0
R
00H
00200022H
UF0 INT status 1 register
UF0IS1
R
00H
00200024H
UF0 INT status 2 register
UF0IS2
R
00H
00200026H
UF0 INT status 3 register
UF0IS3
R
00H
00200028H
UF0 INT status 4 register
UF0IS4
R
00H
0020002EH
UF0 INT mask 0 register
UF0IM0
R/W
00H
00200030H
UF0 INT mask 1 register
UF0IM1
R/W
00H
00200032H
UF0 INT mask 2 register
UF0IM2
R/W
00H
00200034H
UF0 INT mask 3 register
UF0IM3
R/W
00H
00200036H
UF0 INT mask 4 register
UF0IM4
R/W
00H
0020003CH
UF0 INT clear 0 register
UF0IC0
W
FFH
0020003EH
UF0 INT clear 1 register
UF0IC1
W
FFH
00200040H
UF0 INT clear 2 register
UF0IC2
W
FFH
00200042H
UF0 INT clear 3 register
UF0IC3
W
FFH
00200044H
UF0 INT clear 4 register
UF0IC4
W
FFH
0020004CH
UF0 INT & DMARQ register
UF0IDR
R/W
00H
0020004EH
UF0 DMA status 0 register
UF0DMS0
R
00H
00200050H
UF0 DMA status 1 register
UF0DMS1
R
00H
00200060H
UF0 FIFO clear 0 register
UF0FIC0
W
00H
00200062H
UF0 FIFO clear 1 register
UF0FIC1
W
00H
0020006AH
UF0 data end register
UF0DEND
R/W
00H
0020006EH
UF0 GPR register
UF0GPR
W
00H
00200074H
UF0 mode control register
UF0MODC
R/W
00H
00200078H
UF0 mode status register
UF0MODS
R
00H
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 765 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
8
Default Value
16
00200080H
UF0 active interface number register
UF0AIFN
R/W
00H
00200082H
UF0 active alternative setting register
UF0AAS
R/W
00H
00200084H
UF0 alternative setting status register
UF0ASS
R
00H
00200086H
UF0 endpoint 1 interface mapping register
UF0E1IM
R/W
00H
00200088H
UF0 endpoint 2 interface mapping register
UF0E2IM
R/W
00H
0020008AH
UF0 endpoint 3 interface mapping register
UF0E3IM
R/W
00H
0020008CH
UF0 endpoint 4 interface mapping register
UF0E4IM
R/W
00H
00200092H
UF0 endpoint 7 interface mapping register
UF0E7IM
R/W
00H
(2) EPC data hold register
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
8
Default Value
16
00200100 H
UF0 EP0 read register
UF0E0R
R
Undefined
00200102H
UF0 EP0 length register
UF0E0L
R
00H
00200104H
UF0 EP0 setup register
UF0E0ST
R
00H
00200106H
UF0 EP0 write register
UF0E0W
W
Undefined
00200108H
UF0 bulk-out 1 register
UF0BO1
R
Undefined
0020010AH
UF0 bulk-out 1 length register
UF0BO1L
R
00H
0020010CH
UF0 bulk-out 2 register
UF0BO2
R
Undefined
0020010EH
UF0 bulk-out 2 length register
UF0BO2L
R
00H
00200110H
UF0 bulk-in 1 register
UF0BI1
W
Undefined
00200112H
UF0 bulk-in 2 register
UF0BI2
W
Undefined
00200114H
UF0 interrupt 1 register
UF0INT1
W
Undefined
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 766 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3) EPC request data register
(1/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
8
Default Value
16
00200144H
UF0 device status register L
UF0DSTL
R/W
00H
0020014CH
UF0 EP0 status register L
UF0E0SL
R/W
00H
00200150H
UF0 EP1 status register L
UF0E1SL
R/W
00H
00200154H
UF0 EP2 status register L
UF0E2SL
R/W
00H
00200158H
UF0 EP3 status register L
UF0E3SL
R/W
00H
0020015CH
UF0 EP4 status register L
UF0E4SL
R/W
00H
00200168H
UF0 EP7 status register L
UF0E7SL
R/W
00H
00200180H
UF0 address register
UF0ADRS
R
00H
00200182H
UF0 configuration register
UF0CNF
R
00H
00200184H
UF0 interface 0 register
UF0IF0
R
00H
00200186H
UF0 interface 1 register
UF0IF1
R
00H
00200188H
UF0 interface 2 register
UF0IF2
R
00H
0020018AH
UF0 interface 3 register
UF0IF3
R
00H
0020018CH
UF0 interface 4 register
UF0IF4
R
00H
002001A0H
UF0 descriptor length register
UF0DSCL
R/W
00H
002001A2H
UF0 device descriptor register 0
UF0DD0
R/W
Undefined
002001A4H
UF0 device descriptor register 1
UF0DD1
R/W
Undefined
002001A6H
UF0 device descriptor register 2
UF0DD2
R/W
Undefined
002001A8H
UF0 device descriptor register 3
UF0DD3
R/W
Undefined
002001AAH
UF0 device descriptor register 4
UF0DD4
R/W
Undefined
002001ACH
UF0 device descriptor register 5
UF0DD5
R/W
Undefined
002001AEH
UF0 device descriptor register 6
UF0DD6
R/W
Undefined
002001B0H
UF0 device descriptor register 7
UF0DD7
R/W
Undefined
002001B2H
UF0 device descriptor register 8
UF0DD8
R/W
Undefined
002001B4H
UF0 device descriptor register 9
UF0DD9
R/W
Undefined
002001B6H
UF0 device descriptor register 10
UF0DD10
R/W
Undefined
002001B8H
UF0 device descriptor register 11
UF0DD11
R/W
Undefined
002001BAH
UF0 device descriptor register 12
UF0DD12
R/W
Undefined
002001BCH
UF0 device descriptor register 13
UF0DD13
R/W
Undefined
002001BEH
UF0 device descriptor register 14
UF0DD14
R/W
Undefined
002001C0H
UF0 device descriptor register 15
UF0DD15
R/W
Undefined
002001C2H
UF0 device descriptor register 16
UF0DD16
R/W
Undefined
002001C4H
UF0 device descriptor register 17
UF0DD17
R/W
Undefined
002001C6H
UF0 configuration/interface/endpoint descriptor
register 0
UF0CIE0
R/W
Undefined
002001C8H
UF0 configuration/interface/endpoint descriptor
register 1
UF0CIE1
R/W
Undefined
002001CAH
UF0 configuration/interface/endpoint descriptor
register 2
UF0CIE2
R/W
Undefined
002001CCH
UF0 configuration/interface/endpoint descriptor
register 3
UF0CIE3
R/W
Undefined
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 767 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
002001CEH
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE4
R/W
Undefined
UF0CIE5
R/W
Undefined
UF0CIE6
R/W
Undefined
UF0CIE7
R/W
Undefined
UF0CIE8
R/W
Undefined
UF0CIE9
R/W
Undefined
UF0CIE10
R/W
Undefined
UF0CIE11
R/W
Undefined
UF0CIE12
R/W
Undefined
UF0CIE13
R/W
Undefined
UF0CIE14
R/W
Undefined
UF0CIE15
R/W
Undefined
UF0CIE16
R/W
Undefined
UF0CIE17
R/W
Undefined
UF0CIE18
R/W
Undefined
UF0CIE19
R/W
Undefined
UF0CIE20
R/W
Undefined
UF0CIE21
R/W
Undefined
UF0CIE22
R/W
Undefined
UF0CIE23
R/W
Undefined
UF0CIE24
R/W
Undefined
UF0CIE25
R/W
Undefined
register 4
002001D0H
UF0 configuration/interface/endpoint descriptor
register 5
002001D2H
UF0 configuration/interface/endpoint descriptor
register 6
002001D4H
UF0 configuration/interface/endpoint descriptor
register 7
002001D6H
UF0 configuration/interface/endpoint descriptor
register 8
002001D8H
UF0 configuration/interface/endpoint descriptor
register 9
002001DAH
UF0 configuration/interface/endpoint descriptor
register 10
002001DCH
UF0 configuration/interface/endpoint descriptor
register 11
002001DEH
UF0 configuration/interface/endpoint descriptor
register 12
002001E0H
UF0 configuration/interface/endpoint descriptor
register 13
002001E2H
UF0 configuration/interface/endpoint descriptor
register 14
002001E4H
UF0 configuration/interface/endpoint descriptor
register 15
002001E6H
UF0 configuration/interface/endpoint descriptor
register 16
002001E8H
UF0 configuration/interface/endpoint descriptor
register 17
002001EAH
UF0 configuration/interface/endpoint descriptor
register 18
002001ECH
UF0 configuration/interface/endpoint descriptor
register 19
002001EEH
UF0 configuration/interface/endpoint descriptor
register 20
002001F0H
UF0 configuration/interface/endpoint descriptor
register 21
002001F2H
UF0 configuration/interface/endpoint descriptor
register 22
002001F4H
UF0 configuration/interface/endpoint descriptor
register 23
002001F6H
UF0 configuration/interface/endpoint descriptor
register 24
002001F8H
UF0 configuration/interface/endpoint descriptor
register 25
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 768 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
002001FAH
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE26
R/W
Undefined
UF0CIE27
R/W
Undefined
UF0CIE28
R/W
Undefined
UF0CIE29
R/W
Undefined
UF0CIE30
R/W
Undefined
UF0CIE31
R/W
Undefined
UF0CIE32
R/W
Undefined
UF0CIE33
R/W
Undefined
UF0CIE34
R/W
Undefined
UF0CIE35
R/W
Undefined
UF0CIE36
R/W
Undefined
UF0CIE37
R/W
Undefined
UF0CIE38
R/W
Undefined
UF0CIE39
R/W
Undefined
UF0CIE40
R/W
Undefined
UF0CIE41
R/W
Undefined
UF0CIE42
R/W
Undefined
UF0CIE43
R/W
Undefined
UF0CIE44
R/W
Undefined
UF0CIE45
R/W
Undefined
UF0CIE46
R/W
Undefined
UF0CIE47
R/W
Undefined
register 26
002001FCH
UF0 configuration/interface/endpoint descriptor
register 27
002001FEH
UF0 configuration/interface/endpoint descriptor
register 28
00200200H
UF0 configuration/interface/endpoint descriptor
register 29
00200202H
UF0 configuration/interface/endpoint descriptor
register 30
00200204H
UF0 configuration/interface/endpoint descriptor
register 31
00200206H
UF0 configuration/interface/endpoint descriptor
register 32
00200208H
UF0 configuration/interface/endpoint descriptor
register 33
0020020AH
UF0 configuration/interface/endpoint descriptor
register 34
0020020CH
UF0 configuration/interface/endpoint descriptor
register 35
0020020EH
UF0 configuration/interface/endpoint descriptor
register 36
00200210H
UF0 configuration/interface/endpoint descriptor
register 37
00200212H
UF0 configuration/interface/endpoint descriptor
register 38
00200214H
UF0 configuration/interface/endpoint descriptor
register 39
00200216H
UF0 configuration/interface/endpoint descriptor
register 40
00200218H
UF0 configuration/interface/endpoint descriptor
register 41
0020021AH
UF0 configuration/interface/endpoint descriptor
register 42
0020021CH
UF0 configuration/interface/endpoint descriptor
register 43
0020021EH
UF0 configuration/interface/endpoint descriptor
register 44
00200220H
UF0 configuration/interface/endpoint descriptor
register 45
00200222H
UF0 configuration/interface/endpoint descriptor
register 46
00200224H
UF0 configuration/interface/endpoint descriptor
register 47
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 769 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(4/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
00200226H
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE48
R/W
Undefined
UF0CIE49
R/W
Undefined
UF0CIE50
R/W
Undefined
UF0CIE51
R/W
Undefined
UF0CIE52
R/W
Undefined
UF0CIE53
R/W
Undefined
UF0CIE54
R/W
Undefined
UF0CIE55
R/W
Undefined
UF0CIE56
R/W
Undefined
UF0CIE57
R/W
Undefined
UF0CIE58
R/W
Undefined
UF0CIE59
R/W
Undefined
UF0CIE60
R/W
Undefined
UF0CIE61
R/W
Undefined
UF0CIE62
R/W
Undefined
UF0CIE63
R/W
Undefined
UF0CIE64
R/W
Undefined
UF0CIE65
R/W
Undefined
UF0CIE66
R/W
Undefined
UF0CIE67
R/W
Undefined
UF0CIE68
R/W
Undefined
UF0CIE69
R/W
Undefined
register 48
00200228H
UF0 configuration/interface/endpoint descriptor
register 49
0020022AH
UF0 configuration/interface/endpoint descriptor
register 50
0020022CH
UF0 configuration/interface/endpoint descriptor
register 51
0020022EH
UF0 configuration/interface/endpoint descriptor
register 52
00200230H
UF0 configuration/interface/endpoint descriptor
register 53
00200232H
UF0 configuration/interface/endpoint descriptor
register 54
00200234H
UF0 configuration/interface/endpoint descriptor
register 55
00200236H
UF0 configuration/interface/endpoint descriptor
register 56
00200238H
UF0 configuration/interface/endpoint descriptor
register 57
0020023AH
UF0 configuration/interface/endpoint descriptor
register 58
0020023CH
UF0 configuration/interface/endpoint descriptor
register 59
0020023EH
UF0 configuration/interface/endpoint descriptor
register 60
00200240H
UF0 configuration/interface/endpoint descriptor
register 61
00200242H
UF0 configuration/interface/endpoint descriptor
register 62
00200244H
UF0 configuration/interface/endpoint descriptor
register 63
00200246H
UF0 configuration/interface/endpoint descriptor
register 64
00200248H
UF0 configuration/interface/endpoint descriptor
register 65
0020024AH
UF0 configuration/interface/endpoint descriptor
register 66
0020024CH
UF0 configuration/interface/endpoint descriptor
register 67
0020024EH
UF0 configuration/interface/endpoint descriptor
register 68
00200250H
UF0 configuration/interface/endpoint descriptor
register 69
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 770 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(5/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
00200252H
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE70
R/W
Undefined
UF0CIE71
R/W
Undefined
UF0CIE72
R/W
Undefined
UF0CIE73
R/W
Undefined
UF0CIE74
R/W
Undefined
UF0CIE75
R/W
Undefined
UF0CIE76
R/W
Undefined
UF0CIE77
R/W
Undefined
UF0CIE78
R/W
Undefined
UF0CIE79
R/W
Undefined
UF0CIE80
R/W
Undefined
UF0CIE81
R/W
Undefined
UF0CIE82
R/W
Undefined
UF0CIE83
R/W
Undefined
UF0CIE84
R/W
Undefined
UF0CIE85
R/W
Undefined
UF0CIE86
R/W
Undefined
UF0CIE87
R/W
Undefined
UF0CIE88
R/W
Undefined
UF0CIE89
R/W
Undefined
UF0CIE90
R/W
Undefined
UF0CIE91
R/W
Undefined
register 70
00200254H
UF0 configuration/interface/endpoint descriptor
register 71
00200256H
UF0 configuration/interface/endpoint descriptor
register 72
00200258H
UF0 configuration/interface/endpoint descriptor
register 73
0020025AH
UF0 configuration/interface/endpoint descriptor
register 74
0020025CH
UF0 configuration/interface/endpoint descriptor
register 75
0020025EH
UF0 configuration/interface/endpoint descriptor
register 76
00200260H
UF0 configuration/interface/endpoint descriptor
register 77
00200262H
UF0 configuration/interface/endpoint descriptor
register 78
00200264H
UF0 configuration/interface/endpoint descriptor
register 79
00200266H
UF0 configuration/interface/endpoint descriptor
register 80
00200268H
UF0 configuration/interface/endpoint descriptor
register 81
0020026AH
UF0 configuration/interface/endpoint descriptor
register 82
0020026CH
UF0 configuration/interface/endpoint descriptor
register 83
0020026EH
UF0 configuration/interface/endpoint descriptor
register 84
00200270H
UF0 configuration/interface/endpoint descriptor
register 85
00200272H
UF0 configuration/interface/endpoint descriptor
register 86
00200274H
UF0 configuration/interface/endpoint descriptor
register 87
00200276H
UF0 configuration/interface/endpoint descriptor
register 88
00200278H
UF0 configuration/interface/endpoint descriptor
register 89
0020027AH
UF0 configuration/interface/endpoint descriptor
register 90
0020027CH
UF0 configuration/interface/endpoint descriptor
register 91
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 771 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(6/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
0020027EH
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE92
R/W
Undefined
UF0CIE93
R/W
Undefined
UF0CIE94
R/W
Undefined
UF0CIE95
R/W
Undefined
UF0CIE96
R/W
Undefined
UF0CIE97
R/W
Undefined
UF0CIE98
R/W
Undefined
UF0CIE99
R/W
Undefined
UF0CIE100
R/W
Undefined
UF0CIE101
R/W
Undefined
UF0CIE102
R/W
Undefined
UF0CIE103
R/W
Undefined
UF0CIE104
R/W
Undefined
UF0CIE105
R/W
Undefined
UF0CIE106
R/W
Undefined
UF0CIE107
R/W
Undefined
UF0CIE108
R/W
Undefined
UF0CIE109
R/W
Undefined
UF0CIE110
R/W
Undefined
UF0CIE111
R/W
Undefined
UF0CIE112
R/W
Undefined
UF0CIE113
R/W
Undefined
register 92
00200280H
UF0 configuration/interface/endpoint descriptor
register 93
00200282H
UF0 configuration/interface/endpoint descriptor
register 94
00200284H
UF0 configuration/interface/endpoint descriptor
register 95
00200286H
UF0 configuration/interface/endpoint descriptor
register 96
00200288H
UF0 configuration/interface/endpoint descriptor
register 97
0020028AH
UF0 configuration/interface/endpoint descriptor
register 98
0020028CH
UF0 configuration/interface/endpoint descriptor
register 99
0020028EH
UF0 configuration/interface/endpoint descriptor
register 100
00200290H
UF0 configuration/interface/endpoint descriptor
register 101
00200292H
UF0 configuration/interface/endpoint descriptor
register 102
00200294H
UF0 configuration/interface/endpoint descriptor
register 103
00200296H
UF0 configuration/interface/endpoint descriptor
register 104
00200298H
UF0 configuration/interface/endpoint descriptor
register 105
0020029AH
UF0 configuration/interface/endpoint descriptor
register 106
0020029CH
UF0 configuration/interface/endpoint descriptor
register 107
0020029EH
UF0 configuration/interface/endpoint descriptor
register 108
002002A0H
UF0 configuration/interface/endpoint descriptor
register 109
002002A2H
UF0 configuration/interface/endpoint descriptor
register 110
002002A4H
UF0 configuration/interface/endpoint descriptor
register 111
002002A6H
UF0 configuration/interface/endpoint descriptor
register 112
002002A8H
UF0 configuration/interface/endpoint descriptor
register 113
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 772 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(7/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
002002AAH
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE114
R/W
Undefined
UF0CIE115
R/W
Undefined
UF0CIE116
R/W
Undefined
UF0CIE117
R/W
Undefined
UF0CIE118
R/W
Undefined
UF0CIE119
R/W
Undefined
UF0CIE120
R/W
Undefined
UF0CIE121
R/W
Undefined
UF0CIE122
R/W
Undefined
UF0CIE123
R/W
Undefined
UF0CIE124
R/W
Undefined
UF0CIE125
R/W
Undefined
UF0CIE126
R/W
Undefined
UF0CIE127
R/W
Undefined
UF0CIE128
R/W
Undefined
UF0CIE129
R/W
Undefined
UF0CIE130
R/W
Undefined
UF0CIE131
R/W
Undefined
UF0CIE132
R/W
Undefined
UF0CIE133
R/W
Undefined
UF0CIE134
R/W
Undefined
UF0CIE135
R/W
Undefined
register 114
002002ACH
UF0 configuration/interface/endpoint descriptor
register 115
002002AEH
UF0 configuration/interface/endpoint descriptor
register 116
002002B0H
UF0 configuration/interface/endpoint descriptor
register 117
002002B2H
UF0 configuration/interface/endpoint descriptor
register 118
002002B4H
UF0 configuration/interface/endpoint descriptor
register 119
002002B6H
UF0 configuration/interface/endpoint descriptor
register 120
002002B8H
UF0 configuration/interface/endpoint descriptor
register 121
002002BAH
UF0 configuration/interface/endpoint descriptor
register 122
002002BCH
UF0 configuration/interface/endpoint descriptor
register 123
002002BEH
UF0 configuration/interface/endpoint descriptor
register 124
002002C0H
UF0 configuration/interface/endpoint descriptor
register 125
002002C2H
UF0 configuration/interface/endpoint descriptor
register 126
002002C4H
UF0 configuration/interface/endpoint descriptor
register 127
002002C6H
UF0 configuration/interface/endpoint descriptor
register 128
002002C8H
UF0 configuration/interface/endpoint descriptor
register 129
002002CAH
UF0 configuration/interface/endpoint descriptor
register 130
002002CCH
UF0 configuration/interface/endpoint descriptor
register 131
002002CEH
UF0 configuration/interface/endpoint descriptor
register 132
002002D0H
UF0 configuration/interface/endpoint descriptor
register 133
002002D2H
UF0 configuration/interface/endpoint descriptor
register 134
002002D4H
UF0 configuration/interface/endpoint descriptor
register 135
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 773 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(8/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
002002D6H
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE136
R/W
Undefined
UF0CIE137
R/W
Undefined
UF0CIE138
R/W
Undefined
UF0CIE139
R/W
Undefined
UF0CIE140
R/W
Undefined
UF0CIE141
R/W
Undefined
UF0CIE142
R/W
Undefined
UF0CIE143
R/W
Undefined
UF0CIE144
R/W
Undefined
UF0CIE145
R/W
Undefined
UF0CIE146
R/W
Undefined
UF0CIE147
R/W
Undefined
UF0CIE148
R/W
Undefined
UF0CIE149
R/W
Undefined
UF0CIE150
R/W
Undefined
UF0CIE151
R/W
Undefined
UF0CIE152
R/W
Undefined
UF0CIE153
R/W
Undefined
UF0CIE154
R/W
Undefined
UF0CIE155
R/W
Undefined
UF0CIE156
R/W
Undefined
UF0CIE157
R/W
Undefined
register 136
002002D8H
UF0 configuration/interface/endpoint descriptor
register 137
002002DAH
UF0 configuration/interface/endpoint descriptor
register 138
002002DCH
UF0 configuration/interface/endpoint descriptor
register 139
002002DEH
UF0 configuration/interface/endpoint descriptor
register 140
002002E0H
UF0 configuration/interface/endpoint descriptor
register 141
002002E2H
UF0 configuration/interface/endpoint descriptor
register 142
002002E4H
UF0 configuration/interface/endpoint descriptor
register 143
002002E6H
UF0 configuration/interface/endpoint descriptor
register 144
002002E8H
UF0 configuration/interface/endpoint descriptor
register 145
002002EAH
UF0 configuration/interface/endpoint descriptor
register 146
002002ECH
UF0 configuration/interface/endpoint descriptor
register 147
002002EEH
UF0 configuration/interface/endpoint descriptor
register 148
002002F0H
UF0 configuration/interface/endpoint descriptor
register 149
002002F2H
UF0 configuration/interface/endpoint descriptor
register 150
002002F4H
UF0 configuration/interface/endpoint descriptor
register 151
002002F6H
UF0 configuration/interface/endpoint descriptor
register 152
002002F8H
UF0 configuration/interface/endpoint descriptor
register 153
002002FAH
UF0 configuration/interface/endpoint descriptor
register 154
002002FCH
UF0 configuration/interface/endpoint descriptor
register 155
002002FEH
UF0 configuration/interface/endpoint descriptor
register 156
00200300H
UF0 configuration/interface/endpoint descriptor
register 157
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 774 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(9/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
00200302H
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE158
R/W
Undefined
UF0CIE159
R/W
Undefined
UF0CIE160
R/W
Undefined
UF0CIE161
R/W
Undefined
UF0CIE162
R/W
Undefined
UF0CIE163
R/W
Undefined
UF0CIE164
R/W
Undefined
UF0CIE165
R/W
Undefined
UF0CIE166
R/W
Undefined
UF0CIE167
R/W
Undefined
UF0CIE168
R/W
Undefined
UF0CIE169
R/W
Undefined
UF0CIE170
R/W
Undefined
UF0CIE171
R/W
Undefined
UF0CIE172
R/W
Undefined
UF0CIE173
R/W
Undefined
UF0CIE174
R/W
Undefined
UF0CIE175
R/W
Undefined
UF0CIE176
R/W
Undefined
UF0CIE177
R/W
Undefined
UF0CIE178
R/W
Undefined
UF0CIE179
R/W
Undefined
register 158
00200304H
UF0 configuration/interface/endpoint descriptor
register 159
00200306H
UF0 configuration/interface/endpoint descriptor
register 160
00200308H
UF0 configuration/interface/endpoint descriptor
register 161
0020030AH
UF0 configuration/interface/endpoint descriptor
register 162
0020030CH
UF0 configuration/interface/endpoint descriptor
register 163
0020030EH
UF0 configuration/interface/endpoint descriptor
register 164
00200310H
UF0 configuration/interface/endpoint descriptor
register 165
00200312H
UF0 configuration/interface/endpoint descriptor
register 166
00200314H
UF0 configuration/interface/endpoint descriptor
register 167
00200316H
UF0 configuration/interface/endpoint descriptor
register 168
00200318H
UF0 configuration/interface/endpoint descriptor
register 169
0020031AH
UF0 configuration/interface/endpoint descriptor
register 170
0020031CH
UF0 configuration/interface/endpoint descriptor
register 171
0020031EH
UF0 configuration/interface/endpoint descriptor
register 172
00200320H
UF0 configuration/interface/endpoint descriptor
register 173
00200322H
UF0 configuration/interface/endpoint descriptor
register 174
00200324H
UF0 configuration/interface/endpoint descriptor
register 175
00200326H
UF0 configuration/interface/endpoint descriptor
register 176
00200328H
UF0 configuration/interface/endpoint descriptor
register 177
0020032AH
UF0 configuration/interface/endpoint descriptor
register 178
0020032CH
UF0 configuration/interface/endpoint descriptor
register 179
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 775 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(10/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
0020032EH
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE180
R/W
Undefined
UF0CIE181
R/W
Undefined
UF0CIE182
R/W
Undefined
UF0CIE183
R/W
Undefined
UF0CIE184
R/W
Undefined
UF0CIE185
R/W
Undefined
UF0CIE186
R/W
Undefined
UF0CIE187
R/W
Undefined
UF0CIE188
R/W
Undefined
UF0CIE189
R/W
Undefined
UF0CIE190
R/W
Undefined
UF0CIE191
R/W
Undefined
UF0CIE192
R/W
Undefined
UF0CIE193
R/W
Undefined
UF0CIE194
R/W
Undefined
UF0CIE195
R/W
Undefined
UF0CIE196
R/W
Undefined
UF0CIE197
R/W
Undefined
UF0CIE198
R/W
Undefined
UF0CIE199
R/W
Undefined
UF0CIE200
R/W
Undefined
UF0CIE201
R/W
Undefined
register 180
00200330H
UF0 configuration/interface/endpoint descriptor
register 181
00200332H
UF0 configuration/interface/endpoint descriptor
register 182
00200334H
UF0 configuration/interface/endpoint descriptor
register 183
00200336H
UF0 configuration/interface/endpoint descriptor
register 184
00200338H
UF0 configuration/interface/endpoint descriptor
register 185
0020033AH
UF0 configuration/interface/endpoint descriptor
register 186
0020033CH
UF0 configuration/interface/endpoint descriptor
register 187
0020033EH
UF0 configuration/interface/endpoint descriptor
register 188
00200340H
UF0 configuration/interface/endpoint descriptor
register 189
00200342H
UF0 configuration/interface/endpoint descriptor
register 190
00200344H
UF0 configuration/interface/endpoint descriptor
register 191
00200346H
UF0 configuration/interface/endpoint descriptor
register 192
00200348H
UF0 configuration/interface/endpoint descriptor
register 193
0020034AH
UF0 configuration/interface/endpoint descriptor
register 194
0020034CH
UF0 configuration/interface/endpoint descriptor
register 195
0020034EH
UF0 configuration/interface/endpoint descriptor
register 196
00200350H
UF0 configuration/interface/endpoint descriptor
register 197
00200352H
UF0 configuration/interface/endpoint descriptor
register 198
00200354H
UF0 configuration/interface/endpoint descriptor
register 199
00200356H
UF0 configuration/interface/endpoint descriptor
register 200
00200358H
UF0 configuration/interface/endpoint descriptor
register 201
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 776 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(11/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
0020035AH
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE202
R/W
Undefined
UF0CIE203
R/W
Undefined
UF0CIE204
R/W
Undefined
UF0CIE205
R/W
Undefined
UF0CIE206
R/W
Undefined
UF0CIE207
R/W
Undefined
UF0CIE208
R/W
Undefined
UF0CIE209
R/W
Undefined
UF0CIE210
R/W
Undefined
UF0CIE211
R/W
Undefined
UF0CIE212
R/W
Undefined
UF0CIE213
R/W
Undefined
UF0CIE214
R/W
Undefined
UF0CIE215
R/W
Undefined
UF0CIE216
R/W
Undefined
UF0CIE217
R/W
Undefined
UF0CIE218
R/W
Undefined
UF0CIE219
R/W
Undefined
UF0CIE220
R/W
Undefined
UF0CIE221
R/W
Undefined
UF0CIE222
R/W
Undefined
UF0CIE223
R/W
Undefined
register 202
0020035CH
UF0 configuration/interface/endpoint descriptor
register 203
0020035EH
UF0 configuration/interface/endpoint descriptor
register 204
00200360H
UF0 configuration/interface/endpoint descriptor
register 205
00200362H
UF0 configuration/interface/endpoint descriptor
register 206
00200364H
UF0 configuration/interface/endpoint descriptor
register 207
00200366H
UF0 configuration/interface/endpoint descriptor
register 208
00200368H
UF0 configuration/interface/endpoint descriptor
register 209
0020036AH
UF0 configuration/interface/endpoint descriptor
register 210
0020036CH
UF0 configuration/interface/endpoint descriptor
register 211
0020036EH
UF0 configuration/interface/endpoint descriptor
register 212
00200370H
UF0 configuration/interface/endpoint descriptor
register 213
00200372H
UF0 configuration/interface/endpoint descriptor
register 214
00200374H
UF0 configuration/interface/endpoint descriptor
register 215
00200376H
UF0 configuration/interface/endpoint descriptor
register 216
00200378H
UF0 configuration/interface/endpoint descriptor
register 217
0020037AH
UF0 configuration/interface/endpoint descriptor
register 218
0020037CH
UF0 configuration/interface/endpoint descriptor
register 219
0020037EH
UF0 configuration/interface/endpoint descriptor
register 220
00200380H
UF0 configuration/interface/endpoint descriptor
register 221
00200382H
UF0 configuration/interface/endpoint descriptor
register 222
00200384H
UF0 configuration/interface/endpoint descriptor
register 223
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 777 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(12/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
00200386H
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE224
R/W
Undefined
UF0CIE225
R/W
Undefined
UF0CIE226
R/W
Undefined
UF0CIE227
R/W
Undefined
UF0CIE228
R/W
Undefined
UF0CIE229
R/W
Undefined
UF0CIE230
R/W
Undefined
UF0CIE231
R/W
Undefined
UF0CIE232
R/W
Undefined
UF0CIE233
R/W
Undefined
UF0CIE234
R/W
Undefined
UF0CIE235
R/W
Undefined
UF0CIE236
R/W
Undefined
UF0CIE237
R/W
Undefined
UF0CIE238
R/W
Undefined
UF0CIE239
R/W
Undefined
UF0CIE240
R/W
Undefined
UF0CIE241
R/W
Undefined
UF0CIE242
R/W
Undefined
UF0CIE243
R/W
Undefined
UF0CIE244
R/W
Undefined
UF0CIE245
R/W
Undefined
register 224
00200388H
UF0 configuration/interface/endpoint descriptor
register 225
0020038AH
UF0 configuration/interface/endpoint descriptor
register 226
0020038CH
UF0 configuration/interface/endpoint descriptor
register 227
0020038EH
UF0 configuration/interface/endpoint descriptor
register 228
00200390H
UF0 configuration/interface/endpoint descriptor
register 229
00200392H
UF0 configuration/interface/endpoint descriptor
register 230
00200394H
UF0 configuration/interface/endpoint descriptor
register 231
00200396H
UF0 configuration/interface/endpoint descriptor
register 232
00200398H
UF0 configuration/interface/endpoint descriptor
register 233
0020039AH
UF0 configuration/interface/endpoint descriptor
register 234
0020039CH
UF0 configuration/interface/endpoint descriptor
register 235
0020039EH
UF0 configuration/interface/endpoint descriptor
register 236
002003A0H
UF0 configuration/interface/endpoint descriptor
register 237
002003A2H
UF0 configuration/interface/endpoint descriptor
register 238
002003A4H
UF0 configuration/interface/endpoint descriptor
register 239
002003A6H
UF0 configuration/interface/endpoint descriptor
register 240
002003A8H
UF0 configuration/interface/endpoint descriptor
register 241
002003AAH
UF0 configuration/interface/endpoint descriptor
register 242
002003ACH
UF0 configuration/interface/endpoint descriptor
register 243
002003AEH
UF0 configuration/interface/endpoint descriptor
register 244
002003B0H
UF0 configuration/interface/endpoint descriptor
register 245
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 778 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(13/13)
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
002003B2H
UF0 configuration/interface/endpoint descriptor
8
Default Value
16
UF0CIE246
R/W
Undefined
UF0CIE247
R/W
Undefined
UF0CIE248
R/W
Undefined
UF0CIE249
R/W
Undefined
UF0CIE250
R/W
Undefined
UF0CIE251
R/W
Undefined
UF0CIE252
R/W
Undefined
UF0CIE253
R/W
Undefined
UF0CIE254
R/W
Undefined
UF0CIE255
R/W
Undefined
register 246
002003B4H
UF0 configuration/interface/endpoint descriptor
register 247
002003B6H
UF0 configuration/interface/endpoint descriptor
register 248
002003B8H
UF0 configuration/interface/endpoint descriptor
register 249
002003BAH
UF0 configuration/interface/endpoint descriptor
register 250
002003BCH
UF0 configuration/interface/endpoint descriptor
register 251
002003BEH
UF0 configuration/interface/endpoint descriptor
register 252
002003C0H
UF0 configuration/interface/endpoint descriptor
register 253
002003C2H
UF0 configuration/interface/endpoint descriptor
register 254
002003C4H
UF0 configuration/interface/endpoint descriptor
register 255
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 779 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(4) Bridge register
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
8
Default Value
16
00200400H
Bridge interrupt control register
BRGINTT
R/W
0000H
00200402H
Bridge interrupt enable register
BRGINTE
R/W
0000H
00200404H
EPC macro control register
EPCCLT
R/W
0000H
00200408H
CPU I/F bus control register
CPUBCTL
R/W
0000H
(5) DMA register
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
8
Default Value
16
00200500H
EP1 DMA control register 1
UF0E1DC1
R/W
0000H
00200502H
EP1 DMA control register 2
UF0E1DC2
R/W
0000H
00200504H
EP2 DMA control register 1
UF0E2DC1
R/W
0000H
00200506H
EP2 DMA control register 2
UF0E2DC2
R/W
0000H
00200508H
EP3 DMA control register 1
UF0E3DC1
R/W
0000H
0020050AH
EP3 DMA control register 2
UF0E3DC2
R/W
0000H
0020050CH
EP4 DMA control register 1
UF0E4DC1
R/W
0000H
0020050EH
EP4 DMA control register 2
UF0E4DC2
R/W
0000H
(6) Bulk-in register
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
8
Default Value
16
00201000H
UF0 EP1 bulk-in transfer data register
UF0EP1BI
W
0000H
00202000H
UF0 EP3 bulk-in transfer data register
UF0EP3BI
W
0000H
(7) Bulk-out register
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
8
16
Default Value
00210000H
UF0 EP2 bulk-out transfer data register
UF0EP2BO
R
0000H
00220000H
UF0 EP4 bulk-out transfer data register
UF0EP4BO
R
0000H
(8) Peripheral control register
Address
Function Register Name
Symbol
R/W
Manipulatable Bits
1
00240000H
USBF DMA request enable register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
UFDRQEN
R/W
8
16
Default Value
0000H
Page 780 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.3 EPC control registers
(1) UF0 EP0NAK register (UF0E0N)
This register controls NAK of Endpoint0 (except an automatically executed request).
This register can be read or written in 8-bit units (however, bit 0 can only be read).
It takes five USB clocks to reflect the status on this register after the UF0FIC0 and UF0FIC1 registers have been
set. If it is necessary to read the status correctly, therefore, separate a write signal that accesses the UF0FIC0 and
UF0FIC1 registers from a read signal that accesses the UF0EPS0, UF0EPS1, UF0EPS2, UF0E0N, and UF0EN
registers by at least four USB clocks.
While NAK is being transmitted to Endpoint0 Read, Endpoint2, and Endpoint4, a write access to the EP0NKR bit is
ignored.
UF0E0N
Bit position
1
7
6
5
4
3
2
0
0
0
0
0
0
Bit name
EP0NKR
1
0
EP0NKR EP0NKW
Address
After reset
00200000H
00H
Function
This bit controls NAK to the OUT token to Endpoint0 (except an automatically executed
request). It is automatically set to 1 by hardware when Endpoint0 has correctly received
data. It is also cleared to 0 by hardware when the data of the UF0E0R register has been
read by FW (counter value = 0).
1: Transmit NAK.
0: Do not transmit NAK (default value).
Set this bit to 1 by FW when data should not be received from the USB bus for some
reason even when USBF is ready for receiving data. In this case, USBF continues
transmitting NAK until this bit is cleared to 0 by FW. This bit is also cleared to 0 as soon
as the UF0E0R register has been cleared.
0
EP0NKW
This bit indicates how NAK to the IN token to Endpoint0 is controlled (except an
automatically executed request). This bit is automatically cleared to 0 by hardware when
the data of Endpoint0 is transmitted and the host correctly receives the transmitted data.
The data of the UF0E0W register is retained until this bit is cleared. Therefore, it is not
necessary to rewrite this bit even in the case of a retransmission request that is made if
the host could not receive data correctly. To send a short packet, be sure to set the
E0DED bit of the UF0DEND register to 1. This bit is automatically set to 1 when the
FIFO is full. As soon as the E0DED bit of the UF0DEND register is set to 1, the
EP0NKW bit is automatically set to 1 at the same time.
1: Do not transmit NAK.
0: Transmit NAK (default value).
If control transfer enters the status stage while ACK cannot be correctly received in the
data stage, this bit is cleared to 0 as soon as the UF0E0W register is cleared. This bit is
also cleared to 0 when UF0E0W is cleared by FW.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 781 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Next, the procedure of a SETUP transaction that uses IN/OUT tokens is explained below.
(a) When IN token is used (except a request automatically executed by hardware)
FW should be used to clear the PROT bit of the UF0IS1 register to 0 after receiving the CPUDEC interrupt and
before reading data from the UF0E0ST register. Next, perform processing in accordance with the request and,
if it is necessary to return data by an IN token, write data to the UF0E0W register. Confirm that the PROT bit of
the UF0IS1 register is 0 after writing has been completed, and set the E0DED bit of the UF0DEND register to 1.
The hardware sends out data at the first IN token after the EP0NKW bit has been set to 1. If the PROT bit of
the UF0IS1 register is 1, it indicates that a SETUP transaction has occurred again before completion of control
transfer. In this case, clear the PROT bit of the UF0IS1 register to 0 by clearing the PROTC bit of the UF0IC1
register to 0, and then read data from the UF0E0ST register again. A request received later can be read.
(b) When OUT token is used (except a request automatically executed by hardware)
FW should be used to clear the PROT bit of the UF0IS1 register after receiving the CPUDEC interrupt and
before reading data from the UF0E0ST register. Confirm that the PROT bit of the UF0IS1 register is 0 before
reading data from the UF0E0R register. If the PROT bit is 1, it means that invalid data is retained. Clear the
FIFO by FW (the EP0NKR bit is automatically cleared to 0). If the PROT bit of the UF0IS1 register is 0, read
the data of the UF0E0L register and read as many data from the UF0E0R register as set. When reading data
from the UF0E0R register has been completed (when the counter of the UF0E0R register has been cleared to
0), the hardware automatically clears the EP0NKR bit to 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 782 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2) UF0 EP0NAKALL register (UF0E0NA)
This register controls NAK to all the requests of Endpoint0. It is also valid for automatically executed requests.
This register can be read or written in 8-bit units.
UF0E0NA
Bit position
0
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
0
EP0NKA
00200002H
00H
Bit name
EP0NKA
Function
This bit controls NAK to a transaction other than a SETUP transaction to Endpoint0
(including an automatically executed request). This bit is manipulated by FW.
1: Transmit NAK.
0: Do not transmit NAK (default value).
This register is used to prevent a conflict between a write access by FW and a read
access from SIE when the data used for an automatically executed request is to be
changed. It postpones reflecting a write access on this bit from FW while an access
from SIE is being made. Before rewriting the request data register from FW, confirm that
this bit has been correctly set to 1.
Setting this bit to 1 is reflected only in the following cases.
Immediately after USBF has been reset and a SETUP token has never been
received
Immediately after reception of Bus Reset and a SETUP token has never been
received
PID of a SETUP token has been detected
The stage has been changed to the status stage
Clearing this bit to 0 is reflected immediately, except while an IN token is being received
and a NAK response is being made.
Setting the EP0NKA bit to 1 is reflected in the above four cases during Endpoint0
transfer, but it is reflected immediately after data has been written to the bit while
Endpoint0 is transferring no data.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 783 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3) UF0 EPNAK register (UF0EN)
This register controls NAK of endpoints other than Endpoint0.
This register can be read or written in 8-bit units (however, bits 4, 1, and 0 can only be read).
The BKO2NK bit can be written only when the BKO2NKM bit of the UF0ENM register is 1 and the BKO1NK bit can
be written only when the BKO1NKM bit of the UF0ENM register is 1.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4, 7)
and the current setting of the interface.
It takes five USB clocks to reflect the status on this register after the UF0FIC0 and UF0FIC1 registers have been
set. If it is necessary to read the status correctly, therefore, separate a write signal that accesses the UF0FIC0 and
UF0FIC1 registers from a read signal that accesses the UF0EPS0, UF0EPS1, UF0EPS2, UF0E0N, and UF0EN
registers by at least four USB clocks.
While NAK is being transmitted to Endpoint0 Read, Endpoint2, and Endpoint4, a write access to the BKO1NK and
BKO2NK bits is ignored.
Be sure to clear bits 7 to 5 to “0”. If it is set to 1, the operation is not guaranteed.
(1/4)
UF0EN
Bit position
4
7
6
5
4
0
0
0
IT1NK
3
BKO2NK BKO1NK
Bit name
IT1NK
2
1
0
Address
After reset
BKI2NK
BKI1NK
00200004H
00H
Function
This bit controls NAK to Endpoint7 (interrupt 1 transfer).
It is automatically set to 1 and transmission is started when the UF0INT1 register has
become full as a result of writing data to it. To send a short packet that does not make
the FIFO full, set the IT1DEND bit of the UF0DEND register to 1. As soon as the
IT1DEND bit has been set to 1, this bit is automatically set to 1.
1: Do not transmit NAK.
0: Transmit NAK (default value).
This bit is also cleared to 0 when the UF0INT1 register has been cleared.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 784 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/4)
Bit position
3
Bit name
BKO2NK
Function
This bit controls NAK to Endpoint4 (bulk 2 transfer (OUT)).
1: Transmit NAK.
0: Do not transmit NAK (default value).
This bit is set to 1 only when the FIFO connected to the SIE side of the UF0BO2 register
(64-byte FIFO of bank configuration) cannot receive data. It is cleared to 0 when a
toggle operation is performed. The bank is changed (toggle operation) when the
following conditions are satisfied.
Data correctly received is stored in the FIFO connected to the SIE side.
The value of the FIFO counter connected to the CPU side is 0 (completion of
reading).
FW should be used to read data of the UF0BO2L register when it has received the
BLKO2DT interrupt request and read as many data from the UF0BO2 register as the
value of that data. To not receive data from the USB bus for some reason even if USBF
is ready to receive data, set this bit to 1 by FW. In this case, USBF keeps transmitting
NAK until the FW clears this bit to 0. This bit is also cleared to 0 as soon as the UF0BO2
register has been cleared.
2
BKO1NK
This bit controls NAK to Endpoint2 (bulk 1 transfer (OUT)).
1: Transmit NAK.
0: Do not transmit NAK (default value).
This bit is set to 1 only when the FIFO connected to the SIE side of the UF0BO1 register
(64-byte FIFO of bank configuration) cannot receive data. It is cleared to 0 when a
toggle operation is performed. The bank is changed (toggle operation) when the
following conditions are satisfied.
Data correctly received is stored in the FIFO connected to the SIE side.
The value of the FIFO counter connected to the CPU side is 0 (completion of
reading).
FW should be used to read data of the UF0BO1L register when it has received the
BLKO1DT interrupt request and read as many data from the UF0BO1 register as the
value of that data. To not receive data from the USB bus for some reason even if USBF
is ready to receive data, set this bit to 1 by FW. In this case, USBF keeps transmitting
NAK until the FW clears this bit to 0. This bit is also cleared to 0 as soon as the UF0BO1
register has been cleared.
Cautions 1. If DMA is enabled while data is being read from the UF0BO2 register in the PIO mode, a
DMA request is immediately issued.
2. If the last data of the FIFO on the CPU side is read in the DMA transfer mode, the DMA
request signal becomes inactive.
3. If the TC signal is received in the DMA transfer mode, the DMA request signal becomes
inactive.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 785 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3/4)
Bit position
1
Bit name
BKI2NK
Function
This bit controls NAK to Endpoint3 (bulk 2 transfer (IN)).
1: Do not transmit NAK.
0: Transmit NAK (default value).
This bit is cleared to 0 only when the FIFO connected to the SIE side of the UF0BI2
register (64-byte FIFO of bank configuration) cannot receive data. It is set to 1 when a
toggle operation is performed (the data of the UF0BI2 register is retained until
transmission has been correctly completed). The bank is changed (toggle operation)
when the following conditions are satisfied.
Data is correctly written to the FIFO connected to the CPU bus side (writing has
been completed and the FIFO is full or the UF0DEND register is set).
The value of the FIFO counter connected to the SIE side is 0.
This bit is automatically set to 1 and data transmission is started when the FIFO on the
CPU side becomes full and a FIFO toggle operation is performed as a result of writing
data to the FIFO. However, if the FIFO on the CPU side becomes full as a result of
writing data to it by DMA while the BKI2T bit of the UF0DEND register is cleared to 0, the
toggle operation is not performed because the condition of the toggle operation is not
satisfied until the BKI2DED bit of the UF0DEND register is set to 1. To send a short
packet that does not make the FIFO on the CPU side full, set the BKI2DED bit to 1 after
completing writing data. When the BKI2DED bit is set to 1, a toggle operation is
performed and at the same time, this bit is automatically set to 1. This bit is also cleared
to 0 as soon as the UF0BI2 register has been cleared.
Cautions 1. If DMA is enabled while data is being written to the UF0BI2 register in the PIO mode, a DMA
request is immediately issued.
2. If 64-byte data is written in the DMA transfer mode, the DMA request signal becomes
inactive. If the BKI2NK bit is then set to 1, data is transmitted in synchronization with an IN
token. The DMA request signal becomes active again as long as the DMA request is not
masked as soon as the FIFO is toggled. If the BKI2NK bit is not set, data is not transmitted
even if an IN token has been received. In this case, set the BKI2DED bit of the UF0DEND
register to 1.
3. If the TC signal is received in the DMA transfer mode, the DMA request signal becomes
inactive. At the same time, the DMA request is masked. If the BKI2NK bit is not set to 1,
data is not transmitted even if an IN token is received. When the BKI2DED bit of the
UF0DEND register is set to 1 by FW, data is transmitted in synchronization with the IN
token. To execute DMA transfer again, unmask the DMA request.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 786 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(4/4)
Bit position
0
Bit name
BKI1NK
Function
This bit controls NAK to Endpoint1 (bulk 1 transfer (IN)).
1: Do not transmit NAK.
0: Transmit NAK (default value).
This bit is cleared to 0 only when the FIFO connected to the SIE side of the UF0BI1
register (64-byte FIFO of bank configuration) cannot receive data. It is set to 1 when a
toggle operation is performed (the data of the UF0BI1 register is retained until
transmission has been correctly completed). The bank is changed (toggle operation)
when the following conditions are satisfied.
Data is correctly written to the FIFO connected to the CPU bus side (writing has
been completed and the FIFO is full or the UF0DEND register is set).
The value of the FIFO counter connected to the SIE side is 0.
This bit is automatically set to 1 and data transmission is started when the FIFO on the
CPU side becomes full and a FIFO toggle operation is performed as a result of writing
data to the FIFO. However, if the FIFO on the CPU side becomes full as a result of
writing data to it by DMA while the BKI1T bit of the UF0DEND register is cleared to 0, the
toggle operation is not performed because the condition of the toggle operation is not
satisfied until the BKI1DED bit of the UF0DEND register is set to 1. To send a short
packet that does not make the FIFO on the CPU side full, set the BKI1DED bit to 1 after
completing writing data. When the BKI1DED bit is set to 1, a toggle operation is
performed and at the same time, this bit is automatically set to 1. This bit is also cleared
to 0 as soon as the UF0BI1 register has been cleared.
Cautions 1. If DMA is enabled while data is being written to the UF0BI1 register in the PIO mode, a DMA
request is immediately issued.
2. If 64-byte data is written in the DMA transfer mode, the DMA request signal becomes
inactive. If the BKI1NK bit is then set to 1, data is transmitted in synchronization with an IN
token. The DMA request signal becomes active again as long as the DMA request is not
masked as soon as the FIFO is toggled. If the BKI1NK bit is not set, data is not transmitted
even if an IN token has been received. In this case, set the BKI1DED bit of the UF0DEND
register to 1.
3. If the TC signal is received in the DMA transfer mode, the DMA request signal becomes
inactive. At the same time, the DMA request is masked. If the BKI1NK bit is not set to 1,
data is not transmitted even if an IN token is received. When the BKI1DED bit of the
UF0DEND register is set to 1 by FW, data is transmitted in synchronization with the IN
token. To execute DMA transfer again, unmask the DMA request.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 787 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(4) UF0 EPNAK mask register (UF0ENM)
This register controls masking a write access to the UF0EN register.
This register can be read or written in 8-bit units.
Be sure to clear bits 7 to 4, 1, and 0 to “0”. If it is set to 1, the operation is not guaranteed.
UF0ENM
Bit position
3
7
6
5
4
0
0
0
0
3
BKO2NKM BKO1NKM
Bit name
BKO2NKM
2
1
0
Address
After reset
0
0
00200006H
00H
Function
This bit specifies whether a write access to bit 3 (BKO2NK) of the UF0EN register is
masked or not.
1: Do not mask.
0: Mask (default value).
2
BKO1NKM
This bit specifies whether a write access to bit 2 (BKO1NK) of the UF0EN register is
masked or not.
1: Do not mask.
0: Mask (default value).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 788 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(5) UF0 SNDSIE register (UF0SDS)
This register performs manipulation such as no handshake. It can directly manipulate the pins of SIE.
This register can be read or written in 8-bit units.
Be sure to clear bit 2 to “0”. If it is set to 1, the operation is not guaranteed.
UF0SDS
Bit position
3
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
SNDSTL
0
0
RSUMIN
00200008H
00H
Bit name
SNDSTL
Function
This bit makes Endpoint0 issue a STALL handshake. Setting this bit to 1 if a request for
CPUDEC processing is not supported by the system results in a STALL handshake
response. If an unsupported wValue is sent by the SET_CONFIGURATION or
SET_INTERFACE request, the hardware sets this bit to 1. If a problem occurs in
Endpoint0 due to overrun of an automatically executed request, this bit is also set to 1.
However, the E0HALT bit of the UF0E0SL register is not set to 1.
1: Respond with STALL handshake.
0: Do not respond with STALL handshake (default value).
This bit is cleared to 0 and the handshake response to the bus is other than STALL when
the next SETUP token is received. To set the SNDSTL bit to 1 by FW, do not write data
to the UF0E0W register. Depending on the timing of setting this bit, the STALL response
is not made in time, and it may be made to the next transfer after a NAK response has
been made.
Setting this bit is valid only while an FW-executed request is under execution when this
bit is set to 1. It is automatically cleared to 0 when the next SETUP token is received.
Remark The SNDSTL bit is valid only for an FW-executed request.
0
RSUMIN
This bit outputs the Resume signal onto the USB bus. Writing this bit is invalid unless
the RMWK bit of the UF0DSTL register is set to 1.
1: Generate the Resume signal.
0: Do not generate the Resume signal (default value).
While this bit is set to 1, the Resume signal continues to be generated. Clear this bit to 0
by FW after a specific time has elapsed. Because the signal is internally sampled at the
clock, the operation is guaranteed only while CLK is supplied. Care must be exercised
when CLK of the system is stopped.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 789 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(6) UF0 CLR request register (UF0CLR)
This register indicates the target of the received CLEAR_FEATURE request.
This register is read-only, in 8-bit units.
This register is meaningful only when an interrupt request is generated. Each bit is set to 1 after completion of the
status stage, and automatically cleared to 0 when this register is read.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4, 7)
and the current setting of the interface.
7
UF0CLR
0
Bit position
6 to 1
6
4
5
3
2
1
0
CLREP7 CLREP4 CLREP3 CLREP2 CLREP1 CLREP0 CLRDEV
Bit name
CLREPn
Address
After reset
0020000AH
00H
Function
These bits indicate that a CLEAR_FEATURE Endpoint n request is received and
automatically processed.
1: Automatically processed
0: Not automatically processed (default value)
0
CLRDEV
This bit indicates that a CLEAR_FEATURE Device request is received and automatically
processed.
1: Automatically processed
0: Not automatically processed (default value)
Remark
n = 0 to 4, 7
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 790 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(7) UF0 SET request register (UF0SET)
This register indicates the target of the automatically processed SET_XXXX (except SET_INTERFACE) request.
This register is read-only, in 8-bit units.
This register is meaningful only when an interrupt request is generated. Each bit is set to 1 after completion of the
status stage, and automatically cleared to 0 when this register is read.
7
UF0SET SETCON
Bit position
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
SETEP
0
SETDEV
0020000CH
00H
Bit name
SETCON
Function
This bit indicates that a SET_CONFIGURATION request is received and automatically
processed.
1: Automatically processed
0: Not automatically processed (default value)
2
SETEP
This bit indicates that a SET_FEATURE Endpoint n request (n = 0 to 4, 7) is received
and automatically processed.
1: Automatically processed
0: Not automatically processed (default value)
0
SETDEV
This bit indicates that a SET_FEATURE Device request is received and automatically
processed.
1: Automatically processed
0: Not automatically processed (default value)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 791 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(8) UF0 EP status 0 register (UF0EPS0)
This register indicates the USB bus status and the presence or absence of register data.
This register is read-only, in 8-bit units.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4, 7)
and the current setting of the interface.
It takes five USB clocks to reflect the status on this register after the UF0FIC0 and UF0FIC1 registers have been
set. If it is necessary to read the status correctly, therefore, separate writing to the UF0FIC0 and UF0FIC1 registers
from reading from the UF0EPS0, UF0EPS1, UF0EPS2, UF0E0N, and UF0EN registers by at least four USB clocks.
(1/2)
UF0EPS0
7
6
0
IT1
Bit position
6
5
BKOUT2 BKOUT1
Bit name
IT1
4
3
2
1
0
Address
After reset
BKIN2
BKIN1
EP0W
EP0R
0020000EH
00H
Function
These bits indicate that data is in the UF0INT1 register (FIFO). By setting the IT1DEND
bit of the UF0DEND register to 1, the status in which data is in the UF0INT1 register can
be created even if data is not written to the register (Null data transmission). As soon as
the IT1DEND bit of the UF0DEND register is set to 1 even when the counter of the
UF0INT1 register is 0, this bit is set to 1 by hardware. It is cleared to 0 after correct
transmission.
1: Data is in the register.
0: No data is in the register (default value).
5, 4
BKOUTn
These bits indicate that data is in the UF0BOn register (FIFO) connected to the CPU
side. When the FIFO configuring the UF0BOn register is toggled, this bit is automatically
set to 1 by hardware. It is automatically cleared to 0 by hardware when reading the
UF0BOn register (FIFO) connected to the CPU side has been completed (counter value
= 0). It is not set to 1 when Null data is received (toggling the FIFO does not take place
either).
1: Data is in the register.
0: No data is in the register (default value).
3, 2
BKINn
These bits indicate that data is in the UF0BIn register (FIFO) connected to the CPU side.
By setting the BKInDED bit of the UF0DEND register to 1, the status in which data is in
the UF0BIn register can be created even if data is not written to the register (Null data
transmission). As soon as the BKInDED bit of the UF0DEND register has been set to 1
while the counter of the UF0BIn register is 0, this bit is set to 1 by hardware. It is cleared
to 0 when a toggle operation is performed.
1: Data is in the register.
0: No data is in the register (default value).
Remark
n = 1, 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 792 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
1
Bit name
EP0W
Function
This bit indicates that data is in the UF0E0W register (FIFO). By setting the E0DED bit of
the UF0DEND register to 1, the status in which data is in the UF0E0W register can be
created even if data is not written to the register (Null data transmission). As soon as the
E0DED bit of the UF0DEND register is set to 1 even when the counter of the UF0E0W
register is 0, this bit is set to 1 by hardware. It is cleared to 0 after correct transmission.
1: Data is in the register.
0: No data is in the register (default value).
0
EP0R
This bit indicates that data is in the UF0E0R register (FIFO). It is automatically cleared to
0 by hardware when reading the UF0E0R register (FIFO) has been completed (counter
value = 0). It is not set to 1 if Null data is received.
1: Data is in the register.
0: No data is in the register (default value).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 793 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(9) UF0 EP status 1 register (UF0EPS1)
This register indicates the USB bus status and the presence or absence of register data.
This register is read-only, in 8-bit units.
UF0EPS1
7
6
5
4
3
2
1
0
Address
After reset
RSUM
0
0
0
0
0
0
0
00200010H
00H
Bit position
7
Bit name
RSUM
Function
This bit indicates that the USB bus is in the Resume status. This bit is meaningful only
when an interrupt request is generated.
1: Suspend status
0: Resume status (default value)
Because sampling is internally performed with the clock, the operation is guaranteed
only when CLK is supplied. Care must be exercised when CLK of the system is stopped.
The INTUSBF1 signal of SIE operates even when CLK is stopped. It can therefore be
supported by making the interrupt control register (UFIC1) valid or lowering the
frequency of CLK to the USBF.
This bit is automatically cleared to 0 when it is read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 794 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(10) UF0 EP status 2 register (UF0EPS2)
This register indicates the USB bus status and the presence or absence of register data.
This register is read-only, in 8-bit units.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4, 7)
and the current setting of the interface.
UF0EPS2
Bit position
5 to 0
7
6
5
4
3
2
1
0
Address
After reset
0
0
HALT7
HALT4
HALT3
HALT2
HALT1
HALT0
00200012H
00H
Bit name
HALTn
Function
These bits indicate that Endpoint n is currently stalled. They are set to 1 when a stall
condition, such as occurrence of an overrun and reception of an undefined request, is
satisfied. These bits are automatically set to 1 by hardware.
1: Endpoint is stalled.
0: Endpoint is not stalled (default value).
The SNDSTL bit is set to 1 as soon as the HALT0 bit has been set to 1 as a result of
occurrence of an overrun or reception of an undefined request. If the next SETUP token
is received in this status, the SNDSTL bit is cleared to 0 and, therefore, the HALT0 bit is
also cleared to 0. If Endpoint0 is stalled by the SET_FEATURE Endpoint0 request, this
bit is not cleared to 0 until the CLEAR_FEATURE Endpoint0 request is received or Halt
Feature is cleared by FW. If the GET_STATUS Endpoint0, CLEAR_FEATURE
Endpoint0, or SET_FEATURE Endpoint0 request is received, or if a request to be
processed by FW is received due to the CPUDEC interrupt request, the HALT0 bit is
masked and cleared to 0, until the next SETUP token is received.
The HALTn bit is not cleared to 0 until Endpoint n receives the CLEAR_FEATURE
Endpoint request, Halt Feature is cleared by the SET_INTERFACE or
SET_CONFIGURATION request to the interface to which the endpoint is linked, or Halt
Feature is cleared by FW. When the SET_INTERFACE or SET_CONFIGURATION
request is correctly processed, the Halt Feature of all the target endpoints, except
Endpoint0, is cleared after the request has been processed, even if the wValue is the
same as the currently set value, and these bits are also cleared to 0. Halt Feature of
Endpoint0 cannot be cleared if it is set because the STALL response is made in
response to the SET_INTERFACE and SET_CONFIGURATION requests.
Remark
n = 0 to 4, 7, 8
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 795 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(11) UF0 INT status 0 register (UF0IS0)
This register indicates the interrupt source. If the contents of this register are changed, the EPCINT0B signal
becomes active.
This register is read-only, in 8-bit units.
If an interrupt request (INTUSBF0) is generated from USBF, the FW must read this register to identify the interrupt
source.
Each bit of this register is forcibly cleared to 0 when 0 is written to the corresponding bit of the UF0IC0 register.
Caution
In the USBF, multiple interrupt sources, such as Bus Reset, Resume, and Short, are ORed
internally and are issued as a single interrupt request (INTUSBF0). Therefore, in the case of the
occurrence of multiple interrupt sources, they are ORed and issued as an INTUSBF0 interrupt
request.
For example, if a Bus Reset interrupt source and Resume interrupt source occur, the two
sources are ORed and an INTUSBF0 interrupt request is issued.
Under these conditions, if the Bus Reset interrupt source is cleared to 0 (UF0IC0.BUSRSTC = 0),
the V850ES/JG3-L internal INTUSBF0 interrupt request may remain set to 1 since the Resume
interrupt source will still remain. The new interrupt request flag (US0BIC.US0BIF), therefore,
might not be set to 1.
In this case, after performing clear processing for each interrupt request with the INTUSBF0
interrupt servicing routine, confirm the flag status for the UF0IS0 and UF0IS1 registers again,
and if there are any interrupt sources with flags set to 1, perform flag clearing (only the
applicable bits need to be cleared (do not perform a batch clearing)).
(1/2)
7
6
UF0IS0 BUSRST RSUSPD
Bit position
7
5
4
3
2
1
0
Address
After reset
0
SHORT
DMAED
SETRQ
CLRRQ
EPHALT
00200020H
00H
Bit name
BUSRST
Function
This bit indicates that Bus Reset has occurred.
1: Bus Reset has occurred (interrupt request is generated).
0: Not Bus Reset status (default value)
6
RSUSPD
This bit indicates that the Resume or Suspend status has occurred. Reference bit 7 of
the UF0EPS1 register by FW.
1: Resume or Suspend status has occurred (interrupt request is generated).
0: Resume or Suspend status has not occurred (default value).
4
SHORT
This bit indicates that data is read from the FIFO of either the UF0BO1 or UF0BO2
register and that the USBSPnB signal (n = 2, 4) is active. It is valid only when the FIFO
is full in the DMA mode.
1: USBSPnB signal is active (interrupt request is generated).
0: USBSPnB signal is not active (default value).
Identify on which endpoint the operation is performed, by using the UF0DMS1 register.
This bit is not automatically cleared to 0 even when the UF0DMS1 register is read by
FW.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 796 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
3
Bit name
DMAED
Function
This bit indicates that the DMA end (TC) signal for Endpoint n (n = 1 to 4, 7) is active.
1: DMA end signal for Endpoint n has been input (interrupt request is generated).
0: DMA end signal for Endpoint n has not been input (default value).
When this bit is set to 1, the DMA request signal for Endpoint n becomes inactive. The
DMA request signal for Endpoint n does not become active unless FW enables DMA
transfer.
Use the UF0DMS0 register to confirm on which endpoint the operation is actually
performed. However, this bit is not automatically cleared to 0 even if the UF0DMS0
register is read by FW.
2
SETRQ
This bit indicates that the SET_XXXX request to be automatically processed has been
received and automatically processed (XXXX = CONFIGURATION or FEATURE).
1: SET_XXXX request to be automatically processed has been received (interrupt
request is generated).
0: SET_XXXX request to be automatically processed has not been received (default
value).
This bit is set to 1 after completion of the status stage. Reference the UF0SET register
to identify what is the target of the request. This bit is not automatically cleared to 0 even
if the UF0SET register is read by FW.
The EPHALT bit is also set to 1 when the SET_FEATURE Endpoint request has been
received.
1
CLRRQ
This bit indicates that the CLEAR_FEATURE request has been received and
automatically processed.
1: CLEAR_FEATURE request has been received (interrupt request is generated).
0: CLEAR_FEATURE request has not been received (default value).
This bit is set to 1 after completion of the status stage. Reference the UF0CLR register
to identify what is the target of the request. This bit is not automatically cleared to 0 even
if the UF0CLR register is read by FW.
0
EPHALT
This bit indicates that an endpoint has stalled.
1: Endpoint has stalled (interrupt request is generated).
0: Endpoint has not stalled (default value).
This bit is also set to 1 when an endpoint has stalled by setting FW.
Identify the endpoint that has stalled, by referencing the UF0EPS2 register. This bit is
not automatically cleared to 0 even when the CLEAR_FEATURE Endpoint,
SET_INTERFACE, or SET_CONFIGURATION request is received. It is not
automatically cleared to 0, either, if the next SETUP token is received in case of overrun
of Endpoint0.
Caution Even if Halt Feature of Endpoint0 is set and this interrupt request is
generated, bit 0 of the UF0EPS2 register is masked and cleared to 0
between when a SET_FEATURE Endpoint0, CLEAR_FEATURE Endpoint0,
or GET_STATUS Endpoint0 request, or FW-processed request is received
and when a SETUP token other than the above is received.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 797 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(12) UF0 INT status 1 register (UF0IS1)
This register indicates the interrupt source. If the contents of this register are changed, the EPCINT0B signal
becomes active.
This register is read-only, in 8-bit units.
If an interrupt request (INTUSBF0) is generated from USBF, the FW must read this register to identify the interrupt
source.
Each bit of this register is forcibly cleared to 0 when 0 is written to the corresponding bit of the UF0IC1 register.
However, the SUCES and STG bits of the UF0IS1 register are automatically cleared to 0 when the next SETUP
token has been received.
Caution
In the USBF, multiple interrupt sources, such as Bus Reset, Resume, and Short, are ORed
internally and are issued as a single interrupt request (INTUSBF0). Therefore, in the case of the
occurrence of multiple interrupt sources, they are ORed and issued as an INTUSBF0 interrupt
request.
For example, if a Bus Reset interrupt source and Resume interrupt source occur, the two
sources are ORed and an INTUSBF0 interrupt request is issued.
Under these conditions, if the Bus Reset interrupt source is cleared to 0 (UF0IC0.BUSRSTC = 0),
the V850ES/JG3-L internal INTUSBF0 interrupt request may remain set to 1 since the Resume
interrupt source will still be remaining.
The new interrupt request flag (US0BIC.US0BIF),
therefore, might not be set to 1.
In this case, after performing clear processing for each interrupt request with the INTUSBF0
interrupt servicing routine, confirm the flag status for the UF0IS0 and UF0IS1 registers again,
and if there are any interrupt sources with flags set to 1, perform flag clearing (only the
applicable bits need to be cleared (do not perform a batch clearing)).
(1/2)
UF0IS1
7
6
5
4
3
2
1
0
Address
After reset
0
E0IN
E0INDT
E0ODT
SUCES
STG
PROT
CPU
00200022H
00H
DEC
Bit position
Bit name
Function
6
E0IN
This bit indicates that an IN token for Endpoint0 has been received and that the hardware has
automatically transmitted NAK.
1: IN token is received and NAK is transmitted (interrupt request is generated).
0: IN token is not received (default value).
5
E0INDT
This bit indicates that data has been correctly transmitted from the UF0E0W register.
1: Transmission from UF0E0W register is completed (interrupt request is generated).
0: Transmission from UF0E0W register is not completed (default value).
Data is transmitted in synchronization with the IN token next to the one that set the EP0NKW bit
of the UF0E0N register to 1. This bit is automatically set to 1 by hardware when the host
correctly receives that data. It is also set to 1 even if the data is a Null packet. This bit is
automatically cleared to 0 by hardware when the first write access is made to the UF0E0W
register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 798 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
4
Bit name
E0ODT
Function
This bit indicates that data has been correctly received in the UF0E0R register.
1: Data is in UF0E0R register (interrupt request is generated).
0: Data is not in UF0E0R register (default value).
This bit is automatically set to 1 by hardware when data has been correctly received. At the
same time, the EP0R bit of the UF0EPS0 register is also set to 1. If a Null packet has been
received, this bit is not set to 1. It is automatically cleared to 0 by hardware when the FW
reads the UF0E0R register and the value of the UF0E0L register becomes 0.
3
SUCES
This bit indicates that either an FW-processed or hardware-processed request has been
received and that the status stage has been correctly completed.
1: Control transfer has been correctly processed (interrupt request is generated).
0: Control transfer has not been processed correctly (default value).
This bit is set to 1 upon completion of the status stage. It is automatically cleared to 0 by
hardware when the next SETUP token is received.
This bit is also set to 1 when data with Data PID of 0 (Null data) is received in the status
stage of control transfer.
2
STG
This bit is set to 1 when the stage of control transfer has changed to the status stage. It is
valid for both FW-processed and hardware-processed requests. This bit is also set to 1
when the stage of control transfer (without data) has changed to the status stage.
1: Status stage (interrupt request is generated)
0: Not status stage (default value)
This bit is automatically cleared to 0 by hardware when the next SETUP token is received.
It is also set to 1 when the stage of control transfer has changed to the status stage while
ACK cannot be correctly received in the data stage. In this case, the EP0NKW bit of the
UF0E0N register is also cleared to 0 as soon as the UF0E0W register has been cleared, if
the FW is processing control transfer (read).
1
PROT
This bit indicates that a SETUP token has been received. It is valid for both FW-processed
and hardware-processed requests.
1: SETUP token is correctly received (interrupt request is generated).
0: SETUP token is not received (default value).
This bit is set to 1 when data has been correctly received in the UF0E0ST register. Clear
this bit to 0 by FW when the first read access is made to the UF0E0ST register. If it is not
cleared to 0 by FW, reception of the next SETUP token cannot be correctly recognized.
This bit is used to accurately recognize that a SETUP transaction has been executed again
during control transfer. If the SETUP transaction is re-executed during control transfer and if
a second request is executed by hardware, the CPUDEC bit is not set to 1, but the PROT bit
can be used for recognition of the re-execution.
0
CPUDEC
This bit indicates that the UF0E0ST register has a request that is to be decoded by FW.
1: Data is in UF0E0ST register (interrupt request is generated).
0: Data is not in UF0E0ST register (default value).
This bit is automatically cleared to 0 by hardware when all the data of the UF0E0ST register
is read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 799 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(13) UF0 INT status 2 register (UF0IS2)
This register indicates the interrupt source. If the contents of this register are changed, the EPCINT1B signal
becomes active.
This register is read-only, in 8-bit units.
If an interrupt request (INTUSBF0) is generated from USBF, the FW must read this register to identify the interrupt
source.
Each bit of this register is forcibly cleared to 0 when 0 is written to the corresponding bit of the UF0IC2 register.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1, 3, 7)
and the current setting of the interface.
UF0IS2
7
6
5
4
3
2
1
0
Address
After reset
BKI2IN
BKI2DT
BKI1IN
BKI1DT
0
0
0
IT1DT
00200024H
00H
Bit position
7, 5
Bit name
BKInIN
Function
These bits indicate that an IN token has been received in the UF0BIn register (Endpoint
m) and that NAK has been returned.
1: IN token is received and NAK is transmitted (interrupt request is generated).
0: IN token is not received (default value).
6, 4
BKInDT
These bits indicate that the FIFO of the UF0BIn register (Endpoint m) has been toggled.
This means that data can be written to Endpoint m.
1: FIFO has been toggled (interrupt request is generated).
0: FIFO has not been toggled (default value).
The data written to Endpoint m is transmitted in synchronization with the IN token next to
the one that set the BKInNK bit of the UF0EN register to 1. When the FIFO has been
toggled and then data can be written from the CPU, this bit is automatically set to 1 by
hardware. It is also set to 1 when the FIFO has been toggled, even if the data is a Null
packet. This bit is automatically cleared to 0 by hardware when the first write access is
made to the UF0BIn register.
0
IT1DT
These bits indicate that data has been correctly received from the UF0INT1 register
(Endpoint x).
1: Transmission is completed (interrupt request is generated).
0: Transmission is not completed (default value).
Data is transmitted in synchronization with the IN token next to the one that set the
ITnNK bit of the UF0EN register to 1. This bit is automatically set to 1 by hardware when
the host has correctly received that data. It is automatically cleared to 0 by hardware
when the first write access is made to the UF0INT1 register. This bit is also set to 1 even
when the data is a Null packet.
Remark
n = 1, 2
m = 1 and x = 7 where n = 1
m = 3 where n = 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 800 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(14) UF0 INT status 3 register (UF0IS3)
This register indicates the interrupt source. If the contents of this register are changed, the EPCINT1B signal
becomes active.
This register is read-only, in 8-bit units.
If an interrupt request (INTUSBF0) is generated from USBF, the FW must read this register to identify the interrupt
source.
Each bit of this register is forcibly cleared to 0 when 0 is written to the corresponding bit of the UF0IC3 register.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 2, 4) and
the current setting of the interface.
(1/2)
7
UF0IS3
6
BKO2FL BKO2NL
4
5
BKO2
3
2
BKO2DT BKO1FL BKO1NL
NAK
Bit position
7, 3
Bit name
BKOnFL
1
0
Address
After reset
BKO1
BKO1DT
00200026H
00H
NAK
Function
These bits indicate that data has been correctly received in the UF0BOn register (Endpoint
m) and that both the FIFOs of the CPU and SIE hold the data.
1: Received data is in both the FIFOs of the UF0BOn register (interrupt request is
generated).
0: Received data is not in the FIFO on the SIE side of the UF0BOn register (default
value).
If data is held in both the FIFOs of the CPU and SIE, these bits are automatically set to 1 by
hardware. They are automatically cleared to 0 by hardware when the FIFO is toggled.
6, 2
BKOnNL
These bits indicate that a Null packet (packet with a length of 0) has been received in the
UF0BOn register (Endpoint m).
1: Null packet is received (interrupt request is generated).
0: Null packet is not received (default value).
These bits are set to 1 immediately after reception of a Null packet when the FIFO is empty.
They are set to 1 when the FIFO on the CPU side has been completely read if data is in that
FIFO.
5, 1
BKOnNAK
These bits indicate that an OUT token has been received to the UF0BOn register (Endpoint
m) and that NAK has been returned.
1: OUT token is received and NAK is transmitted (interrupt request is generated).
0: OUT token is not received (default value).
Remark
n = 1, 2
m = 2 where n = 1
m = 4 where n = 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 801 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
4, 0
Bit name
BKOnDT
Function
These bits indicate that data has been correctly received in the UF0BOn register (Endpoint
m).
1: Reception has been completed correctly (interrupt request is generated).
0: Reception has not been completed (default value).
These bits are automatically set to 1 by hardware when data has been correctly received
and the FIFO has been toggled. At the same time, the corresponding bits of the UF0EPS0
register are also set to 1. They are not set to 1 when the data is a Null packet. These bits
are automatically cleared to 0 by hardware when the value of the UF0BOnL register
becomes 0 as a result of reading the UF0BOn register by FW.
These bits are automatically cleared to 0 when all the contents of the FIFO on the CPU side
have been read. However, the interrupt request is not cleared if data is in the FIFO on the
SIE side at this time, and the INTUSBF1 signal does not become inactive. The signal is kept
active if data is successively received.
Remark
n = 1, 2
m = 2 where n = 1
m = 4 where n = 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 802 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(15) UF0 INT status 4 register (UF0IS4)
This register indicates the interrupt source. If the contents of this register are changed, the EPCINT2B signal
becomes active.
This register is read-only, in 8-bit units.
If an interrupt request (INTUSBF0) is generated from USBF, the FW must read this register to identify the interrupt
source.
Each bit of this register is forcibly cleared to 0 when 0 is written to the corresponding bit of the UF0IC4 register.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4, 7)
and the current setting of the interface.
UF0IS4
Bit position
5
7
6
5
4
3
2
1
0
Address
After reset
0
0
SETINT
0
0
0
0
0
00200028H
00H
Bit name
SETINT
Function
This bit indicates that the SET_INTERFACE request has been received and
automatically processed.
1: The request has been automatically processed (interrupt request is generated).
0: The request has not been automatically processed (default value).
The current setting of this bit can be identified by reading the UF0ASS or UF0IFn
register (n = 0 to 4).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 803 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(16) UF0 INT mask 0 register (UF0IM0)
This register controls masking of the interrupt sources indicated by the UF0IS0 register.
This register can be read or written in 8-bit units.
FW can mask occurrence of an interrupt request from USBF (INTUSBF0) by writing 1 to the corresponding bit of
this register.
UF0IM0
Bit position
7
7
6
5
4
3
2
1
0
Address
After reset
BUS
RSU
0
SHORTM
DMA
SET
CLR
EP
0020002EH
00H
RSTM
SPDM
EDM
RQM
RQM
HALTM
Bit name
BUSRSTM
Function
This bit masks the Bus Reset interrupt.
1: Mask
0: Do not mask (default value)
6
RSUSPDM
This bit masks the Resume/Suspend interrupt.
1: Mask
0: Do not mask (default value)
4
SHORTM
This bit masks the Short interrupt.
1: Mask
0: Do not mask (default value)
3
DMAEDM
This bit masks the DMA_END interrupt.
1: Mask
0: Do not mask (default value)
2
SETRQM
This bit masks the SET_RQ interrupt.
1: Mask
0: Do not mask (default value)
1
CLRRQM
This bit masks the CLR_RQ interrupt.
1: Mask
0: Do not mask (default value)
0
EPHALTM
This bit masks the EP_Halt interrupt.
1: Mask
0: Do not mask (default value)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 804 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(17) UF0 INT mask 1 register (UF0IM1)
This register controls masking of the interrupt sources indicated by the UF0IS1 register.
This register can be read or written in 8-bit units.
FW can mask occurrence of an interrupt request from USBF (INTUSBF0) by writing 1 to the corresponding bit of
this register.
UF0IM1
Bit position
6
7
6
5
4
3
2
1
0
Address
After reset
0
E0INM
E0
E0
SUCESM
STGM
PROTM
CPU
00200030H
00H
INDTM
ODTM
Bit name
E0INM
DECM
Function
This bit masks the EP0IN interrupt.
1: Mask
0: Do not mask (default value)
5
E0INDTM
This bit masks the EP0INDT interrupt.
1: Mask
0: Do not mask (default value)
4
E0ODTM
This bit masks the EP0OUTDT interrupt.
1: Mask
0: Do not mask (default value)
3
SUCESM
This bit masks the Success interrupt.
1: Mask
0: Do not mask (default value)
2
STGM
This bit masks the Stg interrupt.
1: Mask
0: Do not mask (default value)
1
PROTM
This bit masks the Protect interrupt.
1: Mask
0: Do not mask (default value)
0
CPUDECM
This bit masks the CPUDEC interrupt.
1: Mask
0: Do not mask (default value)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 805 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(18) UF0 INT mask 2 register (UF0IM2)
This register controls masking of the interrupt sources indicated by the UF0IS2 register.
This register can be read or written in 8-bit units.
FW can mask occurrence of an interrupt request from USBF (INTUSBF0) by writing 1 to the corresponding bit of
this register.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1, 3, 7)
and the current setting of the interface.
UF0IM2
7
6
5
4
3
2
1
0
Address
After reset
BKI2INM
BKI2
BKI1INM
BKI1
0
0
0
IT1DTM
00200032H
00H
DTM
Bit position
7, 5
DTM
Bit name
BKInINM
Function
These bits mask the BLKInIN interrupt.
1: Mask
0: Do not mask (default value)
6, 4
BKInDTM
These bits mask the BLKInDT interrupt.
1: Mask
0: Do not mask (default value)
0
IT1DTM
These bits mask the INTnDT interrupt.
1: Mask
0: Do not mask (default value)
Remark
n = 1, 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 806 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(19) UF0 INT mask 3 register (UF0IM3)
This register controls masking of the interrupt sources indicated by the UF0IS3 register.
This register can be read or written in 8-bit units.
FW can mask occurrence of an interrupt request from USBF (INTUSBF0) by writing 1 to the corresponding bit of
this register.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 2, 4) and
the current setting of the interface.
UF0IM3
7
6
5
4
3
2
1
0
Address
After reset
BKO2
BKO2
BKO2
BKO2
BKO1
BKO1
BKO1
BKO1
00200034H
00H
NAKM
DTM
FLM
NLM
NAKM
DTM
FLM
Bit position
7, 3
NLM
Bit name
BKOnFLM
Function
These bits mask the BLKOnFL interrupt.
1: Mask
0: Do not mask (default value)
6, 2
BKOnNLM
These bits mask the BLKOnNL interrupt.
1: Mask
0: Do not mask (default value)
5, 1
BKOnNAKM
These bits mask the BLKOnNK interrupt.
1: Mask
0: Do not mask (default value)
4, 0
BKOnDTM
These bits mask the BLKOnDT interrupt.
1: Mask
0: Do not mask (default value)
Remark
n = 1, 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 807 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(20) UF0 INT mask 4 register (UF0IM4)
This register controls masking of the interrupt sources indicated by the UF0IS4 register.
This register can be read or written in 8-bit units.
FW can mask occurrence of an interrupt request from USBF (INTUSBF0) by writing 1 to the corresponding bit of
this register.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4, 7)
and the current setting of the interface.
UF0IM4
Bit position
5
7
6
5
4
3
2
1
0
Address
After reset
0
0
SETINTM
0
0
0
0
0
00200036H
00H
Bit name
SETINTM
Function
This bit masks the SET_INT interrupt.
1: Mask
0: Do not mask (default value)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 808 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(21) UF0 INT clear 0 register (UF0IC0)
This register controls clearing the interrupt sources indicated by the UF0IS0 register.
This register is write-only, in 8-bit units. If this register is read, the value FFH is read.
FW can clear an interrupt source by writing 0 to the corresponding bit of this register.
Even a bit that is
automatically cleared to 0 by hardware can be cleared by FW before it is cleared by hardware. Writing 0 to a bit of
this register automatically sets the bit to 1. Writing 1 is invalid.
UF0IC0
Bit position
7
6
5
4
3
2
1
0
Address
After reset
BUS
RSU
1
SHORTC
DMA
SET
CLR
EP
0020003CH
FFH
RSTC
SPDC
EDC
RQC
RQC
HALTC
Bit name
Function
7
BUSRSTC
This bit clears the Bus Reset interrupt.
0: Clear
6
RSUSPDC
This bit clears the Resume/Suspend interrupt.
0: Clear
4
SHORTC
This bit clears the Short interrupt.
0: Clear
3
DMAEDC
This bit clears the DMA_END interrupt.
0: Clear
2
SETRQC
This bit clears the SET_RQ interrupt.
0: Clear
1
CLRRQC
This bit clears the CLR_RQ interrupt.
0: Clear
0
EPHALTC
This bit clears the EP_Halt interrupt.
0: Clear
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 809 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(22) UF0 INT clear 1 register (UF0IC1)
This register controls clearing the interrupt sources indicated by the UF0IS1 register.
This register is write-only, in 8-bit units. If this register is read, the value FFH is read.
FW can clear an interrupt source by writing 0 to the corresponding bit of this register.
Even a bit that is
automatically cleared to 0 by hardware can be cleared by FW before it is cleared by hardware. Writing 0 to a bit of
this register automatically sets the bit to 1. Writing 1 is invalid.
UF0IC1
7
6
5
1
E0INC
E0
4
2
1
0
Address
After reset
STGC
PROTC
CPU
0020003EH
FFH
3
E0ODTC SUCESC
INDTC
Bit position
Bit name
DECC
Function
6
E0INC
This bit clears the EP0IN interrupt.
0: Clear
5
E0INDTC
This bit clears the EP0INDT interrupt.
0: Clear
4
E0ODTC
This bit clears the EP0OUTDT interrupt.
0: Clear
3
SUCESC
This bit clears the Success interrupt.
0: Clear
2
STGC
This bit clears the Stg interrupt.
0: Clear
1
PROTC
This bit clears the Protect interrupt.
0: Clear
0
CPUDECC
This bit clears the CPUDEC interrupt.
0: Clear
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 810 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(23) UF0 INT clear 2 register (UF0IC2)
This register controls clearing the interrupt sources indicated by the UF0IS2 register.
This register is write-only, in 8-bit units. If this register is read, the value FFH is read.
FW can clear an interrupt source by writing 0 to the corresponding bit of this register.
Even a bit that is
automatically cleared to 0 by hardware can be cleared by FW before it is cleared by hardware. Writing 0 to a bit of
this register automatically sets the bit to 1. Writing 1 is invalid.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1, 3, 7)
and the current setting of the interface.
UF0IC2
7
6
5
4
3
2
1
0
Address
After reset
BKI2INC
BKI2
BKI1INC
BKI1
1
1
1
IT1DTC
00200040H
FFH
DTC
Bit position
7, 5
DTC
Bit name
BKInINC
Function
These bits clear the BLKInIN interrupt.
0: Clear
6, 4
0
Remark
BKInDTC
These bits clear the BLKInDT interrupt.
0: Clear
IT1DTC
These bits clear the INTnDT interrupt.
0: Clear
n = 1, 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 811 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(24) UF0 INT clear 3 register (UF0IC3)
This register controls clearing the interrupt sources indicated by the UF0IS3 register.
This register is write-only, in 8-bit units. If this register is read, the value FFH is read.
FW can clear an interrupt source by writing 0 to the corresponding bit of this register.
Even a bit that is
automatically cleared to 0 by hardware can be cleared by FW before it is cleared by hardware. Writing 0 to a bit of
this register automatically sets the bit to 1. Writing 1 is invalid.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 2, 4) and
the current setting of the interface.
UF0IC3
7
6
5
4
3
2
1
0
Address
After reset
BKO2
BKO2
BKO2
BKO2
BKO1
BKO1
BKO1
BKO1
00200042H
FFH
FLC
NLC
NAKC
DTC
FLC
NLC
NAKC
DTC
Bit position
7, 3
Bit name
BKOnFLC
Function
These bits clear the BLKOnFL interrupt.
0: Clear
6, 2
BKOnNLC
These bits clear the BLKOnNL interrupt.
0: Clear
5, 1
BKOnNAKC
These bits clear the BLKOnNK interrupt.
0: Clear
4, 0
BKOnDTC
These bits clear the BLKOnDT interrupt.
0: Clear
Remark
n = 1, 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 812 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(25) UF0 INT clear 4 register (UF0IC4)
This register controls clearing the interrupt sources indicated by the UF0IS4 register.
This register is write-only, in 8-bit units. If this register is read, the value FFH is read.
FW can clear an interrupt source by writing 0 to the corresponding bit of this register.
Even a bit that is
automatically cleared to 0 by hardware can be cleared by FW before it is cleared by hardware. Writing 0 to a bit of
this register automatically sets the bit to 1. Writing 1 is invalid.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4, 7)
and the current setting of the interface.
UF0IC4
Bit position
5
7
6
5
4
3
2
1
0
Address
After reset
1
1
SETINTC
1
1
1
1
1
00200044H
FFH
Bit name
SETINTC
Function
This bit clears the SET_INT interrupt.
0: Clear
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 813 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(26) UF0 INT & DMARQ register (UF0IDR)
This register selects reporting via an interrupt request or starting DMA.
This register can be read or written in 8-bit units.
If data exists in either the UF0BO1 or UF0BO1 register, or if data can be written to the UF0BI1 or UF0BI2 register,
this register selects whether it is reported to the FW by an interrupt request, or whether starting DMA is requested.
If starting DMA is requested, the DMA transfer mode can be selected according to the setting of bits 0 and 1.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4) and
the current setting of the interface.
Be sure to clear bits 3 and 2 to “0”. If they are set to 1, the operation is not guaranteed.
Caution
If the target endpoint is not supported by the SET_INTERFACE request under DMA transfer, the
DMA request signal becomes inactive immediately, and the corresponding bit is automatically
cleared to 0 by hardware.
(1/2)
UF0IDR
7
6
5
4
3
2
1
0
Address
After reset
DQBI2
DQBI1
DQBO2
DQBO1
0
0
MODE1
MODE0
0020004CH
00H
MS
MS
MS
MS
Bit position
7, 6
Bit name
DQBInMS
Function
These bits enable (mask) a write DMA transfer request (DMA request signal for Endpoint m)
to the UF0BIn register. When these bits are set to 1, the DMA request signal for Endpoint m
becomes active while writing data can be acknowledged. If the DMA end signal for Endpoint
m is input (if the DMA controller issues TC), these bits are automatically cleared to 0 by
hardware. To continue DMA transfer, re-set these bits to 1 by FW.
1: Enables active DMA request signal for Endpoint m (masks BKInDT interrupt).
0: Disables active DMA request signal for Endpoint m (default value).
5, 4
DQBOnMS
These bits enable (mask) a read DMA transfer request (DMA request signal for Endpoint x)
to the UF0BOn register. When these bits are set to 1, the DMA request signal for Endpoint x
becomes active if the data to be read is prepared in the UF0BOn register. If the DMA end
signal for Endpoint x is input (if the DMA controller issues TC), these bits are automatically
cleared to 0 by hardware. They are also cleared to 0 when the USBSPxB signal is active. To
continue DMA transfer, re-set these bits to 1 by FW.
1: Enables active DMA request signal for Endpoint x (masks BKOnDT interrupt).
0: Disables active DMA request signal for Endpoint x (default value).
Remark
n = 1, 2
m = 1 and x = 2 where n = 1
m = 3 and x = 4 where n = 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 814 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
1, 0
Bit name
MODE1,
MODE0
Function
These bits select the DMA transfer mode.
MODE1
MODE0
1
0
Other than above
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Mode
Remark
Demand
DMA request signal becomes active as
mode
long as there is data. It becomes
inactive if there is no more data.
Setting prohibited
Page 815 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(27) UF0 DMA status 0 register (UF0DMS0)
This register indicates the DMA status of Endpoint1 to Endpoint4.
This register is read-only, in 8-bit units.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4) and
the current setting of the interface.
UF0DMS0
Bit position
5
7
6
5
4
3
2
1
0
Address
After reset
0
0
DQE4
DQE3
DQE2
DQE1
0
0
0020004EH
00H
Bit name
DQE4
Function
This bit indicates that a DMA read request is being issued from Endpoint4 to memory.
1: DMA read request from Endpoint4 is being issued.
0: DMA read request from Endpoint4 is not being issued (default value).
4
DQE3
This bit indicates that a DMA write request is being issued from memory to Endpoint3.
Note that, even if data is in Endpoint3 (when the FIFO is not full and after the BKI2DED bit
has been set to 1), the DMA request signal becomes active immediately and DMA transfer is
started when the DQBI2MS bit of the UF0IDR register is set to 1.
1: DMA write request for Endpoint3 is being issued.
0: DMA write request for Endpoint3 is not being issued (default value).
3
DQE2
This bit indicates that a DMA read request is being issued from Endpoint2 to memory.
1: DMA read request from Endpoint2 is being issued.
0: DMA read request from Endpoint2 is not being issued (default value).
2
DQE1
This bit indicates that a DMA write request is being issued from memory to Endpoint1.
Note that, even if data is in Endpoint1 (when the FIFO is not full and after the BKI1DED bit
has been set to 1), the DMA request signal becomes active immediately and DMA transfer is
started when the DQBI1MS bit of the UF0IDR register is set to 1.
1: DMA write request for Endpoint1 is being issued.
0: DMA write request for Endpoint1 is not being issued (default value).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 816 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(28) UF0 DMA status 1 register (UF0DMS1)
This register indicates the DMA status of Endpoint1 to Endpoint4.
This register is read-only, in 8-bit units.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1 to 4) and
the current setting of the interface.
Each bit is automatically cleared to 0 when this register is read. Even when this register is read, however, bits 4
and 3 of the UF0IS0 register are not cleared to 0.
If the target endpoint is no longer supported by the
SET_INTERFACE request, each bit is automatically cleared to 0 by hardware (however, the DMA_END interrupt
request and Short interrupt request are not cleared).
UF0DMS1
Bit position
7, 5, 4, 2
7
6
5
4
3
2
1
0
Address
After reset
DEDE4
DSPE4
DEDE3
DEDE2
DSPE2
DEDE1
0
0
00200050H
00H
Bit name
DEDEn
Function
These bits indicate that the DMA end (TC) signal for Endpoint n becomes active and DMA is
stopped while a DMA read request is being issued from Endpoint n to memory.
1: DMA end signal for Endpoint n is active.
0: DMA end signal for Endpoint n is inactive (default value).
6, 3
DSPEm
These bits indicate that, although a DMA read request was being issued from Endpoint m to
memory, DMA has been stopped because the received data is a short packet and there is
no more data to be transferred.
1: DMASTOP_EPm signal is active.
0: DMASTOP_EPm signal is inactive (default value).
Remark
n = 1 to 4
m = 2, 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 817 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(29) UF0 FIFO clear 0 register (UF0FIC0)
This register clears each FIFO.
This register is write-only, in 8-bit units. If this register is read, 00H is read.
FW can clear the target FIFO by writing 1 to the corresponding bit of this register. The bit to which 1 has been
written is automatically cleared to 0. Writing 0 to the bit is invalid.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1, 3, 7)
and the current setting of the interface.
UF0FIC0
7
6
5
4
3
2
1
0
Address
After reset
BKI2SC
BKI2CC
BKI1SC
BKI1CC
ITR2C
ITR1C
EP0WC
EP0RC
00200060H
00H
Bit position
7, 5
Bit name
BKInSC
Function
These bits clear only the FIFO on the SIE side of the UF0BIn register (reset the counter).
1: Clear
Writing these bits is invalid while an IN token for Endpoint m is being processed with the
BKInNK bit set to 1.
The BKInNK bit is automatically cleared to 0 by clearing the FIFO. Make sure that the FIFO
on the CPU side is empty when these bits are used.
6, 4
BKInCC
These bits clear only the FIFO on the CPU side of the UF0BIn register (reset the counter).
1: Clear
2
ITR1C
These bits clear the UF0INT1 register (reset the counter).
1: Clear
Writing these bits is invalid while an IN token for Endpoint 7 is being processed with the
IT1NK bit set to 1.
The IT1NK bit is automatically cleared to 0 by clearing the FIFO.
1
EP0WC
This bit clears the UF0E0W register (resets the counter).
1: Clear
Writing this bit is invalid while an IN token for Endpoint0 is being processed with the
EP0NKW bit set to 1.
The EP0NKW bit is automatically cleared to 0 by clearing the FIFO.
0
EP0RC
This bit clears the UF0E0R register (resets the counter).
1: Clear
When the EP0NKR bit is set to 1 (except when it has been set by FW), the EP0NKR bit is
automatically cleared to 0 by clearing the FIFO.
Remark
n = 1, 2
m = 1 where n = 1
m = 3 where n = 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 818 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(30) UF0 FIFO clear 1 register (UF0FIC1)
This register clears each FIFO.
This register is write-only, in 8-bit units. If this register is read, 00H is read.
FW can clear the target FIFO by writing 1 to the corresponding bit of this register. The bit to which 1 has been
written is automatically cleared to 0. Writing 0 to the bit is invalid.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 2, 4) and
the current setting of the interface.
UF0FIC1
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
BKO2C
BKO2CC
BKO1C
BKO1CC
00200062H
00H
Bit position
3, 1
Bit name
BKOnC
Function
These bits clear the FIFOs on both the SIE and CPU sides of the UF0BOn register (reset
the counter).
1: Clear
When the BKOnNK bit is set to 1 (except when it has been set by FW), the BKOnNK bit is
automatically cleared to 0 by clearing the FIFO.
2, 0
BKOnCC
These bits clear only the FIFO on the CPU side of the UF0BOn register (reset the counter).
1: Clear
When the BKOnNK bit is set to 1 (except when it has been set by FW), the BKOnNK bit is
automatically cleared to 0 by clearing the FIFO.
Remark
n = 1, 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 819 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(31) UF0 data end register (UF0DEND)
This register reports the end of writing to the transmission system.
This register is write-only, in 8-bit units (however, bits 7 and 6 can be read and written). If this register is read, 00H
is read.
FW can start data transfer of the target endpoint by writing 1 to the corresponding bit of this register. The bit to
which 1 has been written is automatically cleared to 0. Writing 0 to the bit is invalid.
The related bits are invalid if each endpoint is not supported by the setting of the UF0EnIM register (n = 1, 3, 7)
and the current setting of the interface.
(1/2)
UF0DEND
7
6
5
4
BKI2T
BKI1T
0
0
Bit position
7, 6
3
1
0
IT1DEND BKI2DED BKI1DED E0DED
Bit name
BKInT
2
Address
After reset
0020006AH
00H
Function
These bits specify whether toggling the FIFO is automatically executed if the FIFO on the
CPU side of the UF0BIn register becomes full as a result of DMA.
1: Automatically execute a toggle operation of the FIFO as soon as the FIFO has
become full.
0: Do not automatically execute a toggle operation of the FIFO even if the FIFO
becomes full (default value).
3
IT1DEND
Set these bits to 1 to transmit the data of the UF0INT1 register. When these bits are set
to 1, the IT1NK bit is set to 1 and data transfer is executed.
1: Transmit a short packet.
0: Do not transmit a short packet (default value).
If the ITR1C bit of the UF0FIC0 register is set to 1 and then these bits are set to 1
(counter of UF0INT1 register = 0 and the corresponding bit of the UF0EPS1 register = 1),
a Null packet (with a data length of 0) is transmitted.
If data exists in the UF0INT1 register and if these bits are set to 1 (counter of UF0INT1
register 0 and the corresponding bit of the UF0EPS0 register = 1), a short packet is
transmitted.
These bits are automatically controlled by hardware when the FIFO is full.
Remark
n = 1, 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 820 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
2, 1
Bit name
BKInDED
Function
Set these bits to 1 when writing transmit data to the UF0BIn register has been completed.
When these bits are set to 1, the FIFO is toggled as soon as possible, the BKInNK bit is set
to 1, and data is transferred.
1: Transmit a short packet.
0: Do not transmit a short packet (default value).
These bits control the FIFO on the CPU side.
If the BKInCC bit of the UF0FIC0 register is set to 1 and then these bits are set to 1 (counter
of UF0BIn register = 0), a Null packet (with a data length of 0) is transmitted.
If data exists in the UF0BIn register and if these bits are set to 1 (counter of UF0BIn register
0), and if the FIFO is not full, a short packet is transmitted.
If the FIFO on the CPU side of the UF0BIn register becomes full as a result of DMA, with the
PIO or BKInT bit set to 1, the hardware starts data transmission even if these bits are not set
to 1.
If the FIFO on the CPU side of the UF0BIn register becomes full as a result of DMA, with the
BKInT bit cleared to 0, be sure to set these bits to 1 (see 20.6.3 (3) UF0 EPNAK register
(UF0EN)).
0
E0DED
Set this bit to 1 to transmit data of the UF0E0W register. When this bit is set to 1, the
EP0NKW bit is set to 1 and data is transferred.
1: Transmit a short packet.
0: Do not transmit a short packet (default value).
If the EP0WC bit of the UF0FIC0 register is set to 1 and if this bit is set to 1 (counter of
UF0E0W register = 0 and bit 1 of UF0EPS0 register = 1), a Null packet (with a data length of
0) is transmitted.
If data exists in the UF0E0W register and if this bit is set to 1 (counter of UF0E0W register
0 and bit 1 of the UF0EPS0 register = 1), and if the FIFO is not full, a short packet is
transmitted.
Remark
n = 1, 2
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 821 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(32) UF0 GPR register (UF0GPR)
This register controls USBF and the USB interface.
This register is write-only, in 8-bit units. If this register is read, 00H is read. Be sure to clear bits 7 to 1 to “0”.
FW can reset the USBF by writing 1 to bit 0 of this register. This bit is automatically cleared to 0 after 1 has been
written to it. Writing 0 to this bit is invalid.
UF0GPR
Bit position
0
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
0
MRST
0020006EH
00H
Bit name
MRST
Function
Set this bit to 1 to reset USBF.
1: Reset
Actually, USBF is reset two USB clocks after this bit has been set to 1 by FW and the write
signal has become inactive.
Resetting USBF by the MRST bit while the system clock is operating has the same result as
resetting by the RESET pin (hardware reset) (register value back to default value).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 822 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(33) UF0 mode control register (UF0MODC)
This register controls CPUDEC processing.
This register can be read or written in 8-bit units.
By setting each bit of this register, the setting of the UF0MODS register can be changed. The bit of this register is
automatically cleared to 0 only at hardware reset and when the MRST bit of the UF0GRP register has been set to
1.
Even if the bit of this register has automatically been set to 1 by hardware, the setting by FW takes precedence.
Be sure to clear bits 7 and 5 to 2 to “0”. If they are set to 1, the operation is not guaranteed.
Caution
This register is provided for debugging purposes. Usually, do not set this register except for
verifying the operation or when a special mode is used.
7
UF0MODC
0
6
5
4
3
2
1
0
Address
After reset
CDC
0
0
0
0
0
0
00200074H
00H
GDST
Bit position
6
Bit name
CDCGDST
Function
Set this bit to 1 to switch the GET_DESCRIPTOR Configuration request to CPUDEC
processing. By setting this bit to 1, the CDCGD bit of the UF0MODS register can be forcibly
set to 1.
1: Forcibly change the GET_DESCRIPTOR Configuration request to CPUDEC
processing (sets the CDCGD bit of the UF0MODS register to 1).
0: Automatically process the GET_DESCRIPTOR Configuration request (default value).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 823 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(34) UF0 mode status register (UF0MODS)
This register indicates the configuration status.
This register is read-only, in 8-bit units.
UF0MODS
Bit position
6
7
6
5
4
3
2
1
0
Address
After reset
0
CDCGD
0
MPACK
DFLT
CONF
0
0
00200078H
00H
Bit name
CDCGD
Function
This bit specifies whether CPUDEC processing is performed for the GET_DESCRIPTOR
Configuration request.
1: Forcibly change the GET_DESCRIPTOR Configuration request to CPUDEC
processing.
0: Automatically process the GET_DESCRIPTOR Configuration request (default value).
4
MPACK
This bit indicates the transmit packet size of Endpoint0.
1: Transmit a packet of other than 8 bytes.
0: Transmit a packet of 8 bytes (default value).
This bit is automatically set to 1 by hardware after the GET_DESCRIPTOR Device request
has been processed (on normal completion of the status stage). It is not cleared to 0 until
the USBF has been reset (it is not cleared to 0 by Bus Reset).
If this bit is not set to 1, the hardware transfers only the automatically-executed request in 8byte units. Therefore, even if data of more than 8 bytes is sent by the OUT token to be
processed by FW before completion of the GET_DESCRIPTOR Device request, the data is
correctly received.
This bit is ignored if the size of Endpoint0 is 8 bytes.
3
DFLT
This bit indicates the default status (DFLT bit = 1).
1: Enables response.
0: Disables response (always no response) (default value).
This bit is automatically set to 1 by Bus Reset. The transaction for all the endpoints is not
responded to until this bit is set to 1.
2
CONF
This bit indicates whether the SET_CONFIGURATION request has been completed.
1: SET_CONFIGURATION request has been completed.
0: SET_CONFIGURATION request has not been completed (default value).
This bit is set to 1 when Configuration value = 1 is received by the SET_CONFIGURATION
request.
Unless this bit is set to 1, access to an endpoint other than Endpoint0 is ignored.
This bit is cleared to 0 when Configuration value = 0 is received by the
SET_CONFIGURATION request. It is also cleared to 0 when Bus Reset is detected.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 824 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(35) UF0 active interface number register (UF0AIFN)
This register sets the valid Interface number that correctly responds to the GET/SET_INTERFACE request.
Because Interface 0 is always valid, Interfaces 1 to 4 can be selected.
This register can be read or written in 8-bit units.
UF0AIFN
7
6
5
4
3
2
1
0
Address
After reset
ADDIF
0
0
0
0
0
IFNO1
IFNO0
00200080H
00H
Bit position
7
Bit name
ADDIF
Function
This bit allows use of Interfaces numbered other than 0.
1: Support up to the Interface number specified by the IFNO1 and IFNO0 bits.
0: Support only Interface 0 (default value).
Setting bits 1 and 0 of this register is invalid when this bit is not set to 1.
1, 0
IFNO1,
IFNO0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
These bits specify the range of Interface numbers to be supported.
IFNO1
IFNO0
Valid Interface No.
1
1
0, 1, 2, 3, 4
1
0
0, 1, 2, 3
0
1
0, 1, 2
0
0
0, 1
Page 825 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(36) UF0 active alternative setting register (UF0AAS)
This register specifies a link between the Interface number and Alternative Setting.
This register can be read or written in 8-bit units.
USBF of the V850ES/JG3-L can set a five-series Alternative Setting (Alternate Setting 0, 1, 2, 3, and 4 can be
defined) and a two-series Alternative Setting (Alternative Setting 0 and 1 can be defined) for one Interface.
UF0AAS
7
6
5
4
3
2
1
0
Address
After reset
ALT2
IFAL21
IFAL20
ALT2EN
ALT5
IFAL51
IFAL50
ALT5EN
00200082H
00H
Bit position
7, 3
Bit name
ALTn
Function
These bits specify whether an n-series Alternative Setting is linked with Interface 0.
When these bits are set to 1, the setting of the IFALn1 and IFALn0 bits is invalid.
1: Link n-series Alternative Setting with Interface 0.
0: Do not link n-series Alternative Setting with Interface 0 (default value).
6, 5,
2, 1
IFALn1,
IFALn0
These bits specify the Interface number to be linked with the n-series Alternative Setting.
If the linked Interface number is outside the range specified by the UF0AIFN register, the
n-series Alternative Setting is invalid (ALTnEN bit = 0).
IFALn1
IFALn0
Interface number to be linked
1
1
Links Interface 4.
1
0
Links Interface 3.
0
1
Links Interface 2.
0
0
Links Interface 1.
Do not link a five-series Alternative Setting and a two-series Alternative Setting with the
same Interface number.
4, 0
ALTnEN
These bits validate the n-series Alternative Setting. Unless these bits are set to 1, the
setting of the ALTn, IFALn1, and IFALn0 bits is invalid.
1: Validate the n-series Alternative Setting.
0: Do not validate the n-series Alternative Setting (default value).
Remark
n = 2, 5
For example, when the UF0AIFN register is set to 82H and the UF0AAS register is set to 15H, Interfaces 0, 1, 2,
and 3 are valid. Interfaces 0 and 2 support only Alternative Setting 0. Interface 1 supports Alternative Setting 0
and 1, and Interface 3 supports Alternative Setting 0, 1, 2, 3, and 4. With this setting, requests GET_INTERFACE
wIndex = 0/1/2/3, SET_INTERFACE wValue = 0 & wIndex = 0/2, SET_INTERFACE wValue = 0/1 & wIndex = 1,
and SET_INTERFACE wValue = 0/1/2/3/4 & wIndex = 3 are automatically responded to, and a STALL response is
made to the other GET/SET_INTERFACE requests.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 826 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(37) UF0 alternative setting status register (UF0ASS)
This register indicates the current status of the Alternative Setting.
This register is read-only, in 8-bit units.
Check this register when the SET_INT interrupt request has been issued.
The value received by the
SET_INTERFACE request is reflected on the UF0IFn register (n = 0 to 4) as well as on this register.
UF0ASS
Bit position
3 to 1
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
AL5ST3
AL5ST2
AL5ST1
AL2ST
00200084H
00H
Bit name
AL5ST3 to
AL5ST1
0
AL2ST
Function
These bits indicate the current status of the five-series Alternative Setting.
AL5ST3
AL5ST2
AL5ST1
Selected Alternative Setting number
1
0
0
Alternative Setting 4
0
1
1
Alternative Setting 3
0
1
0
Alternative Setting 2
0
0
1
Alternative Setting 1
0
0
0
Alternative Setting 0
This bit indicates the current status of the two-series Alternative Setting (selected
Alternative Setting number).
1: Alternative Setting 1
0: Alternative Setting 0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 827 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(38) UF0 endpoint 1 interface mapping register (UF0E1IM)
This register specifies for which Interface and Alternative Setting Endpoint1 is valid.
This register can be read or written in 8-bit units.
The setting of this register and the Alternative Setting selected by the SET_INTERFACE request indicate whether
Endpoint1
is
currently
valid,
and
the
hardware
determines
how
the
GET_STATUS/CLEAR_FEATURE/SET_FEATURE Endpoint1 request and the IN transaction to Endpoint1 are
responded to, and whether the related bits are valid or invalid.
UF0E1IM
7
6
5
4
3
2
1
0
Address
After reset
E1EN2
E1EN1
E1EN0
E12AL1
E15AL4
E15AL3
E15AL2
E15AL1
00200086H
00H
Bit position
7 to 5
Bit name
Function
E1EN2 to
These bits set a link between the Interface of Endpoint1 and the two-/five-series
E1EN0
Alternative Setting. The endpoint is linked with Alternative Setting 0. The endpoint linked
with Alternative Setting 0 cannot be excluded from Alternative Setting 1 to 4.
E1EN2
E1EN1
E1EN0
Link status
1
1
1
1
1
0
1
0
1
Linked with Interface 4 and Alternative Setting 0
1
0
0
Linked with Interface 3 and Alternative Setting 0
0
1
1
Linked with Interface 2 and Alternative Setting 0
0
1
0
Linked with Interface 1 and Alternative Setting 0
0
0
1
Linked with Interface 0 and Alternative Setting 0
0
0
0
Not linked with Interface (default value)
Not linked with Interface
When these bits are set to 110 or 111, they are invalid even if the E12AL1 bit is cleared
to 0.
If the endpoint is linked, setting of the CONF bit of the UF0MODS register to 1 indicates
that Endpoint1 is valid.
4
E12AL1
This bit validates Endpoint1 when the two-series Alternative Setting and the Alternative
Setting of the linked Interface are set to 1.
1: Validate the endpoint when Alternative Setting 1 is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting 1 is set with CONF bit =
1 (default value).
This bit is valid when the E15AL4 to E15AL1 bits are 0000.
3 to 0
E15ALn
These bits validate Endpoint1 when the five-series Alternative Setting and the Alternative
Setting of the linked Interface are set to n.
1: Validate the endpoint when Alternative Setting n is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting n is set with CONF bit =
1 (default value).
Remark
n = 1 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 828 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(39) UF0 endpoint 2 interface mapping register (UF0E2IM)
This register specifies for which Interface and Alternative Setting Endpoint2 is valid.
This register can be read or written in 8-bit units.
The setting of this register and the Alternative Setting selected by the SET_INTERFACE request indicate whether
Endpoint2
is
currently
valid,
and
the
hardware
determines
how
the
GET_STATUS/CLEAR_FEATURE/SET_FEATURE Endpoint2 request and the OUT transaction to Endpoint2 are
responded to, and whether the related bits are valid or invalid.
UF0E2IM
7
6
5
4
3
2
1
0
Address
After reset
E2EN2
E2EN1
E2EN0
E22AL1
E25AL4
E25AL3
E25AL2
E25AL1
00200088H
00H
Bit position
7 to 5
Bit name
Function
E2EN2 to
These bits set a link between the Interface of Endpoint2 and the two-/five-series
E2EN0
Alternative Setting. The endpoint is linked with Alternative Setting 0. The endpoint linked
with Alternative Setting 0 cannot be excluded from Alternative Setting 1 to 4.
E2EN2
E2EN1
E2EN0
Link status
1
1
1
1
1
0
1
0
1
Linked with Interface 4 and Alternative Setting 0
1
0
0
Linked with Interface 3 and Alternative Setting 0
0
1
1
Linked with Interface 2 and Alternative Setting 0
0
1
0
Linked with Interface 1 and Alternative Setting 0
0
0
1
Linked with Interface 0 and Alternative Setting 0
0
0
0
Not linked with Interface (default value)
Not linked with Interface
When these bits are set to 110 or 111, they are invalid even if the E22AL1 bit is cleared
to 0.
If the endpoint is linked, setting of the CONF bit of the UF0MODS register to 1 indicates
that Endpoint2 is valid.
4
E22AL1
This bit validates Endpoint2 when the two-series Alternative Setting and the Alternative
Setting of the linked Interface are set to 1.
1: Validate the endpoint when Alternative Setting 1 is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting 1 is set with CONF bit =
1 (default value).
This bit is valid when the E25AL4 to E25AL1 bits are 0000.
3 to 0
E25ALn
These bits validate Endpoint2 when the five-series Alternative Setting and the Alternative
Setting of the linked Interface are set to n.
1: Validate the endpoint when Alternative Setting n is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting n is set with CONF bit =
1 (default value).
Remark
n = 1 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 829 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(40) UF0 endpoint 3 interface mapping register (UF0E3IM)
This register specifies for which Interface and Alternative Setting Endpoint3 is valid.
This register can be read or written in 8-bit units.
The setting of this register and the Alternative Setting selected by the SET_INTERFACE request indicate whether
Endpoint3
is
currently
valid,
and
the
hardware
determines
how
the
GET_STATUS/CLEAR_FEATURE/SET_FEATURE Endpoint3 request and the IN transaction to Endpoint3 are
responded to, and whether the related bits are valid or invalid.
UF0E3IM
7
6
5
4
3
2
1
0
Address
After reset
E3EN2
E3EN1
E3EN0
E32AL1
E35AL4
E35AL3
E35AL2
E35AL1
0020008AH
00H
Bit position
7 to 5
Bit name
Function
E3EN2 to
These bits set a link between the Interface of Endpoint3 and the two-/five-series
E3EN0
Alternative Setting. The endpoint is linked with Alternative Setting 0. The endpoint linked
with Alternative Setting 0 cannot be excluded from Alternative Setting 1 to 4.
E3EN2
E3EN1
E3EN0
Link status
1
1
1
1
1
0
1
0
1
Linked with Interface 4 and Alternative Setting 0
1
0
0
Linked with Interface 3 and Alternative Setting 0
0
1
1
Linked with Interface 2 and Alternative Setting 0
0
1
0
Linked with Interface 1 and Alternative Setting 0
0
0
1
Linked with Interface 0 and Alternative Setting 0
0
0
0
Not linked with Interface (default value)
Not linked with Interface
When these bits are set to 110 or 111, they are invalid even if the E32AL1 bit is cleared
to 0.
If the endpoint is linked, setting of the CONF bit of the UF0MODS register to 1 indicates
that Endpoint3 is valid.
4
E32AL1
This bit validates Endpoint3 when the two-series Alternative Setting and the Alternative
Setting of the linked Interface are set to 1.
1: Validate the endpoint when Alternative Setting 1 is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting 1 is set with CONF bit =
1 (default value).
This bit is valid when the E35AL4 to E35AL1 bits are 0000.
3 to 0
E35ALn
These bits validate Endpoint3 when the five-series Alternative Setting and the Alternative
Setting of the linked Interface are set to n.
1: Validate the endpoint when Alternative Setting n is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting n is set with CONF bit =
1 (default value).
Remark
n = 1 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 830 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(41) UF0 endpoint 4 interface mapping register (UF0E4IM)
This register specifies for which Interface and Alternative Setting Endpoint4 is valid.
This register can be read or written in 8-bit units.
The setting of this register and the Alternative Setting selected by the SET_INTERFACE request indicate whether
Endpoint4
is
currently
valid,
and
the
hardware
determines
how
the
GET_STATUS/CLEAR_FEATURE/SET_FEATURE Endpoint4 request and the OUT transaction to Endpoint4 are
responded to, and whether the related bits are valid or invalid.
UF0E4IM
7
6
5
4
3
2
1
0
Address
After reset
E4EN2
E4EN1
E4EN0
E42AL1
E45AL4
E45AL3
E45AL2
E45AL1
0020008CH
00H
Bit position
7 to 5
Bit name
Function
E4EN2 to
These bits set a link between the Interface of Endpoint4 and the two-/five-series
E4EN0
Alternative Setting. The endpoint is linked with Alternative Setting 0. The endpoint linked
with Alternative Setting 0 cannot be excluded from Alternative Setting 1 to 4.
E4EN2
E4EN1
E4EN0
Link status
1
1
1
1
1
0
1
0
1
Linked with Interface 4 and Alternative Setting 0
1
0
0
Linked with Interface 3 and Alternative Setting 0
0
1
1
Linked with Interface 2 and Alternative Setting 0
0
1
0
Linked with Interface 1 and Alternative Setting 0
0
0
1
Linked with Interface 0 and Alternative Setting 0
0
0
0
Not linked with Interface (default value)
Not linked with Interface
When these bits are set to 110 or 111, they are invalid even if the E42AL1 bit is cleared
to 0.
If the endpoint is linked, setting of the CONF bit of the UF0MODS register to 1 indicates
that Endpoint4 is valid.
4
E42AL1
This bit validates Endpoint4 when the two-series Alternative Setting and the Alternative
Setting of the linked Interface are set to 1.
1: Validate the endpoint when Alternative Setting 1 is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting 1 is set with CONF bit =
1 (default value).
This bit is valid when the E45AL4 to E45AL1 bits are 0000.
3 to 0
E45ALn
These bits validate Endpoint4 when the five-series Alternative Setting and the Alternative
Setting of the linked Interface are set to n.
1: Validate the endpoint when Alternative Setting n is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting n is set with CONF bit =
1 (default value).
Remark
n = 1 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 831 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(42) UF0 endpoint 7 interface mapping register (UF0E7IM)
This register specifies for which Interface and Alternative Setting Endpoint7 is valid.
This register can be read or written in 8-bit units.
The setting of this register and the Alternative Setting selected by the SET_INTERFACE request indicate whether
Endpoint7
is
currently
valid,
and
the
hardware
determines
how
the
GET_STATUS/CLEAR_FEATURE/SET_FEATURE Endpoint7 request and the IN transaction to Endpoint7 are
responded to, and whether the related bits are valid or invalid.
UF0E7IM
7
6
5
4
3
2
1
0
Address
After reset
E7EN2
E7EN1
E7EN0
E72AL1
E75AL4
E75AL3
E75AL2
E75AL1
00200092H
00H
Bit position
7 to 5
Bit name
Function
E7EN2 to
These bits set a link between the Interface of Endpoint7 and the two-/five-series
E7EN0
Alternative Setting. The endpoint is linked with Alternative Setting 0. The endpoint linked
with Alternative Setting 0 cannot be excluded from Alternative Setting 1 to 4.
E7EN2
E7EN1
E7EN0
Link status
1
1
1
1
1
0
1
0
1
Linked with Interface 4 and Alternative Setting 0
1
0
0
Linked with Interface 3 and Alternative Setting 0
0
1
1
Linked with Interface 2 and Alternative Setting 0
0
1
0
Linked with Interface 1 and Alternative Setting 0
0
0
1
Linked with Interface 0 and Alternative Setting 0
0
0
0
Not linked with Interface (default value)
Not linked with Interface
When these bits are set to 110 or 111, they are invalid even if the E72AL1 bit is cleared
to 0.
If the endpoint is linked, setting of the CONF bit of the UF0MODS register to 1 indicates
that Endpoint7 is valid.
4
E72AL1
This bit validates Endpoint7 when the two-series Alternative Setting and the Alternative
Setting of the linked Interface are set to 1.
1: Validate the endpoint when Alternative Setting 1 is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting 1 is set with CONF bit =
1 (default value).
This bit is valid when the E75AL4 to E75AL1 bits are 0000.
3 to 0
E75ALn
These bits validate Endpoint7 when the five-series Alternative Setting and the Alternative
Setting of the linked Interface are set to n.
1: Validate the endpoint when Alternative Setting n is set with CONF bit = 1.
0: Do not validate the endpoint even when Alternative Setting n is set with CONF bit =
1 (default value).
Remark
n = 1 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 832 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.4 Data hold registers
(1) UF0 EP0 read register (UF0E0R)
The UF0E0R register is a 64-byte FIFO that stores the OUT data sent from the host in the data stage of control
transfer to/from Endpoint0.
This register is read-only, in 8-bit units. A write access to this register is ignored.
The hardware automatically transfers data to the UF0E0R register when it has received the data from the host.
When the data has been correctly received, the E0ODT bit of the UF0IS1 register is set to 1. The UF0E0L register
holds the quantity of the received data, and an interrupt request (INTUSBF0) is issued. The UF0E0L register
always updates the length of the received data while it is receiving data. If the final transfer is correct reception, the
interrupt request is generated. If the reception is abnormal, the UF0E0L register is cleared to 0 and the interrupt
request is not generated.
The data held by the UF0E0R register must be read by FW up to the value of the amount of data read by the
UF0E0L register. Check that all data has been read by using the EP0R bit of the UF0EPS0 register (EP0R bit = 0
when all data has been read). If the value of the UF0E0L register is 0, the EP0NKR bit of the UF0E0N register is
cleared to 0, and the UF0E0R register is ready for reception. The UF0E0R register is cleared when the next
SETUP token has been received.
Caution
UF0E0R
7
6
5
4
3
2
1
0
Address
After reset
E0R7
E0R6
E0R5
E0R4
E0R3
E0R2
E0R1
E0R0
00200100H
Undefined
Bit position
7 to 0
Read all the data stored. Clear the FIFO to discard some data.
Bit name
Function
E0R7 to
These bits store the OUT data sent from the host in the data stage of control transfer
E0R0
to/from Endpoint0.
The operation of the UF0E0R register is illustrated below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 833 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-4. Operation of UF0E0R Register
FIFO
hardAbnormal ware
reception clear
Normal
completion
of reception
Normal
completion
of reception
Status of UF0E0R
register
EP0NKR bit of
UF0E0N register
Hardware clear
EP0R bit of
UF0EPS0 register
Hardware clear
E0ODT bit of
UF0IS1 register
Hardware clear
Reading
FIFO
starts
Reading
FIFO
completed
(2) UF0 EP0 length register (UF0E0L)
The UF0E0L register stores the data length held by the UF0E0R register.
This register is read-only, in 8-bit units. A write access to this register is ignored.
The UF0E0L register always updates the length of the received data while it is receiving data. If the final transfer is
abnormal reception, the UF0E0L register is cleared to 0 and the interrupt request is not generated. The interrupt
request is generated only when the reception is normal, and the FW can read as many data from the UF0E0R
register as the value read from the UF0E0L register. The value of the UF0E0L register is decremented each time
the UF0E0R register has been read.
UF0E0L
7
6
5
4
3
2
1
0
Address
After reset
E0L7
E0L6
E0L5
E0L4
E0L3
E0L2
E0L1
E0L0
00200102H
00H
Bit position
Bit name
7 to 0
E0L7 to E0L0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Function
These bits store the data length held by the UF0E0R register.
Page 834 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3) UF0 EP0 setup register (UF0E0ST)
The UF0E0ST register holds the SETUP data sent from the host.
This register is read-only, in 8-bit units. A write access to this register is ignored.
The UF0E0ST register always writes data when a SETUP transaction has been received. The hardware sets the
PROT bit of the UF0IS1 register when it has correctly received the SETUP transaction. It sets the CPUDEC bit of
the UF0IS1 register in the case of an FW-processed request. Then an interrupt request (INTUSBF0) is issued. In
the case of an FW-processed request, be sure to read the request in 8-byte units. If it is not read in 8-byte units,
the subsequent requests cannot be correctly decoded. The read counter of the UF0E0ST register is not cleared
even when Bus Reset is received. Always read this counter in 8-byte units regardless of whether Bus Reset is
received or not.
Because the UF0E0ST register always enables writing, the hardware overwrites data to this register even if a
SETUP transaction is received while the data of the register is being read. Even if the SETUP transaction cannot
be correctly received, the CPUDEC interrupt request and Protect interrupt request are not generated, but the
previous data is discarded. If a SETUP token of less than 8 bytes is received, however, the received SETUP token
is discarded, and the previously received SETUP data is retained. If the SETUP token is received more than once
when control transfer is executed once, be sure to check the PROT bit of the UF0IS1 register under the conditions
below. If PROT bit = 1, read the UF0E0ST register again because the SETUP transaction has been received more
than once.
If a request is decoded by FW and the UF0E0R register is read or the UF0E0W register is written
When preparing for a STALL response for the request to which the decode result does not correspond
Caution
Be sure to read all the stored data. The UF0E0ST register is always updated by the request in the
SETUP transaction.
UF0E0ST
7
6
5
4
3
2
1
0
Address
After reset
E0S7
E0S6
E0S5
E0S4
E0S3
E0S2
E0S1
E0S0
00200104H
00H
Bit position
Bit name
7 to 0
E0S7 to E0S0
Function
These bits hold the SETUP data sent from the host.
The operation of the UF0E0ST register is illustrated below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 835 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-5. Operation of UF0E0ST Register
(a) Normal
Completion of
normal reception of
SETUP token
Completion of
normal reception of
SETUP token
Status of
UF0E0ST register
FW processing
CPUDEC bit of
UF0IS1 register
Hardware processing
Hardware clear
INT clear
(FW clear)
PROT bit of
UF0IS1 register
Completion
of decoding
request
INT clear
(FW clear)
Completion
of reading
FIFO
Completion
Start
of decoding of reading
request
FIFO
(b) When SETUP transaction is received more than once
Completion of
normal reception of
SETUP token
Completion
Start of
of normal
reception
reception
of second
of second
SETUP token SETUP token
Status of
UF0E0ST register
Hardware clear
on completion of
reading 8 bytes
Hardware
clear
CPUDEC bit of
UF0IS1 register
INT clear
(FW clear)
PROT bit of
UF0IS1 register
Completion of
decoding request
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
INT clear
(FW clear)
Completion of
decoding request
Completion of
reading FIFO
Page 836 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(4) UF0 EP0 write register (UF0E0W)
The UF0E0W register is a 64-byte FIFO that stores the IN data (passes it to SIE) sent to the host in the data stage
to Endpoint0.
This register is write-only, in 8-bit units. When this register is read, 00H is read.
The hardware transmits data to the USB bus in synchronization with an IN token only when the EP0NKW bit of the
UF0E0N register is set to 1 (when NAK is not transmitted). When data is transmitted and when the host correctly
receives the data, the EP0NKW bit of the UF0E0N register is automatically cleared to 0 by hardware. A short
packet is transmitted when data is written to the UF0E0W register and the E0DED bit of the UF0DEND register is
set to 1 (EP0W bit of the UF0EPS0 register = 1 (data exists)). A Null packet is transmitted when the UF0E0W
register is cleared and the E0DED bit of the UF0DEND register is set to 1 (EP0W bit of the UF0EPS0 register = 1
(data exists)).
The UF0E0W register is cleared to 0 when the next SETUP token is received while transmission has not been
completed yet. If the stage of control transfer (read) changes to the status stage while ACK has not been correctly
received in the data stage, the UF0E0W register is automatically cleared to 0. At the same time, it is also cleared to
0 if the EP0NKW bit of the UF0E0N register is 1.
If the UF0E0W register is read while no data is in it, 00H is read.
UF0E0W
7
6
5
4
3
2
1
0
Address
After reset
E0W7
E0W6
E0W5
E0W4
E0W3
E0W2
E0W1
E0W0
00200106H
Undefined
Bit position
7 to 0
Bit name
E0W7 to
Function
These bits store the IN data sent to the host in the data stage to Endpoint0.
E0W0
The operation of the UF0E0W register is illustrated below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 837 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-6. Operation of UF0E0W Register
(a) 16-byte transmission
ReTranstransmission
mission
completed
ACK starts
TransACK
cannot be
mission
reception
received
starts
Transmission
completed
Transmission
starts
ACK
reception
Status of
UF0E0W register
16-byte transfer
EP0NKW bit of
UF0E0N register
16-byte transfer
Hardware
clear
FIFO full
Re-transfer
FIFO full
Hardware
clear
EP0W bit of
UF0EPS0 register
INT clear
(FW clear)
E0INDT bit of
UF0IS1 register
Hardware clear
Writing Writing
FIFO
FIFO
starts completed
Writing Writing
FIFO
FIFO
starts completed
Counter
reloaded
(b) When Null packet or short packet is transmitted
Transmission
starts
Transmission
completed ACK
Transmission
starts
reception
Transmission
completed ACK
reception
Status of
UF0E0W register
Transfer of Null packet
E0DED bit of
UF0DEND
register is set.
EP0NKW bit of
UF0E0N register
Hardware
clear
E0DED bit of
UF0DEND
register is set.
Hardware
clear
INT clear
(FW clear)
EP0W bit of
UF0EPS0 register
E0INDT bit of
UF0IS1 register
Hardware clear
FIFO FW
clear
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Short packet transfer
Writing Writing
FIFO
FIFO
starts completed
Page 838 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(5) UF0 bulk-out 1 register (UF0BO1)
The UF0BO1 register is a 64-byte 2 FIFO that stores data for Endpoint2. This register consists of two banks of
64-byte FIFOs each of which performs a toggle operation and repeatedly connects the buses on the SIE and CPU
sides. The toggle operation takes place when data is in the FIFO on the SIE side and when no data is in the FIFO
on the CPU side (counter value = 0).
This register is read-only, in 8-bit units. A write access to this register is ignored.
When the hardware receives data for Endpoint2 from the host, it automatically transfers the data to the UF0BO1
register. When the register correctly receives the data, a FIFO toggle operation occurs. As a result, the BKO1DT
bit of the UF0IS3 register is set to 1, the quantity of the received data is held by the UF0BO1L register, and an
interrupt request or DMA request is issued to the CPU. Whether the interrupt request or DMA request is issued can
be selected by using the DQBO1MS bit of the UF0IDR register.
Read the data held by the UF0BO1 register by FW, up to the value of the amount of data read by the UF0BO1L
register. When the correct received data is held by the FIFO connected to the SIE side and the value of the
UF0BO1L register reaches 0, the toggle operation of the FIFO occurs, and the BKO1NK bit of the UF0EN register
is automatically cleared to 0. If data greater than the value of the UF0BO1L register is read and if the FIFO toggle
condition is satisfied, the toggle operation of the FIFO occurs. As a result, the next packet may be read by mistake.
Note that, if the toggle condition is not satisfied, the first data is repeatedly read.
If overrun data is received while data is held by the FIFO connected to the CPU side, Endpoint2 stalls, and the
FIFO on the CPU side is cleared.
When the UF0BO1 register is read while no data is in it, an undefined value is read.
Caution
UF0BO1
7
6
5
4
3
2
1
0
Address
After reset
BKO17
BKO16
BKO15
BKO14
BKO13
BKO12
BKO11
BKO10
00200108H
Undefined
Bit position
7 to 0
Be sure to read all the data stored in this register.
Bit name
BKO17 to
Function
These bits store data for Endpoint2.
BKO10
The operation of the UF0BO1 register is illustrated below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 839 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-7. Operation of UF0BO1 Register (1/2)
(a) Operation example 1
Reception
completed
ACK
transmission
Status of
UF0BO1 register
Reception
completed
FIFO toggle
Reception
starts
FIFO toggle
ACK
transmission
SIE side
FIFO_0
FIFO_1
FIFO_0
FIFO_1
FIFO_0
FIFO_1
CPU side
Reading
FIFO
starts
Reading
FIFO
completed
64-byte transfer
Reading
FIFO
starts
Reading
FIFO
completed
Transfer of data less
than 64 bytes
64-byte transfer
BKO1NK bit of
UF0EN register
BKO1FL bit of
UF0IS3 register
BKOUT1 bit of
UF0EPS0 register
BKO1DT bit of
UF0IS3 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Hardware
clear
Hardware
clear
FW clear
Hardware
clear
Page 840 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-7. Operation of UF0BO1 Register (2/2)
(b) Operation example 2
Reception
Null starts
reception
Status of
completed
UF0BO1 register
Reception
completed
Reception
Null starts
reception
completed
FIFO
toggle
ACK
transmission
Reception
completed
FIFO
toggle
ACK
transmission
SIE side
FIFO_0
FIFO_1
FIFO_0
FIFO_1
FIFO_0
FIFO_1
CPU side
Reading
FIFO
starts
0-byte
transfer
BKO1NL bit of
UF0IS3 register
64-byte transfer
0-byte
transfer
Reading
FIFO
completed
Transfer of data
less than 64 bytes
64-byte transfer
FW clear
BKOUT1 bit of
UF0EPS0 register
BKO1DT bit of
UF0IS3 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
FW clear
Page 841 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(6) UF0 bulk-out 1 length register (UF0BO1L)
The UF0BO1L register stores the length of the data held by the UF0BO1 register.
This register is read-only, in 8-bit units. A write access to this register is ignored.
The UF0BO1L register always updates the received data length while it is receiving data. If the final transfer is
abnormal reception, the UF0BO1L register is cleared to 00H, and an interrupt request is not generated. Only if the
reception is normal, the interrupt request is generated, and FW can read as much data from the UF0BO1 register
as the value read from the UF0BO1L register. The value of the UF0BO1L register is decremented each time the
UF0BO1 register has been read.
UF0BO1L
7
6
5
4
3
2
1
0
Address
After reset
BKO1L7
BKO1L6
BKO1L5
BKO1L4
BKO1L3
BKO1L2
BKO1L1
BKO1L0
0020010AH
00H
Bit position
7 to 0
Bit name
BKO1L7 to
Function
These bits store the length of the data held by the UF0BO1 register.
BKO1L0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 842 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(7) UF0 bulk-out 2 register (UF0BO2)
The UF0BO2 register is a 64-byte 2 FIFO that stores data for Endpoint4. This register consists of two banks of
64-byte FIFOs each of which performs a toggle operation and repeatedly connects the buses on the SIE and CPU
sides. The toggle operation takes place when data is in the FIFO on the SIE side and when no data is in the FIFO
on the CPU side (counter value = 0).
This register is read-only, in 8-bit units. A write access to this register is ignored.
When the hardware receives data for Endpoint4 from the host, it automatically transfers the data to the UF0BO2
register. When the register correctly receives the data, a FIFO toggle operation occurs. As a result, the BKO2DT
bit of the UF0IS3 register is set to 1, the quantity of the received data is held by the UF0BO2L register, and an
interrupt request or DMA request is issued to the CPU. Whether the interrupt request or DMA request is issued can
be selected by using the DQBO2MS bit of the UF0IDR register.
Read the data held by the UF0BO2 register by FW, up to the value of the amount of data read by the UF0BO2L
register. When the correct received data is held by the FIFO connected to the SIE side and the value of the
UF0BO2L register reaches 0, the toggle operation of the FIFO occurs, and the BKO2NK bit of the UF0EN register
is automatically cleared to 0. If data greater than the value of the UF0BO2L register is read and if the FIFO toggle
condition is satisfied, the toggle operation of the FIFO occurs. As a result, the next packet may be read by mistake.
Note that, if the toggle condition is not satisfied, the first data is repeatedly read.
If overrun data is received while data is held by the FIFO connected to the CPU side, Endpoint4 stalls, and the
FIFO on the CPU side is cleared.
When the UF0BO2 register is read while no data is in it, an undefined value is read.
Caution
UF0BO2
7
6
5
4
3
2
1
0
Address
After reset
BKO27
BKO26
BKO25
BKO24
BKO23
BKO22
BKO21
BKO20
0020010CH
Undefined
Bit position
7 to 0
Be sure to read all the data stored in this register.
Bit name
BKO27 to
Function
These bits store data for Endpoint4.
BKO20
The operation of the UF0BO2 register is illustrated below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 843 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-8. Operation of UF0BO2 Register (1/2)
(a) Operation example 1
Reception
completed
FIFO toggle
ACK
Reception
transmission
starts
Status of
UF0BO2 register
Reception
completed
FIFO toggle
ACK
transmission
SIE side
FIFO_0
FIFO_1
FIFO_0
FIFO_1
FIFO_0
FIFO_1
CPU side
Reading
FIFO
starts
Reading
FIFO
completed
64-byte transfer
Reading
FIFO
starts
Reading
FIFO
completed
Transfer of data less than 64 bytes
64-byte transfer
BKO2NK bit of
UF0EN register
BKO2FL bit of
UF0IS3 register
BKOUT2 bit of
UF0EPS0 register
BKO2DT bit of
UF0IS3 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Hardware
clear
Hardware
clear
FW clear
Hardware
clear
Page 844 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-8. Operation of UF0BO2 Register (2/2)
(b) Operation example 2
Null
reception
completed
Status of
UF0BO2 register
Reception
starts
Reception
completed
Null
reception
completed
FIFO toggle
ACK
transmission
Reception
starts
Reception
completed
FIFO toggle
ACK
transmission
SIE side
FIFO_0
FIFO_1
FIFO_0
FIFO_1
FIFO_0
FIFO_1
CPU side
Reading
FIFO
starts
0-byte
transfer
BKO2NL bit of
UF0IS3 register
64-byte transfer
0-byte
transfer
Reading
FIFO
completed
Transfer of data less
than 64 bytes
64-byte transfer
FW clear
BKOUT2 bit of
UF0EPS0 register
BKO2DT bit of
UF0IS3 register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
FW clear
Page 845 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(8) UF0 bulk-out 2 length register (UF0BO2L)
The UF0BO2L register stores the length of the data held by the UF0BO2 register.
This register is read-only, in 8-bit units. A write access to this register is ignored.
The UF0BO2L register always updates the received data length while it is receiving data. If the final transfer is
abnormal reception, the UF0BO2L register is cleared to 00H, and an interrupt request is not generated. Only if the
reception is normal, the interrupt request is generated, and FW can read as much data from the UF0BO2 register
as the value read from the UF0BO2L register. The value of the UF0BO2L register is decremented each time the
UF0BO2 register has been read.
UF0BO2L
7
6
5
4
3
2
1
0
Address
After reset
BKO2L7
BKO2L6
BKO2L5
BKO2L4
BKO2L3
BKO2L2
BKO2L1
BKO2L0
0020010EH
00H
Bit position
Bit name
7 to 0
BKO2L7 to
Function
These bits store the length of the data held by the UF0BO2 register.
BKO2L0
(9) UF0 bulk-in 1 register (UF0BI1)
The UF0BI1 register is a 64-byte 2 FIFO that stores data for Endpoint1. This register consists of two banks of 64byte FIFOs each of which performs a toggle operation and repeatedly connects the buses on the SIE and CPU
sides. The toggle operation takes place when no data is in the FIFO on the SIE side (counter value = 0) and when
the FIFO on the CPU side is correctly written (FIFO full or BKI1DED bit = 1).
This register is write-only, in 8-bit units. When this register is read, 00H is read.
The hardware transmits data to the USB bus in synchronization with the IN token for Endpoint1 only when the
BKI1NK bit of the UF0EN register is set to 1 (when NAK is not transmitted). The address at which data is to be
written or read is managed by the hardware. Therefore, FW can transmit data to the host only by writing the data to
the UF0BI1 register sequentially. A short packet is transmitted when data is written to the UF0BI1 register and the
BKI1DED bit of the UF0DEND register is set to 1 (BKIN1 bit of UF0EPS0 register = 1 (data exists)). A Null packet
is transmitted when the UF0BI1 register is cleared and the BKI1DED bit of the UF0DEND register is set to 1
(BKIN1 bit of the UF0EPS0 register = 1 (data exists)). When the data is transmitted correctly, a FIFO toggle
operation occurs. The BKI1DT bit of the UF0IS2 register is set to 1, and an interrupt request is generated for the
CPU. An interrupt request or DMA request can be selected by using the DQBI1MS bit of the UF0IDR register.
UF0BI1
7
6
5
4
3
2
1
0
Address
After reset
BKI17
BKI16
BKI15
BKI14
BKI13
BKI12
BKI11
BKI10
00200110H
Undefined
Bit position
7 to 0
Bit name
BKI17 to
Function
These bits store data for Endpoint1.
BKI10
The operation of the UF0BI1 register is illustrated below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 846 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-9. Operation of UF0BI1 Register (1/3)
(a) Operation example 1
Transmission
FIFO toggle
completed
ACK
Transmission
reception
starts
Status of
UF0BI1 register
Transmission
completed
ACK
reception
FIFO toggle
SIE side
FIFO_0
FIFO_1
FIFO_0
FIFO_1
FIFO_0
FIFO_1
CPU side
Writing Writing
FIFO
FIFO
starts completed
Writing
FIFO
starts
64-byte transfer
Writing
FIFO
completed
64-byte transfer
BKI1NK bit of
UF0EN register
BKI1DED bit of
UF0DEND register is
set or hardware set
BKI1DT bit of
UF0IS2 register
64-byte transfer
BKI1DED bit of
UF0DEND register is
set or hardware set
Hardware clear
INT clear
(FW clear)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 847 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-9. Operation of UF0BI1 Register (2/3)
(b) Operation example 2
ACK
reception
FIFO toggle
Status of
UF0BI1 register
Transmission
completed
ACK cannot
be received
Transmission
starts
Transmission
completed
ACK
reception
Retransmission
starts
SIE side
FIFO_0
FIFO_1
FIFO_1
FIFO_0
CPU side
Writing Writing
FIFO
FIFO
starts completed
Writing
FIFO
starts
64-byte transfer
64-byte transfer
Writing
FIFO
completed
Re-transfer
BKI1NK bit of
UF0EN register
BKI1DT bit of
UF0IS2 register
Hardware clear
INT clear
(FW clear)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 848 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-9. Operation of UF0BI1 Register (3/3)
(c) Operation example 3
Transmission
completed
FIFO toggle
ACK
reception
Status of
UF0BI1 register
Transmission
completed
Transmission
starts
FIFO toggle
ACK
reception
SIE side
FIFO_0
FIFO_1
FIFO_0
FIFO_1
FIFO_0
FIFO_1
CPU side
FIFO
clear
Writing
FIFO
completed
Writing
FIFO
starts
64-byte transfer
Transfer of Null packet
BKI1NK bit of
UF0EN register
BKI1DED bit of
UF0DEND register is set.
BKI1DT bit of
UF0IS2 register
Short packet transfer
BKI1DED bit of
UF0DEND register is set.
Hardware clear
INT clear
(FW clear)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 849 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(10) UF0 bulk-in 2 register (UF0BI2)
The UF0BI2 register is a 64-byte 2 FIFO that stores data for Endpoint3. This register consists of two banks of
64-byte FIFOs each of which performs a toggle operation and repeatedly connects the buses on the SIE and CPU
sides. The toggle operation takes place when no data is in the FIFO on the SIE side (counter value = 0) and when
the FIFO on the CPU side is correctly written (FIFO full or BKI2DED bit = 1).
This register is write-only, in 8-bit units. When this register is read, 00H is read.
The hardware transmits data to the USB bus in synchronization with the IN token for Endpoint3 only when the
BKI2NK bit of the UF0EN register is set to 1 (when NAK is not transmitted). The address at which data is to be
written or read is managed by the hardware. Therefore, FW can transmit data to the host only by writing the data
to the UF0BI2 register sequentially. A short packet is transmitted when data is written to the UF0BI2 register and
the BKI2DED bit of the UF0DEND register is set to 1 (BKIN2 bit of UF0EPS0 register = 1 (data exists)). A Null
packet is transmitted when the UF0BI2 register is cleared and the BKI2DED bit of the UF0DEND register is set to
1 (BKIN2 bit of the UF0EPS0 register = 1 (data exists)). When the data is transmitted correctly, a FIFO toggle
operation occurs. The BKI2DT bit of the UF0IS2 register is set to 1, and an interrupt request is generated for the
CPU. An interrupt request or DMA request can be selected by using the DQBI2MS bit of the UF0IDR register.
UF0BI2
7
6
5
4
3
2
1
0
Address
After reset
BKI27
BKI26
BKI25
BKI24
BKI23
BKI22
BKI21
BKI20
00200112H
Undefined
Bit position
7 to 0
Bit name
BKI27 to
BKI20
Function
These bits store data for Endpoint3.
The operation of the UF0BI2 register is illustrated below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 850 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-10. Operation of UF0BI2 Register (1/3)
(a) Operation example 1
Transmission
FIFO toggle
completed
ACK
Transmission
reception
starts
Status of
UF0BI2 register
Transmission
completed
ACK
reception
FIFO toggle
SIE side
FIFO_0
FIFO_1
FIFO_0
FIFO_1
FIFO_0
FIFO_1
CPU side
Writing Writing
FIFO FIFO
starts completed
Writing
FIFO
starts
64-byte transfer
Writing
FIFO
completed
64-byte transfer
BKI2NK bit of
UF0EN register
BKI2DED bit of
UF0DEND register is
set or hardware set.
BKI2DT bit of
UF0IS2 register
64-byte transfer
BKI2DED bit of
UF0DEND register is
set or hardware set.
Hardware clear
INT clear
(FW clear)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 851 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-10. Operation of UF0BI2 Register (2/3)
(b) Operation example 2
Status of
UF0BI2 register
Transmission FIFO toggle
completed
ACK
Transmission
reception
starts
ACK cannot
be received
Transmission
completed
ACK
Re- reception
transmission
starts
SIE side
FIFO_0
FIFO_1
FIFO_1
FIFO_0
CPU side
Writing Writing
FIFO
FIFO
starts completed
Writing
FIFO
starts
64-byte transfer
64-byte transfer
Writing
FIFO
completed
Re-transfer
BKI2NK bit of
UF0EN register
BKI2DT bit of
UF0IS2 register
Hardware clear
INT clear
(FW clear)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 852 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-10. Operation of UF0BI2 Register (3/3)
(c) Operation example 3
Transmission
Transmission
FIFO toggle
completed
completed
ACK
Transmission
ACK
reception
starts
reception
Status of
UF0BI2 register
FIFO toggle
SIE side
FIFO_0
FIFO_1
FIFO_0
FIFO_1
FIFO_0
FIFO_1
CPU side
Writing
FIFO
completed
Writing
FIFO
starts
FIFO
clear
64-byte transfer
Transfer of Null packet
BKI2NK bit of
UF0EN register
BKI2DED bit of
UF0DEND register is set.
BKI2DT bit of
UF0IS2 register
Short packet transfer
BKI2DED bit of
UF0DEND register is set.
Hardware clear
INT clear
(FW clear)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 853 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(11) UF0 interrupt 1 register (UF0INT1)
The UF0INT1 register is an 8-byte FIFO that stores data for Endpoint7 (to be passed to SIE).
This register is write-only, in 8-bit units. When this register is read, 00H is read.
The hardware transmits data to the USB bus in synchronization with the IN token for Endpoint7 only when the
IT1NK bit of the UF0EN register is set to 1 (when NAK is not transmitted). When the data is transmitted and the
host correctly receives it, the IT1NK bit of the UF0EN register is automatically cleared to 0 by hardware. A short
packet is transmitted when data is written to the UF0INT1 register and the IT1DEND bit of the UF0DEND register
is set to 1 (IT1 bit of the UF0EPS0 register = 1 (data exists)). A Null packet is transmitted when the UF0INT1
register is cleared and the IT1DEND bit of the UF0DEND register is set to 1 (IT1 bit of the UF0EPS0 register = 1
(data exists)).
UF0INT1
Bit position
7 to 0
7
6
5
4
3
2
1
0
Address
After reset
IT17
IT16
IT15
IT14
IT13
IT12
IT11
IT10
00200114H
Undefined
Bit name
IT17 to IT10
Function
These bits store data for Endpoint7.
The operation of the UF0INT1 register is illustrated below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 854 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-11. Operation of UF0INT1 Register
(a) 8-byte transfer
Transmission Re-transmission
completed
starts
Transmission ACK cannot
ACK
be received
starts
reception
Transmission
completed
Transmission
ACK
starts
reception
Status of
UF0INT1 register
8-byte transfer
IT1NK bit of
UF0EN register
8-byte transfer
FIFO full
Re-transfer
FIFO full
IT1 bit of
UF0EPS0 register
INT clear
(FW clear)
IT1DT bit of
UF0IS2 register
Hardware clear
Writing Writing
FIFO
FIFO
starts completed
Writing Writing
FIFO
FIFO
starts completed
Counter
reloaded
(b) When Null packet or short packet is transmitted
Transmission
completed
Transmission
ACK
starts
reception
Transmission
completed
Transmission
ACK
starts
reception
Status of
UF0INT1 register
Transfer of Null packet
IT1NK bit of
UF0EN register
Short packet transfer
IT1DEND bit of
UF0DEND
register is set.
IT1DEND bit of
UF0DEND
register is set.
IT1 bit of
UF0EPS0 register
INT clear
(FW clear)
IT1DT bit of
UF0IS2 register
Hardware clear
FIFO FW clear
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Writing Writing
FIFO
FIFO
starts completed
Page 855 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.5 EPC request data registers
(1) UF0 device status register L (UF0DSTL)
This register stores the value that is to be returned in response to the GET_STATUS Device request.
This register can be read or written in 8-bit units.
The hardware automatically transmits the contents of this register to the host when it has received the
GET_STATUS Device request.
Caution
To rewrite this register, set the EP0NKA bit to 1 before reading the register contents, and rewrite
the register contents after confirming that the bit has been set, in order to prevent conflict
between a read access and a write access.
UF0DSTL
Bit position
1
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
RMWK
SFPW
00200144H
00H
Bit name
RMWK
Function
This bit specifies whether the remote wakeup function of the device is used.
1: Enabled
0: Disabled
If the device supports a remote wakeup function, this bit is set to 1 by hardware when
the SET_FEATURE Device request has been received, and is cleared to 0 by hardware
when the CLEAR_FEATURE Device request has been received. If the device does not
support a remote wakeup function, make sure that the SET_FEATURE Device request is
not issued from the host.
0
SFPW
This bit indicates whether the device is self-powered or bus-powered.
1: Self-powered
0: Bus-powered
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 856 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2) UF0 EP0 status register L (UF0E0SL)
This register stores the value that is to be returned in response to the GET_STATUS Endpoint0 request.
This register can be read or written in 8-bit units. Note, however, that data can be written to this register only when
the EP0NKA bit is set to 1.
If an error occurs in USBF, the E0HALT bit is set to 1 by FW. A write access to this register is ignored while a USBside access to Endpoint0 is being received.
When the E0HALT bit is set to 1 by FW, it is not reflected until the next SETUP token is received if the control
transfer immediately before is for the SET_FEATURE Endpoint0, CLEAR_FEATURE Endpoint0, GET_STATUS
Endpoint0 request, or an FW-processed request.
The hardware automatically transmits the contents of this register to the host when it has received the
GET_STATUS Endpoint0 request. If Endpoint0 has stalled, the UF0E0W and UF0E0R registers are cleared, and
the EP0NKW and EP0NKR bits of the UF0E0N register are cleared to 0.
Caution
To rewrite this register, set the EP0NKA bit to 1 before reading the register contents, and rewrite
the register contents after confirming that the bit has been set, in order to prevent conflict
between a read access and a write access.
UF0E0SL
Bit position
0
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
0
E0HALT
0020014CH
00H
Bit name
E0HALT
Function
This bit indicates the status of Endpoint0.
1: Stalled
0: Not stalled
This bit is set to 1 by hardware when the SET_FEATURE Endpoint0 request has been
received, and cleared to 0 by hardware when the CLEAR_FEATURE Endpoint0 request
has been received. DATA PID is initialized to DATA0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 857 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3) UF0 EP1 status register L (UF0E1SL)
This register stores the value that is to be returned in response to the GET_STATUS Endpoint1 request.
This register can be read or written in 8-bit units. Note, however, that data can be written to this register only when
the EP0NKA bit is set to 1.
If an error occurs in Endpoint1, the E1HALT bit is set to 1. A write access to this register is ignored while a USBside access to Endpoint1 is being received.
The hardware automatically transmits the contents of this register to the host when it has received the
GET_STATUS Endpoint1 request. If Endpoint1 has stalled, the UF0BI1 register is cleared and the BKI1NK bit is
cleared to 0.
Because writing this register is always masked when transfer to Endpoint1, rather than control transfer, is executed,
be sure to check this register to see if data has been correctly written to it.
Caution
To rewrite this register, set the EP0NKA bit to 1 before reading the register contents, and rewrite
the register contents after confirming that the bit has been set, in order to prevent conflict
between a read access and a write access.
UF0E1SL
Bit position
0
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
0
E1HALT
00200150H
00H
Bit name
E1HALT
Function
This bit indicates the status of Endpoint1.
1: Stalled
0: Not stalled
This bit is set to 1 by hardware when the SET_FEATURE Endpoint1 request has been
received. It is cleared to 0 by hardware when the CLEAR_FEATURE Endpoint1 request,
SET_CONFIGURATION request, or the SET_INTERFACE request for the Interface to
which Endpoint1 is linked has correctly been received. DATA PID is initialized to DATA0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 858 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(4) UF0 EP2 status register L (UF0E2SL)
This register stores the value that is to be returned in response to the GET_STATUS Endpoint2 request.
This register can be read or written in 8-bit units. Note, however, that data can be written to this register only when
the EP0NKA bit is set to 1.
If an error occurs in Endpoint2, the E2HALT bit is set to 1. A write access to this register is ignored while a USBside access to Endpoint2 is being received.
The hardware automatically transmits the contents of this register to the host when it has received the
GET_STATUS Endpoint2 request. If Endpoint2 has stalled, the UF0BO1 register is cleared and the BKO1NK bit is
cleared to 0.
Because writing this register is always masked when transfer to Endpoint2, rather than control transfer, is executed,
be sure to check this register to see if data has been correctly written to it.
Caution
To rewrite this register, set the EP0NKA bit to 1 before reading the register contents, and rewrite
the register contents after confirming that the bit has been set, in order to prevent conflict
between a read access and a write access.
UF0E2SL
Bit position
0
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
0
E2HALT
00200154H
00H
Bit name
E2HALT
Function
This bit indicates the status of Endpoint2.
1: Stalled
0: Not stalled
This bit is set to 1 by hardware when the SET_FEATURE Endpoint2 request has been
received. It is cleared to 0 by hardware when the CLEAR_FEATURE Endpoint2 request,
SET_CONFIGURATION request, or the SET_INTERFACE request for the Interface to
which Endpoint2 is linked has correctly been received. DATA PID is initialized to DATA0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 859 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(5) UF0 EP3 status register L (UF0E3SL)
This register stores the value that is to be returned in response to the GET_STATUS Endpoint3 request.
This register can be read or written in 8-bit units. Note, however, that data can be written to this register only when
the EP0NKA bit is set to 1.
If an error occurs in Endpoint3, the E3HALT bit is set to 1. A write access to this register is ignored while a USBside access to Endpoint3 is being received.
The hardware automatically transmits the contents of this register to the host when it has received the
GET_STATUS Endpoint3 request. If Endpoint3 has stalled, the UF0BI2 register is cleared and the BKI2NK bit is
cleared to 0.
Because writing this register is always masked when transfer to Endpoint3, rather than control transfer, is executed,
be sure to check this register to see if data has been correctly written to it.
Caution
To rewrite this register, set the EP0NKA bit to 1 before reading the register contents, and rewrite
the register contents after confirming that the bit has been set, in order to prevent conflict
between a read access and a write access.
UF0E3SL
Bit position
0
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
0
E3HALT
00200158H
00H
Bit name
E3HALT
Function
This bit indicates the status of Endpoint3.
1: Stalled
0: Not stalled
This bit is set to 1 by hardware when the SET_FEATURE Endpoint3 request has been
received. It is cleared to 0 by hardware when the CLEAR_FEATURE Endpoint3 request,
SET_CONFIGURATION request, or the SET_INTERFACE request for the Interface to
which Endpoint3 is linked has correctly been received. DATA PID is initialized to DATA0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 860 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(6) UF0 EP4 status register L (UF0E4SL)
This register stores the value that is to be returned in response to the GET_STATUS Endpoint4 request.
This register can be read or written in 8-bit units. Note, however, that data can be written to this register only when
the EP0NKA bit is set to 1.
If an error occurs in Endpoint4, the E4HALT bit is set to 1. A write access to this register is ignored while a USBside access to Endpoint4 is being received.
The hardware automatically transmits the contents of this register to the host when it has received the
GET_STATUS Endpoint4 request. If Endpoint4 has stalled, the UF0BO2 register is cleared and the BKO2NK bit is
cleared to 0.
Because writing this register is always masked when transfer to Endpoint4, rather than control transfer, is executed,
be sure to check this register to see if data has been correctly written to it.
Caution
To rewrite this register, set the EP0NKA bit to 1 before reading the register contents, and rewrite
the register contents after confirming that the bit has been set, in order to prevent conflict
between a read access and a write access.
UF0E4SL
Bit position
0
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
0
E4HALT
0020015CH
00H
Bit name
E4HALT
Function
This bit indicates the status of Endpoint4.
1: Stalled
0: Not stalled
This bit is set to 1 by hardware when the SET_FEATURE Endpoint4 request has been
received. It is cleared to 0 by hardware when the CLEAR_FEATURE Endpoint4 request,
SET_CONFIGURATION request, or the SET_INTERFACE request for the Interface to
which Endpoint4 is linked has correctly been received. DATA PID is initialized to DATA0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 861 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(7) UF0 EP7 status register L (UF0E7SL)
This register stores the value that is to be returned in response to the GET_STATUS Endpoint7 request.
This register can be read or written in 8-bit units. Note, however, that data can be written to this register only when
the EP0NKA bit is set to 1.
If an error occurs in Endpoint7, the E7HALT bit is set to 1. A write access to this register is ignored while a USBside access to Endpoint7 is being received.
The hardware automatically transmits the contents of this register to the host when it has received the
GET_STATUS Endpoint7 request. If Endpoint7 has stalled, the UF0INT1 register is cleared and the IT1NK bit is
cleared to 0.
Because writing this register is always masked when transfer to Endpoint7, rather than control transfer, is executed,
be sure to check this register to see if data has been correctly written to it.
Caution
To rewrite this register, set the EP0NKA bit to 1 before reading the register contents, and rewrite
the register contents after confirming that the bit has been set, in order to prevent conflict
between a read access and a write access.
UF0E7SL
Bit position
0
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
0
E7HALT
00200168H
00H
Bit name
E7HALT
Function
This bit indicates the status of Endpoint7.
1: Stalled
0: Not stalled
This bit is set to 1 by hardware when the SET_FEATURE Endpoint7 request has been
received. It is cleared to 0 by hardware when the CLEAR_FEATURE Endpoint7 request,
SET_CONFIGURATION request, or the SET_INTERFACE request for the Interface to
which Endpoint7 is linked has correctly been received. DATA PID is initialized to DATA0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 862 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(8) UF0 address register (UF0ADRS)
This register stores the device address.
This register is read-only, in 8-bit units.
The device address sent by the SET_ADDRESS request is analyzed and the resultant value is automatically
written to this register. If the SET_ADDRESS request is processed by FW, the value of this register is reflected as
the device address when the SUCCESS signal is received in the status stage.
Caution
UF0ADRS
Bit position
6 to 0
Do not execute a write access to this register. If written, the operation is not guaranteed.
7
6
5
4
3
2
1
0
Address
After reset
0
ADRS6
ADRS5
ADRS4
ADRS3
ADRS2
ADRS1
ADRS0
00200180H
00H
Bit name
ADRS6 to
Function
These bits hold the device address of SIE.
ADRS0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 863 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(9) UF0 configuration register (UF0CNF)
This register stores the value that is to be returned in response to the GET_CONFIGURATION request.
This register is read-only, in 8-bit units.
When the SET_CONFIGURATION request is received, its wValue is automatically written to this register.
When a change of the value of this register from 00H to other than 00H is detected, the CONF bit of the UF0MODS
register is set to 1. If the SET_CONFIGURATION request is processed by FW, the status of this register is
immediately reflected on the UF0MODS register as soon as data has been written to this register (CONF bit = 1
before completion of the status stage).
Caution
UF0CNF
Bit position
1, 0
Do not execute a write access to this register. If written, the operation is not guaranteed.
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
0
CONF1
CONF0
00200182H
00H
Bit name
Function
CONF1,
These bits hold the data to be returned in response to the GET_CONFIGURATION
CONF0
request.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 864 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(10) UF0 interface 0 register (UF0IF0)
This register stores the value that is to be returned in response to the GET_INTERFACE wIndex = 0 request.
This register is read-only, in 8-bit units.
When the SET_INTERFACE request is received, its wValue is automatically written to this register.
If the SET_INTERFACE request is processed by FW, wIndex and wValue are decoded, and the setting of endpoint
is automatically changed. At this time, the status bit of the target endpoint and DPID are automatically cleared to 0,
depending on the setting. The FIFO is not cleared automatically.
Caution
UF0IF0
Bit position
2 to 0
Do not execute a write access to this register. If written, the operation is not guaranteed.
7
6
5
4
3
2
1
0
Address
After reset
0
0
0
0
0
IF02
IF01
IF00
00200184H
00H
Bit name
IF02 to IF00
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Function
These bits hold the data to be returned in response to GET_INTERFACE wIndex = 0
request.
Page 865 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(11) UF0 interface 1 to 4 registers (UF0IF1 to UF0IF4)
These registers store the value that is to be returned in response to the GET_INTERFACE wIndex = n request (n =
1 to 4).
These registers are read-only, in 8-bit units.
When the SET_INTERFACE request is received, its wValue is automatically written to these registers.
These registers are invalidated according to the setting of the UF0AIFN and UF0AAS registers.
If the SET_INTERFACE request is processed by FW, wIndex and wValue are decoded, and the setting of endpoint
is automatically changed. At this time, the status bit of the target endpoint and DPID are automatically cleared to 0,
depending on the setting. The FIFO is not cleared automatically.
Caution
Do not execute a write access to this register. If written, the operation is not guaranteed.
7
6
5
4
3
2
1
0
Address
After reset
UF0IF1
0
0
0
0
0
IF12
IF11
IF10
00200186H
00H
UF0IF2
0
0
0
0
0
IF22
IF21
IF20
00200188H
00H
UF0IF3
0
0
0
0
0
IF32
IF31
IF30
0020018AH
00H
UF0IF4
0
0
0
0
0
IF42
IF41
IF40
0020018CH
00H
Bit position
2 to 0
Bit name
IFn2 to IFn0
Function
These bits hold the data to be returned in response to GET_INTERFACE wIndex = n
request.
Remark
n = 1 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 866 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(12) UF0 descriptor length register (UF0DSCL)
This register stores the length of the value that is to be returned in response to the GET_DESCRIPTOR
Configuration request. The value of this register is the number of bytes of all the descriptors set by the UF0CIEn
register minus 1 (n = 0 to 255).
The total descriptor length that is to be returned in response to the
GET_DESCRIPTOR Configuration request is determined according to the value of this register.
This register can be read or written in 8-bit units. However, data can be written to this register only when the
EP0NKA bit is set to 1.
Processing of wLength is automatically controlled. If this register is set to 00H, it means that the descriptor to be
returned is 1 byte long. If the register is set to FFH, a descriptor length of 256 bytes is returned. When a
descriptor exceeding 256 bytes in length is used, set the CDCGDST bit of the UF0MODC register to 1 and
process the GET_DESCRIPTOR request by FW (at this time, the CDCGD bit of the UF0MODS register is also set
to 1).
Caution
To rewrite this register, set the EP0NKA bit to 1 before reading the register contents, and rewrite
the register contents after confirming that the bit has been set, in order to prevent conflict
between a read access and a write access.
UF0DSCL
Bit position
7 to 0
7
6
5
4
3
2
1
0
Address
After reset
DPL7
DPL6
DPL5
DPL4
DPL3
DPL2
DPL1
DPL0
002001A0H
00H
Bit name
Function
DPL7 to
These bits set the value of the number of bytes of all the descriptors to be returned in
DPL0
response to the GET_DESCRIPTOR Configuration request minus 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 867 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(13) UF0 device descriptor registers 0 to 17 (UF0DD0 to UF0DD17)
These registers store the value to be returned in response to the GET_DESCRIPTOR Device request.
These registers can be read or written in 8-bit units. However, data can be written to these registers only when the
EP0NKA bit is set to 1.
Cautions 1. To rewrite these registers, set the EP0NKA bit to 1 before reading the register contents, and
rewrite the register contents after confirming that the bit has been set, in order to prevent
conflict between a read access and a write access.
2. Use the value defined by USB Specification Ver. 2.0 and the latest Class Specification as the
set value.
7
6
4
5
3
2
1
0
Address
After reset
See Table 20-5. Undefined
UF0DDn
(n = 0 to 17)
Table 20-5. Mapping and Data of UF0 Device Descriptor Registers
Symbol
Address
Field Name
Contents
UF0DD0
002001A2H
bLength
Size of this descriptor
UF0DD1
002001A4H
bDescriptorType
Device descriptor type
UF0DD2
002001A6H
bcdUSB
Value below decimal point of Rev. number of USB specification
UF0DD3
002001A8H
UF0DD4
002001AAH
bDeviceClass
Class code
UF0DD5
002001ACH
bDeviceSubClass
Subclass code
UF0DD6
002001AEH
bDeviceProtocol
Protocol code
UF0DD7
002001B0H
bMaxPacketSize0
Maximum packet size of Endpoint0
UF0DD8
002001B2H
idVendor
Lower value of vendor ID
UF0DD9
002001B4H
UF0DD10
002001B6H
UF0DD11
002001B8H
UF0DD12
002001BAH
UF0DD13
002001BCH
UF0DD14
002001BEH
iManufacturer
Index of string descriptor describing manufacturer
UF0DD15
002001C0H
iProduct
Index of string descriptor describing product
UF0DD16
002001C2H
lSerialNumber
Index of string descriptor describing device serial number
UF0DD17
002001C4H
BNumConfigurations
Number of settable configurations
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Value above decimal point of Rev. number of USB specification
Higher value of vendor ID
idProduct
Lower value of product ID
Higher value of product ID
bcdDevice
Lower value of device release number
Higher value of device release number
Page 868 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(14) UF0 configuration/interface/endpoint descriptor registers 0 to 255 (UF0CIE0 to UF0CIE255)
These registers store the value to be returned in response to the GET_DESCRIPTOR Configuration request.
These registers can be read or written in 8-bit units. However, data can be written to these registers only when the
EP0NKA bit is set to 1.
Descriptor information of up to 256 bytes can be stored in these registers. Store each descriptor in the order of
Configuration, Interface, and Endpoint (see Table 20-6). If there are two or more Interfaces, repeatedly store the
data following the Interface descriptor.
Table 20-6. Mapping of UF0CIEn Register
Address
Descriptor Stored
002001C6H
Configuration descriptor (9 bytes)
002001D8H
Interface descriptor (9 bytes)
002001EAH
Endpoint1 descriptor (7 bytes)
002001F8H
Endpoint2 descriptor (7 bytes)
00200206H
Endpoint3 descriptor (7 bytes)
:
:
002002xxH
Interface descriptor (9 bytes)
002002xxH+9
Endpoint1 descriptor (7 bytes)
002002xxH+16
Endpoint2 descriptor (7 bytes)
002002xxH+23
Endpoint3 descriptor (7 bytes)
:
:
The range of the valid data that can be set to these registers varies according to the setting of the UF0DSCL
register. In addition to the descriptors listed in Table 20-7, descriptors peculiar to classes and vendors can also be
stored.
If all the values are fixed, they can be stored in ROM.
Cautions 1. To rewrite these registers, set the EP0NKA bit to 1 before reading the register contents, and
rewrite the register contents after confirming that the bit has been set, in order to prevent
conflict between a read access and a write access.
2. Use the value defined by USB Specification Ver. 2.0 and the latest Class Specification as the
set value.
7
6
UF0CIEn
5
4
3
2
1
0
Address
After reset
002001C6H to
Undefined
002003C4H
(n = 0 to 255)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 869 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Table 20-7. Data of UF0CIEn Register
(a) Configuration descriptor (9 bytes)
Offset
Field Name
Contents
0
bLength
Size of this descriptor
1
bDescriptorType
Descriptor type
2
wTotalLength
Lower value of the total number of bytes of Configuration, all Interface, and
all Endpoint descriptors
3
Higher value of the total number of bytes of Configuration, all Interface, and
all Endpoint descriptors
4
bNumInterface
Number of Interfaces
5
bConfigurationValue
Value to select this Configuration
6
iConfiguration
Index of string descriptor describing this Configuration
7
bmAttributes
Features of this Configuration (self-powered, without remote wakeup)
8
MaxPower
Maximum power consumption of this Configuration (unit: mA)
Note
Note Shown in 2 mA units. (example: 50 = 100 mA)
(b) Interface descriptor (9 bytes)
Offset
Field Name
Contents
0
bLength
Size of this descriptor
1
bDescriptorType
Descriptor type
2
bInterfaceNumber
Value of this Interface
3
bAlternateSetting
Value to select alternative setting of Interface
4
bNumEndpoints
Number of usable Endpoints
5
bInterfaceClass
Class code
6
bInterfaceSubClass
Subclass code
7
bInterfaceProtocol
Protocol code
8
Interface
Index of string descriptor describing this Interface
(c) Endpoint descriptor (7 bytes)
Offset
Field Name
Contents
0
bLength
Size of this descriptor
1
bDescriptorType
Descriptor type
2
bEndpointAddress
Address/transfer direction of this Endpoint
3
bmAttributes
Transfer type
4
wMaxPaketSize
Lower value of maximum number of transfer data
5
6
Higher value of maximum number of transfer data
bInterval
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Transfer interval
Page 870 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.6 Bridge register
(1) Bridge interrupt control register (BRGINTT)
The BRGINTT register controls the DMA transfer status of the interrupt generate status, and each end point (EP1
to EP4) from EPC to bridge circuit.
The BRGINTT register can be read or written in 16-bit units.
After reset: 0000H
BRGINTT
Bit position
11
R/W
Address: 00200400H
15
14
13
12
11
10
9
8
0
0
0
0
EP4INT
EP3INT
EP2INT
EP1INT
7
6
5
4
3
2
1
0
0
0
0
0
0
EPCINT2B
EPCINT1B
EPCINT0B
Bit name
EP4INT
Function
In EP4, when the DMA transfer is normal terminate, or the error finished in the DMA
transferring, this bit is setting. Clearing to “0” by writing “1”.
0: DMA transfer not completion
1: DMA transfer completion
10
EP3NT
In EP3, when the DMA transfer is normal terminate, or the error finished in the DMA
transferring, this bit is setting. Clearing to “0” by writing “1”.
0: DMA transfer not completion
1: DMA transfer completion
9
EP2NT
In EP2, when the DMA transfer is normal terminate, or the error finished in the DMA
transferring, this bit is setting. Clearing to “0” by writing “1”.
0: DMA transfer not completion
1: DMA transfer completion
8
EP1NT
In EP1, when the DMA transfer is normal terminate, or the error finished in the DMA
transferring, this bit is setting. Clearing to “0” by writing “1”.
0: DMA transfer not completion
1: DMA transfer completion
2
EPCINT2B
Showing the status of the interrupt signal “EPC_INT2B” from EPC.
Clear controlling from the request of EPC register
0: Interrupt not issued
1: Interrupt issued
1
EPCINT1B
Showing the status of the interrupt signal “EPC_INT1B” from EPC.
Clear controlling from the request of EPC register
0: Interrupt not issued
1: Interrupt issued
0
EPCINT0B
Showing the status of the interrupt signal ”EPC_INT0B” from EPC.
Clear controlling from the request of EPC register
0: Interrupt not issued
1: Interrupt issued
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 871 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2) Bridge interrupt enable register (BRGINTE)
The BRGINTE register controls whether the interrupt generated in the bridge circuit is enabled or disabled.
The BRGINTE register can be read or written in 16-bit units.
After reset: 0000H
BRGINTE
Bit position
11
R/W
Address: 00200402H
15
14
13
12
11
10
9
8
0
0
0
0
EP4INTN
EP3INTN
EP2INTN
EP1INTN
7
6
5
4
3
2
1
0
0
0
0
0
0
Bit name
EP4INTN
EPC
EPC
EPC
INT2BEN
INT1BEN
INT0BEN
Function
Setting the interrupt occur enable or disable when EP4INT bit is setting.
0: Interrupt disabled
1: Interrupt enabled
10
EP3NTN
Setting the interrupt occur enable or disable when EP3INT bit is setting.
0: Interrupt disabled
1: Interrupt enabled
9
EP2NTN
Setting the interrupt occur enable or disable when EP2INT bit is setting.
0: Interrupt disabled
1: Interrupt enabled
8
EP1NTN
Setting the interrupt occur enable or disable when EP1INT bit is setting.
0: Interrupt disabled
1: Interrupt enabled
2
EPCINT2BEN
Setting the interrupt occur enable or disable when EPCINT2BEN bit is setting.
0: Interrupt disabled
1: Interrupt enabled
1
EPCINT1BEN
Setting the interrupt occur enable or disable when EPCINT1BEN bit is setting.
0: Interrupt disabled
1: Interrupt enabled
0
EPCINT0BEN
Setting the interrupt occur enable or disable when EPCINT0BEN bit is setting.
0: Interrupt disabled
1: Interrupt enabled
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 872 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3) EPC macro control register (EPCCLT)
The EPCCLT register controls the reset generator to the EPC macro.
The EPCCLT register can be read or written in 16-bit units.
After reset: 0000H
EPCCLT
Bit position
0
R/W
Address: 00200404H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
EPCRST
Bit name
EPCRST
Function
Setting the reset occurs to EPC.
0: Reset released
1: Reset issued
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 873 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(4) CPU I/F bus control register (CPUBCTL)
The CPUBCTL register controls the interface between bridge circuit and CPU.
The CPUBCTL register can be read or written in 16-bit units.
After reset: Undefined
CPUBCTL
Bit position
2
R/W
Address: 00200408H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
0
0
0
0
0
BULKWAIT
DATAWAIT
NOWAIT
Bit name
BULKWAIT
Function
Forcibly inserting the 1 wait (bulk wait) when the bulk register is accessed.
Note
0: No forcibly insert the bulk wait
(default value)
1: Forcibly insert the bulk wait
Note The setting is invalid in write accessing, the bulk wait is forcibly inserted.
1
DATAWAIT
Forcibly inserting the 1 wait (data wait) after the CPU bus cycle.
0: No forcibly insert the data wait (default value)
1: Forcibly insert the data wait
0
NOWAIT
Setting enables/disable the no wait operation of CPU bus cycle.
Note
0: No wait disables
(default value)
1: No wait enables
Note 1 wait or more is inserted.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 874 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.7 DMA register
(1) EPn DMA control register 1 (UF0E1DC1 to UF0E4DC1)
The UF0E1DC1 to UF0E4DC1 register controls the DMA transfer of end point n (EPn). (n = 1 to 4)
The UF0E1DC1 to UF0E4DC1 register can be read or written in 16-bit units.
(1/2)
After reset: 0000H
UF0E1DC1
R/W
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
0
0
EP1BULK2
EP1BULK1
EP1BULK0
EP1STOP
EP1REQ
EP1DMAEN
After reset: 0000H
UF0E2DC1
R/W
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
0
0
EP2BULK2
EP2BULK1
EP2BULK0
EP2STOP
EP2REQ
EP2DMAEN
R/W
Address: 00200508H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
0
0
EP3BULK2
EP3BULK1
EP3BULK0
EP3STOP
EP3REQ
EP3DMAEN
After reset: 0000H
UF0E4DC1
Address: 00200504H
15
After reset: 0000H
UF0E3DC1
Address: 00200500H
R/W
Address: 0020050CH
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
0
0
EP4BULK2
EP4BULK1
EP4BULK0
EP4STOP
EP4REQ
EP4DMAEN
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 875 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
5 to 3
Bit name
EPnBULK2,
EPnBULK1,
EPnBULK0
2
EPnSTOP
Function
Shown the status the state machine “BIN_STATE” for bulk transfer of the internal bridge
EPnBULK2
EPnBULK1
EPnBULK0
”BIN_STATE” status
0
0
0
BIN_IDLE
0
0
1
BIN_CPU
0
1
0
BIN_EPC
0
1
1
BIN_CMP
1
0
0
BIN_END
Showing the status (end factor of DMA transfer) of DMA transfer end from EPC
0: End of DMA transfer by EPn_TCNT value “0”
1: End of DMA transfer by negate of “EPC_DMARQ_EPnB”
Automatically clear (0) by setting next EP1_DMAEN to “1”.
1
EPnREQ
Showing the status of “EPC_DMARQ_EPnB” signal from EPC
0: No DMA request signal
1: DMA request signal
0
EPnDMAEN
Setting the control of DMA request from EPC
0: Masks DMA request
1: Enables DMA request
Automatically clear (0) by complete number of packet transfer setting in EPn_TCNT, or
complete the DMA transfer by the negate of DMARQ_EPnB.
Caution The setting value is not guaranteed in forcibly end.
Remark
n = 1 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 876 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2) EPn DMA control register 2 (UF0E1DC2 to UF0E4DC2)
The UF0E1DC2 to UF0E4DC2 register controls the DMA transfer of end point n (EPn). (n = 1 to 4)
The UF0E1DC2 to UF0E4DC2 register can be read or written in 16-bit units.
(1/2)
After reset: 0000H
R/W
Address: 00200502H
15
UF0E1DC2
14
11
10
9
8
EP1
EP1
EP1
EP1
EP1
EP1
EP1
EP1
TCNT14
TCNT13
TCNT12
TCNT11
TCNT10
TCNT9
TCNT8
7
6
5
4
3
2
1
0
EP1
EP1
EP1
EP1
EP1
EP1
EP1
EP1
TCNT7
TCNT6
TCNT5
TCNT4
TCNT3
TCNT2
TCNT1
TCNT0
12
11
10
9
8
R/W
Address: 00200506H
15
UF0E2DC2
14
13
EP2
EP2
EP2
EP2
EP2
EP2
EP2
EP2
TCNT15
TCNT14
TCNT13
TCNT12
TCNT11
TCNT10
TCNT9
TCNT8
7
6
5
4
3
2
1
0
EP2
EP2
EP2
EP2
EP2
EP2
EP2
EP2
TCNT7
TCNT6
TCNT5
TCNT4
TCNT3
TCNT2
TCNT1
TCNT0
After reset: 0000H
R/W
Address: 0020050AH
15
14
13
12
11
10
9
8
EP3
TCNT15
EP3
TCNT14
EP3
TCNT13
EP3
TCNT12
EP3
TCNT11
EP3
TCNT10
EP3
TCNT9
EP3
TCNT8
7
6
5
4
3
2
1
0
EP3
TCNT7
EP3
TCNT6
EP3
TCNT5
EP3
TCNT4
EP3
TCNT3
EP3
TCNT2
EP3
TCNT1
EP3
TCNT0
12
11
10
9
8
After reset: 0000H
R/W
Address: 0020050EH
15
UF0E4DC2
12
TCNT15
After reset: 0000H
UF0E3DC2
13
14
13
EP4
EP4
EP4
EP4
EP4
EP4
EP4
EP4
TCNT15
TCNT14
TCNT13
TCNT12
TCNT11
TCNT10
TCNT9
TCNT8
7
6
5
4
3
2
1
0
EP4
EP4
EP4
EP4
EP4
EP4
EP4
EP4
TCNT7
TCNT6
TCNT5
TCNT4
TCNT3
TCNT2
TCNT1
TCNT0
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 877 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
15 to 0
Bit name
Function
EPnTCNT15
Setting the number of byte to DMA transfer in EPn.
to EPnTCNT0
End the DMA transfer after the value of EPn_TCNT is “0” to decrement each transfer.
Cautions 1. Set this register when EPn_DMAEN = 0.
2. Setting this register to “0” is prohibited.
Be sure to set this register +1 value for the value of DMA transfer
count register DBC0 to DBC3.
3. The setting value of this register is reflected the counter BIN_TCNT
for bulk transfer of the bridge inside. And the value of BIN_TCNT is
“0”, EPn_TCN is “0”, too.
4. Update the value of the counter BIN_TCNT for bulk transfer is
stopped when forcibly terminated.
Remark
n = 1 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 878 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.8 Bulk-in register
(1) UF0 EP1 bulk-in transfer data register (UF0EP1BI)
The UF0EP1BI register writes the bulk-in transfer data of EP1.
The UF0EP1BI register can be read or written in 8-bit or 16-bit units.
After reset: 0000H
7 to 0
Address: 00201000H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
EP1BI7
EP1BI6
EP1BI5
EP1BI4
EP1BI3
EP1BI2
EP1BI1
EP1BI0
UF0EP1BI
Bit position
R/W
Bit name
Function
EP1BI7 to
EP1BI0
Writing the bulk-out transfer data of EP1.
Data outputting to the EPC macro by writing data to this register.
If using this register, setting the address (00201000H) in DMA destination address register
(DDAn (n = 0 to 3)) of DMAC. In addition, set the RQnUR1E (n = 0 to 3) bit of the
UFDRQEN register to 1 to assign a DMA channel.
(2) UF0 EP3 bulk-in transfer data register (UF0EP3BI)
The UF0EP3BI register writes the bulk-in transfer data of EP1.
The UF0EP3BI register can be read or written in 8-bit or 16-bit units.
After reset: 0000H
UF0EP3BI
Bit position
7 to 0
R/W
Address: 00202000H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
EP3BI7
EP3BI6
EP3BI5
EP3BI4
EP3BI3
EP3BI2
EP3BI1
EP3BI0
Bit name
Function
EP3BI7 to
Writing the bulk-out transfer data of EP3.
EP3BI0
Data outputting to the EPC macro by writing data to this register.
If using this register, setting the address (00202000H) in DMA destination address register
(DDAn (n = 0 to 3)) of DMAC. In addition, set the RQnUR3E (n = 0 to 3) bit of the
UFDRQEN register to 1 to assign a DMA channel.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 879 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.9 Bulk-out register
(1) UF0 EP2 bulk-out transfer data register (UF0EP2BO)
The UF0EP2BO register writes the bulk-out transfer data of EP2.
The UF0EP2BO register can be read or written in 8-bit or 16-bit units.
After reset: 0000H
UF0EP2BO
Bit position
7 to 0
R
Address: 00210000H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
EP2BO7
EP2BO6
EP2BO5
EP2BO4
EP2BO3
EP2BO2
EP2BO1
EP2BO0
Bit name
EP2BO7 to
EP2BO0
Function
Reading the bulk-out transfer data of EP2.
Reading the input data from the EPC macro from this register.
If using this register, setting the address (00210000H) in DMA source address register
(DSAn (n = 0 to 3)) of DMAC. In addition, set the RQnUR0E (n = 0 to 3) bit of the
UFDRQEN register to 1 to assign a DMA channel.
Caution
If either of the following operations is performed, the data stored in this register is read out and
the next bulk-out transfer data is stored into this register.
The UF0EP2BO register is read during program execution.
The UF0EP2BO register is monitored on the memory window while the debugger is being used.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 880 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2) UF0 EP4 bulk-out transfer data register (UF0EP4BO)
The UF0EP4BO register writes the bulk-out transfer data of EP4.
The UF0EP4BO register can be read or written in 8-bit or 16-bit units.
After reset: 0000H
UF0EP4BO
Bit position
7 to 0
R
Address: 00220000H
15
14
13
12
11
10
9
8
0
0
0
0
0
0
0
0
7
6
5
4
3
2
1
0
EP4BO7
EP4BO6
EP4BO5
EP4BO4
EP4BO3
EP4BO2
EP4BO1
EP4BO0
Bit name
Function
EP4BO7 to
Reading the bulk-out transfer data of EP4.
EP4BO0
Reading the input data from the EPC macro from this register.
If using this register, setting the address (00220000H) in DMA source address register
(DSAn (n = 0 to 3)) of DMAC. In addition, set the RQnUR2E (n = 0 to 3) bit of the
UFDRQEN register to 1 to assign a DMA channel.
Caution
If either of the following operations is performed, the data stored in this register is read out and
the next bulk-out transfer data is stored into this register.
The UF0EP4BO register is read during program execution.
The UF0EP4BO register is monitored on the memory window while the debugger is being used.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 881 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.6.10 Peripheral control registers
(1) USBF DMA request enable register (UFDRQEN)
The UFDRQEN register specifies the DMA channel to be used and the endpoint to be transferred.
The UFDRQEN register can be read or written in 8-bit or 16-bit units.
(1/2)
After reset: 0000H
UFDRQEN
R/W
Address: 00240000H
15
14
13
12
11
10
9
8
RQ3UR3E
RQ2UR3E
RQ1UR3E
RQ0UR3E
RQ3UR2E
RQ2UR2E
RQ1UR2E
RQ0UR2E
7
6
5
4
3
2
1
0
RQ3UR1E
RQ2UR1E
RQ1UR1E
RQ0UR1E
RQ3UR0E
RQ2UR0E
RQ1UR0E
RQ0UR0E
Bit position
Bit name
15, 11, 7, 3
RQ3UR3E,
RQ3UR2E,
RQ3UR1E,
Function
Specify the endpoint n (EPn) to be transferred by DMA channel 3.
(n = 1 to 4)
RQ3UR3E
RQ3UR2E
RQ3UR1E
RQ3UR0E
EP transferred by DMA3
1
0
0
0
EP4
0
1
0
0
EP3
0
0
1
0
EP2
0
0
0
1
EP1
RQ3UR0E
Other than above
DMA3 does not transfer EPn
(DMA3 not used)
14, 10, 6, 2
RQ2UR3E,
Specify the endpoint n (EPn) to be transferred by DMA channel 2.
RQ2UR2E,
(n = 1 to 4)
RQ2UR1E,
RQ2UR3E
RQ2UR2E
RQ2UR1E
RQ2UR0E
EP transferred by DMA2
1
0
0
0
EP4
0
1
0
0
EP3
0
0
1
0
EP2
0
0
0
1
EP1
RQ2UR0E
Other than above
DMA2 does not transfer EPn
(DMA2 not used)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 882 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(2/2)
Bit position
Bit name
13, 9, 5, 1
RQ1UR3E,
Specify the endpoint n (EPn) to be transferred by DMA channel 1.
RQ1UR2E,
(n = 1 to 4)
RQ1UR1E,
Function
RQ1UR3E
RQ1UR2E
RQ1UR1E
RQ1UR0E
EP transferred by DMA1
1
0
0
0
EP4
0
1
0
0
EP3
0
0
1
0
EP2
0
0
0
1
EP1
RQ1UR0E
Other than above
DMA1 does not transfer EPn
(DMA1 not used)
12, 8, 4, 0
RQ0UR3E,
Specify the endpoint n (EPn) to be transferred by DMA channel 0.
RQ0UR2E,
(n = 1 to 4)
RQ0UR1E,
RQ0UR3E
RQ0UR2E
RQ0UR1E
RQ0UR0E
EP transferred by DMA0
1
0
0
0
EP4
0
1
0
0
EP3
0
0
1
0
EP2
0
0
0
1
EP1
RQ0UR0E
Other than above
DMA0 does not transfer EPn
(DMA0 not used)
Cautions 1. Setting the same DMA transfer target to multiple DMA channels, and setting multiple DMA
transfer targets to the same DMA channel are prohibited.
2. If using the function of this register, set the DMA trigger factor register (DTFRn (n = 0 to 3)) to
disable DMA requests by interrupt (00H).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 883 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
The following flowcharts illustrate the program execution when the host is disconnected and then reconnected, and the
program execution when power is supplied.
Figure 20-12. Flowchart of Program When Host Is Disconnected and Then Reconnected
START
Checks status of pin
interrupt detecting host
connection status
Host disconnected?
No
Yes
Masks INTUSBF0 and
INTUSBF1 interrupts
Disables USB bus, enables
measures against floating
Checks status of pin
interrupt detecting host
connection status
Host connected?
No
Yes
Unmasks USB-related
interrupts and
discards interrupts
Initialization processing
of register area
Automatic device setup
by Plug&Play
END
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 884 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-13. Flowchart of Program When Power Is Supplied
START
Masks INTUSBF0 and
INTUSBF1 interrupts
Starts USBF clock supply
Initializes register area,
enables measures
against floating
Checks status of pin
interrupt detecting host
connection status
Host connected?
No
Yes
Unmasks USB-related
interrupts and discards
interrupts
Enables USB bus, disables
measures against floating
Automatic device setup
by Plug&Play
END
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 885 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.7 STALL Handshake or No Handshake
Errors of USBF are defined to be handled as follows.
Transfer Type
Transaction
Target
Error Type
Function
Packet
Control transfer/
IN/OUT/SETUP
Token
bulk transfer/
interrupt transfer
Control transfer/
bulk transfer
OUT/SETUP
Data
Processing
Response
Endpoint not supported
No response
None
Endpoint transfer
direction mismatch
No response
None
CRC error
No response
None
Bit stuffing error
No response
None
Timeout
No response
None
PID check error
No response
None
Unsupported PID
(other than Data PID)
No response
None
CRC error
No response
Discard received data
Bit stuffing error
No response
Discard received data
OUT
Data
Data PID mismatch
ACK
Discard received data
Control transfer
(SETUP stage)
SETUP
Data
Overrun
No response
Discard received data
Control transfer
(data stage)
OUT
Data
Overrun
No response
Control transfer
(status stage)
OUT
Bulk transfer
OUT
Note 1
Set SNDSTL bit of
UF0SDS register to 1 and
discard received data
Data
Data
Overrun
Overrun
ACK or
Note 2
no response
No response
Note 1
Set SNDSTL bit of
UF0SDS register to 1 and
discard received data
Set EnHALT bit of
UF0EnSL register (n = 0 to
4, 7) to 1
Control transfer/
IN
bulk transfer/
interrupt transfer
Handshake
PID check error
Hold transferred data and
Note 3
re-transfer data
Unsupported PID
(other than ACK PID)
Hold transferred data and
Note 3
re-transfer data
Timeout
Hold transferred data and
Note 3
re-transfer data
Notes 1. A STALL response is made to re-transfer by the host.
2. An ACK response is made if the transfer data is of less than MaxPacketSize and the data received in the
status stage is discarded. If MaxPacketSize is exceeded, no response is made, the SNDSTL bit of the
UF0SDS register is set to 1, and the received data is discarded.
3. If an OUT transaction indicating a change from the data stage to the status stage is received during control
transfer, an error is not handled and it is assumed that reception has been correctly completed.
Cautions 1. It is judged by the Alternative Setting number currently set whether the target Endpoint is valid or
invalid.
2. For the response to the request included in control transfer to/from Endpoint0, see 20.5 Requests.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 886 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.8 Register Values in Specific Status
Table 20-8. Register Values in Specific Status (1/2)
Register Name
After CPU Reset (RESET)
After Bus Reset
UF0E0N register
00H
Value is held.
UF0E0NA register
00H
Value is held.
UF0EN register
00H
Value is held.
UF0ENM register
00H
Value is held.
UF0SDS register
00H
Value is held.
UF0CLR register
00H
Value is held.
UF0SET register
00H
Value is held.
UF0EPS0 register
00H
Value is held.
UF0EPS1 register
00H
Value is held.
UF0EPS2 register
00H
Value is held.
UF0IS0 register
00H
Value is held.
UF0IS1 register
00H
Value is held.
UF0IS2 register
00H
Value is held.
UF0IS3 register
00H
Value is held.
UF0IS4 register
00H
Value is held.
UF0IM0 register
00H
Value is held.
UF0IM1 register
00H
Value is held.
UF0IM2 register
00H
Value is held.
UF0IM3 register
00H
Value is held.
UF0IM4 register
00H
Value is held.
UF0IC0 register
FFH
Value is held.
UF0IC1 register
FFH
Value is held.
UF0IC2 register
FFH
Value is held.
UF0IC3 register
FFH
Value is held.
UF0IC4 register
FFH
Value is held.
UF0IDR register
00H
Value is held.
UF0DMS0 register
00H
Value is held.
UF0DMS1 register
00H
Value is held.
UF0FIC0 register
00H
Value is held.
UF0FIC1 register
00H
Value is held.
UF0DEND register
00H
Value is held.
UF0GPR register
00H
Value is held.
UF0MODC register
00H
Value is held.
UF0MODS register
00H
Bit 2 (CONF): Cleared (0),
Other bits: Value is held.
UF0AIFN register
00H
Value is held.
UF0AAS register
00H
Value is held.
UF0ASS register
00H
00H
UF0E1IM register
00H
Value is held.
UF0E2IM register
00H
Value is held.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 887 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Table 20-8. Register Values in Specific Status (2/2)
Register Name
After CPU Reset (RESET)
After Bus Reset
UF0E3IM register
00H
Value is held.
UF0E4IM register
00H
Value is held.
UF0E7IM register
00H
UF0E0R register
Undefined
UF0E0L register
00H
UF0E0ST register
00H
UF0E0W register
Undefined
UF0BO1 register
Value is held.
Note 1
Value is held.
Value is held.
00H
Note 1
Value is held.
Note 1
Value is held.
Note 1
Undefined
UF0BO1L register
00H
UF0BO2 register
Undefined
Value is held.
Value is held.
UF0BO2L register
00H
Value is held.
UF0BI1 register
Undefined
Note 1
UF0BI2 register
Undefined
Note 1
UF0INT1 register
Undefined
Value is held.
Value is held.
Value is held.
UF0DSTL register
00H
00H
UF0E0SL register
00H
00H
UF0E1SL register
00H
00H
UF0E2SL register
00H
00H
UF0E3SL register
00H
00H
UF0E4SL register
00H
00H
UF0E7SL register
00H
00H
UF0ADRS register
00H
00H
UF0CNF register
00H
00H
UF0IF0 register
00H
00H
UF0IF1 register
00H
00H
UF0IF2 register
00H
00H
UF0IF3 register
00H
00H
UF0IF4 register
00H
00H
UF0DSCL register
00H
Value is held.
UF0DDn register (n = 0 to 17)
Note 2
Note 2
UF0CIEn register (n = 0 to 255)
Note 2
Note 2
Notes 1. This register can be cleared to 0 by the RESET signal because its write pointer, counter, and read pointer
are cleared to 0 when the RESET signal becomes active, in the same manner as clearing by the UF0FICn
register, as the register is controlled by FIFO.
2. This register cannot be cleared to 0. Because data can be written to it by FW, however, any value can be
written to the register (before doing so, however, be sure to set the EP0NKA bit of the UF0E0NA register to
1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 888 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.9 FW Processing
The following FW processing is performed.
Setting processing on device side for the SET_CONFIGURATION, SET_INTERFACE, SET_FEATURE, and
CLEAR_FEATURE requests during enumeration processing
Analysis and processing of XXXXStandard, XXXXClass, and XXXXVendor requests not subject to automatic
processing
Reading data following bulk-transferred OUT token from receive buffer
Writing data to be returned in response to bulk-transferred IN token
Writing data to be returned in response to interrupt-transferred token
The following table lists the requests supported by FW.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 889 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Table 20-9. FW-Supported Standard Requests
Request
CLEAR_FEATURE
Reception
Side
Interface
Processing/
Frequency
Explanation
Automatic
It is considered that this request does not come to Interface
STALL response
because there is no function selector value, though it is reserved
for bmRequestType.
When this request is received, the hardware makes an automatic
STALL response.
SET_FEATURE
Interface
Automatic
It is considered that this request does not come to Interface
STALL response
because there is no function selector value, though it is reserved
for bmRequestType.
When this request is received, the hardware makes an automatic
STALL response.
GET_DESCRIPTOR
String
FW
Returns the string descriptor.
When this request is received by the SETUP token, the hardware
generates the CPUDEC interrupt request for FW. FW decodes
the contents of the request from the CPUDEC interrupt request,
and writes the data to be returned to the host, to the UF0E0W
register.
SET_DESCRIPTOR
Device
FW
Rewrites the device descriptor.
When this request is received by the SETUP token, the hardware
generates the CPUDEC interrupt request for FW. FW decodes
the contents of the request from the CPUDEC interrupt request,
and the writes the data for the next control transfer (OUT) to the
UF0DDn register (n = 0 to 17).
SET_DESCRIPTOR
Configuration
FW
Rewrites the configuration descriptor.
When this request is received by the SETUP token, the hardware
generates the CPUDEC interrupt request for FW. FW decodes
the contents of the request from the CPUDEC interrupt request,
and the writes the data for the next control transfer (OUT) to the
UF0CIEn register (n = 0 to 255).
SET_DESCRIPTOR
String
FW
Rewrites the string descriptor.
When this request is received by the SETUP token, the hardware
generates the CPUDEC interrupt request for FW. FW decodes
the contents of the request from the CPUDEC interrupt request,
and loads the data for the next control transfer (OUT).
Other
NA
FW
When this request is received by the SETUP token, the hardware
generates the CPUDEC interrupt request for FW. FW decodes
the contents of the request from the CPUDEC interrupt request,
and performs the necessary processing.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 890 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.9.1 Initialization processing
Initialization processing is executed in the following two ways.
Initialization of request data register
Setting of interrupt
When a request data register is initialized, data for the GET_XXXX request to which a value is to be automatically
returned is written and an endpoint is allocated to an interface. In the interrupt settings, the interrupt sources that do not
have to be checked can be masked by using the UF0IMn register (n = 0 to 4).
The following flowcharts illustrate the above processing.
Figure 20-14. Initializing Request Data Register
START
UF0E0NA register = 01H
EP0NKA = 1?
(UF0E0NA)
No
Yes
Initialization of request
data register
UF0MODC register =
40H or 00H
Setting of interface
and endpoint
UF0E0NA register = 00H
: See Figure 20-15 Initialization Settings of Request Data Register.
If the total number of bytes of the UF0CIEn register exceeds 256,
set the UF0MODC register to 40H. No data has to be written to
the UF0CIEn register.
: See Figure20-16 Setting of Interface and Endpoint.
Cancels NAK response to Endpoint0.
END
Remark
n = 0 to 255
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 891 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-15. Initialization Settings of Request Data Register
UF0DSTL register = 0XH
The value of 0XH depends on the power supply method.
• SFPW = 1: Self-powered
• SFPW = 0: Bus-powered
UF0EnSL register = 00H
n = 0 to 4, or 7. Setting is unnecessary if the target
endpoint is not used.
Setting of UF0DSCL register
Input the total number of bytes of the UF0CIEa register.
Inputting UF0DDm register
Inputting UF0CIEa register
Remark
If the total number of bytes of the UF0CIEa register exceeds 256,
set the UF0MODC register to 40H. No data has to be written to
the UF0CIEa register.
m = 0 to 17
a = 0 to 255
Figure 20-16. Setting of Interface and Endpoint
Setting of UF0AIFN register
ADDIF, IFNO1, IFNO0 = 000: Interface number 0 is valid.
ADDIF, IFNO1, IFNO0 = 100: Interface numbers 0 and 1 are valid.
ADDIF, IFNO1, IFNO0 = 101: Interface numbers 0 to 2 are valid.
ADDIF, IFNO1, IFNO0 = 110: Interface numbers 0 to 3 are valid.
ADDIF, IFNO1, IFNO0 = 111: Interface numbers 0 to 4 are valid.
Setting of UF0AAS register
Set Interface number(s) and a link with the 5- or 2-series Alternative
Setting.
Setting of UF0EnIM register
Set a link between the target Interface of endpoint n and Alternative Setting.
Set 00H if the target endpoint is not used.
Remark
n = 1 to 4, 7
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 892 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-17. Setting of Interrupt
START
Setting of UF0IMn register
Mask the interrupt source to avoid issuance of an unnecessary
interrupt request (INTUSBF0).
END
Remark
n = 0 to 4
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 893 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.9.2 Interrupt servicing
The following flowchart illustrates how an interrupt is serviced.
Figure 20-18. Interrupt Servicing
START
INTUSBF0 active
(n = 0 to 4)
Reading UF0ISn register
Target bit of UF0ICn
register = 0
Servicing interrupt
END
Remark
: Processing by hardware
The following bits of the UF0ISn register are automatically cleared by hardware when a given condition is satisfied (n =
0 to 4).
E0INDT, E0ODT, SUCES, STG, and CPUDEC bits of UF0IS1 register
BKI2DT, BKI1DT, and IT1DT bits of UF0IS2 register
BKO2FL, BKO2DT, BKO1FL, and BKO1DT bits of UF0IS3 register
Because clearing an interrupt source by the UF0ICn register is given a lower priority than setting an interrupt source by
hardware, the interrupt source may not be cleared depending on the timing (n = 0 to 4).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 894 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.9.3 USB main processing
USB main processing involves processing USB transactions. The types of transactions to be processed are as follows.
Fully automatically processed request for control transfer
Automatically processed requests for control transfer
(SET_CONFIGURATION, SET_INTERFACE, SET_FEATURE, CLEAR_FEATURE)
CPUDEC request for control transfer
Processing for bulk transfer (IN)
Processing for bulk transfer (OUT)
Processing for interrupt transfer (IN)
Processing for endpoint n involves writing or reading for data transfer. The flowchart shown below is for PIO.
(1) Fully automatically processed request for control transfer
Because the fully automatically processed request for control transfer is executed by hardware, it cannot be
referenced by FW. Therefore, FW does not have to perform any special processing for this request.
(2) Automatically processed requests for control transfer
(SET_CONFIGURATION, SET_INTERFACE, SET_FEATURE, CLEAR_FEATURE)
Processing to write a register for automatically processed requests for control transfer,
such as
SET_CONFIGURATION, SET_INTERFACE, SET_FEATURE, and CLEAR_FEATURE requests, is automatically
executed by hardware, but an interrupt request is issued for recognition on the device side. This processing may be
ignored if there is no special processing to be executed.
The flowcharts are shown below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 895 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-19. Automatically Processed Requests for Control Transfer
START
Receiving SETUP token
Decoding request
CLEAR_FEATURE?
Yes
CLEAR_FEATURE processing
No
: See Figure 20-20 CLEAR_FEATURE Processing.
Yes
SET_FEATURE?
SET_FEATURE processing
No
: See Figure 20-21 SET_FEATURE Processing.
Yes
SET_CONFIGURATION?
SET_CONFIGURATION processing
No
SET_INTERFACE?
: See Figure 20-22 SET_CONFIGURATION Processing.
Yes
SET_INTERFACE processing
No
Other
automatically processed
request?
: See Figure 20-23 SET_INTERFACE Processing.
No
Yes
Automatic processing
CPUDEC processing
END
END
INTUSBF0 active
(n = 0, 1)
Reading UF0ISn register
Reading UF0IS4 register
SETINT = 1?
(UF0IS4)
No
CLRRQ = 1?
(UF0IS0)
Yes
No
Yes
Illegal processing
FW processing for
SET_INTERFACE
SETRQ = 1?
(UF0IS0)
No
Yes
Illegal processing
SETINTC = 0
(UF0IC4)
Reading UF0SET register
Reading UF0CLR register
FW processing for
each request
FW processing for
each request
END
END
END
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 896 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-20. CLEAR_FEATURE Processing
UF0CLR register = 0XH
Set the corresponding bit for the value of 0XH.
The EPHALT bit of the UF0IS0 register is cleared to 0
only when all Halt Features are cleared.
CLRRQ = 1
(UF0IS0)
Clearing UF0DSTL register
Clearing UF0EnSL register
HALTn = 0
(UF0EPS2)
Remarks 1. n = 0 to 4, 7
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 897 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-21. SET_FEATURE Processing
UF0SET register = 0XH
Set the corresponding bit for the value of 0XH.
The EPHALT bit of the UF0IS0 register is not
set to 1 by setting the UF0DSTL register.
SETRQ = 1
(UF0IS0)
Setting UF0DSTL register
Setting UF0EnSL register
HALTn = 1
(UF0EPS2)
EPHALT = 1
(UF0IS0)
Remarks 1. n = 0 to 4, 7
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 898 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-22. SET_CONFIGURATION Processing
SETCON = 1
(UF0SET)
SETRQ = 1
(UF0IS0)
CONF = 1
(UF0MODS)
Setting UF0CNF register
Remark
: Processing by hardware
Figure 20-23. SET_INTERFACE Processing
SETINT = 1
(UF0IS4)
Setting UF0ASS register
Setting UF0IFn register
Remarks 1. n = 0 to 4
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 899 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(3) CPUDEC request for control transfer
The CPUDEC request can be classified into three types of processing: control transfer (write), control transfer
(read), and control transfer (without data).
Control transfer (write) indicates a request that uses the OUT
transaction in the data stage (e.g., SET_DESCRIPTOR), and control transfer (read) indicates a request that uses
the IN transaction in the data stage (e.g., GET_DESCRIPTOR). Control transfer (without data) indicates a request
that has no data stage (e.g., SET_CONFIGURATION).
The flowcharts are shown below.
Figure 20-24. CPUDEC Request for Control Transfer (1/12)
(a) Token phase (1/2)
START
INTUSBF0 active
G
E
Reading UF0ISn register
CPUDEC = 1?
(UF0IS1)
Yes
No
Appropriate interrupt servicing
PROTC = 0
(UF0IC1)
STGM = 0 (UF0IM1)
CPUDECM = 1 (UF0IM1)
Reading UF0E0ST
register × 8 times
CPUDEC = 0
(UF0IS1)
Decoding FW request
A
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 900 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (2/12)
(a) Token phase (2/2)
A
It is judged whether the
request decoded by the
device is supported.
Supported request?
No
Yes
Request that uses control
transfer (IN), such as
GET_DESCRIPTOR String
Reading UF0ISn register
Yes
Control transfer (read)?
B
No
Request that uses control
transfer (OUT), such as
SET_DESCRIPTOR String
Control transfer (write)?
No
D
PROT = 1?
(UF0IS1)
Yes
E
No
Yes
C
SNDSTL = 1
(UF0SDS)
EP0RC = 1
(UF0FIC0)
In the case of an unsupported request
for control transfer (write), clear the FIFO
because data may be written to the FIFO
as a result of OUT transfer before the
STALL response is made.
STGM = 1 (UF0IM1)
CPUDECM = 0 (UF0IM1)
STALL handshake response
SETUP token received?
No
Yes
SNDSTL = 0
(UF0SDS)
END
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 901 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (3/12)
(b) Control transfer (read) (1/4)
B
CPUDEC = 1?
(UF0IS1)
No
Yes
Transmitting NAK
E0IN = 1
(UF0IS1)
INTUSBF0 active
Reading UF0ISn register
E0IN = 1?
(UF0IS1)
Yes
No
Illegal processing
E0INM = 1
(UF0IM1)
I
FW request decode
If return data greater than the FIFO size exists,
it is divided into FIFO size units and sequentially
written, starting from the lowest data byte.
F
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 902 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24 CPUDEC Request for Control Transfer (4/12)
(b) Control transfer (read) (2/4)
F
No
FIFO full?
E0DED = 1
(UF0DEND)
Yes
EP0NKW = 1
(UF0E0N)
PROT = 1?
(UF0IS1)
Yes
EP0WC = 1
(UF0FIC0)
No
G
No
IN token received?
Yes
Transmitting data of
UF0E0W register
No
ACK received?
Yes
H
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 903 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (5/12)
(b) Control transfer (read) (3/4)
H
E0INDT = 1 (UF0IS1)
EP0NKW = 0 (UF0E0N)
INTUSBF0 active
Reading UF0ISn register
E0INDT = 1?
(UF0IS1)
No
Yes
No transmit data?
Illegal processing
No
I
Yes
E0INDTC = 0
(UF0IC1)
Data of Null packet received?
No
Yes
STG = 1
(UF0IS1)
J
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 904 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (6/12)
(b) Control transfer (read) (4/4)
J
INTUSBF0 active
Reading UF0ISn register
STG = 1?
(UF0IS1)
No
Yes
Illegal processing
STGM = 1
(UF0IM1)
Transmitting ACK
SUCES = 1
(UF0IS1)
INTUSBF0 active
Reading UF0ISn register
SUCES = 1?
(UF0IS1)
Yes
No
Illegal processing
SUCESC = 0 (UF0IC1)
E0INC = 0 (UF0IC1)
CPUDECM = 0 (UF0IM1)
E0INM = 0 (UF0IM1)
END
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 905 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (7/12)
(c) Control transfer (write) (1/4)
C
OUT token received?
No
Yes
Writing UF0E0R register
Normal reception?
No
Yes
Clearing UF0E0R register
E0ODT = 1 (UF0IS1)
EP0R = 1 (UF0EPS0)
EP0NKR = 1 (UF0E0N)
INTUSBF0 active
Reading UF0ISn register
PROT = 1?
(UF0IS1)
No
K
Yes
EP0RC = 1
(UF0FIC0)
G
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 906 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (8/12)
(c) Control transfer (write) (2/4)
K
E0ODT = 1?
(UF0IS1)
No
Yes
Illegal processing
Updating data length
of UF0E0L register
Reading UF0E0R register
UF0E0L register data is
read up to the value read
by the UF0E0R register.
Data length other than 0?
Yes
Data length = Data length − 1
No
E0ODT = 0 (UF0IS1)
EP0R = 0 (UF0EPS0)
EP0NKR = 0 (UF0E0N)
Updating data length
of UF0E0L register
Data length other than 0?
Yes
C
No
Data length other than 0?
No
Yes
L
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 907 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (9/12)
(c) Control transfer (write) (3/4)
L
STG = 1 (UF0IS1)
E0IN = 1 (UF0IS1)
INTUSBF0 active
Reading UF0ISn register
PROT = 1?
(UF0IS1)
Yes
No
Clearing read data
G
STG = 1?
(UF0IS1)
No
Yes
Illegal processing
Request processing
EP0WC = 1
(UF0FIC0)
E0DED = 1
(UF0DEND)
M
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 908 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (10/12)
(c) Control transfer (write) (4/4)
M
STGM = 1 (UF0IM1)
E0INM = 1 (UF0IM1)
IN token received?
No
Yes
Transmitting data
of Null packet
ACK received?
No
Yes
SUCES = 1 (UF0IS1)
E0INDT = 1 (UF0IS1)
INTUSBF0 active
Reading UF0ISn register
SUCES = 1?
(UF0IS1)
Yes
No
Illegal processing
SUCESC = 0 (UF0IC1)
E0INDTC = 0 (UF0IC1)
E0INC = 0 (UF0IC1)
CPUDECM = 0 (UF0IM1)
E0INM = 0 (UF0IM1)
END
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 909 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (11/12)
(d) Control transfer (without data stage) (1/2)
D
IN token of status phase
IN token received?
No
Yes
E0IN = 1 (UF0IS1)
STG = 1 (UF0IS1)
INTUSBF0 active
Reading UF0ISn register
PROT = 1?
(UF0IS1)
Yes
No
Request processing aborted
G
STG = 1?
(UF0IS1)
Yes
No
Illegal processing
EP0WC = 1
(UF0FIC0)
E0DED = 1
(UF0DEND)
N
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 910 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-24. CPUDEC Request for Control Transfer (12/12)
(d) Control transfer (without data stage) (2/2)
N
E0INM = 1 (UF0IM1)
STGM = 1 (UF0IM1)
IN token received?
No
Yes
Transmitting data of Null packet
ACK received?
No
Yes
SUCES = 1 (UF0IS1)
E0INDT = 1 (UF0IS1)
INTUSBF0 active
Reading UF0ISn register
SUCES = 1?
(UF0IS1)
Yes
No
Illegal processing
SUCESC = 0 (UF0IC1)
E0INC = 0 (UF0IC1)
E0INDTC = 0 (UF0IC1)
Request processing
E0INM = 0 (UF0IM1)
CPUDECM = 0 (UF0IM1)
END
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 911 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(4) Processing for bulk transfer (IN)
Bulk transfer (IN) is allocated to Endpoint1 and Endpoint3. The flowchart shown below illustrates how Endpoint1 is
controlled. Endpoint3 can also be controlled in the same sequence. To use this flowchart as the control flow of
Endpoint3, therefore, read the bit names of Endpoint1 in the flowchart as those of Endpoint3.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 912 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-25. Processing for Bulk Transfer (IN) (Endpoint1)
START
IN token received?
No
Yes
BKI1IN = 1
(UF0IS2)
Returning NAK
INTUSBF0 active
Reading UF0ISn register
BKI1IN = 1?
(UF0IS2)
No
Yes
Illegal processing
BKI1INM = 1
(UF0IM2)
Writing UF0BI1 register
Yes
If return data greater than the FIFO size exists,
it is divided into FIFO size units and sequentially
written, starting from the lowest data byte.
FIFO full?
No
Yes
Data error?
BKI1CC = 1
(UF0FIC0)
No
BKI1DED = 1
(UF0DEND)
BKI1NK = 1 (UF0EN)
BKI1DT = 1 (UF0IS2)
Parallel processing
by hardware
The timing of the bit value varies
depending on the situation on the SIE side.
: See Figure 20-26 Parallel Processing
by Hardware.
END
INTUSBF0 active
Reading UF0ISn register
BKI1DT = 1?
(UF0IS2)
No
Yes
No transmit data?
Illegal processing
No
Yes
BKI1INC = 0 (UF0IC2)
BKI1DTC = 0 (UF0IC2)
BKI1INM = 0 (UF0IM2)
END
Remarks 1. n = 2, 3
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 913 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-26. Parallel Processing by Hardware
IN token received?
No
Yes
Transmitting data of
UF0BI1 register
ACK received?
No
Yes
BKI1NK = 0
(UF0EN)
No transmit data?
No
Yes
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 914 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(5) Processing for bulk transfer (OUT)
Bulk transfer (OUT) is allocated to Endpoint2 and Endpoint4. The flowchart shown below illustrates how Endpoint2
is controlled. Endpoint4 can also be controlled in the same sequence. To use this flowchart as the control flow of
Endpoint4, therefore, read the bit names of Endpoint2 in the flowchart as those of Endpoint4.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 915 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-27. Normal Processing for Bulk Transfer (OUT) (Endpoint2)
START
OUT token received?
No
Yes
Writing UF0BO1 register
No
Normal reception?
Yes
Clearing UF0BO1 register
BKO1DT = 1 (UF0IS3)
BKOUT1 = 1 (UF0EPS0)
INTUSBF0 active
Reading UF0ISn register
BKO1DT = 1?
(UF0IS3)
No
Yes
Illegal processing
Updating data length
of UF0BO1L register
Reading UF0BO1 register
UF0BO1 register data is read
up to the value read by the
UF0BO1L register.
Data length other than 0?
Yes
Data length = Data length − 1
No
BKO1DT = 0 (UF0IS3)
BKOUT1 = 0 (UF0EPS0)
Updating data length
of UF0BO1L register
Data length = 0?
No
Yes
OUT token received?
Illegal processing
Yes
No
END
Remarks 1. n = 2, 3
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 916 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
During bulk transfer (OUT), more data may be transmitted from the host than expected by the system. Endpoint2
and Endpoint4 for bulk transfer (OUT) of the V850ES/JG3-L consist of two 64-byte buffers so that NAK responses
are suppressed as much as possible and data can be read from the CPU side even while the bus side is being
accessed as the transfer rate of the USB bus increases. Consequently, if the host sends more data than expected
by the system, up to 128 bytes of extra data may be automatically received in the worst case. In this case, change
the control flow from that of the normal processing of Endpoint2 and Endpoint4 to the flow illustrated below when
the quantity of data expected by the system has decreased to two packets. This flowchart illustrates how Endpoint2
is controlled. Endpoint4 can also be controlled in the same sequence. To use this flowchart as the control flow of
Endpoint4, therefore, read the bit names of Endpoint2 in the flowchart as those of Endpoint4.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 917 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-28. Processing If More Data Than Expected by System Is Transmitted (Endpoint2) (1/2)
START
OUT token received?
No
Yes
Writing UF0BO1 register
Normal reception?
No
Yes
Clearing UF0BO1 register
BKO1DT = 1 (UF0IS3)
BKOUT1 = 1 (UF0EPS0)
INTUSBF0 active
OUT token received?
No
Yes
Writing UF0BO1 register
Normal reception?
No
Yes
Clearing UF0BO1 register
BKO1FL = 1 (UF0IS3)
BKO1NK = 1 (UF0EN)
Reading UF0ISn register
BKO1FL = 1?
(UF0IS3)
Yes
No
Illegal processing
BKO1NKM = 1 (UF0ENM)
BKO1NK = 1 (UF0EN)
Updating data length
of UF0BO1L register
I
Remarks 1. n = 2, 3
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 918 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-28. Processing If More Data Than Expected by System Is Transmitted (Endpoint2) (2/2)
I
Reading UF0BO1 register
UF0BO1 register data is read
up to the value read by the
UF0BO1L register.
Data length other than 0?
Yes
No
Data length = Data length – 1
BKO1FL = 0 (UF0IS3)
Updating data length
of UF0BO1L register
Reading UF0BO1 register
UF0BO1 register data is read
up to the value read by the
UF0BO1L register.
Data length other than 0?
Yes
No
Data length = Data length – 1
BKO1DT= 0 (UF0IS3)
BKOUT1 = 0 (UF0EPS0)
OUT token received?
No
Yes
Next system sequence?
BKO1NAK = 1
(UF0IS3)
Yes
NAK response
BKO1NKM = 0
(UF0ENM)
INTUSBF0 active
BKO1NK = 0
(UF0EN)
BKO1NAK = 1?
(UF0IS3)
Yes
No
Expected system
sequence processing
No
Illegal processing
END
Expected processing
such as Endpoint STALL
BKO1NKM = 0
(UF0ENM)
BKO1NK = 0
(UF0EN)
BKO1NAKC = 0
(UF0IC3)
END
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 919 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(6) Processing for interrupt transfer (IN)
Interrupt transfer (IN) is allocated to Endpoint7. The flowchart is shown in Figure 20-29.
Figure 20-29. Processing for Interrupt Transfer (IN) (Endpoint7)
START
Reading UF0EPS0 register
IT1 = 0?
(UF0EPS0)
No
Yes
Writing UF0INT1 register
FIFO full?
No
Yes
Data error?
Yes
No
IT1DEND = 1
(UF0DEND)
ITR1C = 1
(UF0FIC0)
IT1NK = 1
(UF0EN)
IN token received?
No
Yes
Transmitting data of
UF0INT1 register
ACK received?
No
Yes
IT1DT = 1 (UF0IS2)
IT1 = 0 (UF0EPS0)
IT1NK = 0 (UF0EN)
INTUSBF0 active
Reading UF0ISn register
IT1DT = 1?
(UF0IS2)
No
Yes
No transmit data?
Illegal processing
No
Yes
IT1DTC = 0
(UF0IC2)
END
Remarks 1. n = 2, 3
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 920 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.9.4 Suspend/Resume processing
How Suspend/Resume processing is performed differs depending on the configuration of the system. One example is
given below.
Figure 20-30. Example of Suspend/Resume Processing (1/3)
(a) Example of Suspend processing
START
Suspend detected?
No
Yes
RSUSPD = 1 (UF0IS0)
RSUM = 1 (UF0EPS1)
INTUSBF0 active
Reading UF0ISn register
RSUSPD = 1?
(UF0IS0)
No
Yes
Illegal processing
Reading UF0EPS1 register
RSUM = 1?
(UF0EPS1)
Yes
No
Illegal processing
FW Suspend processing
RSUSPDC = 0
(UF0IC0)
END
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 921 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-30. Example of Suspend/Resume Processing (2/3)
(b) Example of Resume processing
START
Resume detected?
No
Yes
RSUSPD = 1 (UF0IS0)
RSUM = 0 (UF0EPS1)
INTUSBF0 active
Reading UF0ISn register
RSUSPD = 1?
(UF0IS0)
No
Yes
Illegal processing
Reading UF0EPS1 register
RSUM = 0?
(UF0EPS1)
Yes
No
Illegal processing
FW Resume processing
RSUSPDC = 0
(UF0IC0)
END
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 922 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-30. Example of Suspend/Resume Processing (3/3)
(c) Example of Resume processing (when supply of USB clock to USBF is stopped)
START
Resume detected?
No
Yes
INTUSBF1 active
Executing interrupt servicing
Supplying USB clock
FW Resume processing
END
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 923 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.9.5 Processing after power application
The processing to be performed after power application differs depending on the configuration of the system. One
example is given below.
Figure 20-31. Example of Processing After Power Application/Power Failure (1/3)
(a) Processing after power application (1/2)
START
START
Pull-up processing of
D+ inactiveNote 1
Initialization of request data
register
Initialization of request
data register
: See Figure 20-15 Initialization
Settings of Request Data Register.
: See Figure 20-15 Initialization
Settings of Request Data Register.
Controlling portNote 2
Controlling portNote 2
Pull-up processing
of D+ activeNote 1
Connection
Resume detected?
No
Yes
BUSRST = 1 (UF0IS0)
DFLT = 1 (UF0MODS)
(a)
Notes 1. Use one general-purpose port pin for the signal that controls switching of the pull-up resistor of the
USB bus.
2. The input mode or control mode of the general-purpose port pin allocated in Note 1 may be selected
as the default value. Note the active level of pull-up processing of D+ on power application.
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 924 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-31. Example of Processing After Power Application/Power Failure (2/3)
(a) Processing after power application (2/2)
(a)
Receiving GET_DESCRIPTOR
Device request
MPACK = 1
(UF0MODS)
Receiving SET_ADDRESS
request
Writing UF0ADRS register
Receiving SET_CONFIGURATION 1
request
SETCON = 1 (UF0SET)
SETRQ = 1 (UF0IS0)
CONF = 1 (UF0MODS)
UF0CNF register = 01H
Valid endpoint = DATA0
Receiving SET_INTERFACE
request
SETINT = 1 (UF0IS4)
Setting of UF0ASS register
Setting of UF0IFm register
Valid endpoint = DATA0
Processing continues
Remarks 1. m = 0 to 4
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 925 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-31. Example of Processing After Power Application/Power Failure (3/3)
(b) Processing on power failure
START
Power failure
INTPxx activeNote?
No
Yes
Interrupt servicing
Processing such as
clearing FIFO or
MRST = 1 (UF0GPR)
END
Note INTPxx indicates the external interrupt pins of the V850ES/JG3-L (INTP0 to INTP7).
Allocate one external interrupt pin to the following applications.
Detecting disconnection of the connector in the case of self-powered mode (SFPW bit of UF0DSTL
register = 1). In this case, monitor the VDD line of the USB connector, and input the result to the
external interrupt pin at the edge. Note that the noise elimination time is that of the interrupt input pin.
Detecting turning off power from the HUB when the device is mounted on the same board as a HUB
chip.
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 926 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.9.6 Receiving data for bulk transfer (OUT) in DMA mode
Bulk transfer (OUT) is allocated to Endpoint2 and Endpoint4. The flowchart shown below illustrates how Endpoint2 is
controlled when DMA is used. Endpoint4 can also be controlled in the same sequence. To use this flowchart as the
control flow of Endpoint4, therefore, read the bit names of Endpoint2 in the flowchart as those of Endpoint4. The control
flowchart shown below illustrates how remaining data is read by the CPU.
If data for bulk transfer (OUT) has been correctly received by setting the DQBO1MS bit of the UF0IDR register to 1, the
DMA request signal for Endpoint2, instead of an interrupt request (INTUSBF0), becomes active. This DMA request signal
for Endpoint2 operates according to the setting of the MODEn bit of the UF0IDR register (n = 0, 1). If all the data stored in
the UF0BO1 register has been read by DMA, the DMA request signal for Endpoint2 becomes inactive. In this status, if
data for the next bulk transfer (OUT) has been correctly received, the DMA request signal for Endpoint2 becomes active
again. If the data for bulk transfer (OUT) that has been received is equal to or less than the FIFO size, a Short interrupt
request is issued and the INTUSBF0 (EP2_ENDINT) signal becomes active, as soon as reading the data by DMA is
completed. To read data by DMA again, set the DQBO1MS bit to 1 again. If DMA is completed by the DMA end signal for
Endpoint2, the DQBO1MS bit of the UF0IDR register is cleared to 0, and the DMA request signal for Endpoint2 becomes
inactive. At the same time, the DMA_END interrupt request is issued. If data remains in the UF0BO1 register at this time,
DMA can be started again by setting the DQBO1MS bit of the UF0IDR register again. However, the data for bulk transfer
(OUT) is always equal to or less than the FIFO size. Consequently, a Short interrupt request is issued, the INTUSBF0
(EP2_ENDINT) signal becomes active, the DQBO1MS bit is cleared, and the DMA request signal for Endpoint2 becomes
inactive, as soon as the data is read by DMA.
Cautions 1. The DMA request signal for Endpoint n (n = 2, 4) becomes active in the demand mode (MODE1
and MODE0 bits of the UF0IDR register = 10), as long as there is data to be transferred.
2. For a DMA transfer for which the data for a bulk transfer (OUT) is a Short packet (63 bytes or less),
after the transfer finishes, clear the UF0IC0.SHORTC and UF0IS0.SHORT bits.
If the SHORT bits are not cleared, the DMASTOP_EPnB signal is asserted and the next DMA
transfer operation is not performed.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 927 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
(1) Initial settings for a bulk transfer (OUT: EP2, EP4)
(a) Initial settings for DMAC
- The DSAn registers (n = 0 to 3) are set to 00210000H (for EP2) or 00220000H (for EP4).
- The DADCn registers (n = 0 to 3) are set to 0080H.
(8-bit transfer, transfer source address: fixed, transfer destination address: incremental)
- The DTFRn registers (n = 0 to 3) are set to 0000H.
- The UFDRQEN register is set up according to the DMA channel to be used.
(For details, see 20.6.10 (1) USBF DMA request enable register (UFDRQEN).)
(b) Initial settings for EPC
- The UF0IDR register is set to 12H (for EP2) or 22H (for EP4) (demand mode).
- The UF0IM0.DMAEDM bit = 0
- The UF0IM3.BKO1NLM bit = 0 (for EP2)
- The UF0IM3.BKO1DTM bit = 0 (for EP2)
- The UF0IM3.BKO2NLM bit = 0 (for EP4)
- The UF0IM3.BKO2DTM bit = 0 (for EP4)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 928 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-32. DMA Processing by Bulk Transfer (OUT) (1/3)
START
Specifying DMA channel
and transfer destination
endpoint using UFDRQEN
register
UF0IDR register = 02H
(setting demand mode)
Setting DMA channel 2
Setting address (DDA2) of
transfer destination
(internal data RAM)
Setting address (DSA2) of
transfer source
(Endpoint2 (UF0BO1)) DBC2
DADC2 register = 0080H
Setting DMA channel 3
Setting address (DDA3) of
transfer destination
(Endpoint1 (UF0BI1))
Setting address (DSA3) of
transfer source
(internal data RAM)
DBC3L register = 003FH*
DADC3 register = 0020H
*: When transferring less than 64 bytes,
change the set value.
USB setting (DMA related)
• DMAEDM = 0 (UF0IM0)*
• BKI1NM = 0 (UF0IM2)
• BKI1DTM = 0 (UF0IM2)
• BKO1NLM = 0 (UF0IM3)
• BKO1DTM = 0 (UF0IM3)
*: Release the mask setting of the
necessary interrupts
Setting DMA channel 2
E22 = 1 (DCHC2)
DTFR2 register = 00H
The use of an interrupt
request signal as the DMA
start trigger is disabled.
DQBO1MS = 1(UF0IDR)
UF0E2DC1 = 0001H
Setting DMA channel 3
E33 = 1 (DCHC3)
DTFR3 register = 00H
The use of an interrupt
request signal as the DMA
start trigger is disabled.
DQBI1MS = 1 (UF0IDR)
UF0E1DC1 = 0001H
(4)
(3)
Transfer of DMA channel 3
is completed?
Yes
No
(2)
(1)
Remarks 1. The above flowchart shows the case where the transfer by DMA channel 2 is from Endpoint2 to
internal data RAM, and the transfer by DMA channel 3 is from internal data RAM to Endpoint1.
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 929 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-32. DMA Processing by Bulk Transfer (OUT) (2/3)
(1)
DMA channel 3 transfer
completion
TC3 = 1 (DCHC3)
DQBI1MS = 0 (UF0IDR)
Moving to INTDMA3
interrupt vector
Clearing DMA channel 3
transfer request
Each bit cleared by reading
UF0DMSI
TC3 bit cleared by reading
DCHC3
Setting DMA channel 3
E33 = 1 (DCHC3)
DQBI1MS = 1 (UF0IDR)*
The number of
DMA channel 3 transfers has
been changed?
Yes
*: Re-set DMA channel 3
No
(3)
Changing the set value
of DBC3L register
(3)
Remarks 1. The above flowchart shows the case where the transfer by DMA channel 2 is from Endpoint2 to
internal data RAM, and the transfer by DMA channel 3 is from internal data RAM to Endpoint1.
2. n = 0, 1
3. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 930 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-32. DMA Processing by Bulk Transfer (OUT) (3/3)
(2)
DMA channel 2
transfer completed?
No
Yes
INTUSBF0 interrupt occurred?
DMA channel 2 transfer
completion
TC2 = 1 (DCHC2)
DQBO1MS = 0 (UF0IDR)
No
An interrupt occurred when
receiving Endpoint2 data.
Yes
Moving to INTUSBF0
interrupt vector
Moving to INTDMA2
interrupt vector
Reading UF0IS3 register
Clearing DMA channel 2
transfer request
Each bit cleared by reading
UF0DMSI
TC2 bit cleared by reading
DCHC2
BKO1DT = 1 (UF0IS3)?
(4)
BKO1NL = 1?
(UF0IS3)
No
Confirm data reception.
Yes
No
Cancel transfer when
NULL packet is received.
Yes
Reading UF0BO1 register
Setting DMA channel 2
*: After setting the number of
DMA channel 2 transfers
DBC2L = UF0BO1L − 1*
E22 = 1 (DCHC2)
DQBO1MS = 1 (UF0IDR)
Starting transfer of
DMA channel 2
(4)
Remarks 1. The above flowchart shows the case where the transfer by DMA channel 2 is from Endpoint2 to
internal data RAM, and the transfer by DMA channel 3 is from internal data RAM to Endpoint1.
2. n = 0, 1
m = 2, 3
3. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 931 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
20.9.7 Transmitting data for bulk transfer (IN) in DMA mode
Bulk transfer (IN) is allocated to Endpoint1 and Endpoint3. The flowchart shown below illustrates how Endpoint1 is
controlled when DMA is used. Endpoint3 can also be controlled in the same sequence. To use this flowchart as the
control flow of Endpoint3, therefore, read the bit names of Endpoint1 in the flowchart as those of Endpoint3.
If data for bulk transfer (IN) can be written by setting the DQBI1MS bit of the UF0IDR register to 1, the DMA request
signal for Endpoint1, instead of an interrupt request (INTUSBF0), becomes active. This DMA request signal for Endpoint1
operates according to the setting of the MODEn bit of the UF0IDR register (n = 0, 1). If all the data that can be written to
the UF0BI1 register has been written by DMA, the DMA request signal for Endpoint1 becomes inactive. In this status, the
toggle operation of the FIFO takes place and, if data for bulk transfer (IN) can be written, the DMA request signal for
Endpoint1 becomes active again. The automatic toggle operation of the FIFO is not executed even if the FIFO has
become full as a result of DMA transfer, unless the BKI1T bit of the UF0DEND register is set to 1. Therefore, be sure to
set the BKI1DED bit of the UF0DEND register to 1 to transfer data. If DMA is completed by the DMA end signal for
Endpoint1, the DQBI1MS bit of the UF0IDR register is cleared to 0, and the DMA request signal for Endpoint1 becomes
inactive. At the same time, the DMA_END interrupt request is issued. To transmit a short packet at this time when the
FIFO is not full, set the BKI1DED bit of the UF0DEND register to 1.
Caution The DMA request signal for Endpoint n (n = 1, 3) becomes active in the demand mode (MODE1 and
MODE0 bits of the UF0IDR register = 10), as long as data can be transferred.
(1) Initial settings for a bulk transfer (IN: EP1, EP3)
(a) Initial settings for DMAC
- The DSAn registers (n = 0 to 3) are set to 00201000H (for EP1) or 00202000H (for EP3).
- The DADCn registers (n = 0 to 3) are set to 0020H.
(8-bit transfer, transfer source address: incremental, transfer destination address: fixed)
- The DTFRn registers (n = 0 to 3) are set to 0000H.
- The UFDRQEN register is set up according to the DMA channel to be used.
(For details, see 20.6.10 (1) USBF DMA request enable register (UFDRQEN).)
(b) Initial settings for EPC
- The UF0IDR register is set to 42H (for EP1) or 82H (for EP3) (demand mode).
- The UF0IM0.DMAEDM bit = 0
- The UF0IM2.BKI1NLM bit = 0 (for EP1)
- The UF0IM2.BKI1DTM bit = 0 (for EP1)
- The UF0IM2.BKI2NLM bit = 0 (for EP3)
- The UF0IM2.BKI2DTM bit = 0 (for EP3)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 932 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-33. DMA Processing by Bulk Transfer (IN) (1/4)
START
(5)
Setting MODEx (UF0IDR)
DQBI1MS = 1 (UF0IDR)
MODE1, MODE0 = 10: Demand mode
(3)
FIFO on CPU side full?
Yes
No
DQE1 = 1
(UF0DMS0)
DMA request for
Endpoint1 active
If return data greater than the FIFO size exists,
it is divided into FIFO size units, and sequentially
written, starting from the lowest data byte.
Writing UF0BI1
register by DMA
TC signal received?
Yes
(1)
No
FIFO full?
No
Yes
BKI1T = 1?
(UF0DEND)
No
Yes
(2)
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 933 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-33. DMA Processing by Bulk Transfer (IN) (2/4)
(2)
BKI1NK = 1 (UF0EN)Note
BKI1DT = 1 (UF0IS2)Note
DQE1 = 0 (UF0DMS0)
DMA request for
Endpoint1 inactive
(3)
Parallel processing
by hardware
: See Figure 20-26 Parallel Processing by Hardware.
END
Note The timing of the bit value changes depending on the status on the SIE side.
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 934 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-33. DMA Processing by Bulk Transfer (IN) (3/4)
(1)
FIFO full?
No
Yes
BKI1T = 1?
(UF0DEND)
No
Yes
BKI1NK = 1 (UF0EN)Note
BKI1DT = 1 (UF0IS2)Note
DQE1 = 0 (UF0DMS0)
DEDE1 = 1 (UF0DMS1)
DMAED = 1 (UF0IS0)
DQBI1MS = 0 (UF0IDR)
DQE1 = 0 (UF0DMS0)
DEDE1 = 1 (UF0DMS1)
DMAED = 1 (UF0IS0)
DQBI1MS = 0 (UF0IDR)
INTUSBF0 active
DMA request for Endpoint1 inactive
Reading UF0ISn register
DMAED = 1?
(UF0IS0)
No
Yes
Illegal processing
Reading UF0DMSn register
DEDE1 = 1?
(UF0DMS1)
Yes
No
Illegal processing
(4)
Note The timing of the bit value changes depending on the status on the SIE side.
Remarks 1. n = 0, 1
2. : Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 935 of 1210
V850ES/JG3-L
CHAPTER 20 USB FUNCTION CONTROLLER (USBF)
Figure 20-33 DMA Processing by Bulk Transfer (IN) (4/4)
(4)
FIFO full?
No
Yes
BKI1T = 1?
(UF0DEND)
No
Yes
Data error?
No
DMAEDC = 0
(UF0IC0)
(5)
Parallel processing
by hardware
Yes
: See Figure 20-26 Parallel
Processing by Hardware.
BKI1DED = 1
(UF0DEND)
BKI1CC = 1 (UF0FIC0)
BKI1NK = 1 (UF0EN)Note
BKI1DT = 1 (UF0IS2)Note
DMAEDC = 0 (UF0IC0)
END
(5)
Note The timing of the bit value changes depending on the status on the SIE side.
Remark
: Processing by hardware
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 936 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
The V850ES/JG3-L includes a direct memory access (DMA) controller (DMAC) that executes and controls DMA
transfer.
The DMAC controls data transfer between memory and I/Os, between memories, or between I/Os based on DMA
requests issued by on-chip peripheral I/O (serial interfaces, timer/counters, and A/D converter), interrupts from external
input pins, or software triggers (memory refers to internal RAM or external memory).
21.1 Features
4 independent DMA channels
Transfer unit: 8/16 bits
Maximum transfer count: 65,536 (216)
Program execution using internal ROM during DMA transfer
Transfer type: Two-cycle transfer
Data transfer between buses that have different bus widths
Transfer mode: Single transfer mode
Transfer requests
Request by interrupts from on-chip peripheral I/Os (serial interfaces, timer/counters, A/D converter) or interrupts
from external input pin
Requests triggered by software
Transfer sources and destinations
Internal RAM On-chip peripheral I/O
On-chip peripheral I/O On-chip peripheral I/O
Internal RAM External memory
External memory On-chip peripheral I/O
External memory External memory
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 937 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.2 Configuration
The block diagram of the DMAC is shown below.
Figure 21-1. Block Diagram of DMAC
On-chip
peripheral I/O
Internal RAM
Internal bus
On-chip peripheral I/O bus
CPU
Data
control
Address
control
DMA source address
register n (DSAnH/DSAnL)
DMA destination address
register n (DDAnH/DDAnL)
Count
control
DMA transfer count
register n (DBCn)
DMA channel control
register n (DCHCn)
DMA addressing control
register n (DADCn)
Channel
control
DMA trigger factor
register n (DTFRn)
DMAC
Bus interface
External bus
V850ES/JG3-L
External
memory
Remark
n = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 938 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
The DMAC includes the following hardware.
Table 21-1. Configuration of DMAC
Item
Registers
Configuration
DMA source address registers 0 to 3 (DSA0 to DSA3)
DMA destination address registers 0 to 3 (DDA0 to DDA3)
DMA transfer count register 0 to 3 (DBC0 to DBC3)
DMA addressing control registers 0 to 3 (DADC0 to DADC3)
DMA channel control registers 0 to 3 (DCHC0 to DCHC3)
DMA trigger factor registers 0 to 3 (DTFR0 to DTFR3)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 939 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.3 Registers
(1) DMA source address registers 0 to 3 (DSA0 to DSA3)
The DSA0 to DSA3 registers set the DMA source addresses (26 bits each) for DMA channel n (n = 0 to 3).
These registers are divided into two 16-bit registers, DSAnH and DSAnL.
These registers can be read or written in 16-bit units.
After reset: Undefined
R/W
Address: DSA0H FFFFF082H, DSA1H FFFFF08AH,
DSA2H FFFFF092H, DSA3H FFFFF09AH,
DSA0L FFFFF080H, DSA1L FFFFF088H,
DSA2L FFFFF090H, DSA3L FFFFF098H
DSAnH
(n = 0 to 3)
DSAnL
(n = 0 to 3)
IR
0
0
0
0
0
SA25 SA24 SA23 SA22 SA21 SA20 SA19 SA18 SA17 SA16
SA15 SA14 SA13 SA12 SA11 SA10 SA9 SA8 SA7 SA6 SA5 SA4 SA3 SA2 SA1 SA0
IR
Specification of DMA transfer source
0
External memory or on-chip peripheral I/O
1
Internal RAM
SA25 to SA16 Set the address (A25 to A16) of the DMA transfer source
(the default value is undefined).
During DMA transfer, the next DMA transfer source address is held.
When DMA transfer is completed, the DMA address set first is held.
SA15 to SA0 Set the address (A15 to A0) of the DMA transfer source
(the default value is undefined).
During DMA transfer, the next DMA transfer source address is held.
When DMA transfer is completed, the DMA address set first is held.
Cautions 1. Be sure to clear bits 14 to 10 of the DSAnH register to 0.
2. Set the DSAnH and DSAnL registers during one of the following periods in which DMA
transfer is disabled (DCHCn.Enn bit = 0).
Period from after reset to start of first DMA transfer
Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer
Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next
DMA transfer
3. When the value of the DSAn register is read, two 16-bit registers, DSAnH and DSAnL, are
read. If reading and updating conflict, the value being updated may be read (see 21.13
Cautions).
4. DMA transfer of misaligned 16-bit data with is not supported.
If an odd address is specified as the transfer source, the least significant bit of the
address is forcibly handled as being 0.
5. Following a reset, set the DSAnH, DSAnL, DDAnH, DDAnL, and DBCn registers before
starting DMA transfer. If these registers are not set, DMA transfers are not guaranteed.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 940 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(2) DMA destination address registers 0 to 3 (DDA0 to DDA3)
The DDA0 to DDA3 registers set the DMA destination address (26 bits each) for DMA channel n (n = 0 to 3).
These registers are divided into two 16-bit registers, DDAnH and DDAnL.
These registers can be read or written in 16-bit units.
After reset: Undefined
R/W
Address: DDA0H FFFFF086H, DDA1H FFFFF08EH,
DA2H FFFFF096H, DDA3H FFFFF09EH,
DDA0L FFFFF084H, DDA1L FFFFF08CH,
DDA2L FFFFF094H, DDA3L FFFFF09CH
DDAnH
(n = 0 to 3)
DDAnL
(n = 0 to 3)
IR
0
0
0
0
0
DA25 DA24 DA23 DA22 DA21 DA20 DA19 DA18 DA17 DA16
DA15 DA14 DA13 DA12 DA11 DA10 DA9 DA8 DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA0
IR
Specification of DMA transfer destination
0
External memory or on-chip peripheral I/O
1
Internal RAM
DA25 to DA16 Set the address (A25 to A16) of the DMA transfer destination
(the default value is undefined).
During DMA transfer, the next DMA transfer destination address is held.
When DMA transfer is completed, the DMA transfer source address set
first is held.
DA15 to DA0 Set the address (A15 to A0) of the DMA transfer destination
(the default value is undefined).
During DMA transfer, the next DMA transfer destination address is held.
When DMA transfer is completed, the DMA transfer source address set
first is held.
Cautions 1. Be sure to clear bits 14 to 10 of the DDAnH register to 0.
2. Set the DDAnH and DDAnL registers during one of the following periods in which DMA
transfer is disabled (DCHCn.Enn bit = 0).
Period from after reset to start of first DMA transfer
Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer
Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next
DMA transfer
3. When the value of the DDAn register is read, two 16-bit registers, DDAnH and DDAnL, are
read. If reading and updating conflict, a value being updated may be read (see 21.13
Cautions).
4. DMA transfer of misaligned 16-bit data is not supported.
If an odd address is specified as the transfer destination, the least significant bit of the
address is forcibly handled as being 0.
5. Following a reset, set the DSAnH, DSAnL, DDAnH, DDAnL, and DBCn registers before
starting DMA transfer. If these registers are not set, DMA transfers are not guaranteed.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 941 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(3) DMA transfer count registers 0 to 3 (DBC0 to DBC3)
The DBC0 to DBC3 registers are 16-bit registers that set the byte transfer count for DMA channel n (n = 0 to 3).
These registers hold the remaining transfer count during DMA transfer.
These registers are decremented by 1 per transfer regardless of the transfer data unit (8/16 bits), and the transfer
is terminated if a borrow occurs.
The number of transfers specified first is held when DMA transfer is complete.
These registers can be read or written in 16-bit units.
After reset: Undefined
R/W
Address: DBC0 FFFFF0C0H, DBC1 FFFFF0C2H,
DBC2 FFFFF0C4H, DBC3 FFFFF0C6H
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DBCn
BC15 BC14 BC13 BC12 BC11 BC10 BC9 BC8 BC7 BC6 BC5 BC4 BC3 BC2 BC1 BC0
(n = 0 to 3)
BC15 to
BC0
Byte transfer count setting or remaining
byte transfer count during DMA transfer
0000H
1st byte transfer or remaining byte transfer count
0001H
2nd byte transfer or remaining byte transfer count
:
FFFFH
:
65,536 (216)th byte transfer or remaining byte transfer count
Cautions 1. Set the DBCn register during one of the following periods in which DMA transfer is
disabled (DCHCn.Enn bit = 0).
Period from after reset to start of first DMA transfer
Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer
Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next
DMA transfer
2. Following a reset, set the DSAnH, DSAnL, DDAnH, DDAnL, and DBCn registers before
starting DMA transfer. If these registers are not set, DMA transfers are not guaranteed.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 942 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(4) DMA addressing control registers 0 to 3 (DADC0 to DADC3)
The DADC0 to DADC3 registers are 16-bit registers that control the DMA transfer mode for DMA channel n (n = 0
to 3).
These registers can be read or written in 16-bit units.
Reset sets these registers to 0000H.
After reset: 0000H
R/W
Address: DADC0 FFFFF0D0H, DADC1 FFFFF0D2H,
DADC2 FFFFF0D4H, DADC3 FFFFF0D6H
DADCn
15
14
13
12
11
10
9
8
0
DS0
0
0
0
0
0
0
(n = 0 to 3)
7
6
5
4
3
2
1
0
SAD1
SAD0
DAD1
DAD0
0
0
0
0
Setting of transfer data size
DS0
0
8 bits
1
16 bits
SAD1
SAD0
0
0
Increment
Setting of count direction of the transfer source address
0
1
Decrement
1
0
Fixed
1
1
Setting prohibited
DAD1
DAD0
0
0
Increment
0
1
Decrement
1
0
Fixed
1
1
Setting prohibited
Setting of count direction of the destination address
Cautions 1. Be sure to clear bits 15, 13 to 8, and 3 to 0 of the DADCn register to 0.
2. Set the DADCn register during one of the following periods in which DMA transfer is
disabled (DCHCn.Enn bit = 0).
Period from after reset to start of first DMA transfer
Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer
Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next
DMA transfer
3. The DSn0 bit specifies the size of the transfer data, and does not control bus sizing. For
details about external bus sizing, see 5.4.2 (1) Bus size configuration register (BSC).
4. If the transfer data size is set to 16 bits (DS0 bit = 1), transfer cannot be started from an
odd address. Transfer is always started from an address with the first bit of the lower
address aligned to 0.
5. If DMA transfer is executed on an on-chip peripheral I/O register (as the transfer source or
destination), be sure to specify the same transfer size as the register size. For example, to
execute DMA transfer on an 8-bit register, be sure to specify 8-bit transfer.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 943 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(5) DMA channel control registers 0 to 3 (DCHC0 to DCHC3)
The DCHC0 to DCHC3 registers are 8-bit registers that control DMA transfer for DMA channel n.
These registers can be read or written in 8-bit or 1-bit units. (However, bit 7 is read-only and bits 1 and 2 are writeonly. If bit 1 or 2 is read, the value read is always 0.)
Reset sets these registers to 00H.
After reset: 00H
R/W
Address: DCHC0 FFFFF0E0H, DCHC1 FFFFF0E2H,
DCHC2 FFFFF0E4H, DCHC3 FFFFF0E6H
6
Note 1
DCHCn
TCn
0
5
0
4
0
3
0
INITn
Note 2
Note 2
STGn
Enn
(n = 0 to 3)
TCnNote 1
Status flag indicating whether DMA transfer
via DMA channel n is complete
0
DMA transfer is not complete.
1
DMA transfer is complete.
This bit is set to 1 at the last DMA transfer and cleared to 0 when it is read.
INITnNote 2 If the INITn bit is set to 1 with DMA transfer disabled (Enn bit = 0), the
DMA transfer status can be initialized.
STGnNote 2 This is a software startup trigger for DMA transfer.
If this bit is set to 1 in the DMA transfer enabled state (TCn bit = 0, Enn
bit = 1), DMA transfer is started.
Enn
Setting of whether DMA transfer via
DMA channel n is to be enabled or disabled
0
DMA transfer disabled
1
DMA transfer enabled
DMA transfer is enabled when the Enn bit is set to 1.
When DMA transfer is completed (when a terminal count is generated), this bit is
automatically cleared to 0.
To abort DMA transfer, clear the Enn bit to 0 by software. To resume DMA transfer,
set the Enn bit to 1 again.
When aborting or resuming DMA transfer, be sure to follow the procedure described
in 18.13 (5) Procedure for temporarily stopping DMA transfer.
Notes 1. The TCn bit is read-only.
2. The INITn and STGn bits are write-only.
Cautions 1. Be sure to clear bits 6 to 3 of the DCHCn register to 0.
2. When DMA transfer is completed (when a terminal count is generated), the Enn bit is
cleared to 0 and then the TCn bit is set to 1. If the DCHCn register is read while its bits are
being updated, a value indicating “transfer not completed and transfer is disabled” (TCn bit
= 0 and Enn bit = 0) may be read.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 944 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(6) DMA trigger factor registers 0 to 3 (DTFR0 to DTFR3)
The DTFR0 to DTFR3 registers are 8-bit registers that control the DMA transfer start trigger via interrupt request
signals from on-chip peripheral I/O.
The interrupt request signals set by these registers serve as DMA transfer start factors.
These registers can be read or written in 8-bit units. However, DFn bit can be read or written in 1-bit units.
Reset sets these registers to 00H.
After reset: 00H
R/W
Address: DTFR0 FFFFF810H, DTFR1 FFFFF812H,
DTFR2 FFFFF814H, DTFR3 FFFFF816H
DTFRn
6
5
4
3
2
1
0
DFn
0
IFCn5
IFCn4
IFCn3
IFCn2
IFCn1
IFCn0
(n = 0 to 3)
DFnNote
DMA transfer request status flag
0
No DMA transfer request
1
DMA transfer request
Note Do not write 1 to the DFn bit by using software. Write 0 to this bit to clear a DMA transfer request if an
interrupt specified as the DMA transfer start factor occurs while DMA transfer is disabled.
Cautions 1. Set the IFCn5 to IFCn0 bits during one of the following periods in which DMA transfer is
disabled (DCHCn.Enn bit = 0).
Period from after reset to start of first DMA transfer
Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer
Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next
DMA transfer
2. Be sure to follow the steps below when changing the DTFRn register settings. (n = 0 to 3,
m = 0 to 3, n m)
Stop the DMAn operation of the channel to be rewritten (DCHCn.Enn bit = 0).
Change the DTFRn register settings. (Be sure to set DFn bit = 0 and change the
settings in the 8-bit manipulation.)
Confirm that DFn bit = 0.
(Stop the interrupt generation source operation
beforehand.)
Enable the DMAn operation (Enn bit = 1).
3. An interrupt request that is generated in the standby mode (IDLE1, IDLE2, STOP, or subIDLE mode) does not start the DMA transfer cycle (nor is the DFn bit set to 1).
4. If a DMA start factor is selected by the IFCn5 to IFCn0 bits, the DFn bit is set to 1 when an
interrupt from the selected on-chip peripheral I/O occurs, regardless of whether the DMA
transfer is enabled. If DMA is enabled in this status, DMA transfer immediately starts.
Remark
For the IFCn5 to IFCn0 bits, see Table 21-2 DMA Start Factors.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 945 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
Table 21-2. DMA Start Factors(1/2)
IFCn5
IFCn4
IFCn3
IFCn2
IFCn1
IFCn0
0
0
0
0
0
0
DMA request by interrupt disabled
Interrupt Source
0
0
0
0
0
1
INTP0
0
0
0
0
1
0
INTP1
0
0
0
0
1
1
INTP2
0
0
0
1
0
0
INTP3
0
0
0
1
0
1
INTP4
0
0
0
1
1
0
INTP5
0
0
0
1
1
1
INTP6
0
0
1
0
0
0
INTP7
0
0
1
0
0
1
INTTQ0OV
0
0
1
0
1
0
INTTQ0CC0
0
0
1
0
1
1
INTTQ0CC1
0
0
1
1
0
0
INTTQ0CC2
0
0
1
1
0
1
INTTQ0CC3
0
0
1
1
1
0
INTTP0OV
0
0
1
1
1
1
INTTP0CC0
0
1
0
0
0
0
INTTP0CC1
0
1
0
0
0
1
INTTP1OV
0
1
0
0
1
0
INTTP1CC0
0
1
0
0
1
1
INTTP1CC1
0
1
0
1
0
0
INTTP2OV
0
1
0
1
0
1
INTTP2CC0
0
1
0
1
1
0
INTTP2CC1
0
1
0
1
1
1
INTTP3CC0
0
1
1
0
0
0
INTTP3CC1/INTUA5T
0
1
1
0
0
1
INTTP4CC0
0
1
1
0
1
0
INTTP4CC1
0
1
1
0
1
1
INTTP5CC0
0
1
1
1
0
0
INTTP5CC1
0
1
1
1
0
1
INTTM0EQ0
0
1
1
1
1
0
INTCB0R/INTIIC1
0
1
1
1
1
1
INTCB0T
1
0
0
0
0
0
INTCB1R
1
0
0
0
0
1
INTCB1T
1
0
0
0
1
0
INTCB2R
1
0
0
0
1
1
INTCB2T
1
0
0
1
0
0
INTCB3R
1
0
0
1
0
1
INTCB3T
1
0
0
1
1
0
INTUA0R/INTCB4R
1
0
0
1
1
1
INTUA0T/INTCB4T
1
0
1
0
0
0
INTUA1R/INTIIC2
1
0
1
0
0
1
INTUA1T
1
0
1
0
1
0
INTUA2R/INTIIC0
1
0
1
0
1
1
INTUA2T
1
0
1
1
0
0
INTAD
Remark
n = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 946 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
Table 21-2. DMA Start Factors(2/2)
IFCn5
IFCn4
IFCn3
IFCn2
IFCn1
IFCn0
1
0
1
1
0
1
INTKR
1
0
1
1
1
0
INTRTC1
1
0
1
1
1
1
INTUA3R
1
1
0
0
0
0
INTUA3T
1
1
0
0
0
1
INTUA4R
1
1
0
0
1
0
INTUA4T
1
1
0
0
1
1
INTUA5R
1
1
0
1
0
0
INTUC0R
1
1
0
1
0
1
INTUC0T
Other than above
Remark
Interrupt Source
Setting prohibited
n = 0 to 3
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 947 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.4 Transfer Sources and Destinations
Table 21-3 shows the relationship between the transfer sources and destinations (: Transfer enabled, : Transfer
disabled).
Table 21-3. Relationship Between Transfer Sources and Destinations
Source
Transfer Destination
Internal ROM
On-Chip Peripheral I/O
Internal RAM
External Memory
On-chip peripheral I/O
Internal RAM
External memory
Internal ROM
Caution
The operation is not guaranteed for combinations of transfer destination and source marked with “”
in Table 21-3.
21.5 Transfer Modes
Single transfer is supported as the transfer mode.
In single transfer mode, the bus is released at each byte/halfword transfer. If there is a subsequent DMA transfer
request, transfer is performed again once. This operation continues until a terminal count occurs.
Figure 21-2. Single Transfer (Using Only One Channel)
DMA0 transfer request
Bus mastership
Note DMA0 Note DMA0 Note DMA0 Note
Note
Note
Note DMA0 Note DMA0 Note
When a DMA0 transfer request is acknowledged, a DMA transfer is performed and bus mastership is
released to the CPU. This operation is repeated as long as DMA0 transfer is requested, until the TC0 bit is
set to 1 (completion of DMA transfer).
Note The CPU is using the bus, or the bus is unused.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 948 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.6 Transfer Types
Two-cycle transfer is supported as the transfer type.
In two-cycle transfer, data is transferred in two cycles, a read cycle and a write cycle.
In the read cycle, the transfer source address is output and data is read from the source to the DMAC. In the write
cycle, the transfer destination address is output and data is written from the DMAC to the destination.
An idle cycle of one clock is always inserted between a read cycle and a write cycle. If the data bus width differs
between the transfer source and destination in two-cycle DMA transfer, the operation is performed as follows.
Transfer from 32-bit bus to 16-bit bus
A read cycle (the higher or lower 16-bit data) is generated, followed by a write cycle (16 bits).
Transfer from 16-/32-bit bus to 8-bit bus
A 16-bit read cycle is generated once, and then an 8-bit write cycle is generated twice.
Transfer from 8-bit bus to 16-/32-bit bus
An 8-bit read cycle is generated twice, and then a 16-bit write cycle is generated once.
Transfer from 16-bit bus to 32-bit bus
A 16-bit read cycle is generated once, and then a 16-bit write cycle is generated once.
For DMA transfer executed on an on-chip peripheral I/O register (transfer source/destination), be sure to specify the
same transfer size as the register size. For example, to execute DMA transfer on an 8-bit register, be sure to specify byte
(8-bit) transfer.
Remark
The bus width of each transfer source and destination is as follows.
On-chip peripheral I/O: 16 bits
Internal RAM:
32 bits
External memory:
8 bits or 16 bits
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 949 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.7 DMA Channel Priorities
The DMA channel priorities are fixed as follows.
DMA channel 0 > DMA channel 1 > DMA channel 2 > DMA channel 3
When the DMAC has released the bus, if another DMA transfer request that has a higher priority is issued, the one that
has the higher priority always takes precedence.
If a new transfer request for the same channel and a transfer request for another channel with a lower priority are
generated in a transfer cycle, DMA transfer on the channel with the lower priority is executed after the bus is released to
the CPU (the new transfer request for the same channel is ignored in the transfer cycle).
The priorities are checked for every transfer cycle.
Figure 21-3. Single Transfer (Using Multiple Channels)
DMA0 transfer request
DMA1 transfer request
DMA2 transfer request
DMA3 transfer request
Bus mastership
Note
Note DMA3 Note DMA0 Note DMA1 Note DMA2 Note DMA3 Note
Note
Note
Note
If multiple DMA transfer requests are acknowledged at the same time, transfer is executed from the one with
the higher priority.
Note The CPU is using the bus, or the bus is unused.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 950 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.8 Time Related to DMA Transfer
The time required to respond to a DMA request, and the minimum number of clocks required for DMA transfer are
shown below.
Single transfer: DMA response time () + Transfer source memory access () + 1Note 1 + Transfer destination
memory access ()
Table 21-4. Number of Execution Clocks During DMA Cycle
DMA Cycle
Number of Execution Clocks
Note 2
DMA request response time
4 clocks (MIN.) + Noise elimination time
Memory access
External memory access
Depends on connected memory
Internal RAM access
2 clocks
Peripheral I/O register access
3 clocks + Number of wait cycles specified by VSWC register
Note 3
.
Note 4
Notes 1. One clock is always inserted between a read cycle and a write cycle in DMA transfer.
2. If an external interrupt (INTPn) is specified as the trigger to start DMA transfer, noise elimination time is
added (n = 0 to 7).
3. Transfer must be executed twice when transferring 16-bit data using the 8-bit bus.
4. More wait cycles may be necessary for accessing a special register described in 3.4.9 (1).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 951 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.9 DMA Transfer Start Factors
There are two types of DMA transfer start factors, as shown below.
(1) Request by software
If the DCHCn.STGn bit is set to 1 while the DCHCn.TCn bit is 0 and DCHCn.Enn bit is 1 (DMA transfer enabled),
DMA transfer starts.
To request the next DMA transfer cycle immediately after that, confirm, by using the DBCn register, that the
preceding DMA transfer cycle has been completed, and set the STGn bit to 1 again (n = 0 to 3).
TCn bit = 0, Enn bit = 1
STGn bit = 1 … Starts the first DMA transfer.
Confirm that the contents of the DBCn register have been updated.
STGn bit = 1 … Starts the second DMA transfer.
:
Generation of terminal count … Enn bit = 0, TCn bit = 1, and INTDMAn signal is generated.
(2) Request by on-chip peripheral I/O
If an interrupt request is generated from the on-chip peripheral I/O set by the DTFRn register when the TCn bit is 0
and Enn bit is 1 (DMA transfer enabled), DMA transfer starts (n = 0 to 3).
Cautions 1. Two start factors (software trigger and hardware trigger) cannot be used for one DMA channel.
If two start factors are simultaneously generated for one DMA channel, only one of them is
valid. However, the valid start factor cannot be identified.
2. A new transfer request generated for a DMA channel after the preceding DMA transfer request
was generated and before the transfer is complete is ignored (cleared).
3. The transfer request interval for the same DMA channel varies depending on the setting of
bus waits in the DMA transfer cycle, the start status of the other channels, or an external bus
hold request. In particular, as described in Caution 2, a new transfer request generated for
the same channel before a DMA transfer cycle starts or during a DMA transfer cycle is ignored.
Therefore, the transfer request interval for the same DMA channel must be sufficiently
secured by the system. When a software trigger is used, whether the preceding DMA transfer
cycle has completed can be checked by reading the DBCn register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 952 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.10 DMA Abort Factors
DMA transfer is aborted if a bus hold occurs.
The same applies if transfer is executed between the internal memory/on-chip peripheral I/O and internal memory/onchip peripheral I/O.
When the bus hold is cleared, DMA transfer is resumed.
21.11 End of DMA Transfer
When DMA transfer has been completed the number of times set to the DBCn register and when the DCHCn.Enn bit is
cleared to 0 and TCn bit is set to 1, a DMA transfer end interrupt request signal (INTDMAn) is generated for the interrupt
controller (INTC) (n = 0 to 3).
The V850ES/JG3-L does not output a terminal count signal to an external device. Therefore, confirm completion of
DMA transfer by using the DMA transfer end interrupt or polling the TCn bit.
21.12 Operation Timing
The operation timing of DMA is as follows.
Four examples are shown:
Multiple channels request DMA transfer simultaneously (see Figure 21-4).
A new DMA transfer with a higher priority is requested during a DMA transfer (see Figure 21-5).
A new DMA transfer request for the same channel is ignored (one channel) (see Figure 21-6).
A new DMA transfer request for the same channel is ignored (multiple channels) (see Figure 21-7).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 953 of 1210
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
CPU processing
Preparation
for transfer
Idle
Write
DMA0 processing
Read
2. In the case of transfer between external memory spaces (multiplexed bus, no wait)
Remarks 1. Transfer in the order of DMA0 DMA1 DMA2
Starting DMA2 transfer clears the DF2 bit (0).
Starting DMA1 transfer clears the DF1 bit (0).
Starting DMA0 transfer clears the DF0 bit (0).
Preparation
for transfer
CPU processing
End
processing
When a DMA transfer request is generated, the corresponding DF bit is set (1).
Mode of processing
DMA transfer
DF2 bit
DF1 bit
DF0 bit
DMA2 transfer request
DMA1 transfer request
DMA0 transfer request
System clock
Figure 21-4. Priority of DMA (1)
Idle
Write
DMA1 processing
Read
Preparation
for transfer
CPU processing
End
processing
DMA2
processing
Read
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
Page 954 of 1210
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
CPU processing
Preparation
for transfer
Idle
Write
DMA0 processing
Read
2. In the case of transfer between external memory spaces (multiplexed bus, no wait)
Remarks 1. Transfer in the order of DMA0 DMA1 DMA0 (DMA2 is held pending.)
Starting DMA0 transfer clears the DF0 bit (0). Transfer on channel 2 is held pending.
Idle
Write
DMA1 processing
Read
After the DMA transfer on channel 0 is complete, a new DMA transfer is requested for channel 0.
Starting DMA1 transfer clears the DF1 bit (0).
Starting DMA0 transfer clears the DF0 bit (0).
Preparation
for transfer
CPU processing
End
processing
When a DMA transfer request is generated, the corresponding DF bit is set (1).
Mode of processing
DMA transfer
DF2 bit
DF1 bit
DF0 bit
DMA2 transfer request
DMA1 transfer request
DMA0 transfer request
System clock
Figure 21-5. Priority of DMA (2)
Preparation
for transfer
CPU processing
End
processing
DMA0
processing
Read
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
Page 955 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
Figure 21-6. Period in Which DMA Transfer Request Is Ignored (1)
System clock
DMAn transfer
requestNote 1
DFn bit
Mode of processing
Note 2
Note 2
CPU processing
Preparation
for transfer
DMA transfer
Note 2
CPU processing
DMA0 processing
Read cycle
Write cycle
End
processing
Idle
A new DMA transfer request is not acknowledged
Transfer request
generated after this
can be acknowledged
When a DMA transfer request is generated, the corresponding DF bit is set (1).
A new DMA transfer request is ignored because the preceding transfer is not complete.
Notes 1. Interrupt from on-chip peripheral I/O, or software trigger (DCHCn.STGn bit)
2. A new DMA request for the same channel is ignored between when the transfer request is generated
and the end processing.
Remark
In the case of transfer between external memory spaces (multiplexed bus, no wait)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 956 of 1210
V850ES/JG3-L
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Figure 21-7. Period in Which DMA Transfer Request Is Ignored (2)
System clock
DMA0 transfer request
DMA1 transfer request
DMA2 transfer request
DF0 bit
DF1 bit
DF2 bit
Read
Write
End
processing
Preparation
for transfer
CPU processing
DMA0 processing
Write
End
processing
Preparation
for transfer
Read
Idle
Idle
Mode of processing
Read
CPU processing
DMA1 processing
CPU processing
DMA0 transfer request
A new DMA0 transfer request is generated during DMA0 transfer.
A DMA transfer request for the same channel is ignored during DMA transfer.
Requests for DMA0 and DMA1 are generated at the same time.
The DMA0 request is ignored (a DMA transfer request for the same channel during transfer is ignored).
The DMA1 request is acknowledged.
Page 957 of 1210
Requests for DMA0, DMA1, and DMA2 are generated at the same time.
The DMA1 request is ignored (a DMA transfer request for the same channel during transfer is ignored).
The DMA0 request is acknowledged according to priority. The DMA2 request is held pending. (The next transfer will occur for DMA2).
DMA0
processing
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
Preparation
for transfer
DMA transfer
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
21.13 Cautions
(1) VSWC register
When using the DMAC, be sure to specify an appropriate value for the VSWC register, in accordance with the
operating frequency.
If an inappropriate value is specified for the VSWC register, the DMAC does not operate correctly (for details about
the VSWC register, refer to 3.4.8 (a) System wait control register (VSWC)).
(2) DMA transfer executed for internal RAM
When a data access instruction located in the internal RAM is executed for a misaligned address, do not execute
the instruction via DMA to transfer data to/from the internal RAM, because the CPU may not operate correctly
afterward.
Similarly, when executing a DMA transfer to transfer data to/from the internal RAM, do not execute a data access
instruction located in the internal RAM for a misaligned address.
(3) Reading DCHCn.TCn bit (n = 0 to 3)
The TCn bit is cleared to 0 when it is read, but not if read at a specific time. To definitely clear the TCn bit, add the
following processing.
(a) When waiting for completion of DMA transfer by polling TCn bit
Confirm that the TCn bit has been set to 1 (after TCn bit = 1 is read), and then read the TCn bit three more
times.
(b) When reading TCn bit in interrupt service routine
Read the TCn bit three times.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 958 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(4) DMA transfer initialization procedure (setting DCHCn.INITn bit to 1)
Even if the INITn bit is set to 1 when the channel executing DMA transfer is to be initialized, the channel may not
be initialized. To definitely initialize the channel, execute either of the following two procedures.
(a) Temporarily stop transfer on all DMA channels
Initialize the channel executing DMA transfer using the procedure in to below.
Note, however, that TCn bit is cleared to 0 when step is executed. Make sure that the other processing
programs do not expect that the TCn bit is 1.
Disable interrupts (DI).
Read the DCHCn.Enn bit for DMA channels other than the one to be forcibly terminated, and transfer the
value to a general-purpose register.
Clear the Enn bit for the DMA channels used (including the channel to be forcibly terminated) to 0. To
clear the Enn bit for the last DMA channel, execute the clear instruction twice. If the DMA transfer source
or destination is the internal RAM, execute the instruction three times.
Example: Execute instructions in the following order if channels 0, 1, and 2 are used (if the internal RAM
is not the transfer source or destination).
Write 00H to DCHC0 (clear the E00 bit to 0).
Write 00H to DCHC1 (clear the E11 bit to 0).
Write 00H to DCHC2 (clear the E22 bit to 0).
Write 00H to DCHC2 again (clear the E22 bit to 0).
Write 04H to DCHCn corresponding to the channel to be forcibly terminated (set the INITn bit to 1).
Read the TCn bit of each channel not to be forcibly terminated. If both the TCn bit and the Enn bit read in
are 1 (logical product (AND) is 1), clear the saved Enn bit to 0.
After the operation in , write the Enn bit value to the DCHCn register.
Enable interrupts (EI).
Cautions 1. Be sure to execute step above to prevent illegal setting of the Enn bit of the channels
on which DMA transfer has been normally completed between and .
2. Clearing the Enn bit to 0 () and setting the INITn bit to 1 () by using a bit
manipulation instruction clears the TCn bit, so a bit manipulation instruction must not be
used.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 959 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(b) Repeatedly setting the INITn bit until transfer is forcibly terminated correctly
Before starting DMA, copy the initial number of transfers of the channel to be forcibly terminated to a
general-purpose register.
Suppress a request from the DMA request source for the channel to be forcibly terminated (stop operation
of the on-chip peripheral I/O).
Check that the DMA transfer request for the channel to be forcibly terminated is not held pending, by
using the DTFRn.DFn bit. If a DMA transfer request is held pending, wait until execution of the pending
DMA transfer request is completed.
When it has been confirmed that the DMA request for the channel to be forcibly terminated is not held
pending, clear the Enn bit to 0.
Again, clear the Enn bit for the channel to be forcibly terminated to 0.
If the internal RAM is the transfer source or destination of the channel to be forcibly terminated, execute
this operation again.
Set the INITn bit of the channel to be forcibly terminated to 1.
Read the value of the DBCn register corresponding to the channel to be forcibly terminated, and compare
it with the value copied in . If the two values do not match, repeat operations and .
Remarks 1. When the value of the DBCn register is read in , the initial number of transfers is read if
forced termination has been correctly completed. If not, the remaining number of transfers is
read.
2. Note that method (b) may take a long time if the application frequently uses DMA transfer for a
channel other than the DMA channel to be forcibly terminated.
(5) Procedure for temporarily stopping DMA transfer (clearing Enn bit)
Stop and resume the DMA transfer under execution using the following procedure.
Suppress a transfer request from the DMA request source (stop operation of the on-chip peripheral I/O).
Check the DMA transfer request is not held pending, by using the DFn bit (check if the DFn bit = 0).
If a request is held pending, wait until execution of the pending DMA transfer request is completed.
Check the TCn bit to confirm that DMA transfer is not complete (confirm that the TCn bit is 0). If the TCn bit is
1, execute the DMA transfer completion processing.
If it has been confirmed that no DMA transfer request is held pending, clear the Enn bit to 0 (this operation
suspends DMA transfer).
Set the Enn bit to 1 to resume DMA transfer.
Resume the operation of the DMA request source that has been stopped (start operation of the on-chip
peripheral I/O).
(6) Memory boundary
The operation is not guaranteed if the address of the transfer source or destination exceeds the area of the DMA
source or destination (external memory, internal RAM, on-chip peripheral I/O) during DMA transfer. (For details
about the addresses of each area, see Figure 3-2.)
(7) Transferring misaligned data
DMA transfer of misaligned 16-bit data is not supported.
If an odd address is specified as the transfer source or destination, the least significant bit of the address is forcibly
handled as 0.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 960 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(8) Bus arbitration for CPU
Because the DMA controller is a higher priority bus master than the CPU, a CPU access that takes place during
DMA transfer is held pending until the DMA transfer cycle is completed and the bus is released to the CPU.
However, the CPU can access the internal ROM and the internal RAM for which DMA transfer is not being
executed.
The CPU can access the internal ROM and internal RAM when DMA transfer is being executed between the
external memory and on-chip peripheral I/O.
The CPU can access the internal ROM when DMA transfer is being executed between the on-chip peripheral I/O
and the internal RAM.
(9) Registers/bits that must not be rewritten during DMA transfer
Set up the following registers during one of the periods below when a DMA transfer is not under execution (n = 0 to
3).
[Registers]
DSAnH, DSAnL, DDAnH, DDAnL, DBCn, and DADCn registers
DTFRn.IFCn5 to DTFRn.IFCn0 bits
[Timing of setting]
Period from after reset to start of the first DMA transfer
Period from after channel initialization to start of DMA transfer
Period from after completion of DMA transfer (TCn bit = 1) to start of the next DMA transfer
(10) Be sure to set the following register bits to 0 (n = 0 to 3).
Bits 14 to 10 of DSAnH register
Bits 14 to 10 of DDAnH register
Bits 15, 13 to 8, and 3 to 0 of DADCn register
Bits 6 to 3 of DCHCn register
(11) DMA start factor
Do not start multiple DMA channels with the same start factor. If multiple channels are started with the same
factor, DMA for which a channel has already been set may starts or a DMA channel with a lower priority may be
acknowledged before a DMA channel with a higher priority. The operation cannot be guaranteed in this case.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 961 of 1210
V850ES/JG3-L
CHAPTER 21 DMA FUNCTION (DMA CONTROLLER)
(12) Read values of DSAn and DDAn registers
If the DSAn and DDAn registers are read during a DMA transfer, the values before and after the registers were
updated might be read.
For example, if the DSAnH register and then the DSAnL register are read when the DMA transfer source address
(DSAn register) is 0000FFFFH and the count direction is incremental (DADCn.SAD1 and DADCn.SAD0 bits = 00),
the value of the DSAnL register differs as follows, depending on whether DMA transfer is executed immediately
after the DSAnH register is read.
(a) If DMA transfer does not occur while DSAn register is being read
Reading DSAnH register value: DSAnH register = 0000H
Reading DSAnL register value: DSAnL register = FFFFH
(b) If DMA transfer occurs while DSAn register is being read
Reading DSAnH register value: DSAnH register = 0000H
Occurrence of DMA transfer
Incrementing DSAn register: DSAn register = 00010000H
Reading DSAnL register value: DSAnL register = 0000H
(13) Setting up DMA transfer again
When re-specifying DMA settings by using the DDAnH, DDAnL, DSAnH, DSAnL, DBCn, and DADCn registers
during the current DMA (the TCn bit is set to 1), be sure to initialize the DMA channels first. The DMA transfer
must be initialized using the procedure described in 21.13 (4) DMA transfer initialization procedure.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 962 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
The V850ES/JG3-L is provided with an interrupt controller dedicated to interrupt servicing (INTC) and can handle a total
of 57 interrupt requests.
An interrupt is an event that occurs independently of program execution, and an exception is an event whose
occurrence is dependent on program execution.
The V850ES/JG3-L can handle interrupt request signals from the on-chip peripheral hardware and external sources.
Moreover, exception processing can be started by a TRAP instruction (software exception) or by generation of an
exception event (illegal execution of instructions) (exception trap).
22.1 Features
Interrupts
• Non-maskable interrupts: External: 1, Internal: 1 source
• Maskable interrupts:
External: 8, Internal: 54 sources
• 8 levels of programmable priorities (maskable interrupts)
• Multiple interrupt control according to priority
• Masks can be specified for each maskable interrupt request.
• Noise elimination, edge detection, and valid edge specification for external interrupt request signals
Exceptions
• Software exceptions: 32 sources
• Exception trap:
2 sources (illegal opcode exception, debug trap)
The interrupt/exception sources are listed in Table 22-1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 963 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Table 22-1. Interrupt Source List (1/3)
Type
Default
Name
Trigger
Generating Exception
Priority
Reset
Unit
RESET
Code
Handler
Interrupt Control
Address
Register
RESET
0000H
00000000H
NMI pin valid edge input
Pin
0010H
00000010H
WDT2 overflow
RESET pin input
Reset input by internal source
Non-
NMI
maskable
INTWDT2
Software
TRAP0n
exception
Exception
00000040H
005nH
Note 2
00000050H
0060H
00000060H
POCLVI
0080H
00000080H LVIIC
Pin
0090H
00000090H PIC0
Pin
00A0H
000000A0H PIC1
Pin
00B0H
000000B0H PIC2
Pin
00C0H
000000C0H PIC3
Pin
00D0H
000000D0H PIC4
Pin
00E0H
000000E0H PIC5
Pin
00F0H
000000F0H PIC6
Pin
0100H
00000100H PIC7
0020H
TRAP instruction
004nH
TRAP1n
Note 2
TRAP instruction
ILGOP/
Illegal opcode/
DBG0
DBTRAP instruction
0
INTLVI
Low voltage detection
1
INTP0
External interrupt pin input edge
trap
Maskable
00000020H
Note 2
WDT2
Note 2
detection (INTP0)
2
INTP1
External interrupt pin input edge
detection (INTP1)
3
INTP2
External interrupt pin input edge
detection (INTP2)
4
INTP3
External interrupt pin input edge
detection (INTP3)
5
INTP4
External interrupt pin input edge
detection (INTP4)
6
INTP5
External interrupt pin input edge
detection (INTP5)
7
INTP6
External interrupt pin input edge
detection (INTP6)
8
INTP7
External interrupt pin input edge
detection (INTP7)
9
INTTQ0OV
TMQ0
0110H
00000110H TQ0OVIC
10
INTTQ0CC0 TMQ0 capture 0/compare 0 match
TMQ0 overflow
TMQ0
0120H
00000120H TQ0CCIC0
11
INTTQ0CC1 TMQ0 capture 1/compare 1 match
TMQ0
0130H
00000130H TQ0CCIC1
12
INTTQ0CC2 TMQ0 capture 2/compare 2 match
TMQ0
0140H
00000140H TQ0CCIC2
13
INTTQ0CC3 TMQ0 capture 3/compare 3 match
TMQ0
0150H
00000150H TQ0CCIC3
14
INTTP0OV
TMP0
0160H
00000160H TP0OVIC
15
INTTP0CC0 TMP0 capture 0/compare 0 match
TMP0
0170H
00000170H TP0CCIC0
16
INTTP0CC1 TMP0 capture 1/compare 1 match
TMP0
0180H
00000180H TP0CCIC1
17
INTTP1OV/ TMP1 overflow/
TMP1/
0190H
00000190H TP1OVIC/
INTUSBF1
USBF
TMP0 overflow
USBF Resume interrupt
UFIC1
18
INTTP1CC0 TMP1 capture 0/compare 0 match
TMP1
01A0H
000001A0H TP1CCIC0
19
INTTP1CC1/ TMP1 capture 1/compare 1 match/
TMP1/
01B0H
000001B0H TP1CCIC1/
20
INTUSBF0
USBF interrupt
USBF
INTTP2OV
TMP2 overflow
TMP2
01C0H
UFIC0
000001C0H TP2OVIC
21
INTTP2CC0 TMP2 capture 0/compare 0 match
TMP2
01D0H
000001D0H TP2CCIC0
22
INTTP2CC1 TMP2 capture 1/compare 1 match
TMP2
01E0H
000001E0H TP2CCIC1
Notes 1. The software that generated the exception event can be checked using the exception code set to the EICC
bit of the ECR register.
2. n = 0 to FH
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 964 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Table 22-1. Interrupt Source List (2/3)
Type
Default
Name
Trigger
Priority
Generating Exception
Unit
Code
Handler
Address
Interrupt
Control
Register
Maskable
23
INTTP3OV
TMP3 overflow/
TMP3/
/INTUA5R
INTUA5 reception completion/
UARTA5
01F0H
000001F0H
TP3OVIC/
UA5RIC
UARTA5 reception error
24
INTTP3CC0
TMP3 capture 0/compare 0 match
TMP3
0200H
00000200H
TP3/CCIC0
25
INTTP3CC1
TMP3 capture 1/compare 1 match/
TMP3/
0210H
00000210H
TP3CCIC1/
/INTUA5T
INTUA5 successive transmission enable
UARTA5
26
INTTP4OV
TMP4 overflow
TMP4
0220H
00000220H
TP4OVIC
27
INTTP4CC0
TMP4 capture 0/compare 0 match
TMP4
0230H
00000230H
TP4CCIC0
28
INTTP4CC1
TMP4 capture 1/compare 1 match
TMP4
0240H
00000240H
TP4CCIC1
29
INTTP5OV
TMP5 overflow
TMP5
0250H
00000250H
TP5OVIC
30
INTTP5CC0
TMP5 capture 0/compare 0 match
TMP5
0260H
00000260H
TP5CCIC0
31
INTTP5CC1
TMP5 capture 1/compare 1 match
TMP5
0270H
00000270H
TP5CCIC1
32
INTTM0EQ0 TMM0 compare match
TMM0
0280H
00000280H
TM0EQIC0
33
INTCB0R/
CSIB0 reception completion/
CSIB0/
0290H
00000290H
CB0RIC/
INTIIC1
CSIB0 reception error/
IIC1
UA5TIC
IICIC1
IIC1 transfer completion
34
INTCB0T
CSIB0 successive transmission write
CSIB0
02A0H
000002A0H
CB0TIC
CSIB1
02B0H
000002B0H
CB1RIC
CSIB1
02C0H
000002C0H
CB1TIC
CSIB2
02D0H
000002D0H
CB2RIC
CSIB2
02E0H
000002E0H
CB2TIC
CSIB3
02F0H
000002F0H
CB3RIC
CSIB3
0300H
00000300H
CB3TIC
0310H
00000310H
UA0RIC/
enable
35
INTCB1R
CSIB1 reception completion/
CSIB1 reception error
36
INTCB1T
CSIB1 successive transmission write
enable
37
INTCB2R
CSIB2 reception completion/
CSIB2 reception error
38
INTCB2T
CSIB2 successive transmission write
enable
39
INTCB3R
CSIB3 reception completion/
CSIB3 reception error
40
INTCB3T
CSIB3 successive transmission write
enable
41
INTUA0R/
UARTA0 reception completion/
UARTA0/
INTCB4R
UARTA0 reception error/
CSIB4
CB4RIC
CSIB4 reception completion/
CSIB4 reception error
42
INTUA0T/
UARTA0 successive transmission
UARTA0/
INTCB4T
enable/CSIB4 successive transmission
CSIB4
0320H
00000320H
UA0TIC/
CB4TIC
write enable
43
INTUA1R/
UARTA1 reception completion/
UARTA1/
INTIIC2
UARTA1 reception error/
IIC2
0330H
00000330H
UA1RIC/
IICIC2
IIC2 transfer completion
44
INTUA1T
UARTA1 successive transmission enable UARTA1
0340H
00000340H
UA1TIC
45
INTUA2R/
UARTA2 reception completion/
UARTA2/
0350H
00000350H
UA2RIC/
INTIIC0
UARTA2 reception error/
IIC0
IICIC0
IIC0 transfer completion
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 965 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Table 22-1. Interrupt Source List (3/3)
Type
Default
Name
Trigger
Generating Exception
Priority
Maskable
Unit
Code
Handler
Interrupt Control
Address
Register
46
INTUA2T
UARTA2 successive transmission enable UARTA2
0360H
00000360H UA2TIC
47
INTAD
A/D conversion completion
A/D
0370H
00000370H ADIC
48
INTDMA0
DMA0 transfer completion
DMA
0380H
00000380H DMAIC0
49
INTDMA1
DMA1 transfer completion
DMA
0390H
00000390H DMAIC1
50
INTDMA2
DMA2 transfer completion
DMA
03A0H
000003A0H DMAIC2
51
INTDMA3
DMA3 transfer completion
DMA
03B0H
000003B0H DMAIC3
52
INTKR
Key return interrupt
KR
03C0H
000003C0H KRIC
53
INTWTI
Watch timer interval/
WT/
03D0H
000003D0H WTIIC/
/INTRTC2
RTC interval signal
RTC
54
INTWT
Watch timer reference time/
WT/
03E0H
000003E0H WTIC/
/INTRTC0
RTC constant cycle signal
RTC
55
INTRTC1
RTC alarm match
RTC
03F0H
000003F0H RTC1IC
56
INTUA3R
UARTA3 reception completion/
UARTA3
0400H
00000400H UA3RIC
RTC2IC
RTC0IC
UARTA3 reception error
57
INTUA3T
UARTA3 successive transmission enable UARTA3
0410H
00000410H UA3TIC
58
INTUA4R
UARTA4 reception completion/
UARTA4
0420H
00000420H UA4RIC
UARTA4 reception error
59
INTUA4T
UARTA4 successive transmission enable UARTA4
0430H
00000430H UA4TIC
60
INTUC0R
UARTC0 reception completion/
UARTC0
0440H
00000440H UC0RIC
UARTC0 successive transmission enable UARTC0
0450H
00000450H UC0TIC
UARTC0 reception error
61
INTUC0T
Remarks 1. Default Priority: The priority order that is applied when multiple maskable interrupt requests having the
same priority level occur simultaneously. Smaller numbers have a higher priority, with 0
given the highest priority. The priority order of non-maskable interrupts is INTWDT2 >
NMI.
2. The execution address of the illegal instruction when an illegal opcode exception occurs is calculated by
(Restored PC 4).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 966 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.2 Non-Maskable Interrupts
A non-maskable interrupt request signal is acknowledged even when interrupts are disabled (DI) by the CPU. A nonmaskable interrupt is not subject to priority control and takes precedence over all the other interrupt request signals.
This product has the following two non-maskable interrupt request signals.
NMI pin input (NMI)
Non-maskable interrupt request signal generated by overflow of watchdog timer (INTWDT2)
The valid edge of the NMI pin can be selected from four types: “rising edge”, “falling edge”, “both edges”, and “no edge
detection”. "No edge detection" is selected by default. Be sure to specify the valid edge.
The non-maskable interrupt request signal generated by overflow of watchdog timer 2 (INTWDT2) functions when the
WDTM2.WDM21 and WDTM2.WDM20 bits are set to “01”.
If two or more non-maskable interrupt request signals occur at the same time, the interrupt with the higher priority is
serviced, as follows (the interrupt request signal with the lower priority is ignored).
INTWDT2 > NMI
If a new NMI or INTWDT2 request signal is issued while a non-maskable interrupt is being serviced, it is serviced as
follows.
(1) If new NMI request signal is issued while non-maskable interrupt is being serviced
The new NMI request signal is held pending, regardless of the value of the PSW.NP bit. The pending NMI request
signal is acknowledged after the non-maskable interrupt currently under execution has been serviced (after the
RETI instruction has been executed).
(2) If new INTWDT2 request signal is issued while non-maskable interrupt is being serviced
If the NP bit is set (1) while a non-maskable interrupt is being serviced, the new INTWDT2 request signal is held
pending. The pending INTWDT2 request signal is acknowledged after the non-maskable interrupt currently under
execution has been serviced (after the RETI instruction has been executed).
If the NP bit is cleared (0) while a non-maskable interrupt is being serviced, the newly generated INTWDT2 request
signal is acknowledged (the current non-maskable interrupt servicing is stopped).
Caution
For details about the non-maskable interrupt servicing requested by the INTWDT2 signal, see
22.2.2 (2) From INTWDT2 signal.
Figure 22-1. Non-Maskable Interrupt Request Signal Acknowledgment Operation (1/2)
(a) NMI and INTWDT2 request signals generated at the same time
Main routine
INTWDT2 servicing
NMI and INTWDT2 requests
(generated simultaneously)
System resetNote
Note Execute the initialization routine to restart the processing.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 967 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Figure 22-1. Non-Maskable Interrupt Request Signal Acknowledgment Operation (2/2)
(b) Non-maskable interrupt request signal generated during non-maskable interrupt servicing
Non-maskable
interrupt being
serviced
NMI
Non-maskable interrupt request signal generated during non-maskable interrupt servicing
NMI
INTWDT2
• NMI request generated during NMI servicing
• INTWDT2 request generated during NMI servicing
(NP bit = 1 retained before INTWDT2 request)
Main routine
NMI servicing
Main routine
NMI servicing
NMI
request
NMI
(Held pending)
request
Servicing of
pending NMI
INTWDT2
request
NMI
request
(Held pending)
INTWDT2
servicing
System resetNote
• INTWDT2 request generated during NMI servicing
(NP bit = 0 set before INTWDT2 request)
Main routine
NMI
servicing
INTWDT2
servicing
NP = 0
NMI
request
INTWDT2
request
System resetNote
• INTWDT2 request generated during NMI servicing
(NP = 0 set after INTWDT2 request)
Main routine
NMI
request
INTWDT2
request
NP = 0
NMI
INTWDT2
servicing
servicing
(Held pending)
System resetNote
INTWDT2 • NMI request generated during INTWDT2 servicing
• INTWDT2 request generated during INTWDT2 servicing
Main routine
Main routine
INTWDT2 servicing
INTWDT2 request
NMI
request
(Invalid)
INTWDT2 servicing
INTWDT2 request
System resetNote
INTWDT2
request
(Invalid)
System resetNote
Note Execute the initialization routine to restart the processing.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 968 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.2.1 Operation
If a non-maskable interrupt request signal is generated, the CPU performs the following processing and transfers
control to the handler routine.
Saves the current PC to FEPC.
Saves the current PSW to FEPSW.
Writes exception code (0010H, 0020H) to the higher halfword (FECC) of ECR.
Sets the PSW.NP and PSW.ID bits to 1 and clears the PSW.EP bit to 0.
Sets the handler address (00000010H, 00000020H) corresponding to the non-maskable interrupt to the PC, and
transfers control.
The servicing of a non-maskable interrupt is shown below.
Figure 22-2. Non-Maskable Interrupt Servicing
NMI input
INTC
acknowledged
Non-maskable interrupt request
CPU processing
PSW.NP
1
0
FEPC
FEPSW
ECR.FECC
PSW.NP
PSW.EP
PSW.ID
PC
PC
PSW
0010H, 0020H
1
0
1
00000010H,
00000020H
Interrupt request held pending
Interrupt servicing
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 969 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.2.2 Restoration
(1) From NMI pin input
Execution is returned from NMI servicing by using the RETI instruction.
When the RETI instruction is executed, the CPU performs the following processing and transfers control to the
address of the restored PC.
Loads the saved PC and PSW from FEPC and FEPSW, respectively, because the PSW.EP bit is 0 and the
PSW.NP bit is 1.
Transfers control back to the address of the restored PC and PSW.
The processing of the RETI instruction is shown below.
Figure 22-3. RETI Instruction Processing
RETI instruction
1
PSW.EP
0
1
PSW.NP
0
PC
PSW
FEPC
FEPSW
PC
PSW
Corresponding bit of ISPRNote
EIPC
EIPSW
0
PC
PSW
FEPC
FEPSW
Return to original processing
Note For details about the ISPR register, see 22.3.6 In-service priority register (ISPR).
Caution
When the EP and NP bits are changed by the LDSR instruction during non-maskable interrupt
servicing, to restore the PC and PSW correctly when returning by using the RETI instruction,
the EP bit must be cleared to 0 and the NP bit must be set to 1 using the LDSR instruction
immediately before the RETI instruction.
Remark
The solid line shows the CPU processing flow.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 970 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
(2) From INTWDT2 signal
Non-maskable interrupt servicing executed by INTWDT2 cannot be returned from by using the RETI instruction. To
return from such servicing, execute the following software reset processing to initialize any interrupt servicing and
branch to reset handler.
In the software reset processing, however, the registers that can be set up only once immediately after a reset ends
(such as the WDTM2 register) cannot be set up again. To reset these registers to their initial statuses, a hardware
reset such as reset pin input is required.
Figure 22-4. Software Reset Processing
INTWDT2 occurs.
Set to inhibit edge detection for NMI
(INTF0.INTF02 = 0, INTR0.INTR02 = 0)
↓
FEPC ← Software reset processing address
FEPSW ← Value that sets NP bit = 1, EP bit = 0 and ID bit = 1
↓
RETI
← The Loop start address in software
reset processing
FEPSW, EIPSW ← Value that sets NP bit = 0, EP bit = 0
and ID bit to 1
↓
RETI Execute Loop processing 9 times
↓
Other initialization processing
↓
Branch to reset handler
INTWDT2 service
routine
FEPC, EIPC
Remark
Software reset
processing routine
RETI need to execute 10 times for clear two level non-maskable
interrupts and 8 level maskable interrupts.
22.2.3 NP flag
The NP flag is a status flag that indicates that a non-maskable interrupt is being serviced.
This flag is set when a non-maskable interrupt request signal has been acknowledged, and masks non-maskable
interrupt requests to prohibit multiple interrupts from being acknowledged.
PSW
0
NP
NP
ID SAT CY OV
S
Z
Non-maskable interrupt servicing status
0
No non-maskable interrupt servicing (initial value)
1
Non-maskable interrupt currently being serviced
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
EP
Page 971 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.3 Maskable Interrupts
Maskable interrupt request signals can be masked by interrupt control registers. The V850ES/JG3-L has 55 maskable
interrupt sources.
When an interrupt request signal has been acknowledged, interrupts are disabled (DI) and subsequent maskable
interrupt request signals are not acknowledged.
When the EI instruction is executed in an interrupt service routine, interrupts are enabled (EI), which enables
acknowledgment of interrupt request signals having a priority higher than that of the interrupt request signal currently
being serviced. Interrupt request signals with the same priority level cannot be nested.
For details about multiple interrupts, see 22.6 Multiple Interrupt Servicing Control.
22.3.1 Operation
If a maskable interrupt request signal is generated, the CPU performs the following processing and transfers control to
the handler routine.
Saves the current PC to EIPC.
Saves the current PSW to EIPSW.
Writes an exception code to the lower halfword of ECR (EICC).
Sets the PSW.ID bit to 1 and clears the PSW.EP bit to 0.
Loads the corresponding handler address to the PC and transfers control.
A maskable interrupt request signal masked by the interrupt controller (INTC)(xxMK bit = 1) and a maskable interrupt
request signal generated while another interrupt is being serviced (while the PSW.NP bit is 1 or the PSW.ID bit is 1) are
held pending in the INTC. The cause of being held pending and the workaround are described below.
Table 22-2. Maskable Interrupts Held Pending
Cause
Workaround
xxMK bit = 1
Unmask the signal (clear xxMK bit to 0).
Another interrupt having higher priority is
Wait for the servicing of the interrupt to end.
being held pending
PSW.NP bit = 1 and PSW.ID bit = 1
Remark
Set the NP bit to 0 and the ID bit to 1 by using the RETI and LDSR instructions.
For details about the xxMK bit, see 22.3.4 Interrupt control register (xxICn).
Figure 22-5 shows the servicing of maskable interrupts.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 972 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Figure 22-5. Maskable Interrupt Servicing
INT input
INTC processing
xxIF = 1
No
Interrupt requested?
Yes
xxMK = 0
Yes
Priority higher than
that of interrupt currently
being serviced?
No
Is the interrupt
unmasked?
No
Yes
Priority higher
than that of other interrupt
request?
No
Yes
Highest default
priority among interrupt requests
with the same priority?
No
Yes
Interrupt request held pending
Maskable interrupt request
CPU processing
PSW.NP
1
0
PSW.ID
1
0
EIPC
EIPSW
ECR.EICC
PSW.EP
PSW.ID
Corresponding
bit of ISPRNote
PC
PC
PSW
Exception code
0
1
1
Interrupt request held pending
Handler address
Interrupt servicing
Note For the ISPR register, see 22.3.6 In-service priority register (ISPR).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 973 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.3.2 Restoration
Execution is returned from maskable interrupt servicing by using the RETI instruction.
When the RETI instruction is executed, the CPU performs the following processing and transfers control to the address
of the restored PC.
Loads the saved PC and PSW from EIPC and EIPSW, respectively, because the PSW.EP bit is 0 and the
PSW.NP bit is 0.
Transfers control back to the address of the restored PC and PSW.
The processing of the RETI instruction is shown below.
Figure 22-6. RETI Instruction Processing
RETI instruction
1
PSW.EP
0
1
PSW.NP
0
PC
PSW
FEPC
FEPSW
PC
PSW
Corresponding bit of ISPRNote
EIPC
EIPSW
0
PC
PSW
FEPC
FEPSW
Return to original processing
Note For details about the ISPR register, see 22.3.6 In-service priority register (ISPR).
Caution
When the EP and NP bits are changed by the LDSR instruction during maskable interrupt
servicing, to restore the PC and PSW correctly when returning by using the RETI instruction,
the EP bit and the NP bit must be cleared to 0 using the LDSR instruction immediately before
the RETI instruction.
Remark
The solid line shows the CPU processing flow.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 974 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.3.3 Priorities of maskable interrupts
The INTC can acknowledge an interrupt while servicing another. Interrupts that occur at the same time are serviced
according to their priority order.
There are two types of priority level control: control based on the programmable priority levels that are specified by the
interrupt priority level specification bit (xxPRn) of the interrupt control register (xxICn), and control based on the default
priority levels. Programmable priority control classifies interrupt request signals into eight levels according to the setting of
the xxPRn flag. When multiple interrupts having the same priority level specified by the xxPRn bit occur at the same time,
the interrupts are serviced according to the priority levels assigned to the corresponding interrupt requests (default priority
level) beforehand. For details, see Table 22-1 Interrupt Source List.
For details about multiple interrupts, see 22.6 Multiple Interrupt Servicing Control.
Remark xx: Identification name of each peripheral unit (see Table 22-3 Interrupt Control Registers (xxICn))
n: Peripheral unit number (see Table 22-3 Interrupt Control Registers (xxICn)).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 975 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Figure 22-7. Example of Processing in Which Another Interrupt Request Signal Is Issued
While an Interrupt Is Being Serviced (1/2)
Main routine
Servicing of a
EI
Servicing of b
EI
Interrupt
request b
(level 2)
Interrupt request a
(level 3)
Interrupt request b is acknowledged because the
priority of b is higher than that of a and interrupts are
enabled.
Servicing of c
Interrupt request c
(level 3)
Interrupt request d
(level 2)
Although the priority of interrupt request d is higher
than that of c, d is held pending because interrupts
are disabled.
Servicing of d
Servicing of e
EI
Interrupt request e
(level 2)
Interrupt request f
(level 3)
Interrupt request f is held pending even if interrupts are
enabled because its priority is lower than that of e.
Servicing of f
Servicing of g
EI
Interrupt request g
(level 1)
Interrupt request h
(level 1)
Interrupt request h is held pending even if interrupts are
enabled because its priority is the same as that of g.
Servicing of h
Caution
To service multiple interrupts, the values of the EIPC and EIPSW registers must be saved
before executing the EI instruction. When returning from multiple interrupt servicing, restore
the values of EIPC and EIPSW after executing the DI instruction.
Remarks 1. a to u in the figure are the temporary names of interrupt request signals shown for the sake of
explanation.
2. The default priority in the figure indicates the relative priority between two interrupt request
signals.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 976 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Figure 22-7. Example of Processing in Which Another Interrupt Request Signal Is Issued
While an Interrupt Is Being Serviced (2/2)
Main routine
Servicing of i
EI
Interrupt request i
(level 2)
Servicing of k
EI
Interrupt
request j
(level 3)
Interrupt request k
(level 1)
Interrupt request j is held pending because its
priority is lower than that of i.
k that occurs after j is acknowledged because it
has the higher priority.
Servicing of j
Servicing of l
Interrupt request l
(level 2)
Interrupt requests m and n are held pending
because servicing of l is performed in the interrupt
disabled status.
Interrupt
request m
(level 3)
Interrupt request n
(level 1)
Servicing of n
Pending interrupt requests are acknowledged after
servicing of interrupt request l.
At this time, interrupt request n is acknowledged
first even though m has occurred first because the
priority of n is higher than that of m.
Servicing of m
Interrupt request o
(level 3)
Interrupt
request p
(level 2)
Servicing of o
Servicing of p
EI
Servicing of q
EI
Servicing of r
EI
Interrupt
request q
Interrupt
(level 1)
request r
(level 0)
If levels 3 to 0 are acknowledged
Servicing of s
Interrupt request s
(level 1)
Interrupt
request t
(level 2)
Interrupt request u
(level 2)
Note 1
Note 2
Pending interrupt requests t and u are
acknowledged after servicing of s.
Because the priorities of t and u are the same, u is
acknowledged first because it has the higher
default priority, regardless of the order in which the
interrupt requests have been generated.
Servicing of u
Servicing of t
Notes 1. Lower default priority
2. Higher default priority
Caution
To service multiple interrupts, the values of the EIPC and EIPSW registers must be saved
before executing the EI instruction. When returning from multiple interrupt servicing, restore
the values of EIPC and EIPSW after executing the DI instruction.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 977 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Figure 22-8. Example of Servicing Interrupt Requests Generated Simultaneously
Main routine
EI
Interrupt request a (level 2)
Interrupt request b (level 1)Note 1
Interrupt request c (level 1)Note 2
Default priority
a>b>c
NMI request
Servicing of interrupt request b
.
.
Servicing of interrupt request c
Interrupt request b and c are
acknowledged first according to
their priorities.
Because the priorities of b and c are
the same, b is acknowledged first
according to the default priority.
Servicing of interrupt request a
Notes 1. Higher default priority
2. Lower default priority
Caution
To service multiple interrupts, the values of the EIPC and EIPSW registers must be saved
before executing the EI instruction. When returning from multiple interrupt servicing, restore
the values of EIPC and EIPSW after executing the DI instruction.
Remarks 1. a to c in the figure are the temporary names of interrupt request signals shown for the sake of
explanation.
2. The default priority in the figure indicates the relative priority between two interrupt request
signals.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 978 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.3.4 Interrupt control register (xxICn)
An xxICn register is assigned to each interrupt request signal (maskable interrupt) and sets the control conditions for
each maskable interrupt request.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 47H.
Cautions 1. To mask interrupts, set up the IMR register or use a bit manipulation instruction. The priority
levels must be specified at a time when no interrupt will occur.
2. Disable interrupts (DI) before reading the xxICn.xxIFn bit. If the xxIFn bit is read while interrupts
are enabled (EI), the correct value may not be read if acknowledging an interrupt and reading the
bit conflict.
After reset: 47H
xxICn
R/W
xxIFn
xxMKn
Address: FFFFF110H to FFFFF17CH
0
0
0
xxPRn2
xxPRn1
xxPRn0
Interrupt request flagNote
xxIFn
0
Interrupt request not issued
1
Interrupt request issued
xxMKn
Interrupt mask flag
0
Interrupt servicing enabled
1
Interrupt servicing disabled (pending)
xxPRn2
xxPRn1
xxPRn0
0
0
0
Specifies level 0 (highest).
0
0
1
Specifies level 1.
0
1
0
Specifies level 2.
0
1
1
Specifies level 3.
1
0
0
Specifies level 4.
1
0
1
Specifies level 5.
1
1
0
Specifies level 6.
1
1
1
Specifies level 7 (lowest).
Interrupt priority specification bit
Note The flag xxlFn is reset automatically by the hardware if an interrupt request signal is acknowledged.
Remark
xx: Identification name of each peripheral unit (see Table 22-3 Interrupt Control Registers (xxICn))
n: Peripheral unit number (see Table 22-3 Interrupt Control Registers (xxICn)).
The addresses and bits of the interrupt control registers are as follows.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 979 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Table 22-3. Interrupt Control Registers (xxICn) (1/2)
Address
Register
Bit
5
4
3
FFFFF110H LVIIC
LVIIF
LVIMK
0
0
0
LVIPR2
2
LVIPR1
1
LVIPR0
0
FFFFF112H PIC0
PIF0
PMK0
0
0
0
PPR02
PPR01
PPR00
FFFFF114H PIC1
PIF1
PMK1
0
0
0
PPR12
PPR11
PPR10
FFFFF116H PIC2
PIF2
PMK2
0
0
0
PPR22
PPR21
PPR20
FFFFF118H PIC3
PIF3
PMK3
0
0
0
PPR32
PPR31
PPR30
FFFFF11AH PIC4
PIF4
PMK4
0
0
0
PPR42
PPR41
PPR40
FFFFF11CH PIC5
PIF5
PMK5
0
0
0
PPR52
PPR51
PPR50
FFFFF11EH PIC6
PIF6
PMK6
0
0
0
PPR62
PPR61
PPR60
FFFFF120H PIC7
PIF7
PMK7
0
0
0
PPR72
PPR71
PPR70
FFFFF122H TQ0OVIC
TQ0OVIF
TQ0OVMK
0
0
0
TQ0OVPR2
TQ0OVPR1
TQ0OVPR0
FFFFF124H TQ0CCIC0
TQ0CCIF0
TQ0CCMK0
0
0
0
TQ0CCPR02
TQ0CCPR01
TQ0CCPR00
FFFFF126H TQ0CCIC1
TQ0CCIF1
TQ0CCMK1
0
0
0
TQ0CCPR12
TQ0CCPR11
TQ0CCPR10
FFFFF128H TQ0CCIC2
TQ0CCIF2
TQ0CCMK2
0
0
0
TQ0CCPR22
TQ0CCPR21
TQ0CCPR20
FFFFF12AH TQ0CCIC3
TQ0CCIF3
TQ0CCMK3
0
0
0
TQ0CCPR32
TQ0CCPR31
TQ0CCPR30
FFFFF12CH TP0OVIC
TP0OVIF
TP0OVMK
0
0
0
TP0OVPR2
TP0OVPR1
TP0OVPR0
FFFFF12EH TP0CCIC0
TP0CCIF0
TP0CCMK0
0
0
0
TP0CCPR02
TP0CCPR01
TP0CCPR00
FFFFF130H TP0CCIC1
TP0CCIF1
TP0CCMK1
0
0
0
TP0CCPR12
TP0CCPR11
TP0CCPR10
FFFFF132H TP1OVIC/
TP1OVIF/
TP1OVMK/
0
0
0
UFIF1
UFMK1
FFFFF134H TP1CCIC0
TP1CCIF0
TP1CCMK0
0
0
FFFFF136H TP1CCIC1/
TP1CCIF1/
TP1CCMK1/
0
0
UFIF0
UFMK0
UFIC1
UFIC0
TP1OVPR2/
TP1OVPR1/
TP1OVPR0/
UFPPR12
UFPPR11
UFPPR10
0
TP1CCPR02
TP1CCPR01
TP1CCPR00
0
TP1CCPR12/
TP1CCPR11/
TP1CCPR10/
UFPPR02
UFPPR01
UFPPR00
FFFFF138H TP2OVIC
TP2OVIF
TP2OVMK
0
0
0
TP2OVPR2
TP2OVPR1
TP2OVPR0
FFFFF13AH TP2CCIC0
TP2CCIF0
TP2CCMK0
0
0
0
TP2CCPR02
TP2CCPR01
TP2CCPR00
FFFFF13CH TP2CCIC1
TP2CCIF1
TP2CCMK1
0
0
0
TP2CCPR12
TP2CCPR11
TP2CCPR10
FFFFF13EH TP3OVIC
TP3OVIF
TP3OVMK
0
0
0
TP3OVPR2
TP3OVPR1
TP3OVPR0
/UA5RIF
/UA5RMK
/UA5RPR2
/UA5RPR1
/UA5RPR0
/UA5RIC
FFFFF140H TP3CCIC0
TP3CCIF0
TP3CCMK0
0
0
0
TP3CCPR02
TP3CCPR01
TP3CCPR00
FFFFF142H TP3CCIC1
TP3CCIF1
TP3CCMK1
0
0
0
TP3CCPR12
TP3CCPR11
TP3CCPR10
/UA5TIF
/UA5TMK
/UA5TPR2
/UA5TPR1
/UA5TPR0
/UA5TIC
FFFFF144H TP4OVIC
TP4OVIF
TP4OVMK
0
0
0
TP4OVPR2
TP4OVPR1
TP4OVPR0
FFFFF146H TP4CCIC0
TP4CCIF0
TP4CCMK0
0
0
0
TP4CCPR02
TP4CCPR01
TP4CCPR00
FFFFF148H TP4CCIC1
TP4CCIF1
TP4CCMK1
0
0
0
TP4CCPR12
TP4CCPR11
TP4CCPR10
FFFFF14AH TP5OVIC
TP5OVIF
TP5OVMK
0
0
0
TP5OVPR2
TP5OVPR1
TP5OVPR0
TP5CCPR00
FFFFF14CH TP5CCIC0
TP5CCIF0
TP5CCMK0
0
0
0
TP5CCPR02
TP5CCPR01
FFFFF14EH TP5CCIC1
TP5CCIF1
TP5CCMK1
0
0
0
TP5CCPR12
TP5CCPR11
TP5CCPR10
FFFFF150H TM0EQIC0
TM0EQIF0
TM0EQMK0
0
0
0
TM0EQPR02
TM0EQPR01
TM0EQPR00
FFFFF152H CB0RIC/
CB0RIF/
CB0RMK/
0
0
0
CB0RPR2/
CB0RPR1/
CB0RPR0/
IICIF1
IICMK1
IICPR12
IICPR11
IICPR10
FFFFF154H CB0TIC
CB0TIF
CB0TMK
0
0
0
CB0TPR2
CB0TPR1
CB0TPR0
FFFFF156H CB1RIC
CB1RIF
CB1RMK
0
0
0
CB1RPR2
CB1RPR1
CB1RPR0
FFFFF158H CB1TIC
CB1TIF
CB1TMK
0
0
0
CB1TPR2
CB1TPR1
CB1TPR0
FFFFF15AH CB2RIC
CB2RIF
CB2RMK
0
0
0
CB2RPR2
CB2RPR1
CB2RPR0
FFFFF15CH CB2TIC
CB2TIF
CB2TMK
0
0
0
CB2TPR2
CB2TPR1
CB2TPR0
FFFFF15EH CB3RIC
CB3RIF
CB3RMK
0
0
0
CB3RPR2
CB3RPR1
CB3RPR0
IICIC1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 980 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Table 22-3. Interrupt Control Registers (xxICn) (2/2)
Address
Register
Bit
5
4
3
2
1
0
FFFFF160H CB3TIC
CB3TIF
CB3TMK
0
0
0
CB3TPR2
CB3TPR1
CB3TPR0
FFFFF162H UA0RIC/
UA0RIF/
UA0RMK/
0
0
0
UA0RPR2/
UA0RPR1/
UA0RPR0/
CB4RIC
CB4RIF
CB4RMK
CB4RPR2
CB4RPR1
CB4RPR0
FFFFF164H UA0TIC/
UA0TIF/
UA0TMK/
UA0TPR2/
UA0TPR1/
UA0TPR0/
CB4TIC
CB4TIF
CB4TMK
CB4TPR2
CB4TPR1
CB4TPR0
UA1RIF/
UA1RMK/
UA1RPR2/
UA1RPR1/
UA1RPR0/
IICIF2
IICMK2
IICPR22
IICPR21
IICPR20
FFFFF166H UA1RIC/
IICIC2
0
0
0
0
0
0
FFFFF168H UA1TIC
UA1TIF
UA1TMK
0
0
0
UA1TPR2
UA1TPR1
UA1TPR0
FFFFF16AH UA2RIC/
UA2RIF/
UA2RMK/
0
0
0
UA2RPR2/
UA2RPR1/
UA2RPR0/
IICIF0
IICMK0
IICPR02
IICPR01
IICPR00
FFFFF16CH UA2TIC
UA2TIF
UA2TMK
0
0
0
UA2TPR2
UA2TPR1
UA2TPR0
FFFFF16EH ADIC
ADIF
ADMK
0
0
0
ADPR2
ADPR1
ADPR0
FFFFF170H DMAIC0
DMAIF0
DMAMK0
0
0
0
DMAPR02
DMAPR01
DMAPR00
FFFFF172H DMAIC1
DMAIF1
DMAMK1
0
0
0
DMAPR12
DMAPR11
DMAPR10
FFFFF174H DMAIC2
DMAIF2
DMAMK2
0
0
0
DMAPR22
DMAPR21
DMAPR20
IICIC0
FFFFF176H DMAIC3
DMAIF3
DMAMK3
0
0
0
DMAPR32
DMAPR31
DMAPR30
FFFFF178H KRIC
KRIF
KRMK
0
0
0
KRPR2
KRPR1
KRPR0
FFFFF17AH WTIIC
WTIIF
WTIMK
0
0
0
WTIPR2
WTIPR1
WTIPR0
/RTC2PPR2
/RTC2PPR1
/RTC2PPR0
0
0
0
WTPR2
WTPR1
WTPR0
/RTC2IC
FFFFF17CH WTIC
/RTC2IF
/RTC2MK
WTIF
WTMK
/RTC0IC
/RTC0IF
/RTC0MK
/RTC0PPR2
/RTC0PPR1
/RTC0PPR0
FFFFF17EH RTC1IC
RTC1IF
RTC1MK
0
0
0
RTC1PPR2
RTC1PPR1
RTC1PPR0
FFFFF180H UA3RIC
UA3RIF
UA3RMK
0
0
0
UA3RPR2
UA3RPR1
UA3RPRo
FFFFF182H UA3TIC
UA3TIF
UA3TMK
0
0
0
UA3TPR2
UA3TPR1
UA3TPR0
FFFFF184H UA4RIC
UA4RIF
UA4RMK
0
0
0
UA4RPR2
UA4RPR1
UA4RPR0
FFFFF186H UA4TIC
UA4TIF
UA4TMK
0
0
0
UA4TPR2
UA4TPR1
UA4TPR0
FFFFF188H UC0RIC
UC0RIF
UC0RMK
0
0
0
UC0RPPR2
UC0RPPR1
UC0RPPR0
FFFFF18AH UC0TIC
UC0TIF
UC0TMK
0
0
0
UC0TPPR2
UC0TPPR1
UC0TPPR20
22.3.5 Interrupt mask registers 0 to 3 (IMR0 to IMR3)
The IMR0 to IMR3 registers specify masking of the maskable interrupts. The xxMKn bit of the IMR0 to IMR3 registers
is equivalent to the xxICn.xxMKn bit.
Each IMRm register can be read or written in 16-bit units (m = 0 to 3).
If the higher 8 bits of each IMRm register are used as an IMRmH register and the lower 8 bits as an IMRmL register,
these registers can be read or written in 8-bit or 1-bit units (m = 0 to 3).
Reset sets these registers to FFFFH.
Caution
The device file defines the xxICn.xxMKn bit as a reserved word. If a bit is manipulated using the
name of xxMKn, the values of the xxICn register, instead of the IMRm register, are rewritten (as a
result, the values of the IMRm register are also rewritten).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 981 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
After reset: FFFFH
IMR3 (IMR3HNote)
R/W
15
14
1
1
7
IMR3L RTC1MK
6
5
4
WTMK/
RTC2MK
KRMK
R/W
3
2
1
Address: IMR2 FFFFF104H,
IMR2L FFFFF104H, IMR2H FFFFF105H
13
12
10
9
11
8
15
14
UA2TMK
UA2RMK/
IICMK0
UA1TMK
UA1RMK/
IIC2MK
UA0TMK/
CB4TMK
7
6
5
4
3
2
IMR2L CB3RMK CB2TMK CB2RMK CB1TMK CB1RMK CB0TMK
15
R/W
14
Note
IMR1 (IMR1H
) TP5CCMK1 TP5CCMK0
7
IMR1L
TP3OVMK/
UA5RMK
6
15
Note
IMR0 (IMR0H
) TP0CCMK0
IMR0L
14
CB3TMK
1
0
CB0RMK/
IICMK1
TM0EQMK0
TP5OVMK
12
10
9
8
TP4OVMK
TP3CCMK1/
UA5TMK
TP3CCMK0
2
1
0
TP1CCMK0
TP1OVMK/
UFMK1
TP0CCMK1
11
TP4CCMK1 TP4CCMK0
4
3
TP2OVMK
TP1CCMK1/
UFMK0
Address: IMR0 FFFFF100H,
IMR0L FFFFF100H, IMR0H FFFFF101H
13
12
10
11
9
TP0OVMK TQ0CCMK3 TQ0CCMK2 TQ0CCMK1 TQ0CCMK0 TQ0OVMK
8
PMK7
7
6
5
4
3
2
1
0
PMK6
PMK5
PMK4
PMK3
PMK2
PMK1
PMK0
LVIMK
Setting of interrupt mask flag
xxMKn
Note
13
5
R/W
UA0RMK/
CB4RMK
Address: IMR1 FFFFF102H,
IMR1L FFFFF102H, IMR1H FFFFF103H
TP2CCMK1 TP2CCMK0
After reset: FFFFH
0
DMAMK3 DMAMK2 DMAMK1 DMAMK0
ADMK
After reset: FFFFH
8
UC0TMK UC0RMK UA4TMK UA4RMK UA3TMK UA3RMK
WTMK/
RTC0MK
After reset: FFFFH
IMR2 (IMR2HNote)
Address: IMR3 FFFFF106H,
IMR3L FFFFF106H, IMR3H FFFFF107H
13
12
10
9
11
0
Interrupt servicing enabled
1
Interrupt servicing disabled
To read or write bits 8 to 15 of the IMR0 to IMR3 registers in 8-bit or 1-bit units, specify them as bits 0
to 7 of IMR0H to IMR3H registers.
Caution
Set bits 14 and 15 of the IMR3 register to 1. If the setting of these bits is changed, the
operation is not guaranteed.
Remark
xx: Identification name of each peripheral unit (see Table 22-3
Interrupt Control Registers
(xxICn)).
n:
Peripheral unit number (see Table 22-3 Interrupt Control Registers (xxICn))
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 982 of 1210
V850ES/JG3-L
22.3.6
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
In-service priority register (ISPR)
The ISPR register holds the priority level of the maskable interrupt currently acknowledged. When an interrupt request
signal is acknowledged, the bit of this register corresponding to the priority level of that interrupt request signal is set to 1
and remains set while the interrupt is serviced.
When the RETI instruction is executed, the bit corresponding to the interrupt request signal having the highest priority is
automatically reset to 0 by hardware. However, it is not reset to 0 when execution is returned from non-maskable interrupt
servicing or exception processing.
This register is read-only, in 8-bit or 1-bit units.
Reset sets this register to 00H.
Caution
If an interrupt is acknowledged while the ISPR register is being read in the interrupt enabled (EI)
status, the value of the ISPR register after the bits of the register have been set by acknowledging the
interrupt may be read. To accurately read the value of the ISPR register before an interrupt is
acknowledged, read the register while interrupts are disabled (DI).
After reset: 00H
ISPR
R
Address: FFFFF1FAH
ISPR7
ISPR6
ISPR5
ISPR4
ISPR3
ISPR2
ISPR1
ISPR0
ISPRn
Remark
Priority of interrupt currently acknowledged
0
Interrupt request signal with priority n not acknowledged
1
Interrupt request signal with priority n acknowledged
n = 0 to 7 (priority level)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 983 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.3.7 ID flag
This flag stores information regarding enabling or disabling maskable interrupt request signals. The interrupt disable
flag (ID) is assigned to the PSW.
Reset sets this flag to 1 and the PSW register to 00000020H.
After reset: 00000020H
PSW
0
NP
EP
ID SAT CY OV
S
Z
Specification of maskable interrupt servicingNote
ID
0
Maskable interrupt request signal acknowledgment enabled
1
Maskable interrupt request signal acknowledgment disabled
Note Interrupt disable flag (ID) function
This bit is set to 1 by the DI instruction and cleared to 0 by the EI instruction. Its value is also rewritten by
the RETI instruction, or by an LDSR instruction that writes data to the PSW.
Non-maskable interrupt request signals and exceptions are acknowledged regardless of this flag. When
a maskable interrupt request signal is acknowledged, the ID flag is automatically set to 1 by hardware.
An interrupt request signal generated during the acknowledgment disabled period (ID flag = 1) is
acknowledged when the xxICn.xxIFn bit is set to 1, and the ID flag is cleared to 0.
22.3.8 Watchdog timer mode register 2 (WDTM2)
This register can be read or written in 8-bit units (for details, see CHAPTER 12 WATCHDOG TIMER 2).
Reset sets this register to 67H.
After reset: 67H
WDTM2
R/W
Address: FFFFF6D0H
0
WDM21
WDM21
WDM20
0
0
Stops operating
0
1
Non-maskable interrupt request mode
1
×
Reset mode (initial-value
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
WDM20
0
0
0
0
0
Selection of watchdog timer operation mode
Page 984 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.4 Software Exception
A software exception occurs when the CPU executes the TRAP instruction, and can always be acknowledged.
22.4.1 Operation
If a software exception occurs, the CPU performs the following processing and transfers control to the handler routine.
Saves the current PC to EIPC.
Saves the current PSW to EIPSW.
Writes an exception code to the lower 16 bits (EICC) of ECR (interrupt source).
Sets the PSW.EP and PSW.ID bits to 1.
Sets the handler address (00000040H or 00000050H) for the software exception to the PC and transfers control.
The processing of a software exception is shown below.
Figure 22-9. Software Exception Processing
TRAP instructionNote
CPU processing
EIPC
EIPSW
ECR.EICC
PSW.EP
PSW.ID
PC
PC
PSW
Exception code
1
1
Handler address
Exception processing
Note TRAP instruction format: TRAP vector (the vector is a value from 00H to 1FH.)
The handler address is determined by the TRAP instruction’s operand (vector). If the vector is 00H to 0FH, the handler
address is 00000040H, and if the vector is 10H to 1FH, the handler address is 00000050H.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 985 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.4.2 Restoration
Execution is returned from software exception processing by the using RETI instruction.
When the RETI instruction is executed, the CPU performs the following processing and transfers control to the address
of the restored PC.
Loads the saved PC and PSW from EIPC and EIPSW, respectively, because the PSW.EP bit is 1.
Transfers control back to the address of the restored PC and PSW.
The processing of the RETI instruction is shown below.
Figure 22-10. RETI Instruction Processing
RETI instruction
1
PSW.EP
0
1
PSW.NP
0
PC
PSW
EIPC
EIPSW
PC
PSW
Corresponding bit of ISPRNote
EIPC
EIPSW
0
PC
PSW
FEPC
FEPSW
Return to original processing
Note For details about the ISPR register, see 22.3.6 In-service priority register (ISPR).
Caution
When the EP and NP bits are changed by the LDSR instruction during the software exception
processing, in order to restore the PC and PSW correctly when returning by using the RETI
instruction, the EP bit must be set to 1 and the NP bit must be cleared to 0 using the LDSR
instruction immediately before the RETI instruction.
Remark
The solid line shows the CPU processing flow.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 986 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.4.3 EP flag
The EP flag is a status flag that indicates that exception processing is in progress. This flag is set when an exception
occurs.
PSW
0
EP
NP
ID SAT CY OV
S
Z
Exception processing status
0
Exception processing not in progress (initial value).
1
Exception processing in progress.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
EP
Page 987 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.5 Exception Trap
An exception trap is an interrupt that is requested when the illegal execution of an instruction takes place. In the
V850ES/JG3-L, an illegal opcode exception (ILGOP: Illegal Opcode Trap) is used as an exception trap.
22.5.1 Illegal opcode
An illegal opcode is defined as an instruction with instruction opcode (bits 10 to 5) = 111111B, sub-opcode (bits 26 to
23) = 0111B to 1111B, and sub-opcode (bit 16) = 0B. When such an instruction is executed, an exception trap occurs.
15
11 10
5 4
0 31
27 26
23 22
16
0 1 1 1
to
× × × × × 1 1 1 1 1 1 × × × × × × × × × ×
× × × × × × 0
1 1 1 1
: Arbitrary
Caution
Illegal opcodes must not be used because instructions may be newly assigned to these opcodes in
the future.
(1) Operation
If an exception trap occurs, the CPU performs the following processing and transfers control to the handler routine.
Saves the current PC to DBPC.
Saves the current PSW to DBPSW.
Sets the PSW.NP, PSW.EP, and PSW.ID bits to 1.
Sets the handler address (00000060H) for the exception trap to the PC and transfers control.
The processing of an exception trap is shown below.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 988 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
Figure 22-11. Exception Trap Processing
Exception trap (ILGOP) occurs
CPU processing
DBPC
DBPSW
PSW.NP
PSW.EP
PSW.ID
PC
PC
PSW
1
1
1
00000060H
Exception processing
(2) Restoration
Execution is returned from an exception trap by using the DBRET instruction. When the DBRET instruction is
executed, the CPU performs the following processing and transfers control to the address of the restored PC.
Loads the saved PC and PSW from DBPC and DBPSW.
Transfers control back to the address of the restored PC and PSW.
Cautions 1. DBPC and DBPSW can be accessed only during the interval between the execution of an
illegal opcode and the DBRET instruction.
2. If an illegal opcode is executed, specify the default settings or stop the subsequent
processing.
The processing for returning from an exception trap is shown below.
Figure 22-12. Returning from Exception Trap
DBRET instruction
PC
PSW
DBPC
DBPSW
Jump to address of restored PC
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 989 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.5.2 Debug trap
A debug trap is an exception that occurs when the DBTRAP instruction is executed and can always be acknowledged.
(1) Operation
If a debug trap occurs, the CPU performs the following processing.
Saves the current PC to DBPC.
Saves the current PSW to DBPSW.
Sets the PSW.NP, PSW.EP, and PSW.ID bits to 1.
Sets the handler address (00000060H) for the debug trap to the PC and transfers control.
Caution
The DBTRAP instruction is intended for debugging and is basically used by the debug tool. If the
application uses this instruction while it is being executed by the debug tool, a malfunction might
occur.
The processing of a debug trap is shown below.
Figure 22-13. Debug Trap Processing
DBTRAP instruction
CPU processing
DBPC
DBPSW
PSW.NP
PSW.EP
PSW.ID
PC
PC
PSW
1
1
1
00000060H
Exception processing
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 990 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
(2) Restoration
Execution is returned from a debug trap by using the DBRET instruction.
When the DBRET instruction is executed, the CPU performs the following processing and transfers control to the
address of the restored PC.
Loads the saved PC and PSW from DBPC and DBPSW.
Transfers control back to address of the restored PC and PSW.
Caution
DBPC and DBPSW can be accessed only during the interval between the execution of the
DBTRAP instruction and the DBRET instruction.
The processing for returning from a debug trap is shown below.
Figure 22-14. Returning from Debug Trap
DBRET instruction
PC
PSW
DBPC
DBPSW
Jump to address of restored PC
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 991 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.6 Multiple Interrupt Servicing Control
In multiple interrupt servicing control, the servicing of an interrupt is stopped if an interrupt request signal that has a
higher priority level is generated. The higher priority interrupt request signal is then acknowledged and the interrupt is
serviced.
If an interrupt request signal with a lower or equal priority level is generated while an interrupt is being serviced, the
newly generated interrupt request signal will be held pending.
Multiple interrupt servicing control is performed when interrupts are enabled (PSW.ID bit = 0). Even in an interrupt
service routine, multiple interrupt control must be performed while interrupts are enabled (ID bit = 0). If a maskable
interrupt or software exception occurs in a maskable interrupt or software exception service program, EIPC and EIPSW
must be saved.
The following example shows the procedure for servicing multiple interrupts.
(1) To acknowledge maskable interrupt request signals in a service program
Service program for maskable interrupt or exception
…
…
EIPC saved to memory or register
EIPSW saved to memory or register
EI instruction (enables interrupt acknowledgment)
…
…
Acknowledges maskable interrupt
…
…
DI instruction (disables interrupt acknowledgment)
Saved value restored to EIPSW
Saved value restored to EIPC
RETI instruction
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 992 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.7 External Interrupt Request Input Pins (NMI, INTP0 to INTP7)
22.7.1 Noise elimination
(1) Noise elimination for NMI pin
The NMI pin has an internal noise eliminator that uses analog delay (several 10 ns). Therefore, a signal input to
the NMI pin is not detected as an edge unless it maintains its input level for a certain period. The edge is detected
only after a certain period has elapsed.
The NMI pin is used for releasing the STOP mode. In the STOP mode, noise elimination using the system clock is
not performed because the internal system clock is stopped.
(2) Noise elimination for INTP0 to INTP7 pins
The INTP0 to INTP7 pins have an internal noise eliminator that uses analog delay (several 10 ns). Therefore, a
signal input to each pin is not detected as an edge unless it maintains its input level for a certain period. The edge
is detected only after a certain period has elapsed.
(3) Noise elimination for INTP3 pin
The INTP3 pin has an internal digital/analog noise eliminator, and digital or analog noise elimination can be
selected by using the NFC.NFEN bit (analog delay: several 10 ns).
The sampling clock can be selected from fXX/64, fXX/128, fXX/256, fXX/512, fXX/1,024, or fXT by using the NFC.NFC2
to NFC.NFC0 bits. If the sampling clock is set to fXX/64, fXX/128, fXX/256, fXX/512, or fXX/1,024, the sampling clock
stops in the IDLE or STOP mode. It cannot therefore be used to release a standby mode. To release a standby
mode, select fXT as the sampling clock or select the analog noise eliminator.
22.7.2 Edge detection
The valid edge of each of the NMI and INTP0 to INTP7 pins can be selected from the following four.
Rising edge
Falling edge
Both rising and falling edges
No edge detected
Caution
The NMI pin alternately functions as the P02 pin, and functions as a normal port pin after being reset.
To enable the NMI pin function, use the PMC0 register. The initial setting of the NMI pin is “No edge
detected”. Select the NMI pin valid edge by using the INTF0 and INTR0 registers.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 993 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
(1) External interrupt falling, rising edge specification register 0 (INTF0, INTR0)
The INTF0 and INTR0 registers are 8-bit registers that specify detection of the falling and rising edges of the NMI
pin via bit 2 and the external interrupt pins (INTP0 to INTP3) via bits 3 to 6.
These registers can be read or written in 8-bit or 1-bit units.
Reset sets these registers to 00H.
Caution When switching from the port function to the external interrupt function (alternate function), an
edge might be detected. Therefore, set the INTF0n and INTR0n bits to 00, and then specify the
external interrupt function (PMC0.PMC0n bit = 1).
When switching from the external interrupt function to the port function, an edge might be
detected as well. Therefore, set the INTF0n and INTR0n bits to 00, and then specify the port
function (PMC0.PMC0n bit = 0).
After reset: 00H
INTF0
0
INTR0
Remark
0
R/W
Address: INTF0 FFFFFC00H, INTR0 FFFFFC20H
INTF06
INTF05
INTF04
INTF03
INTF02
INTP3
INTP2
INTP1
INTP0
NMI
INTR06
INTR05
INTR04
INTR03
INTR02
INTP3
INTP2
INTP1
INTP0
NMI
0
0
0
0
For how to specify a valid edge, see Table 22-4.
Table 22-4. Valid Edge Specification
Caution
INTF0n
INTR0n
Valid Edge Specification (n = 2 to 6)
0
0
No edge detected
0
1
Rising edge
1
0
Falling edge
1
1
Both rising and falling edges
Be sure to clear the INTF0n and INTR0n bits to 00 when these registers are not used for the NMI
or INTP0 to INTP3 pins.
Remark
n = 2:
Control of NMI pin
n = 3 to 6: Control of INTP0 to INTP3 pins
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 994 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
(2) External interrupt falling, rising edge specification register 3 (INTF3, INTR3)
The INTF3 and INTR3 registers are 8-bit registers that specify detection of the falling and rising edges of the
external interrupt pin (INTP7).
These registers can be read or written in 8-bit or 1-bit units.
Reset sets these registers to 00H.
Cautions 1. When switching from the port function to the external interrupt function (alternate function),
an edge might be detected. Therefore, set the INTF31 and INTR31 bits to 00, and then specify
the external interrupt function (PMC3.PMC31 bit = 1).
When switching from the external interrupt function to the port function, an edge might be
detected as well. Therefore, set the INTF31 and INTR31 bits to 00, and then specify the port
function (PMC3.PMC31 bit = 0).
2. The INTP7 pin and RXDA0 pin are alternate-function pins. When using the pin as the RXDA0
pin, disable edge detection for the INTP7 alternate-function pin (clear the INTF3.INTF31 bit
and the INRT3.INTR31 bit to 0). When using the pin as the INTP7 pin, stop UARTA0 reception
(clear the UA0CTL0.UA0RXE bit to 0).
After reset: 00H
INTF3
0
R/W
0
Address: INTF3 FFFFFC06H, INTR3 FFFFFC26H
0
0
0
0
INTF31
0
INTP7
0
INTR3
0
0
0
0
0
INTR31
0
INTP7
Remark
For how to specify a valid edge, see Table 22-5.
Table 22-5. Valid Edge Specification
INTF31
INTR31
0
0
No edge detected
0
1
Rising edge
1
0
Falling edge
1
1
Both rising and falling edges
Caution
Valid Edge Specification
Be sure to clear the INTF31 and INTR31 bits to 00 when these registers are not used for the
INTP7 pin.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 995 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
(3) External interrupt falling, rising edge specification register 9H (INTF9H, INTR9H)
The INTF9H and INTR9H registers are 8-bit registers that specify detection of the falling and rising edges of the
external interrupt pins (INTP4 to INTP6).
These registers can be read or written in 8-bit or 1-bit units.
Reset sets these registers to 00H.
Caution
When switching from the port function to the external interrupt function (alternate function), an
edge might be detected. Therefore, set the INTF9n and INTR9n bits to 00, and then specify the
external interrupt function (PMC9.PMC9n bit = 1).
When switching from the external interrupt function to the port function, an edge might be
detected as well. Therefore, set the INTF9n and INTR9n bits to 00, and then specify the port
function (PMC9.PMC9n bit = 0).
After reset: 00H
15
INTF9H
INTR9H
14
Address: INTF9H FFFFFC13H, INTR9H FFFFFC33H
13
INTF915 INTF914 INTF913
INTP6
INTP5
INTP4
15
14
13
INTR915 INTR914 INTR913
INTP6
Remark
R/W
INTP5
12
11
10
9
8
0
0
0
0
0
12
11
10
9
8
0
0
0
0
0
INTP4
For how to specify a valid edge, see Table 22-6.
Table 22-6. Valid Edge Specification
INTF9n
INTR9n
0
0
No edge detected
0
1
Rising edge
1
0
Falling edge
1
1
Both rising and falling edges
Caution
Valid Edge Specification (n = 13 to 15)
Be sure to clear the INTF9n and INTR9n bits to 00 when these registers are not used for the
INTP4 to INTP6 pins.
Remark
n = 13 to 15: Control of INTP4 to INTP6 pins
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 996 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
(4) Noise elimination control register (NFC)
Digital noise elimination can be selected for the INTP3 pin. The noise elimination settings are specified by using
the NFC register.
When digital noise elimination is selected, the sampling clock for digital sampling can be selected from fXX/64,
fXX/128, fXX/256, fXX/512, fXX/1,024, or fXT. Sampling is performed three times.
Even when digital noise elimination is selected, using fXT as the sampling clock makes it possible to use the INTP3
interrupt request signal to release the IDLE1, IDLE2, and STOP modes.
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
Caution
After the sampling clock has been changed, it takes 3 sampling clock cycles to initialize the
digital noise eliminator. Therefore, if an INTP3 valid edge is input within these 3 sampling clock
cycles after the sampling clock has been changed, an interrupt request signal may be generated.
Therefore, be careful about the following points when using the interrupt and DMA functions.
When using the interrupt function, after the 3 sampling clock cycles have elapsed, enable
interrupts after the interrupt request flag (PIC3.PIF3 bit) has been cleared.
When using the DMA function (started by INTP3), enable DMA after 3 sampling clock cycles
have elapsed.
After reset: 00H
NFC
NFEN
R/W
Address: FFFFF318H
0
0
NFEN
0
0
NFC2
NFC1
NFC0
Settings of INTP3 pin noise elimination
0
Analog noise elimination (60 ns (TYP.))
1
Digital noise elimination
NFC2
NFC1
NFC0
0
0
0
fXX/64
0
0
1
fXX/128
0
1
0
fXX/256
0
1
1
fXX/512
1
0
0
fXX/1,024
1
0
1
fXT (subclock)
Other than above
Digital sampling clock
Setting prohibited
Remarks 1. Since sampling is performed three times, the reliably eliminated noise width is 2 sampling clock
cycles.
2. In the case of noise with a width smaller than 2 sampling clock cycles, an interrupt request signal
is generated if noise synchronized with the sampling clock is input.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 997 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
An example of the timing of noise elimination performed by the timer T input pin digital filter is shown Figure 22-15.
Figure 22-15. Example of Digital Noise Elimination Timing
Noise elimination clock
Input signal
Sampling
3 times
Sampling
3 times
1 clock
1 clock
2 clocks
2 clocks
3 clocks
3 clocks
Internal signal
Remark
If the noise elimination clock cycle is sampled twice or less while the INTP3 input signal is high
level (or low level), the input signal is judged as noise and eliminated. If the noise elimination
clock cycle is sampled three times or more, the edge of the signal is detected as a valid input.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 998 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.8 Interrupt Response Time of CPU
Except for the following cases, the interrupt response time of the CPU is at least 4 clock cycles. To input interrupt
request signals successively, input the next interrupt request signal at least 5 clock cycles after the preceding interrupt.
In IDLE1/IDLE2/STOP mode
When the external bus is accessed
When interrupt request non-sample instructions are successively executed (see 22.9 Periods in Which Interrupts
Are Not Acknowledged by CPU.)
When an interrupt control register is accessed
Figure 22-16. Pipeline Operation When Interrupt Request Signal Is Acknowledged (Outline)
(1) Minimum interrupt response time
4 system clock cycles
Internal clock
Interrupt request
Instruction 1
IF
Instruction 2
ID
EX MEM WB
IFX IDX
Interrupt acknowledgment operation
INT1 INT2 INT3 INT4
Instruction (first instruction of interrupt service routine)
IF
ID
EX
(2) Maximum interrupt response time
6 system clock cycles
Internal clock
Interrupt request
Instruction 1
IF
Instruction 2
ID
EX MEM MEM MEM WB
IFX IDX
Interrupt acknowledgment operation
INT1 INT2 INT3 INT3 INT3 INT4
Instruction (first instruction of interrupt service routine)
Remark
IF
ID
EX
INT1 to INT4: Interrupt acknowledgment processing
IFX:
Invalid instruction fetch
IDX:
Invalid instruction decode
Conditions
Interrupt response time (internal system clock cycles)
Minimum
Maximum
Internal interrupt
External interrupt
4
4+
Analog delay time
6
6+
Analog delay time
The following cases are exceptions.
In IDLE1/IDLE2/STOP mode
External bus access
Two or more interrupt request non-sample instructions are
executed in succession
Access to peripheral I/O register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 999 of 1210
V850ES/JG3-L
CHAPTER 22 INTERRUPT SERVICING/EXCEPTION PROCESSING FUNCTION
22.9 Periods in Which Interrupts Are Not Acknowledged by CPU
An interrupt is acknowledged by the CPU while an instruction is being executed.
However, no interrupt will be
acknowledged between an interrupt request non-sample instruction and the next instruction (the interrupt is held pending).
The interrupt request non-sample instructions are as follows.
EI instruction
DI instruction
LDSR reg2, 0x5 instruction (for PSW)
The store instruction for the PRCMD register
The store, SET1, NOT1, or CLR1 instructions for the following registers.
Interrupt-related registers:
Interrupt control register (xxICn), interrupt mask registers 0 to 3 (IMR0 to IMR3)
Power save control register (PSC)
On-chip debug mode register (OCDM)
Remarks 1. xx: Identification name of each peripheral unit (see Table 22-3 Interrupt Control Registers (xxICn))
n:
Peripheral unit number (see Table 22-3 Interrupt Control Registers (xxICn)).
2. For details about the operation of the pipeline, see the V850ES Architecture User's Manual
(U15943E).
22.10 Cautions
22.10.1 Restored PC
Restored PC is the value of the program counter (PC) saved to EIPC, FEPC, or DBPC when interrupt servicing starts.
If a non-maskable or maskable interrupt is acknowledged during the execution of any of the following instructions, the
execution of that instruction stops and resumes following completion of interrupt servicing.
Load instructions (SLD.B, SLD.BU, SLD.H, SLD.HU, SLD.W)
Divide instructions (DIV, DIVH, DIVU, DIVHU)
PREPARE, DISPOSE instructions (only when an interrupt occurs before the stack pointer is updated)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1000 of 1210
V850ES/JG3-L
CHAPTER 23 KEY INTERRUPT FUNCTION
CHAPTER 23 KEY INTERRUPT FUNCTION
23.1 Function
A key interrupt request signal (INTKR) can be generated by inputting a falling edge to the eight key input pins (KR0 to
KR7) by setting the KRM register.
Caution If any of the KR0 to KR7 pins is at low level, the INTKR signal is not generated even if a falling edge
is input to another pin.
Table 23-1. Flag Assignment
Flag
Pin Description
Alternate Function
KRM0
Controls KR0 signal.
P50
KRM1
Controls KR1 signal.
P51
KRM2
Controls KR2 signal.
P52
KRM3
Controls KR3 signal.
P53
KRM4
Controls KR4 signal.
P54
KRM5
Controls KR5 signal.
P55
KRM6
Controls KR6 signal.
P90
KRM7
Controls KR7 signal.
P91
Figure 23-1. Key Return Block Diagram
KR7
KR6
KR5
KR4
INTKR
KR3
KR2
KR1
KR0
KRM7 KRM6 KRM5 KRM4 KRM3 KRM2 KRM1 KRM0
Key return mode register (KRM)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1001 of 1210
V850ES/JG3-L
CHAPTER 23 KEY INTERRUPT FUNCTION
23.2 Pin Functions
The key input pins that are used as key interrupts are also used for the other functions shown in Table 23-2. To use
these pins as key interrupts, this function must be specified by setting the relevant registers (see Table 4-15 Settings
When Pins Are Used for Alternate Functions).
Table 23-2. Pin Functions
Port
Pin No.
Key Input Function
Other Functions
Function
37
P50
KR0
P50/TIQ01/TOQ01/RTP00
38
P51
KR1
P51/TIQ02/TOQ02/RTP01
39
P52
KR2
P52/TIQ03/TOQ03/RTP02/DDI
40
P53
KR3
P53/SIB2/TIQ00/TOQ00/RTP03/DDO
41
P54
KR4
P54/SOB2/RTP04/DCK
42
P55
KR5
P55/SCKB2/RTP05/DMS
61
P90
KR6
P90/TXDA1/SDA02
62
P91
KR7
P91/RXDA1/SCL02
23.3 Registers
(1) Key return mode register (KRM)
The KRM register controls the KR0 to KR7 signals by using the KRM0 to KRM7 bits.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
KRM
KRM7
R/W
KRM6
Address: FFFFF300H
KRM5
KRM4
KRMn
KRM3
KRM2
KRM1
KRM0
Control of key return mode
0
Do not detect key return signal
1
Detect key return signal
Caution Clear the KRM register to 00H before rewriting it.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1002 of 1210
V850ES/JG3-L
CHAPTER 23 KEY INTERRUPT FUNCTION
23.4 Cautions
(1) If a low level is input to any of the KR0 to KR7 pins, the INTKR signal is not generated even if the falling edge is
input to another pin.
(2) The RXDA1 and KR7 pins must not be used at the same time. When using the RXDA1 pin, do not use the KR7
pin. When using the KR7 pin, do not use the RXDA1 pin (it is recommended to set the PFC91 bit to 1 and clear
PFCE91 bit to 0).
(3) If the KRM register is changed, an interrupt request signal (INTKR) may be generated. To prevent this, change the
KRM register after disabling (DI) or masking interrupts, then clear the interrupt request flag (KRIC.KRIF bit) to 0,
and enable (EI) or unmask interrupts.
(4) To use the key interrupt function, be sure to set the function of the port pin to “key return pin” and then enable the
key interrupt function by using the KRM register. To switch the pin function from key return pin to port pin, disable
the key interrupt function by using the KRM register and then set pin function to “port pin”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1003 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
CHAPTER 24 STANDBY FUNCTION
24.1 Overview
The power consumption of the system can be effectively reduced by using the standby modes in combination and
selecting the appropriate mode for the application. The available standby modes are listed in Table 24-1.
Table 24-1. Standby Modes
Mode
HALT mode
Functional Outline
Mode in which only the operating clock of the CPU is stopped.
The total current consumption of the system can be reduced by using this mode in combination
with the normal operation mode for intermittent operation.
IDLE1 mode
Mode in which all the operations of the internal circuits except the oscillator, PLL
Note
, and flash
memory are stopped.
This mode can reduce the power consumption to a level lower than the HALT mode because it
stops the operation of the on-chip peripheral functions.
IDLE2 mode
Mode in which all the operations of the internal circuits except the oscillator are stopped.
This mode can reduce the power consumption to a level lower than the IDLE1 mode because it
stops the operations of the on-chip peripheral functions, PLL, and flash memory.
STOP mode
Mode in which all the operations of the internal circuits except the subclock oscillator are stopped.
This mode can reduce the power consumption to a level lower than the IDLE2 mode.
Two modes are available: STOP mode and low-voltage STOP mode.
The power consumption decreases further in the low-voltage STOP mode because the voltage of
the regulator is lowered.
Subclock operation mode
Mode in which the subclock is used as the internal system clock.
This mode can reduce the power consumption to a level lower than the normal operation mode.
Two modes are available: subclock operation mode and low-voltage subclock operation mode.
The power consumption decreases further in the low-voltage subclock operation mode because
the voltage of the regulator is lowered.
Sub-IDLE mode
Mode in which all the operations of the internal circuits except the oscillator, PLL operation
Note
, and
flash memory are stopped, in the subclock operation mode.
This mode can reduce the power consumption to a level lower than the subclock operation mode.
Two modes are available: sub-IDLE mode and low-voltage sub-IDLE mode.
The power consumption decreases further in the low-voltage sub-IDLE mode because the voltage
of the regulator is lowered.
RTC backup mode
Mode in which the RTC continues counting on the subclock based the supply of backup voltage to
the RVDD pin when VDD falls below the operating voltage while the subclock oscillator and RTC are
separated from other internal circuits. The power consumption in this mode is even lower than in lowvoltage STOP mode.
Note that the data of the internal RAM and the values of the CPU registers cannot be held in RTC
backup mode, so when restoring the system from this mode, be sure to stop reset signal input after
resupplying VDD.
Note
In the IDLE1 or sub-IDLE mode, the PLL retains the operating status immediately before mode transition. If the
PLL operation is not necessary, stop the PLL to lower the power consumption. In the IDLE2 mode, mode
transition causes the PLL to stop automatically.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1004 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Figure 24-1. Status Transition
Reset
Sub-IDLE mode
(fX operates, PLL operates)
Oscillation
stabilization waitNote1
Normal operation mode
Subclock
operation mode
(fX operates, PLL operates)
Clock through mode
(PLL operates)
HALT mode
(fX operates, PLL operates)
PLL lockup
time wait
PLL mode
(PLL operates)
Oscillation
stabilization wait
by software
HALT mode
(fX operates, PLL stops)
Clock through mode
(PLL stops)
IDLE1 mode
(fX operates, PLL operates)
Subclock
operation mode
(fX stops, PLL stops)
Low-voltage
subclock operation mode
(fX stops, PLL stops)
Sub-IDLE mode
(fX stops, PLL stops)
Low-voltage
sub-IDLE mode
(fX stops, PLL stops)
Oscillation
stabilization wait
Oscillation
stabilization waitNote1
Oscillation
stabilization waitNote1
IDLE2 mode
(fX operates, PLL stops)
STOP mode
(fX stops, PLL stops)
Low-voltage
STOP mode
(fX stops, PLL stops)
IDLE1 mode
(fX operates, PLL stops)
RTC
backup modeNote2
Notes1. If a WDT overflow occurs during an oscillation stabilization time, the CPU operates on the internal
oscillator clock.
2. The system will enter the RTC backup mode while the interface of the RTC backup area is separated
as long as the following two conditions are met:
Remark
•
VDD is lower than the operating voltage.
•
Backup power is being supplied to RVDD.
fX: Main clock oscillation
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1005 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.2 Registers
(1) Power save control register (PSC)
The PSC register is an 8-bit register that controls the standby function. The STP bit of this register is used to
specify the standby mode. This register is a special register that can only be written in a specific sequence (see
3.4.7 Special registers).
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
PSC
R/W
Address: FFFFF1FEH
7
3
2
0
0
NMI1M
NMI0M
INTM
0
0
STP
0
NMI1M
Standby mode release control upon occurrence of INTWDT2 signal
0
Standby mode release by INTWDT2 signal enabled
1
Standby mode release by INTWDT2 signal disabled
NMI0M
Standby mode release control by NMI pin input
0
Standby mode release by NMI pin input enabled
1
Standby mode release by NMI pin input disabled
INTM
Standby mode release control via maskable interrupt request signal
0
Standby mode release by maskable interrupt request signal enabled
1
Standby mode release by maskable interrupt request signal disabled
Standby modeNote setting
STP
0
Normal operation mode
1
Standby mode
Note Standby mode set by STP bit: IDLE1, IDLE2, STOP, or sub-IDLE mode
Cautions 1. Before setting one of the standby modes (excluding the HALT mode), specify
the mode by using the PSMR.PSM1 and PSMR.PSM0 bits and then set the
STP bit.
2. The settings of the NMI1M, NMI0M, and INTM bits are invalid when HALT mode
is released.
3. If the NMI1M, NMI0M, or INTM bit is set to 1 at the same time the STP bit is set
to 1, the setting of NMI1M, NMI0M, or INTM bit becomes invalid. If there is an
unmasked
interrupt
request
signal
being
held
pending
when
the
IDLE1/IDLE2/STOP mode is set, set the bit corresponding to the interrupt
request signal (NMI1M, NMI0M, or INTM) to 1, and then set the STP bit to 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1006 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(2) Power save mode register (PSMR)
The PSMR register is an 8-bit register that controls the operation status in the power save mode and the clock
operation.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
PSMR
0
R/W
0
Address: FFFFF820H
0
0
PSM1
PSM0
0
0
IDLE1, sub-IDLE modes
0
1
STOP mode
1
0
IDLE2, sub-IDLE modes
1
1
STOP mode
0
0
< >
< >
PSM1
PSM0
Specification of operation in software standby mode
Cautions 1. Be sure to clear bits 2 to 7 to “0”.
2. The PSM0 and PSM1 bits are valid only when the PSC.STP bit is 1.
Remark
IDLE1:
In this mode, all operations except the oscillator operation and some other circuits (flash
memory and PLL) are stopped.
After the IDLE1 mode is released, the normal operation mode is restored without needing
to secure the oscillation stabilization time, like the HALT mode.
IDLE2:
In this mode, all operations except the oscillator operation are stopped.
After the IDLE2 mode is released, the normal operation mode is restored following the
lapse of the setup time specified by the OSTS register (flash memory and PLL).
STOP:
In this mode, all operations except the subclock oscillator operation are stopped.
After the STOP mode is released, the normal operation mode is restored following the
lapse of the oscillation stabilization time specified by the OSTS register.
Sub-IDLE: In this mode, all other operations are halted except for the oscillator. After the IDLE mode
has been released by the interrupt request signal, the subclock operation mode will be
restored after 12 cycles of the subclock have been secured.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1007 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(3) Oscillation stabilization time select register (OSTS)
The wait time until the oscillation stabilizes after the STOP mode is released or the setup time until the internal
flash memory stabilizes after the IDLE2 mode is released is controlled by the OSTS register.
The OSTS register can be read or written 8-bit units.
Reset sets this register to 06H.
After reset: 06H
OSTS
R/W
0
0
OSTS2
OSTS1
Address: FFFFF6C0H
0
0
0
OSTS2
OSTS1
OSTS0
OSTS0 Selection of oscillation stabilization time/setup timeNote
fX
4 MHz
5 MHz
0
0
0
210/fX
0.256 ms
0.205 ms
0
0
1
211/fX
0
1
0
0.512 ms
0.410 ms
12
1.024 ms
0.819 ms
13
2 /fX
0
1
1
2 /fX
2.048 ms
1.638 ms
1
0
0
214/fX
4.096 ms
3.277 ms
15
8.192 ms
6.554 ms
16
16.38 ms
13.107 ms
1
0
1
2 /fX
1
1
0
2 /fX
1
1
1
Setting prohibited
Note The oscillation stabilization time and setup time are required when the STOP mode and
IDLE2 mode are released, respectively.
Cautions 1. The wait time following the release of STOP mode does not include the time
until the clock oscillation starts (“a” in the figure below, regardless of whether
the STOP mode is released by a reset or an interrupt).
STOP mode release
Voltage waveform of X1 pin
a
VSS
2. Be sure to clear bits 3 to 7 to “0”.
3. The oscillation stabilization time following reset release differs depending on
the option byte. For details, see CHAPTER 30 OPTION BYTE.
Remark
fX = Main clock oscillation frequency
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1008 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(4) Regulator protection register (REGPR)
The REGPR register is used to protect the regulator output voltage level control register 0 (REGOVL0) so that
illegal data is not written to REGOVL0. Data cannot be written to the REGOVL0 register unless enabling data
(C9H) is written to the REGPR register. Only two types of data, C9H (enabling data) and 00H (protection data),
can be written to the REGPR register. Writing any other value is prohibited. (If a value other than C9H or 00H is
written to the REGPR register, the written value is set to prohibit a write access to the REGOVL0 register, but the
operation is not guaranteed.)
This register can be read or written only in 8-bit units (accessing it in 1-bit units is prohibited).
Reset sets this register to 00H (protection data status).
After reset: 00H
REGPR
PR7
R/W
PR6
Address: FFFFF331H
PR5
PR4
PR3
PR2
PR1
PR0
Protection data status: REGPR = 00H
In this status, the REGOVL0 register is protected from an illegal write access. In the protection data
status, a value is not written to the REGOVL0 register even if an attempt is made to write it, and the
REGOVL0 register holds the previous value.
Be sure to set REGPR to 00H, except when changing the value of the REGOVL0 register, in order to
avoid unexpected malfunction.
Enabling data status: REGPR = C9H
In this status, a write access to the REGOVL0 register is enabled.
Transition from normal mode low-voltage STOP mode
See 24.6.1 Setting and operation status.
Transition of subclock operation mode low-voltage subclock operation mode
See 24.7.1 Setting and operation status.
Transition of subclock operation mode low-voltage sub-IDLE mode
See 24.8.1 Setting and operation status.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1009 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(5) Regulator output voltage level control register 0 (REGOVL0)
This register is used to select the low-voltage STOP mode, low-voltage subclock operation mode, or low-voltage
sub-IDLE mode. The power consumption can be reduced by lowering the output voltage of the regulator.
This register can be read or written only in 8-bit units (accessing it in 1-bit units is prohibited).
Reset sets this register to 00H.
This register must be always written in pairs with the regulator protection register (REGPR).
After reset: 00H
0
REGOVL0
R/W
Address: FFFFF332H
0
0
0
0
0
SUBMD
STPMD
SUBMD Output mode selection of regulator in subclock operation mode/sub-IDLE mode
0
Subclock operation mode/sub-IDLE mode
1
Low-voltage subclock operation mode/low-voltage sub-IDLE mode
STPMD
Output mode selection of regulator in STOP mode
0
STOP mode
1
Low-voltage STOP mode
Write operation of REGOVL0 register
Writing the REGOVL0 register is enabled only when C9H is written to the REGPR register (see 24.2 (4)
Regulator protection register (REGPR)).
This register can be set only to 00H, 01H, and 02H.
Setting 03H is prohibited. If 03H is set, the operation is not guaranteed.
Read operation of REGOVL0 register
The default value of the REGOVL0 register is 00H. After a value has been written to this register in the
correct procedureNote, the written value is read. The procedure for reading this register is not restricted.
Note Transition from normal mode low-voltage STOP mode
See 24.6.1 Setting and operation status.
Transition of subclock operation mode low-voltage subclock operation mode
See 24.7.1 Setting and operation status.
Transition of subclock operation mode low-voltage sub-IDLE mode
See 24.8.1 Setting and operation status.
Caution
Be sure to stop the main clock and PLL when setting the low-voltage subclock mode and
low-voltage sub-IDLE mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1010 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.3 HALT Mode
24.3.1 Setting and operation status
The HALT mode is set when a dedicated instruction (HALT) is executed in the normal operation mode.
In the HALT mode, the clock oscillator continues operating. Only clock supply to the CPU is stopped; clock supply to
the other on-chip peripheral functions continues.
As a result, program execution is stopped, and the internal RAM retains the contents before the HALT mode was set.
The on-chip peripheral functions that are independent of instruction processing by the CPU continue operating.
Table 24-3 shows the operating status in the HALT mode.
The average current consumption of the system can be reduced by using the HALT mode in combination with the
normal operation mode.
Cautions 1. Insert five or more NOP instructions after the HALT instruction.
2. If the HALT instruction is executed while an unmasked interrupt request signal is being held
pending, the status shifts to HALT mode, but the HALT mode is then released immediately by the
pending interrupt request.
24.3.2 Releasing HALT mode
The HALT mode is released by a non-maskable interrupt request signal (NMI pin input, INTWDT2 signal), unmasked
external interrupt request signal (INTP0 to INTP7 pin input), unmasked internal interrupt request signal from a peripheral
function operable in the HALT mode, or reset signal (reset by RESET pin input, WDT2RES signal, low-voltage detector
(LVI), or clock monitor (CLM)).
After the HALT mode has been released, the normal operation mode is restored.
(1) Releasing HALT mode by non-maskable interrupt request signal or unmasked maskable interrupt request
signal
The HALT mode is released by a non-maskable interrupt request signal or an unmasked maskable interrupt
request signal, regardless of the priority of the interrupt request. If the HALT mode is set in an interrupt servicing
routine, however, an interrupt request that is issued later is serviced as follows.
Table 24-2. Releasing HALT Mode and Operation After Release
Release Source
Reset
Interrupt
Acknowledgment
Status
Disabled (DI)
Status After Release
Operation After Release
Normal reset operation
The interrupt request is acknowledged when the HALT
mode is released.
Enabled (EI)
Non-maskable
interrupt request
signal (excluding
multiple interrupts)
Disabled (DI)
Maskable interrupt
request signal
Disabled (DI)
The HALT mode is released but the interrupt request that
is the release source is not acknowledged. The interrupt
request itself is retained. The processing that was being
executed before shifting to the HALT mode is executed.
Enabled (EI)
An interrupt request with a
priority higher than that of
the release source is being
serviced.
The HALT mode is released but the interrupt request that
is the release source is not acknowledged. The interrupt
request itself is retained. The interrupt that was being
serviced before shifting to the HALT mode is serviced.
An interrupt request with a
priority lower than that of
the release source is being
serviced.
The interrupt request is acknowledged when the HALT
mode is released.
Enabled (EI)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1011 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Table 24-3. Operating Status in HALT Mode
Setting of HALT Mode
Operating Status
Item
When Subclock Is Not Used
LVI
Operable
Main clock oscillator
Oscillates
Subclock oscillator
Internal oscillator
Oscillation enabled
PLL
Operable
CPU
Stops operation
DMA
Operable
Interrupt controller
Operable
Timer P (TMP0 to TMP5)
Operable
Timer Q (TMQ0)
Operable
Timer M (TMM0)
Operable when a clock other than fXT is
When Subclock Is Used
Oscillates
Operable
selected as the count clock
Watch timer/RTC
Operable when fX (divided BRG) is
Operable
selected as the count clock
Watchdog timer 2
Operable when a clock other than fXT is
Operable
selected as the count clock
Serial interface
CSIB0 to CSIB4
2
2
Operable
I C00 to I C02
Operable
UARTA0 to UARTA5
Operable
UARTC0
Operable
A/D converter
Operable
D/A converter
Operable
Real-time output function (RTO)
Operable
Key interrupt function (KR)
Operable
CRC operation circuit
Operable (in the status in which data is not input to the CRCIN register to stop the
CPU)
External bus interface
See 2.2 Pin States.
Port function
Retains status before HALT mode was set
CPU register set
Retains status before HALT mode was set
Internal RAM
USB function
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Operable
Page 1012 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.4 IDLE1 Mode
24.4.1 Setting and operation status
The IDLE1 mode is set by clearing the PSMR.PSM1 and PSMR.PSM0 bits to 00 and setting the PSC.STP bit to 1 in
the normal operation mode.
In the IDLE1 mode, the clock oscillator, PLL, and flash memory continue operating but clock supply to the CPU and
other on-chip peripheral functions stops.
As a result, program execution stops and the contents of the internal RAM before the IDLE1 mode was set are retained.
The CPU and other on-chip peripheral functions stop operating. However, the on-chip peripheral functions that can
operate with the subclock or an external clock continue operating.
Table 24-5 shows the operating status in the IDLE1 mode.
The IDLE1 mode can reduce the power consumption more than the HALT mode because it stops the operation of the
on-chip peripheral functions. The main clock oscillator does not stop, so the normal operation mode can be restored
without waiting for the oscillation stabilization time after the IDLE1 mode has been released, in the same manner as when
the HALT mode is released.
Cautions 1. Insert five or more NOP instructions after the instruction that stores data in the PSC register to
set the IDLE1 mode.
2. If the IDLE1 mode is set while an unmasked interrupt request signal is being held pending, the
CPU does not shift to the IDLE1 mode but executes the next instruction.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1013 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.4.2 Releasing IDLE1 mode
The IDLE1 mode is released by a non-maskable interrupt request signal (NMI pin input, INTWDT2 signal), unmasked
external interrupt request signal (INTP0 to INTP7 pin input), unmasked internal interrupt request signal from a peripheral
function operable in the IDLE1 mode, or reset signal (reset by RESET pin input, WDT2RES signal, low-voltage detector
(LVI), or clock monitor (CLM)).
After the IDLE1 mode has been released, the normal operation mode is restored.
(1) Releasing IDLE mode by non-maskable interrupt request signal or unmasked maskable interrupt request
signal
The IDLE mode is released by a non-maskable interrupt request signal or an unmasked maskable interrupt request
signal, regardless of the priority of the interrupt request. If the IDLE1 mode is set in an interrupt servicing routine,
however, an interrupt request that is issued later is processed as follows.
Table 24-4. Operation After Releasing IDLE1 Mode by Interrupt Request Signal
Release Source
Reset
Interrupt
Acknowledgment
Status
Disabled (DI)
Status After Release
Operation After Release
Normal reset operation
The interrupt request is acknowledged when the IDLE1
mode is released.
Enabled (EI)
Non-maskable
interrupt request
signal (excluding
multiple interrupts)
Disabled (DI)
Maskable interrupt
request signal
Disabled (DI)
The IDLE1 mode is released but the interrupt request that
is the release source is not acknowledged. The interrupt
request itself is retained. The processing that was being
executed before shifting to the IDLE1 mode is executed.
Enabled (EI)
An interrupt request with a
priority higher than that of
the release source is being
serviced.
The IDLE1 mode is released but the interrupt request that
is the release source is not acknowledged. The interrupt
request itself is retained. The interrupt that was being
serviced before shifting to the IDLE1 mode is serviced.
An interrupt request with a
priority lower than that of
the release source is being
serviced.
The interrupt request is acknowledged when the IDLE1
mode is released.
Enabled (EI)
Caution An interrupt request signal that is disabled by setting the PSC.NMI2M, PSC.NMI0M, and
PSC.INTM bits to 1 (interrupt disabled) is invalid and cannot release the IDLE1 mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1014 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Table 24-5. Operating Status in IDLE1 Mode
Setting of IDLE1 Mode
Item
Operating Status
When Subclock Is Not Used
LVI
Operable
Main clock oscillator
Oscillates
When Subclock Is Used
Subclock oscillator
Oscillates
Internal oscillator
Oscillation enabled
PLL
Operable
CPU
Stops operation
DMA
Stops operation
Interrupt controller
Stops operation (but standby mode release enabled)
Timer P (TMP0 to TMP5)
Stops operation
Timer Q (TMQ0)
Stops operation
Timer M (TMM0)
Operable when fR/8 is selected as the
Operable when fR/8 or fXT is selected as
count clock
the count clock
Operable when fX (divided BRG) is
Operable
Watch timer/RTC
selected as the count clock
Watchdog timer 2
Serial interface
CSIB0 to CSIB4
2
2
Operable when fR/8 is selected as the
Operable when fR/8 or fXT is selected as
count clock
the count clock
Operable when the SCKBn input clock is selected as the count clock (n = 0 to 4)
I C00 to I C02
Stops operation
UARTA0 to UARTA5
Stops operation (but UARTA0 is operable when the ASCKA0 input clock is selected)
UARTC0
Stops operation
Note
A/D converter
Holds operation (conversion result held)
D/A converter
Holds operation (output held
Real-time output function (RTO)
Stops operation (output held)
Key interrupt function (KR)
Operable
CRC operation circuit
Stops operation
External bus interface
See 2.2 Pin States.
Port function
Retains status before IDLE1 mode was set
CPU register set
Retains status before IDLE1 mode was set
Note
)
Internal RAM
USB function
Stops operation
Note To realize low power consumption, stop the A/D converter and D/A converter before shifting to the IDLE1 mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1015 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.5 IDLE2 Mode
24.5.1 Setting and operation status
The IDLE2 mode is set by setting the PSMR.PSM1 and PSMR.PSM0 bits to 10 and setting the PSC.STP bit to 1 in the
normal operation mode.
In the IDLE2 mode, the clock oscillator continues operation but clock supply to the CPU, PLL, flash memory, and other
on-chip peripheral functions stops.
As a result, program execution stops and the contents of the internal RAM before the IDLE2 mode was set are retained.
The CPU, PLL, and other on-chip peripheral functions stop operating. However, the on-chip peripheral functions that can
operate with the subclock or an external clock continue operating.
Table 24-7 shows the operating status in the IDLE2 mode.
The IDLE2 mode can reduce the power consumption more than the IDLE1 mode because it stops the operations of the
on-chip peripheral functions, PLL, and flash memory. However, because the PLL and flash memory are stopped, a setup
time for the PLL and flash memory is required when IDLE2 mode is released.
Cautions 1. Insert five or more NOP instructions after the instruction that stores data in the PSC register to
set the IDLE2 mode.
2. If the IDLE2 mode is set while an unmasked interrupt request signal is being held pending, the
CPU does not shift to the IDLE2 mode but executes the next instruction.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1016 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.5.2 Releasing IDLE2 mode
The IDLE2 mode is released by a non-maskable interrupt request signal (NMI pin input, INTWDT2 signal), unmasked
external interrupt request signal (INTP0 to INTP7 pin input), unmasked internal interrupt request signal from the peripheral
functions operable in the IDLE2 mode, or reset signal (reset by RESET pin input, WDT2RES signal, low-voltage detector
(LVI), or clock monitor (CLM)). The PLL returns to the operating status it was in before the IDLE2 mode was set.
After the IDLE2 mode has been released, the normal operation mode is restored.
(1) Releasing IDLE2 mode by non-maskable interrupt request signal or unmasked maskable interrupt request
signal
The IDLE mode is released by a non-maskable interrupt request signal or an unmasked maskable interrupt request
signal, regardless of the priority of the interrupt request. If the IDLE2 mode is set in an interrupt servicing routine,
however, an interrupt request that is issued later is processed as follows.
Table 24-6. Operation After Releasing IDLE2 Mode by Interrupt Request Signal
Release Source
Reset
Interrupt
Acknowledgment
Status
Disabled (DI)
Status After Release
Operation After Release
Normal reset operation
The IDLE2 mode is released, and after securing the
specified setup time, the interrupt request is
acknowledged.
Enabled (EI)
Non-maskable
interrupt request
signal (excluding
multiple interrupts)
Disabled (DI)
Maskable interrupt
request signal
Disabled (DI)
The IDLE2 mode is released but the interrupt request that
is the release source is not acknowledged. The interrupt
request itself is retained. After securing the specified setup
time, the interrupt that was being serviced before shifting to
the IDLE2 mode is serviced.
Enabled (EI)
An interrupt request with a
priority higher than that of
the release source is being
serviced.
The IDLE2 mode is released but the interrupt request that
is the release source, is not acknowledged. The interrupt
request itself is retained. After securing the specified setup
time, the processing that was being executed before
shifting to the IDLE2 mode is executed.
An interrupt request with a
priority lower than that of
the release source is being
serviced.
The IDLE2 mode is released, and after securing the
specified setup time, the interrupt request is
acknowledged.
Enabled (EI)
Caution An interrupt request signal that is disabled by setting the PSC.NMI2M, PSC.NMI0M, and
PSC.INTM bits to 1 (interrupt disabled) is invalid and cannot release the IDLE2 mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1017 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Table 24-7. Operating Status in IDLE2 Mode
Setting of IDLE2 Mode
Item
Operating Status
When Subclock Is Not Used
LVI
Operable
Main clock oscillator
Oscillates
When Subclock Is Used
Subclock oscillator
Oscillates
Internal oscillator
Oscillation enabled
PLL
Stops operation
CPU
Stops operation
DMA
Stops operation
Interrupt controller
Stops operation (but standby mode release is possible)
Timer P (TMP0 to TMP5)
Stops operation
Timer Q (TMQ0)
Stops operation
Timer M (TMM0)
Operable when fR/8 is selected as the
Operable when fR/8 or fXT is selected as
count clock
the count clock
Operable when fX (divided BRG) is
Operable
Watch timer/RTC
selected as the count clock
Watchdog timer 2
Serial interface
CSIB0 to CSIB4
2
2
Operable when fR/8 is selected as the
Operable when fR/8 or fXT is selected as
count clock
the count clock
Operable when the SCKBn input clock is selected as the count clock (n = 0 to 4)
I C00 to I C02
Stops operation
UARTA0 to UARTA5
Stops operation (but UARTA0 is operable when the ASCKA0 input clock is selected)
UARTC0
Stops operation
Note
A/D converter
Holds operation (conversion result held)
D/A converter
Holds operation (output held
Real-time output function (RTO)
Stops operation (output held)
Key interrupt function (KR)
Operable
CRC operation circuit
Stops operation
External bus interface
See 2.2 Pin States.
Port function
Retains status before IDLE2 mode was set
CPU register set
Retains status before IDLE2 mode was set
Note
)
Internal RAM
USB function
Note
Stops operation
To realize low power consumption, stop the A/D and D/A converters before shifting to the IDLE2 mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1018 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.5.3 Securing setup time when releasing IDLE2 mode
Setting the IDLE2 mode stops the operation of blocks other than the main clock oscillator, so the setup time specified
by the OSTS register for the PLL or the flash memory is automatically secured after the IDLE2 mode is released.
(1) Releasing IDLE2 mode by non-maskable interrupt request signal or unmasked maskable interrupt request
signal
Secure the specified setup time by setting the OSTS register.
When the releasing source is generated, the dedicated internal timer starts counting according to the OSTS
register setting. When it overflows, the normal operation mode is restored.
Oscillation waveform
Main clock
IDLE mode status
Interrupt request
ROM circuit stopped
Setup time count
(2) Release by reset (RESET pin input, WDT2RES generation)
This operation is the same as that of a normal reset.
The oscillation stabilization time differs depending on the option byte. For details, see CHAPTER 30 OPTION
BYTE.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1019 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.6 STOP Mode/Low-Voltage STOP Mode
24.6.1 Setting and operation status
The STOP mode is set by setting the PSMR.PSM1 and PSMR.PSM0 bits to 01 or 11 and setting the PSC.STP bit to 1
in the normal operation mode. The low-voltage STOP mode is set by setting the PSMR.PSM1 and PSMR.PSM0 bits to 01
or 11 and setting the PSC.STP bit to 1 after setting the REGOVL0 register to 01H in normal operation mode.
In the STOP mode, the subclock oscillator continues operating but the main clock oscillator stops. Clock supply to the
CPU and the on-chip peripheral functions is stopped.
As a result, program execution stops, and the contents of the internal RAM before the STOP mode was set are
retained. Clock supply to the CPU and the on-chip peripheral functions is stopped, but the subclock oscillator continues
operating. In the STOP mode, CSIBn and UARTA0, which can operate on the external clock, also continue operating. In
the low-voltage STOP mode, however, stop supplying the external clock to CSIBn and UARTA0 (n = 0 to 4) because
these blocks cannot continue operating.
Table 24-8 shows the operating status in the STOP mode and Table 24-9 shows the operating status in the low-voltage
STOP mode.
Because the STOP mode stops operation of the main clock oscillator, it reduces the power consumption to a level
lower than the IDLE2 mode. If the subclock oscillator, internal oscillator, low-voltage detector (LVI), and external clock are
not used, the power consumption can be minimized with only leakage current flowing.
The power consumption decreases further in the low-voltage STOP mode because the voltage of the regulator is
lowered.
Be sure to set the low-voltage STOP mode using the following procedure.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1020 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(1) Procedure for switching from normal mode to low-voltage STOP mode
Specify the following settings in the normal operation mode (while the main clock is operating). In addition, set up
the OSTS register as necessary.
Stop the functions whose operation is specified as stopped in Table 24-9 Operating Status in Low-Voltage
STOP Mode.
Be especially sure to stop the following, because they are signals from external sources.
Stop the SCKBn input clock when the SCKBn input clock to CSIBn is selected (n = 0 to 4).
Stop the ASCKA0 input clock when the ASCKA0 input clock to UARTA0 is selected.
Disable DMA.
Disable maskable interrupts by using the DI instruction.
Disable the NMI interrupt (INTF02 = 0, INTR02 = 0).
Create a status in which the INTWDT2 signal is not generated (create a status in which the INTWDT2
signal is not generated immediately after watchdog timer 2 has been cleared).
Write C9H (enabling data) to the REGPR register.
Write 01H to the REGOVL0 register.
At this time, the output voltage of the regulator is at the normal level.
Write 00H (protection data) to the REGPR register.
As necessary, enable maskable interrupts, the NMI interrupt, or the INTWDT2 interrupt by using the EI
instruction (restore the settings in and above).
Set the STOP mode.
PSMR.PSM1, PSMR.PSM0 bits = 01 or 11
PSC.STP bit = 1
In the STOP mode, the output voltage of the regulator drops, decreasing the current consumption to an
extremely low level.
Be sure to observe the above sequence.
Note, however, that step may be performed at any time as long as it is done after step . (The setting in
step may be made without problem, even after the low-voltage STOP mode has been released.)
Cautions 1. Insert five or more NOP instructions after the instruction that stores data in the PSC register to
set the STOP mode/low-voltage STOP mode.
2. If the STOP mode/low-voltage STOP mode is set while an unmasked interrupt request signal is
being held pending, the CPU does not shift to the STOP mode/low-voltage STOP mode but
executes the next instruction.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1021 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Table 24-8. Operating Status in STOP Mode
Setting of STOP Mode
Item
Operating Status
When Subclock Is Not Used
LVI
Operable
Main clock oscillator
Stops oscillation
Subclock oscillator
When Subclock Is Used
Oscillates
Internal oscillator
Oscillation enabled
PLL
Stops operation
CPU
Stops operation
DMA
Stops operation
Interrupt controller
Stops operation (but standby mode release is possible)
Timer P (TMP0 to TMP5)
Stops operation
Timer Q (TMQ0)
Stops operation
Timer M (TMM0)
Operable when fR/8 is selected as the
Operable when fR/8 or fXT is selected as
count clock
the count clock
Watch timer/RTC
Stops operation
Operable when fXT is selected as the
Watchdog timer 2
Operable when fR/8 is selected as the
Operable when fR/8 or fXT is selected as
count clock
the count clock
count clock
Serial interface
CSIB0 to CSIB4
2
2
Operable when the SCKBn input clock is selected as the count clock (n = 0 to 4)
I C00 to I C02
Stops operation
UARTA0 to UARTA5
Stops operation (but UARTA0 is operable when the ASCKA0 input clock is selected)
UARTC0
Stops operation
A/D converter
Stops operation (conversion result undefined)
Notes 3, 4
D/A converter
Stops operation
Real-time output function (RTO)
Stops operation (output held)
Key interrupt function (KR)
Operable
CRC operation circuit
Stops operation
External bus interface
See 2.2 Pin States.
Port function
Retains status before STOP mode was set
CPU register set
Retains status before STOP mode was set
Notes 1, 2
(high impedance is output)
Internal RAM
USB function
Notes1.
Stops operation
If the STOP mode is set while the A/D converter is operating, the A/D converter is automatically stopped and
starts operating again after the STOP mode is released. However, in that case, the first A/D conversion
result after the STOP mode is released is invalid. The A/D conversion result before the STOP mode is set is
also invalid.
2.
Even if the STOP mode is set while the A/D converter is operating, the power consumption is reduced
equivalently to when the A/D converter is stopped before the STOP mode is set.
3.
If the STOP mode is set while the D/A converter is operating, the D/A converter is automatically stopped and
the pin status becomes high impedance. After the STOP mode is released, D/A conversion resumes, the
setting time elapses, and the status returns to the output level before the STOP mode was set.
4.
Even if the STOP mode is set while the D/A converter is operating, the power consumption is reduced
equivalently to when the D/A converter is stopped before the STOP mode is set.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1022 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Table 24-9. Operating Status in Low-Voltage STOP Mode
Setting of Low-Voltage
STOP Mode
Operating Status
When Subclock Is Not Used
When Subclock Is Used
Item
LVI
Operable
Main clock oscillator
Stops oscillation
Subclock oscillator
Oscillates
Internal oscillator
Oscillation enabled
PLL
Stops operation
CPU
Stops operation
DMA
Stops operation
Interrupt controller
Stops operation (but standby mode release is possible)
Timer P (TMP0 to TMP5)
Stops operation
Timer Q (TMQ0)
Stops operation
Timer M (TMM0)
Operable when fR/8 is selected as the
count clock
Operable when fR/8 or fXT is selected as
the count clock
Watch timer/RTC
Stops operation
Operable when fXT is selected as the
count clock
Watchdog timer 2
Operable when fR/8 is selected as the
count clock
Operable when fR/8 or fXT is selected as
the count clock
Serial interface
CSIB0 to CSIB4
2
2
Stops operation
(When the SCKBn input clock is selected as the count clock, be sure to stop the
SCKBn input clock (n = 0 to 4).)
I C00 to I C02
Stops operation
UARTA0 to UARTA5
Stops operation
(When the ASCKA0 input clock to UARTA0 is selected, be sure to stop the ASCKA0
input clock.)
UARTC0
Stops operation
A/D converter
Stops operation (conversion result undefined)
D/A converter
Stops operation
Real-time output function (RTO)
Stops operation (output held)
Key interrupt function (KR)
Operable
CRC operation circuit
Stops operation
External bus interface
See 2.2 Pin States.
Notes 3, 4
Notes 1, 2
(high impedance is output)
Port function
Retains status before low-voltage STOP mode was set
CPU register set
Retains status before low-voltage STOP mode was set
Internal RAM
USB function
Notes1.
Stops operation
If the low-voltage STOP mode is set while the A/D converter is operating, the A/D converter is automatically
stopped and starts operating again after the low-voltage STOP mode is released. However, in that case, the
A/D conversion results after the low-voltage STOP mode is released are invalid. All the A/D conversion
results before the low-voltage STOP mode is set are invalid.
2.
Even if the low-voltage STOP mode is set while the A/D converter is operating, the power consumption is
reduced equivalently to when the A/D converter is stopped before the low-voltage STOP mode is set.
3.
If the low-voltage STOP mode is set while the D/A converter is operating, the D/A converter is automatically
stopped. After the low-voltage STOP mode is released, D/A conversion resumes, the setting time elapses,
and the status returns to the output level before the low-voltage STOP mode was set.
4.
Even if the low-voltage STOP mode is set while the D/A converter is operating, the power consumption is
reduced equivalently to when the D/A converter is stopped before the low-voltage STOP mode is set.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1023 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.6.2 Releasing STOP mode/low-voltage STOP mode
The STOP mode/low-voltage STOP mode is released by a non-maskable interrupt request signal (NMI pin input,
INTWDT2 signal), unmasked external interrupt request signal (INTP0 to INTP7 pin input), unmasked internal interrupt
request signal from the peripheral functions operable in the STOP mode/low-voltage STOP mode, or reset signal (reset by
RESET pin input, WDT2RES signal, or low-voltage detector (LVI)).
After the STOP mode/low-voltage STOP mode has been released, the normal operation mode is restored after the
oscillation stabilization time has been secured.
For re-set after releasing the low-voltage STOP mode, see 24.6.3 Re-setting after release of low-voltage STOP
mode.
(1) Releasing STOP mode by non-maskable interrupt request signal or unmasked maskable interrupt request
signal
The STOP mode is released by a non-maskable interrupt request signal or an unmasked maskable interrupt
request signal, regardless of the priority of the interrupt request. If the STOP mode/low-voltage STOP mode is set
in an interrupt servicing routine, however, an interrupt request that is issued later is serviced as follows.
Table 24-10. Operation After Releasing STOP Mode/Low-Voltage STOP Mode by Interrupt Request Signal
Release Source
Reset
Interrupt
Acknowledgment
Status
Disabled (DI)
Status After Release
Operation After Release
Normal reset operation
The STOP mode/low-voltage STOP mode is released, and
after securing the oscillation stabilization time, the interrupt
request is acknowledged.
The STOP mode/low-voltage STOP mode is released but
the interrupt request that is the release source is not
acknowledged. The interrupt request itself is retained.
After securing the oscillation stabilization time, the
processing that was being executed before shifting to the
STOP mode/low-voltage STOP mode is executed.
Enabled (EI)
Non-maskable
interrupt request
signal (excluding
multiple interrupts)
Disabled (DI)
Maskable interrupt
request signal
Disabled (DI)
Enabled (EI)
An interrupt request with a
priority higher than that of
the release source is being
serviced.
The STOP mode/low-voltage STOP mode is released but
the interrupt request that is the release source is not
acknowledged. The interrupt request itself is retained.
After securing the oscillation stabilization time, the interrupt
servicing that was being executed before shifting to the
STOP mode/low-voltage STOP mode is executed.
An interrupt request with a
priority lower than that of
the release source is being
serviced.
The STOP mode/low-voltage STOP mode is released, and
after securing the oscillation stabilization time, the interrupt
request is acknowledged.
Enabled (EI)
Caution An interrupt request signal that is disabled by setting the PSC.NMI2M, PSC.NMI0M, and
PSC.INTM bits to 1 (interrupt disabled) is invalid and cannot release the STOP mode/low-voltage
STOP mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1024 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.6.3 Re-setting after release of low-voltage STOP mode
(1) If low-voltage STOP mode is released by interrupt
The status after the low-voltage STOP mode has been released is as follows.
Regulator: Automatically returns to the normal level.
The oscillation stabilization time specified by the OSTS register is secured.
REGOVL0 register = 01H (low-voltage STOP mode): Value described in 24.6.1 (1) is retained.
REGPR register = 00H (protection data): Value described in 24.6.1 (1) is retained.
(a) To continuously use the REGOVL0 register = 01H (low-voltage STOP mode), the other registers do not have to
be set again.
(b) Follow this procedure when returning the REGOVL0 register = 00H.
Disable the DMA.
Disable the maskable interrupt by the DI instruction.
Disable the NMI interrupt (INTF02 = 0, INTR02 = 0).
Create a status in which the INTWDT2 signal is not generated (stop watchdog timer 2 or set a mode
other than the INTWDT2 mode. Create a status in which the INTWDT2 signal is not generated
immediately after watchdog timer 2 has been cleared).
Write C9H (enabling data) to the REGPR register.
Write 00H to the REGOVL0 register.
Write 00H (protection data) to the REGPR register.
As necessary, enable the maskable interrupt, NMI interrupt, or INTWDT2 interrupt by enabling DMA or
the EI instruction (restore the settings and above).
Be sure to observe the above sequence.
(2) If low-voltage STOP mode is released by reset
The CPU shifts to the normal operation mode immediately after the reset ends, and the REGOVL0 register is
initialized to 00H and the REGPR register to 00H (protection data). Be sure to secure the oscillation stabilization
time that follows immediately after a reset ends by setting the option byte. For details, see CHAPTER 30 OPTION
BYTE.
Caution
Interrupt requests that are set to 1 (disabled) by the PSC.NMI1M, PSC.NMI0M, and PSC.INTM
bits are invalid and cannot release the low-voltage STOP mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1025 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.6.4 Securing oscillation stabilization time when releasing STOP mode
Secure the oscillation stabilization time for the main clock oscillator after releasing the STOP mode because the
operation of the main clock oscillator stops after STOP mode is set.
(1) Releasing STOP mode by non-maskable interrupt request signal or unmasked maskable interrupt request
signal
Secure the oscillation stabilization time by setting the OSTS register.
When the releasing source is generated, the dedicated internal timer starts counting according to the OSTS
register setting. When it overflows, the normal operation mode is restored.
Oscillation waveform
Main clock
STOP status
Interrupt request
ROM circuit stopped
Setup time count
(2) Release by reset
This operation is the same as that of a normal reset.
The oscillation stabilization time differs depending on the option byte. For details, see CHAPTER 30 OPTION
BYTE.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1026 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.7 Subclock Operation Mode/Low-Voltage Subclock Operation Mode
24.7.1 Setting and operation status
The subclock operation mode is set by setting the PCC.CK3 bit to 1 in the normal operation mode. The low-voltage
subclock operation mode is set by setting the REGOVL0 register to 02H in the subclock operation mode.
When the subclock operation mode is set, the internal system clock is changed from the main clock to the subclock.
Check whether the clock has been switched by using the PCC.CLS bit.
When the PCC.MCK bit is set to 1, the operation of the main clock oscillator is stopped. As a result, the system
operates only on the subclock.
In the subclock operation mode, power consumption can be reduced to a level lower than in the normal operation mode
because the subclock is used as the internal system clock. In addition, power consumption can be further reduced to the
level of the STOP mode by stopping the operation of the main clock oscillator. Power consumption decreases further in
the low-voltage subclock operation mode because the voltage of the regulator is lowered.
When the main clock oscillator is stopped in the subclock operation mode, CSIBn and UARTA0, which can operate on
the external clock, also continue operating. In the low-voltage subclock operation mode, however, stop supplying the
external clock input to CSIBn and UARTA0 because these blocks cannot continue operating (n = 0 to 4).
Cautions 1. When manipulating the CK3 bit, do not change the set values of the PCC.CK2 to PCC.CK0 bits
(using a bit manipulation instruction to manipulate the bit is recommended). For details of the
PCC register, see 6.3 (1) Processor clock control register (PCC).
2. If the following conditions are not satisfied, change the CK2 to CK0 bits so that the conditions are
satisfied and set the subclock operation mode.
Internal system clock (fCLK) > Subclock (fXT = 32.768 kHz) 4
Remark
Internal system clock (fCLK): Clock generated from main clock (fXX) in accordance with the settings of the
CK2 to CK0 bits
Be sure to set the low-voltage subclock operation mode using the following procedure.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1027 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(1) Procedure for switching from subclock operation mode to low-voltage subclock operation mode
Make the following settings in the subclock operation mode.
Stop the main clock and PLL.
Stop the functions whose operation is specified as stopped in Table 24-14
Operating Status in Low-
Voltage Sub-IDLE Mode.
Be especially sure to stop the following, because they are signals from external sources.
Stop the SCKBn input clock when the SCKBn input clock to CSIBn is selected (n = 0 to 4).
Stop the ASCKA0 input clock when the ASCKA0 input clock to UARTA0 is selected.
Disable DMA (if DMA is enabled).
Disable maskable interrupts by using the DI instruction.
Disable the NMI interrupt (INTF02 = 0, INTR02 = 0).
Create a status in which the INTWDT2 signal is not generated (create a status in which the INTWDT2
signal is not generated immediately after watchdog timer 2 has been cleared).
Write C9H (enabling data) to the REGPR register.
Write 02H to the REGOVL0 register.
At this time, the output voltage of the regulator is at the low level, decreasing power consumption to an
extremely low level.
Write 00H (protection data) to the REGPR register.
As necessary, enable maskable interrupts, the NMI interrupt, or the INTWDT2 interrupt by using the EI
instruction (restore the setting in above).
Be sure to observe the above sequence.
For the setting of the subclock operation mode, see 24.7.1 Setting and operation status.
Table 24-11 shows the operating status in the subclock operation mode and Table 24-12 shows the operating status in
the low-voltage subclock operation mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1028 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Table 24-11. Operating Status in Subclock Operation Mode
Setting of Subclock Operation Mode
Item
Operating Status
When Main Clock Is Oscillating
When Main Clock Is Stopped
LVI
Operable
Subclock oscillator
Oscillates
Internal oscillator
Oscillation enabled
PLL
Operable
CPU
Operable
DMA
Operable
Interrupt controller
Operable
Timer P (TMP0 to TMP5)
Operable
Stops operation
Timer Q (TMQ0)
Operable
Stops operation
Timer M (TMM0)
Operable
Stops operation
Note1
Operable when fR/8 or fXT is selected as
the count clock
Watch timer/RTC
Operable
Operable when fXT is selected as the
count clock
Watchdog timer 2
Operable
Operable when fR or fXT is selected as
the count clock
Serial interface
CSIB0 to CSIB4
Operable
Operable when the SCKBn input clock is
selected as the count clock (n = 0 to 4)
2
2
I C00 to I C02
Operable
UARTA0 to UARTA5
Operable
Stops operation
Stops operation (but UARTA0 is
operable when the ASCKA0 input clock
is selected)
Operable
Stops operation
A/D converter
Operable
Stops operation
D/A converter
Operable
Real-time output function (RTO)
Operable
Key interrupt function (KR)
Operable
CRC operation circuit
Operable
External bus interface
See 2.2 Pin States.
Port function
Settable
CPU register set
Settable
UARTC0
Stops operation (output held)
Internal RAM
USB function
Stops operation
Note Be sure to stop the PLL (PLLCTL.PLLON bit = 0) before stopping the main clock.
Caution
When the CPU is operating on the subclock and main clock oscillation is stopped, a register for
which a wait has been specified must not be accessed. If a wait is generated, it can only be canceled
by a reset (see 3.4.8 (2)).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1029 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Table 24-12. Operating Status in Low-Voltage Subclock Operation Mode
Setting of Low-Voltage
Operating Status
Subclock Operation
Main Clock Is Stopped (Must Be Stopped)
Mode
Item
LVI
Operable
Subclock oscillator
Oscillates
Internal oscillator
Oscillation enabled
PLL
Stops operation
CPU
Operable
DMA
Stops operation (must stop)
Interrupt controller
Operable
Timer P (TMP0 to TMP5)
Stops operation
Timer Q (TMQ0)
Stops operation
Timer M (TMM0)
Operable when fR/8 or fXT is selected as the count clock
Watch timer/RTC
Operable when fXT is selected as the count clock
Watchdog timer 2
Operable when fR/8 or fXT is selected as the count clock
Serial interface
CSIB0 to CSIB4
Note
Stops operation
(When the SCKBn input clock is selected as the count clock, be sure to stop the
SCKBn input clock (n = 0 to 4).)
2
2
I C00 to I C02
Stops operation
UARTA0 to UARTA5
Stops operation
(When the ASCKA0 input clock to UARTA0 is selected, be sure to stop the ASCKA0
input clock.)
UARTC0
Stops operation
A/D converter
Stops operation
D/A converter
Stops operation (must stop)
Real-time output function (RTO)
Stops operation (output held)
Key interrupt function (KR)
Operable
CRC operation circuit
Stops operation (must stop)
External bus interface
See 2.2 Pin States.
Port function
Settable
CPU register set
Settable
Internal RAM
USB function
Stops operation
Note Be sure to stop the PLL (PLLCTL.PLLON bit = 0).
Caution
When the CPU is operating on the subclock and main clock oscillation is stopped, a register for
which a wait is specified must not be accessed. If a wait is generated, it can only be canceled by a
reset (see 3.4.8 (2)).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1030 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.7.2 Releasing subclock operation mode
The subclock operation mode is released by a reset signal (reset by RESET pin input, WDT2RES signal, low-voltage
detector (LVI), or clock monitor (CLM)) when the CK3 bit is set to 0.
If the main clock is stopped (MCK bit = 1), set the MCK bit to 1, secure the oscillation stabilization time of the main
clock by software, and set the CK3 bit to 0.
The normal operation mode is restored when the subclock operation mode is released.
Caution
When manipulating the CK3 bit, do not change the set values of the CK2 to CK0 bits (using a bit
manipulation instruction to manipulate the bit is recommended).
For details of the PCC register, see 6.3 (1) Processor clock control register (PCC).
24.7.3 Releasing low-voltage subclock operation mode
In low-voltage subclock mode, the subclock operation mode is set by setting the REGOVL0 register to 00H. After that,
transit to the normal mode according to 24.7.2 Releasing subclock operation mode. Be sure to follow this procedure to
transit the mode from the low-voltage subclock operation mode to the subclock operation mode.
(1) Procedure for setting “low-voltage subclock operation mode” “subclock operation mode”
Make the following settings in the low-voltage subclock operation mode.
Disable the maskable interrupt by the DI instruction.
Disable the NMI interrupt (INTF02 = 0, INTR02 = 0).
Create a status in which the INTWDT2 signal is not generated (create a status in which the INTWDT2
signal is not generated immediately after watchdog timer 2 has been cleared).
Write C9H (enabling data) to the REGPR register.
Write 00H to the REGOVL0 register (transit to the subclock operation mode).
Write 00H (protection data) to the REGPR register.
Wait for at least 800 s by software.
As necessary, enable the maskable interrupt, NMI interrupt, or INTWDT2 interrupt by the EI instruction
(restore the setting above).
Enable the DMA if necessary.
Start the functions to be used, from among those that have been stopped in steps and in section
24.7.1 (1) Procedure for setting “subclock operation mode” “low-voltage subclock operation mode”.
Be sure to observe the above sequence.
Note, however, that , , and may be performed at any time as long as it is done after .
(2) If low-voltage subclock operation mode is released by reset
When the low-voltage subclock operation mode is released by a reset signal (reset by RESET pin input, WDT2RES
signal, low-voltage detector (LVI), or clock monitor (CLM)), the CPU shifts to the normal operation mode
immediately after the reset ends, and the REGOVL0 register is initialized to 00H and the REGPR register to 00H
(protection data). Be sure to secure the oscillation stabilization time that follows immediately after a reset ends by
setting the option byte.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
For details, see CHAPTER 30 OPTION BYTE.
Page 1031 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.8 Sub-IDLE Mode/Low-Voltage Sub-IDLE Mode
24.8.1 Setting and operation status
The sub-IDLE mode is set by setting the PSMR.PSM1 and PSMR.PSM0 bits to 00 or 10 and setting the PSC.STP bit to
1 in the subclock operation mode. The low-voltage sub-IDLE mode is set by setting the PSMR.PSM1 and PSMR.PSM0
bits to 00 or 10 and setting the PSC.STP bit to 1 after setting the REGOVL0 register to 02H in the subclock operation
mode.
In this mode, the clock oscillator continues operating but clock supply to the CPU, flash memory, and the other on-chip
peripheral functions is stopped.
As a result, program execution stops and the contents of the internal RAM before the sub-IDLE mode was set are
retained. The CPU and the other on-chip peripheral functions are stopped. However, the on-chip peripheral functions that
can operate with the subclock or an external clock, continue operating. In the subclock operation mode, CSIBn and
UARTA0 that can operate with the external clock also continue operating. In the low-voltage subclock operation mode,
however, stop supplying the external clock input to CSIBn and UARTA0 because these blocks cannot continue operating
(n = 0 to 4).
Because the sub-IDLE mode stops operation of the CPU, flash memory, and other on-chip peripheral functions, it can
reduce the power consumption more than the subclock operation mode.
If the sub-IDLE mode is set after the main clock has been stopped, the current consumption can be reduced to a level
as low as that in the STOP mode. The power consumption decreases further in the low-voltage sub-IDLE mode because
the voltage of the regulator is lowered.
Table 24-13 shows the operating status in the sub-IDLE mode and Table 24-14 shows the operating status in the lowvoltage sub-IDLE mode.
Be sure to set the low-voltage sub-IDLE mode in the following procedure.
(1) Procedure for setting “subclock operation mode” “low-voltage subclock operation mode” “low-voltage
sub-IDLE mode”
Make the following settings in the subclock operation mode.
Stop the main clock and PLL.
Stop the functions that are specified to be stopped in Table 24-14 Operating Status in Low-Voltage SubIDLE Mode.
Be especially sure to stop the following functions, because they are signals from external sources.
Stop SCKBn input clock when the SCKBn input clock to CSIBn is selected (n = 0 to 4).
Stop ASCKA0 input clock when the ASCKA0 input clock to UARTA0 is selected.
Disable the DMA operation (if the DMA operation is enabled).
Disable the maskable interrupt by the DI instruction.
Disable the NMI interrupt (INTF02 = 0, INTR02 = 0).
Create a status in which the INTWDT2 signal is not generated (set a status in which the INTWDT2 signal is
not generated immediately after watchdog timer 2 has been cleared).
Write C9H (enabling data) to the REGPR register.
Write 02H to the REGOVL0 register.
At this time, the output voltage of the regulator is at the low level, decreasing the power consumption to an
extremely low level.
Write 00H (protection data) to the REGPR register.
As necessary, enable the maskable interrupt, NMI interrupt, or INTWDT2 interrupt by the EI instruction
(restore the settings in step ).
Set the sub-IDLE mode.
PSMR.PSM1, PSMR.PSM0 bits = 00 or 10
PSC.STP bit = 1
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1032 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Be sure to observe the above sequence.
For the setting of the subclock operation mode, see 24.7.1 Setting and operation status.
Cautions 1. Following the store instruction to the PSC register for setting the sub-IDLE mode/low-voltage subIDLE mode, insert the five or more NOP instructions.
2. If the sub-IDLE mode/low-voltage sub-IDLE mode is set while an unmasked interrupt request
signal is being held pending, the CPU does not shift to the sub-IDLE mode/low-voltage sub-IDLE
mode but executes the next instruction.
Table 24-13. Operating Status in Sub-IDLE Mode
Setting of Sub-IDLE Mode
Item
Operating Status
When Main Clock Is Oscillating
When Main Clock Is Stopped
LVI
Operable
Subclock oscillator
Oscillates
Internal oscillator
Oscillation enabled
PLL
Operable
CPU
Stops operation
DMA
Stops operation
Interrupt controller
Stops operation (but standby mode release is possible)
Timer P (TMP0 to TMP5)
Stops operation
Timer Q (TMQ0)
Stops operation
Timer M (TMM0)
Operable when fR/8 or fXT is selected as the count clock
Watch timer/RTC
Operable
Stops operation
Note 1
Operable when fXT is selected as the
count clock
Watchdog timer 2
Serial interface
Operable when fR/8 or fXT is selected as the count clock
CSIB0 to CSIB4
2
2
Operable when the SCKBn input clock is selected as the count clock (n = 0 to 4)
I C00 to I C02
Stops operation
UARTA0 to UARTA5
Stops operation (but UARTA0 is operable when the ASCKA0 input clock is selected)
UARTC0
Stops operation
Note 2
A/D converter
Holds operation (conversion result held)
D/A converter
Holds operation (output held
Real-time output function (RTO)
Stops operation (output held)
Key interrupt function (KR)
Operable
CRC operation circuit
Stops operation
External bus interface
See 2.2 Pin States (same operation status as IDLE1 and IDLE2 modes).
Port function
Retains status before sub-IDLE mode was set
CPU register set
Retains status before sub-IDLE mode was set
Note 2
)
Internal RAM
USB function
Stops operation
Notes 1. Be sure to stop the PLL (PLLCTL.PLLON bit = 0) before stopping the main clock.
2. To realize low power consumption, stop the A/D and D/A converters before shifting to the sub-IDLE mode.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1033 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Table 24-14. Operating Status in Low-Voltage Sub-IDLE Mode
Setting of Low-Voltage
Operating Status
Sub-IDLE Mode
Main Clock Is Stopped (Must Be Stopped)
Item
LVI
Operable
Subclock oscillator
Oscillates
Internal oscillator
Oscillation enabled
PLL
Stops operation
CPU
Stops operation
DMA
Stops operation
Interrupt controller
Stops operation (but standby mode release is possible)
Timer P (TMP0 to TMP5)
Stops operation
Timer Q (TMQ0)
Stops operation
Timer M (TMM0)
Operable when fR/8 or fXT is selected as the count clock
Watch timer/RTC
Operable when fXT is selected as the count clock
Watchdog timer 2
Operable when fR/8 or fXT is selected as the count clock
Serial interface
CSIB0 to CSIB4
Note
Stops operation
(When the SCKBn input clock is selected as the count clock, be sure to stop the
SCKBn input clock (n = 0 to 4).)
2
2
I C00 to I C02
Stops operation
UARTA0 to UARTA5
Stops operation
(When the ASCKA0 input clock to UARTA0 is selected, be sure to stop the ASCKA0
input clock.)
UARTC0
Stops operation
A/D converter
Stops operation
D/A converter
Stops operation (must stop)
Real-time output function (RTO)
Stops operation (output held)
Key interrupt function (KR)
Operable
CRC operation circuit
Stops operation
External bus interface
See 2.2 Pin States (same operation status as IDLE1 and IDLE2 modes).
Port function
Retains status before low-voltage sub-IDLE mode was set
CPU register set
Retains status before low-voltage sub-IDLE mode was set
Internal RAM
USB function
Stops operation
Note Be sure to stop the PLL (PLLCTL.PLLON bit = 0).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1034 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.8.2 Releasing sub-IDLE mode/low-voltage sub-IDLE mode
The sub-IDLE mode/low-voltage sub-IDLE mode is released by a non-maskable interrupt request signal (NMI pin input,
INTWDT2 signal), unmasked external interrupt request signal (INTP0 to INTP7 pin input), unmasked internal interrupt
request signal from the peripheral functions operable in the sub-IDLE mode/low-voltage sub-IDLE mode, or reset signal
(reset by RESET pin input, WDT2RES signal, low-voltage detector (LVI), or clock monitor (CLM)). The PLL returns to the
operating status it was in before the sub-IDLE mode was set. It returns to the stop status in the low-voltage sub-IDLE
mode.
When the sub-IDLE mode is released by an interrupt request signal, the subclock operation mode is set.
When the low-voltage sub-IDLE mode is released by an interrupt request signal, the low-voltage subclock operation
mode is set.
For releasing low-voltage subclock operation mode, see 24.7.3 Releasing low-voltage subclock operation mode.
(1) Releasing sub-IDLE mode/low-voltage sub-IDLE mode by non-maskable interrupt request signal or
unmasked maskable interrupt request signal
The sub-IDLE mode/low-voltage sub-IDLE mode is released by a non-maskable interrupt request signal or an
unmasked maskable interrupt request signal, regardless of the priority of the interrupt request. If the sub-IDLE
mode/low-voltage sub-IDLE mode is set in an interrupt servicing routine, however, an interrupt request signal that
is issued later is serviced as follows.
Table 24-15. Operation After Releasing Sub-IDLE Mode/Low-Voltage IDLE Mode by Interrupt Request Signal
Release Source
Reset
Interrupt
Acknowledgment
Status
Disabled (DI)
Status After Release
Operation After Release
Normal reset operation
The interrupt request is acknowledged when the sub-IDLE
mode/low-voltage sub-IDLE mode is released.
The sub-IDLE mode/low-voltage sub-IDLE mode is
released but the interrupt request that is the release source
is not acknowledged. The interrupt request itself is
retained. The processing that was being executed before
shifting to the sub-IDLE mode/low-voltage sub-IDLE mode
is executed.
Enabled (EI)
Non-maskable
interrupt request
signal (excluding
multiple interrupts)
Disabled (DI)
Maskable interrupt
request signal
Disabled (DI)
Enabled (EI)
Enabled (EI)
An interrupt request with a
priority higher than that of
the release source is being
serviced.
The sub-IDLE mode/low-voltage sub-IDLE mode is
released but the interrupt request that is the release source
is not acknowledged. The interrupt request itself is
retained. The interrupt that was being serviced before
shifting to the sub-IDLE mode/low-voltage sub-IDLE mode
is serviced.
An interrupt request with a
priority lower than that of the
release source is being
serviced.
The interrupt request is acknowledged when the sub-IDLE
mode/low-voltage sub-IDLE mode is released.
Cautions1. An interrupt request signal that is disabled by setting the PSC.NMI2M, PSC.NMI0M, and PSC.INTM bits
to 1 (interrupt disabled) is invalid and cannot release the sub-IDLE mode/low-voltage sub-IDLE mode.
2. When the sub-IDLE mode/low-voltage sub-IDLE mode are released, 12 cycles of the subclock
(about 366 s) elapse from when the interrupt request signal that releases the sub-IDLE
mode is generated to when the mode is released.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1035 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.9 RTC backup Mode
The V850ES/JG3-L can be switched to the RTC backup mode by stopping power supplies other than the RTC backup
power supply (RVDD) after the settings for pre-RTC backup mode have been specified. and this mode can reduce current
consumption much.
In the RTC backup mode, the RTC counts and the subclock oscillator operates by using a regulator dedicated to the
RTC backup area that uses RVDD as the power supply. For detail, see CHAPTER 11 REAL-TIME COUNTER.
24.9.1 Registers
The registers that control the RTC backup mode are as follows.
RTC backup control register 0 (RTCBUMCTL0)
Subclock low-power operation control register (SOSCAMCTL)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1036 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(1) RTC backup control register 0 (RTCBUMCTL0)
The RTCBUMCTL0 register is the register that controls RTC backup mode. This register is a special register that
can only be written in a specific sequence (see 3.4.7 Special registers).
This register can be read or written in 8-bit or 1-bit units.
After reset: Note
RTCBUMCTL0
R/W
Address:
FFFFFB00H
6
5
4
3
2
1
RBMEN
0
0
0
0
0
0
RBMSET
RBMEN
RTC backup mode control
0
Using RTC backup mode is disabled
1
Using RTC backup mode is enabled
RBMSET
RTC backup mode setting
0
Exiting the pre-RTC backup mode
1
Setting the pre-RTC backup mode
When the RBMSET bit is set (to 1), switch the RTC status to the following.
• Select the division clock of subclock (fXT) as RTC input clock
• RTC interrupt function stop
• RTC pin output function stop
• RTC time error correction function stop
Note
Cautions1.
RVDD power-on reset
: 00H
Other kind of reset
: Previous value retained
Do not set the RBMEN and RBMSET bits (to 1) at the same time. If they are set (to 1) at
the same time, the RTC backup mode might not operate correctly. Set the RBMEN bit
(to 1) first, and then set the RBMSET bit (to 1).
2.
Do not set the RBMSET bit (to 1) while the RBMEN bit is 0.
If the RBMSET bit is set (to 1) at this time, the bit is set (to 1), but the pre-RTC backup
mode is not specified.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1037 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(2) Subclock low-power operation control register (SOSCAMCTL)
The SOSCAMCTL register is used to select the low-power control method of the subclock (fXT) to perform lowpower operations in the RTC backup mode. This register is a special register that can only be written in a specific
sequence (see 3.4.7 Special registers).
This register can be read or written in 8-bit or 1-bit units.
This register is cleared to 00H when a power-on reset operation is executed for RVDD.
After Reset: Note
SOSCAMCTL
R/W
Address:
7
6
5
4
3
2
1
0
0
0
0
0
0
0
AMPHS
AMPHS
Note
FFFFFB03H
Subclock (fXT) oscillator mode select
0
Normal oscillation
1
Ultra low consumption oscillation
RVDD power-on reset
: 00H
Other kind of reset
: Previous value retained
Caution Be sure to set bits 7 to 1 to “0”.
Remark
When the subclock (fXT) is oscillating in the ultra low consumption mode, the effects of noise can more
easily cause the incorrect number of oscillation cycle counting. Before deciding to use this mode,
thoroughly evaluate the effects of noise.
24.9.2 RTC backup mode setting conditions
The RTC backup mode can be entered by stopping power supplies other than the RTC backup power supply
(RVDD) after the settings for the pre-RTC backup mode have been specified. The procedures for setting and
exiting pre-RTC backup mode are described below.
(1) Conditions for setting pre-RTC backup mode
If the following conditions are satisfied, the pre-RTC backup mode is set.
RTCBUMCTL0.RBMEN = 1 (Using RTC backup mode is enabled.)
SOSCAMCTL.AMPHS = 1
(This setting is necessary for subclock (fXT) oscillation in the ultra low
consumption mode, but the setting is not necessary for the RTC backup mode.)
RTCBUMCTL0.RBMSET = 1 (Pre-RTC backup mode setting.)
(2) Conditions for exiting pre-RTC backup mode
If the following conditions are satisfied, the pre-RTC backup mode is exited.
SOSCAMCTL.AMPHS = 0 (the normal oscillation of the subclock.)
RTCBUMCTL0.RBMSET = 0 (Pre-RTC backup mode exiting.)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1038 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
24.9.3 RTC backup mode setting procedure
The RTC backup mode setting/exiting procedure as follows.
(1) Setting the RTC backup mode
Caution
In the subclock operation, the RTC backup mode is prohibited.
In the main clock operation, be sure to set the RTC backup mode.
(a) Initial settings
Before entering the RTC backup mode, execute the setting mode below.
Initial settings for RTC backup mode
Set RTCBUMCTL0 to 1 (specific sequence), and set up the status in which RTC backup mode is enabled.
Set SOSCAMCTL.AMPHS to 0 (specific sequence), and specify normal oscillation for the subclock (fXT).
Set RTCBUMCTL0.RBMSET to 0 (specific sequence), and exit the pre-RTC backup mode.
NOP
Initial settings for peripheral functions
Specify that the LVI be used as an interrupt.
(Use the LVIS register to set the low-voltage detection level to 2.8 V (TYP.) or 2.3 V (TYP.).)
If the RTC is in the initial state (RC1CC0.RC1PWR = 0), specify the RTC initial settings.
Caution Use the RC1CC0.RC1CKS bit to specify the subclock (fXT) as the RTC operating clock and
start RTC operation. (For how to start RTC operation, see CHAPTER 11 REAL-TIME
COUNTER).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1039 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(b) INTLVI interrupt servicing routine
After the VDD decreases and INTLVI interrupt occurrs, use the INTLVI interrupt servicing routine to execute the
following processing.
Read the low-voltage detection flag (LVIM.LVIF) and confirm that LVIM.LVIF = 1. If LVIM.LVIF = 1,
perform step and the following steps. If LVIM.LVIF = 0, the VDD voltage has not decreased to the
LVI detection level, so do not specify the pre-RTC backup mode (step and subsequent steps),
and execute the exit processing in (3) Exiting the pre-RTC backup mode (when no external reset
has occurred).
Set the operation clock in accordance with VDD voltage (2.2 V@5 MHz, 2.0 V@2.5 MHz, etc).
Note1
Disable the DMA .
Prohibit NMIs (by clearing INTF02 and INTR02 to 0) and set up a status in which INTWD2 is not
Note 2, 3, 4.
immediately generated (by clearing WDT2), or stop WDT2 or the WDT2 source clock
Mask maskable interrupts other than INTLVI by using interrupt mask registers 0 to 3.
Set SOSCAMCTL.AMPHS to 1 (specific sequence), and set the subclock (fXT) to ultra low
consumption mode.
Set RTCBUMCTL0.RBMSET to 1 (specific sequence), and set the pre-RTC backup mode.
Set the STOP mode. (The system enters RTC backup mode once the VDD voltage supply stops.)
RETI.
Notes1.
In the INTLVI interrupt servicing routine, if a DMA operation occurs before disabling DMA operations and the
VDD voltage reaches the minimum guaranteed voltage before the DMA transfer finishes, it becomes
impossible to specify the pre-RTC backup mode.
2. In the INTLVI interrupt servicing routine, if an NMI or INTWDT2 interrupt occurs while specifying the settings
in , interrupt servicing starts. If this servicing takes a while, the VDD voltage reaches the minimum
guaranteed voltage during the servicing and it becomes impossible to specify the pre-RTC backup mode.
3. If the option function is used to set WDTMD1 to 1 and fix WDT2 to the reset mode, WDT2 cannot be stopped.
If a reset occurs while these settings are specified, the pre-RTC backup mode is exited according to the
initial settings of the pre-RTC backup mode specified in the reset initialization flow.
4. In above, if INTWDT2 is generated by clearing WDT2, and then INTWDT2 is generated in the pre-RTC
backup mode without the power supplies other than the RTC backup power supply (RVDD) being stopped
(that is, without an external reset being generated), the pre-RTC backup mode is exited.
Remark If a system reset occurs before the processing in step in the INTLVI interrupt servicing routine above is
carried out, the system will not enter RTC backup mode even if the VDD voltage drops.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1040 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
(2) Exiting the RTC backup mode (when an external reset has occurred)
After entering the RTC backup mode, if an external reset signal (RESET) is generated, execute the settings
described in (1) (a) Initial settings for RTC backup mode. If the VDD voltage goes outside the guaranteed
operating range, it is necessary to generate an external reset signal (RESET). Restore the VDD voltage to greater
than 2.3 V.
(3) Exiting the pre-RTC backup mode (when an external reset has not occurred)
If the VDD voltage has not dropped to the level at which an external reset signal (RESET) is generated after setting
the pre-RTC backup mode, the VDD voltage will rise, and once it reaches the level of the LVI voltage, an INTLVI
interrupt request signal will be generated, causing the system to exit STOP mode. The RETI instruction that is
subsequently executed in step in (1) (b) INTLVI interrupt servicing routine causes the processing to exit the
INTLVI interrupt servicing routine, at which point the INTLVI interrupt that was held pending when the LVIM.LVIF bit
was set to 0 will be acknowledged. At this time, execute the following processing:
(a) INTLVI interrupt servicing routine
After an INTVI interrupt is generated and the normal STOP mode is exited, execute the following processing
routine.
Read the low-voltage detection flag (LVIM.LVIF) and confirm that LVIM.LVIF = 0.
Clear SOSCAMCTL.AMPHS to 0 (specific sequence), and set the subclock (fXT) to normal oscillation.
Clear RTCBUMCTL0.RBMSET to 0 (specific sequence), and exit the pre-RTC backup mode.
NOP
If necessary, allow EIs and NMIs.
Figure 24-2 shows the RTC backup mode state transition diagram, and Figures 24-3 shows the RTC backup mode
setting flow charts.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1041 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Figure 24-2. RTC backup mode Status Transition
Reset start
Initial settings
- Initial settings for RTC backup mode
- On-chip peripheral settings
(Bus waits when accessing on-chip peripheral I/O registers, etc.)
- LVI settings
- RTC settings
(Not required after returning from RTC backup mode)
LVI interrupt occurrs and LVIF = 0
/exiting pre-RTC backup mode
Normal operaiton
LVI interrupt occurrs and LVIF = 1
/setting pre-RTC backup mode
STOPmode
Stop power supplies
other than RVDD
RTC backup modeNote1
(CPU is reset)
Restore VDD voltage and
cancel external reset
(VDD > 2.3 V)Note2
Stop power supplies
the RVDD
RTC stopped
Restore VDD voltage and
cancel external reset
(VDD > 2.3 V)Note2
Notes1. Be sure to initialize the RTC (by clearing the RC1CC0.RC1PWR bit (0)) once RVDD is
restored (to 1.8 V or higher) after having fallen below 1.8 V. For details, see 33.3
Operating Conditions or 34.3 Operating Conditions.
2. To use an operation clock that is greater than 5 MHz after restoring the system from
the RTC backup mode, be sure to restore VDD to greater than 2.7 V.
Remark (Trigger for shifting state) / (Processing executed when state is shifted)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1042 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Figure 24-3. Setting the RTC backup mode (1/2)
Reset start
Set RTCBUMCTL0 to 1
(specific sequence), and
RTC backup mode is enabled.
Set SOSCAMCTL.AMPHS to 0
(specific sequence), and specify
normal oscillation for the subclock (fXT).
Initial settings for
RTC backup mode
Set RTCBUMCTL0.RBMSET to 0
(specific sequence), and
exit the pre-RTC backup mode.
NOP
Initial settings for peripheral functions
Specify that the LVI be used as an interrupt.
(Use the LVIS register to set the lowvoltage detection level to 2.8 V.)Note
Is the RTC in the initial state?
(RC1CC0.RC1PWR = 0?)
No
Yes
Initial settings for the RTC
Normal operaiton
Note
The detection voltage can be set to 2.30 V (by setting the LVIS register to 01H) when
an operation clock of fXX = 2.5 to 5 MHz is used.
Remark In RTC backup mode , do not set the low-voltage detection level to 2.10 V (LVIS =
02H).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1043 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Figure 24-3. Setting the RTC backup mode (2/2)
INTLVI interrupt servicing
VDD< LVI detection voltage?
(LVIM.LVIF = 1?)
No
Yes
LVI detection voltage = 2.8 V?
(LVIS = 00H?)
No
Yes
Set operation clock to 5 MHz
Set operation clock to 2.5 MHz
Disable the DMA operation
Set RTCBUMCTL0.RBMSET to 0
(specific sequence),
and exit the pre-RTC backup mode.
Prohibit NMIs (by clearing INTF02 and
INTR02 to 0) and set up a status in
which INTWD2 is not immediately
generated, or stop WDT2 or the WDT2
source clock.
Mask maskable interrupts other than
INTLVI by using interrupt mask
registers 0 to 3.
Set SOSCAMCTL.AMPHS to 0
(specific sequence), and specify normal
oscillation for the subclock (fXT).Note
Exiting pre-RTC
backup mode
NOP
Setting pre-RTC
backup mode
Unmask maskable interrupts, enable
EI and NMI, and return clock settings
to original values, as required.
Set SOSCAMCTL.AMPHS to 1 (specific
sequence), and set the subclock (fXT) to
ultra low consumption mode.
Set RTCBUMCTL0.RBMSET to 1
(specific sequence), and set the
pre-RTC backup mode.
Set the STOP mode.
Power supplies other than
RVDD are stopped,
and the system enters
RTC backup mode.
RETI
Note
This setting is required to specify ultra-low-power oscillation for the subclock (fXT), but it is not a
requisite setting for RTC backup mode.
Remark In STOP mode, once the VDD voltage rises to above the LVI detection voltage level, an INTLVI
interrupt request signal is generated, and STOP mode is exited. The current INTLVI interrupt
servicing is then canceled by the execution of the RETI instruction. The newly generated
(pending) INTLVI is then immediately serviced, and the processing branches to the pre-RTC
backup mode cancellation processing when the answer to the first query (LVIM.LVIF = 1?) is
No.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1044 of 1210
V850ES/JG3-L
CHAPTER 24 STANDBY FUNCTION
Figure 24-4. RTC Backup Mode Power Supply Configuration Example (Simple power supply)
(a) Normal operation
VDD
VDD
RVDD
the charge current
limit resistorNote
RTC
Super capacitor
(electric double-layer capacitor)
VSS
(b) RTC backup mode
VDD
VDD
RVDD
the charge current
limit resistorNote
RTC
Note
Super capacitor
(electric double-layer capacitor)
VSS
Add a limit on the charge current if necessary.
Figure 24-5. RTC Backup Mode Power Supply Configuration Example (Double power supply)
(a) Normal operation
VDD
VAA
Battery
switch
VDD
RVDD
RTC
(b) RTC backup mode
VDD
VAA
Battery
switch
VDD
RVDD
RTC
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1045 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
CHAPTER 25 RESET FUNCTION
25.1 Overview
The reset function is used to initialize the settings of the V850ES/JG3-L functions. This function is used, for example,
to stop operation at power-on until the supply voltage reaches the operation voltage level, or to initialize the settings of the
V850ES/JG3-L functions at any time.
The V850ES/JG3-L starts operating at address 00000000H immediately after a reset ends.
The following sources cause a reset:
(1) Four reset sources
External reset input via the RESET pin
Reset via a watchdog timer 2 (WDT2) overflow (WDT2RES)
System reset based on comparison of the low-voltage detector (LVI) supply voltage and detected voltage
System reset based on detecting that oscillation of clock monitor (CLM) has stopped
The source of the reset can be confirmed by using the reset source flag register (RESF) immediately after a reset
ends.
(2) Emergency operation mode
If WDT2 overflows during the main clock oscillation stabilization time inserted after a reset, the main clock
oscillation is judged as abnormal and the CPU starts operating on the internal oscillator clock.
Caution
In the emergency operation mode, do not access on-chip peripheral I/O registers other than
those for the interrupt function, port function, WDT2, and timer M, which can operate on the
internal oscillator clock. In addition, operating CSIB0 to CSIB4 and UARTA0 by using an external
clock is also prohibited.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1046 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
25.2 Configuration
Figure 25-1. Block Diagram of Reset Function
Internal bus
Reset source flag
register (RESF)
WDT2RF
WDT2 reset signal
CLMRF
LVIRF
Set
Set
Set
Clear
Clear
Clear
CLM reset signal
RESET
Reset signal to
LVIM/LVIS register
LVI reset signal
Caution
Reset signal (active-low)
An LVI circuit internal reset does not reset the LVI circuit.
Remarks 1. LVIM: Low-voltage detection register
2. LVIS: Low-voltage detection level select register
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1047 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
25.3 Register to Check Reset Source
The V850ES/JG3-L has four reset sources. The source of the reset that occurred can be checked by using the reset
source flag register (RESF) immediately after a reset ends.
(1) Reset source flag register (RESF)
The RESF register is a special register that can be written only in a combination of specific sequences (see 3.4.7
Special registers).
The RESF register indicates the source that generated a reset signal.
This register is read or written in 8-bit or 1-bit units.
RESET pin input clears this register to 00H. The default value differs if the source of the reset is other than the
RESET pin signal.
After reset: 00HNote
RESF
0
R/W
0
Address: FFFFF888H
0
WDT2RF
0
0
CLMRF
LVIRF
Reset signal from WDT2
WDT2RF
0
Not generated
1
Generated
Reset signal from CLM
CLMRF
0
Not generated
1
Generated
Reset signal from LVI
LVIRF
0
Not generated
1
Generated
Note The value of the RESF register is cleared to 00H when a reset is executed via the RESET pin. When a
reset is executed by watchdog timer 2 (WDT2), the low-voltage detector (LVI), or the clock monitor
(CLM), the reset flags of this register (WDT2RF bit, CLMRF bit, and LVIRF bit) are set. However, other
sources are retained.
Caution
Only “0” can be written to each bit of this register. If writing “0” conflicts with setting the flag
(occurrence of reset), setting the flag takes precedence.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1048 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
25.4 Operation
25.4.1 Reset operation via RESET pin
When a low level is input to the RESET pin, the system is reset, and each hardware unit is initialized.
When the level of the RESET pin is changed from low to high, the reset status ends.
The RESET pin has an internal noise elimination circuit that uses analog delay (60 ns (TYP.)) to prevent malfunction
caused by noise.
Table 25-1. Hardware Status on RESET Pin Input
Item
During Reset
After Reset
Main clock oscillator (fX)
Oscillation stops
Oscillation starts
Subclock oscillator (fXT)
Oscillation continues
Internal oscillator
Oscillation stops
Oscillation starts
Peripheral clock (fX to fX/1,024)
Operation stops
Operation starts after securing oscillation
stabilization time
Internal system clock (fCLK),
Operation stops
Operation starts after securing oscillation
CPU clock (fCPU)
stabilization time (initialized to fXX/8)
CPU
Initialized
Program execution starts at address
00000000H after securing oscillation
stabilization time
Watchdog timer 2
Operation stops (initialized to 0)
Counts up from 0 with internal oscillator
clock as source clock.
RTC
Operation continues
Internal RAM
Undefined if power-on reset or CPU access and reset input conflict (data is damaged).
Otherwise value immediately after reset input is retained.
I/O lines (ports/alternate-function
High impedance
Note
pins)
On-chip peripheral I/O registers
Initialized to specified status, OCDM register is set (01H).
Other on-chip peripheral functions
Operation stops
Operation can be started after securing
oscillation stabilization time
Note When the power is turned on, the following pins may output an undefined level temporarily even during reset.
P10/ANO0 pin
P11/ANO1 pin
P53/SIB2/KR3/TIQ00/TOQ00/RTP03/DDO pin
Caution
The OCDM register is initialized by the RESET pin input. Therefore, note with caution that, if a high
level is input to the P05/DRST pin immediately after a reset ends before the OCDM.OCDM0 bit is
cleared, the on-chip debug mode may be entered. For details, see CHAPTER 4 PORT FUNCTIONS.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1049 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
Figure 25-2. Timing of Reset Operation by RESET Pin Input
fX
fCLK
Initialized to fXX/8
RESET
Analog delay Analog delay Analog delay Analog delay
(eliminated as noise)
(eliminated as noise)
Internal system
reset signal
Counting of oscillation
stabilization time
CPU operation
Oscillation stabilization timer overflows
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1050 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
Figure 25-3. Timing of Power-on Reset Operation
VDD
fX
fCLK
Initialized to fXX/8
RESET
Analog delay
Internal system
reset signal
Oscillation stabilization
time count
On-chip regulator
stabilization timeNote
CPU operation
Overflow of timer for oscillation stabilization
Note Time after VDD reaches 2.2 V: 3.5 ms (MAX.)
Time after VDD reaches 2.7 V: 1.0 ms (MAX.)
Caution
Do not disable RESET until the voltage of the on-chip regulator stabilizes.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1051 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
25.4.2 Reset operation by watchdog timer 2
When watchdog timer 2 is set to the reset operation mode due to overflow, upon watchdog timer 2 overflow (WDT2RES
signal generation), a system reset is executed and the hardware is initialized to the initial status.
Following watchdog timer 2 overflow, the reset status is entered and lasts the predetermined time (analog delay), and
then the reset status ends automatically.
The main clock oscillator is stopped during the reset period.
Table 25-2. Hardware Status During Watchdog Timer 2 Reset Operation
Item
During Reset
After Reset
Main clock oscillator (fX)
Oscillation stops.
Oscillation starts.
Subclock oscillator (fXT)
Oscillation continues.
Internal oscillator
Oscillation stops.
Oscillation starts.
Peripheral clock (fXX to fXX/1,024)
Operation stops.
Operation starts after securing oscillation
stabilization time.
Internal system clock (fXX),
Operation stops.
CPU clock (fCPU)
CPU
Operation starts after securing oscillation
stabilization time (initialized to fXX/8).
Initialized
Program execution after securing
oscillation stabilization time
Watchdog timer 2
Operation stops (initialized to 0).
Counts up from 0 with internal oscillator
clock as source clock.
RTC
Operation continues
Internal RAM
Undefined if power-on reset or CPU access and reset input conflict (data is damaged).
Otherwise value immediately after reset input is retained.
I/O lines (ports/alternate-function
High impedance
pins)
On-chip peripheral I/O register
Initialized to specified status, OCDM register retains its value.
On-chip peripheral functions other
Operation stops.
than above
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Operation can be started after securing
oscillation stabilization time.
Page 1052 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
Figure 25-4. Timing of Reset Operation by WDT2RES Signal Generation
fX
fCLK
Initialized to fXX/8
WDT2RES
Analog delay
Internal system
reset signal
Counting of oscillation
stabilization time
CPU operation
Oscillation stabilization timer overflow
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1053 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
25.4.3 Reset operation by low-voltage detector
If the supply voltage falls below the voltage detected by the low-voltage detector when LVI operation is enabled, a
system reset is executed (when the LVIM.LVIMD bit is set to 1), and the hardware is initialized to the initial status.
The reset status lasts from when a supply voltage drop has been detected until the supply voltage rises above the LVI
detection voltage.
The main clock oscillator is stopped during the reset period.
When the LVIMD bit is cleared to 0, an interrupt request signal (INTLVI) is generated if the supply voltage falls below or
exceeds the detected voltage.
Table 25-3. Hardware Status During Reset Operation by Low-Voltage Detector
Item
During Reset
After Reset
Main clock oscillator (fX)
Oscillation stops.
Oscillation starts.
Subclock oscillator (fXT)
Oscillation continues.
Internal oscillator
Oscillation stops.
Oscillation starts.
Peripheral clock (fX to fX/1,024)
Operation stops.
Operation starts after securing oscillation
stabilization time.
Internal system clock (fXX),
Operation stops
CPU clock (fCPU)
CPU
Operation starts after securing oscillation
stabilization time (initialized to fXX/8).
Initialized
Program execution starts after securing
oscillation stabilization time
Watchdog timer 2
Operation stops (initialized to 0).
Counts up from 0 with internal oscillator
clock as source clock.
RTC
Operation continues
Internal RAM
Undefined
I/O lines (ports/alternate-function
High impedance
pins)
On-chip peripheral I/O register
Initialized to specified status, OCDM register retains its value.
LVI
Operation stops.
On-chip peripheral functions other
Operation stops.
than above
Remark
Operation can be started after securing
oscillation stabilization time.
For the reset timing of the low-voltage detector, see CHAPTER 27 LOW-VOLTAGE DETECTOR (LVI).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1054 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
25.4.4 Operation immediately after reset ends
(1) Immediately after reset ends normally
Immediately after a reset ends, the main clock starts oscillating, the oscillation stabilization time (which differs
depending on the option byte; for details, see CHAPTER 30 OPTION BYTE) is secured, and then the CPU starts
executing the program.
WDT2 begins to operate immediately after a reset ends using the internal oscillator clock as the source clock.
Figure 25-5. Operation Immediately After Reset Ends
Main clock
Internal oscillator
clock
Reset
Counting of oscillation stabilization time
Normal operation (fCPU = Main clock)
V850ES/JG3-L
WDT2
Operation
stops
Operation in progress
Operation stops
Operation in progress
Clock monitor
Software-based clock monitoring starts.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1055 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
(2) Emergency operation mode
If an anomaly occurs in the main clock before the oscillation stabilization time is secured, WDT2 overflows before
the CPU starts executing the program. At this time, the CPU starts executing the program by using the internal
oscillator clock as the source clock.
Caution
In the emergency operation mode, do not access on-chip peripheral I/O registers other than
those for the interrupt function, port function, WDT2, and timer M, which can operate on the
internal oscillator clock. In addition, operating CSIB0 to CSIB4 and UARTA0 by using an external
clock is also prohibited.
Figure 25-6. Operation Immediately After Reset Ends
Main clock
Internal oscillator
clock
Reset
Counting of oscillation stabilization time
Emergency operation mode
(fCPU = internal oscillator clock)
V850ES/JG3-L
WDT2
Operation
stops
Operation in progress
Operation in progress (re-count)
Operation stops
Clock monitor
WDT overflows
The CPU operation clock states can be checked by using the CPU operation clock status register (CCLS).
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1056 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
25.4.5 Reset function operation
Figure 25-7. Reset Function Operation
Start (reset source generated)
Set RESF registerNote 1
Reset occurs →
reset ends
Internal oscillation and main clock
oscillation start,
WDT2 count up starts
(reset mode)
Main clock
oscillation stabilization
time secured?
No
Yes (in normal
operation mode)
No
WDT2 overflow?
Yes (in emergency operation mode)
fCPU = fRNote 2
CCLS.CCLSF bit ← 1
WDT2 restart
fCPU = fX
CPU starts operation at 00000000H
(fCPU = fX/8, fR)
Software processing
No
CCLS.CCLSF bit = 1?
Yes
Emergency operation
Normal operation
Notes 1. The bit to be set differs depending on the reset source.
Reset Source
WDT2RF Bit
CRMRF Bit
LVIRF Bit
RESET pin
0
0
0
WDT2
1
Value before reset is retained.
Value before reset is retained.
CLM
Value before reset is retained.
1
Value before reset is retained.
LVI
Value before reset is retained.
Value before reset is retained.
1
2. The internal oscillator cannot be stopped.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1057 of 1210
V850ES/JG3-L
CHAPTER 25 RESET FUNCTION
25.5 Cautions
When executing a power-on reset operation, the supply voltage must be within the guaranteed operating range
immediately after the reset ends. The usable range of the internal operating frequency of the V850ES/JG3-L depends on
the supply voltage (2.5 MHz (MAX.) @ 2.0 to 2.2 V or 5 MHz (MAX.) @ 2.2 to 2.7 V or 20 MHz (MAX.) @ 2.7 to 3.6 V).
(1) At less than 2.0 V immediately after reset ends
Use prohibited
(2) At 2.0 V or more to less than 2.2 V immediately after reset ends
Input fX = 2.5 MHz to the main clock oscillator and set the clock-through mode (PLLCTL.SELPLL = 0).
Inputting 2.5 MHz or more to the main clock oscillator is prohibited.
Be sure to stop the PLL (PLLCTL.PLLON = 0) in the initialization routine.
(3) At 2.2 V or more to less than 2.7 V immediately after reset ends
Input fX = 2.5 to 5 MHz to the main clock oscillator and set the clock-through mode (PLLCTL.SELPLL = 0).
Inputting 5 MHz or more to the main clock oscillator is prohibited.
Be sure to stop the PLL (PLLCTL.PLLON = 0) in the initialization routine.
(4) At 2.7 to 3.6 V immediately after reset ends
Both the clock-through mode and PLL mode can be used.
Remarks 1. The voltage value (V) is the value of VDD.
2. A reset ends at the following timing. For the relationship between the rising of VDD and when the
reset signal generated by the RESET pin ends, see 33.7.4 Power on/power off/reset timing.
VDD
RESET
Reset ends
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1058 of 1210
V850ES/JG3-L
CHAPTER 26 CLOCK MONITOR
CHAPTER 26 CLOCK MONITOR
26.1 Functions
The clock monitor monitors the main clock by using the internal oscillator clock and generates a reset request signal
when oscillation of the main clock is stopped.
Once the operation of the clock monitor has been enabled by an operation enable flag, it cannot be cleared to 0 by any
means other than a reset.
When a reset by the clock monitor occurs, the RESF.CLMRF bit is set. For details on the RESF register, see 25.3
Register to Check Reset Source.
The clock monitor automatically stops under the following conditions.
During oscillation stabilization time after STOP mode is released
When the main clock is stopped (from when the PCC.MCK bit = 1 during subclock operation, until the PCC.CLS bit =
0 during main clock operation)
When the monitoring clock (internal oscillator clock) is stopped
When the CPU operates with the internal oscillator clock
26.2 Configuration
The clock monitor includes the following hardware.
Table 26-1. Configuration of Clock Monitor
Item
Configuration
Control register
Clock monitor mode register (CLM)
Figure 26-1. Block Diagram of Clock Monitor
Clock monitor operation enable signal
(CLM.CLME bit)
Main clock oscillation enable signal
(PCC.MCK bit)
Operation
mode
controller
Main clock
Main clock
oscillation monitor
Internal reset signal
Internal oscillator clock
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1059 of 1210
V850ES/JG3-L
CHAPTER 26 CLOCK MONITOR
26.3 Registers
The clock monitor is controlled by the clock monitor mode register (CLM).
(1) Clock monitor mode register (CLM)
The CLM register is a special register that can only be written in a combination of specific sequences (see 3.4.7
Special registers).
This register is used to set the operation mode of the clock monitor.
This register can be read or written in 8-bit or 1-bit units.
Reset sets this register to 00H.
After reset: 00H
CLM
R/W
Address: FFFFF870H
7
6
5
4
3
2
1
0
0
0
0
0
0
0
CLME
CLME
Clock monitor operation enable or disable
0
Disable clock monitor operation.
1
Enable clock monitor operation.
Cautions 1. Once the CLME bit has been set to 1, it cannot be cleared to 0 by any means other than
a reset.
2. When a reset by the clock monitor occurs, the CLME bit is cleared to 0 and the
RESF.CLMRF bit is set to 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1060 of 1210
V850ES/JG3-L
CHAPTER 26 CLOCK MONITOR
26.4 Operation
This section describes the clock monitor operation. The monitoring start and monitoring stop conditions are as follows.
Enabling operation by setting the CLM.CLME bit to 1
While oscillation stabilization time is being counted after STOP mode is released
When the main clock is stopped (from when PCC.MCK bit is set to 1 during subclock operation to when
PCC.CLS bit is set to 0 during main clock operation)
When the sampling clock (internal oscillator clock) is stopped
When the CPU operates on the internal oscillator clock
Table 26-2. Operation Status of Clock Monitor (When CLM.CLME Bit = 1)
CPU Operating Clock
Operation Mode
Status of Main Clock
Status of Internal
Status of Clock Monitor
Oscillator Clock
Main clock
HALT mode
Oscillates
IDLE1, IDLE2 modes
STOP mode
Subclock (MCK bit of
Oscillates
Stops
Note 1
Operates
Note 1
Operates
Note 1
Stops
Note 1
Operates
Note 1
Stops
Note 3
Oscillates
Oscillates
Oscillates
Sub-IDLE mode
Oscillates
Oscillates
Sub-IDLE mode
Stops
Oscillates
Emergency operation
Stops
Oscillates
Stops
Stops
Stops
Stops
PCC register = 0)
Subclock (MCK bit of
PCC register = 1)
Internal oscillator
clock
mode
Note 2
During reset
–
Notes 1. The internal oscillator can be stopped by setting the RCM.RSTOP bit to 1.
2. See 25.4.4 (2) Emergency operation mode.
3. The internal oscillator cannot be stopped by software.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1061 of 1210
V850ES/JG3-L
CHAPTER 26 CLOCK MONITOR
(1) Operation when main clock oscillation is stopped (CLME bit = 1)
If oscillation of the main clock is stopped when the CLME bit is 1, an internal reset signal is generated as shown in
Figure 26-2.
Figure 26-2. Reset Period Due to Stoppage of Main Clock Oscillation
Four internal oscillator clocks
Main clock
Internal oscillator
clock
Internal reset signal
(active-low)
CLM.CLME bit
RESF.CLMRF bit
(2) Clock monitor status after RESET input
RESET input clears the CLM.CLME bit to 0 and stops the clock monitor operation. When the CLME bit is set to 1
by software after the normal operation is started, monitoring is started.
Figure 26-3. Clock Monitor Status After RESET Input
(CLM.CLME Bit = 1 Is Set After RESET Is Input and Normal Operation Is Started)
CPU operation
Normal
operation
Reset
Clock supply
stopped
Normal operation
Main clock
Oscillation
stabilization time
Internal oscillator
clock
RESET
Set to 1 by software
CLME
Clock monitor status
Monitoring
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Monitoring stopped
Monitoring
Page 1062 of 1210
V850ES/JG3-L
CHAPTER 26 CLOCK MONITOR
(3) Operation in STOP mode or after STOP mode is released
If the STOP mode is set with the CLM.CLME bit = 1, the monitor operation is stopped in the STOP mode and while
the oscillation stabilization time is being counted. After the oscillation stabilization time, the monitor operation is
automatically started.
Figure 26-4. Operation in STOP Mode or After STOP Mode Is Released
CPU Normal
operation operation
STOP
Oscillation stabilization time
Normal operation
Main clock
Oscillation stops
Oscillation stabilization time
(set by OSTS register)
Internal oscillator
clock
CLME
Clock monitor
status
During
monitor
Monitor stops
During monitor
(4) Operation when main clock is stopped (arbitrary)
During subclock operation (PCC.CLS bit = 1) or when the main clock is stopped by setting the PCC.MCK bit to 1,
the monitor operation is stopped until the main clock operation is started (PCC.CLS bit = 0). The monitor operation
is automatically started when the main clock operation is started.
Figure 26-5. Operation When Main Clock Is Stopped (Arbitrary)
Subclock operation
CPU
operation
PCC.MCK bit = 1
Main clock operation
Oscillation stabilization
time count by software
Main clock
Oscillation stops
Internal oscillator
clock
CLME
Clock monitor
status
During
monitor
Monitor stops
Monitor stops
During monitor
(5) Operation while CPU is operating on internal oscillator clock (CCLS.CCLSF bit = 1)
The monitor operation is not stopped when the CCLSF bit is 1, even if the CLME bit is set to 1.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1063 of 1210
V850ES/JG3-L
CHAPTER 27 LOW-VOLTAGE DETECTOR (LVI)
CHAPTER 27 LOW-VOLTAGE DETECTOR (LVI)
27.1 Functions
The low-voltage detector (LVI) has the following functions.
If interrupt occurrence at low-voltage detection is selected as the operation mode, the low-voltage detector compares
the supply voltage (VDD) and the detection voltage (VLVI), and generates an internal interrupt signal when the supply
voltage drops below or rises above the detection voltage.
If reset occurrence at low-voltage detection is selected as the operation mode, the low-voltage detector generates an
internal reset signal when the supply voltage (VDD) drops below the detection voltage (VLVI).
The level of the supply voltage to be detected can be changed by software.
Interrupt or reset signal can be selected by software.
The low-voltage detector is operable in the standby mode.
If a reset occurs when the low-voltage detector is selected to generate a reset signal, the RESF.LVIRF bit is set to 1.
For details about the RESF register, see 25.3 Register to Check Reset Source.
27.2 Configuration
The block diagram of the low-voltage detector is shown below.
Figure 27-1. Block Diagram of Low-Voltage Detector
VDD
VDD
Low
voltage
detection
level
selector
N-ch
+
−
Selector
Internal reset signal
INTLVI
Detected voltage
source (VLVI)
LVIS1
LVIS0
LVION LVIMD
Low voltage detection level
select register (LVIS)
LVIF
Low voltage detection
register (LVIM)
Internal bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1064 of 1210
V850ES/JG3-L
CHAPTER 27 LOW-VOLTAGE DETECTOR (LVI)
27.3 Registers
The low-voltage detector is controlled by the following registers.
Low voltage detection register (LVIM)
Low voltage detection level select register (LVIS)
(1) Low voltage detection register (LVIM)
The LVIM register is a special register. This can be written only in a combination of specific sequences (see 3.4.7
Special registers).
The LVIM register is used to enable or disable low voltage detection, and to set the operation mode of the lowvoltage detector.
This register can be read or written in 8-bit or 1-bit units. However, the LVIF bit is read-only.
After reset: Note 1
LVIM
R/W
Address: FFFFF890H
6
5
4
3
2
LVION
0
0
0
0
0
LVIMD
LVIF
LVION
0
Disable operation.
1
Enable operation.
LVIMD
LVIF
Low voltage detection enable or disable
Selection of operation mode of low-voltage detector
0
Generate interrupt request signal INTLVI when supply voltage drops below or
rises above detection voltage.
1
Generate internal reset signal LVIRES when supply voltage drops below detection
voltage.
Notes 2, 3, 4
Low voltage detection flag
0
Supply voltage rises above detection voltage, or operation is disabled.
1
Supply voltage of connected power supply is lower than detection voltage.
Notes 1. Reset by low-voltage detection: 82H
Reset due to other source:
00H
2. Do not change the LVION bit from 1 to 0 while the supply voltage (VDD) is lower than the
detection voltage (VLVI) (LVIM.LVIF bit = 1).
3. After the LVI operation has started (LVION bit = 1), check the LVIF bit.
4. When the INTLVI signal is generated, check the LVIF bit to see whether the supply voltage
has fallen below or exceeds the detection voltage.
Cautions 1. When the LVION and LVIMD bits are set to 1, the low-voltage detector cannot be
stopped until a reset request due to other than low-voltage detection is
generated.
2. When the LVION bit is set to 1, the comparator in the LVI circuit starts operating.
Wait at least 0.2 ms, set by software, before checking the voltage by using the
LVIF bit after the LVION bit is set.
3. Be sure to set bits 6 to 2 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1065 of 1210
V850ES/JG3-L
CHAPTER 27 LOW-VOLTAGE DETECTOR (LVI)
(2) Low voltage detection level select register (LVIS)
The LVIS register is used to select the level of voltage to be detected.
This register can be read or written in 8-bit units.
After reset: Note1
LVIS
R/W
Address: FFFFF891H
7
6
5
4
3
2
0
0
0
0
0
0
LVIS1
LVIS0
LVIS1
LVIS0
0
0
2.80 V (TYP.)
0
1
2.30 V (TYP.)
1
0
2.10 V (TYP.)
1
1
Setting prohibited
Low-voltage detection level
Note Reset by low-voltage detection:
Reset due to other source:
Retained
00H
Cautions 1. This register cannot be written until a reset request due to something other than
low-voltage detection is generated after the LVIM.LVION and LVIM.LVIMD bits are
set to 1.
2. Be sure to clear bits 7 to 2 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1066 of 1210
V850ES/JG3-L
CHAPTER 27 LOW-VOLTAGE DETECTOR (LVI)
27.4 Operation
Depending on the setting of the LVIM.VIMD bit, an interrupt signal (INTLVI) or an internal reset signal is generated.
How to specify each operation is described below, together with timing charts.
27.4.1 To use for internal reset signal
Mask the interrupt of LVI.
Select the voltage to be detected by using the LVIS.LVIS0 bit.
Set the LVIM.LVION bit to 1 (to enable operation).
Insert a wait cycle of 0.2 ms or more by software.
By using the LVIM.LVIF bit, check if the supply voltage is lower than the detection voltage.
Set the LVIMD bit to 1 (to generate an internal reset signal).
Caution
If the LVIMD bit is set to 1, the contents of the LVIM and LVIS registers cannot be changed until a
reset request other than LVI is generated.
Figure 27-2. Timing of Low-Voltage Detector Operation (LVIMD Bit = 1, Low-Voltage Detection Level: 2.80 V)
Supply voltage (VDD)
LVI detection voltage
(2.80 V (TYP.))
Time
LVION bit
LVI reset request signal
(active-low)
Internal reset signal
(active low)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1067 of 1210
V850ES/JG3-L
CHAPTER 27 LOW-VOLTAGE DETECTOR (LVI)
27.4.2 To use for interrupt
Mask the interrupt of LVI.
Select the voltage to be detected by using the LVIS.LVIS0 bit.
Set the LVIM.LVION bit to 1 (to enable operation).
Insert a wait cycle of 0.2 ms (max.) or more by software.
By using the LVIM.LVIF bit, check if the supply voltage is higher than the detection voltage.
Clear the interrupt request flag of LVI.
Unmask the interrupt of LVI.
By using the LVIM.LVIF bit, check if the supply voltage is higher than the detection voltage.
Clear the LVION bit to 0.
Figure 27-3. Timing of Low-Voltage Detector Operation (LVIMD Bit = 0, Low-Voltage Detection Level: 2.80 V)
Supply voltage (VDD)
LVI detection voltage
(2.80 V (TYP.))
External RESETIC
detection voltage
Time
LVION bit
INTLVI signal
RESET pin
Caution
When the INTLVI signal is generated, confirm, by using the LVIM.LVIF bit, whether the INTLVI
signal was generated due to the supply voltage dropping below or rising above the detection
voltage.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1068 of 1210
V850ES/JG3-L
CHAPTER 28 CRC FUNCTION
CHAPTER 28 CRC FUNCTION
28.1 Functions
Generation of CRC (Cyclic Redundancy Check) code for detecting errors in communication data
Generation of CRC code for detecting errors in data blocks
Generation of 16-bit CRC code using a CRC-CCITT (X16 + X12 + X5 + 1) generation polynomial for blocks of data of
any length in 8-bit units
CRC code is set to the CRC data register each time 1-byte data is transferred to the CRCIN register, after the initial
value is set to the CRCD register.
28.2 Configuration
The CRC function includes the following hardware.
Table 28-1. CRC Configuration
Item
Control registers
Configuration
CRC input register (CRCIN)
CRC data register (CRCD)
Figure 28-1. Block Diagram of CRC Function
Internal bus
CRC input register (CRCIN) (8 bits)
CRC code generator
CRC data register (CRCD) (16 bits)
Internal bus
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1069 of 1210
V850ES/JG3-L
CHAPTER 28 CRC FUNCTION
28.3 Registers
(1) CRC input register (CRCIN)
The CRCIN register is an 8-bit register for setting data.
This register can be read or written in 8-bit units.
Reset sets this register to 00H.
After reset: 00H
R/W
Address: FFFFF310H
6
7
5
4
3
2
1
0
CRCIN
(2) CRC data register (CRCD)
The CRCD register is a 16-bit register that stores the CRC-CCITT operation results.
This register can be read or written in 16-bit units.
Reset sets this register to 0000H.
Caution
Accessing the CRCD register is prohibited in the following statuses. If a wait cycle is generated,
it can only be cleared by a reset. For details, see 3.4.9 (1) Accessing special on-chip peripheral
I/O registers.
When the CPU operates on the subclock and main clock oscillation is stopped
When the CPU operates on the internal oscillator clock
After reset: 0000H
15
14
R/W
13
12
Address: FFFFF312H
11
10
9
8
7
6
5
4
3
2
1
0
CRCD
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1070 of 1210
V850ES/JG3-L
CHAPTER 28 CRC FUNCTION
28.4 Operation
An example of the operation of the CRC circuit is shown below.
Figure 28-2. CRC Circuit Operation Example (LSB First)
b7
(1) Setting of CRCIN to 01H
b0
01H
b15
b0
(2) Reading the CRCD register
1189H
CRC code is stored
Remark
This is an example when 0000H is written to the CRCD register as the initial value.
The code when 01H is sent LSB first is (1000 0000). Therefore, the CRC code calculated by using the generation
polynomial X16 + X12 + X5 + 1 is the remainder when sixteen digits of zero are appended to (1000 0000) to make the code
become (1000 0000 0000 0000 0000 0000) and the code is divided by (1 0001 0000 0010 0001) by using a modulo-2
operation formula.
A modulo-2 operation is performed based on the following formula.
0+0=0
0+1=1
1+0=1
1+1=0
1 = 1
LSB
1000 1000
1 0001 0000 0010 0001 1000 0000 0000
1000 1000 0001
1000 0001
1000 1000
1001
0000
0000
0000
0001
0001
0000
1
1000
0000
1000
MSB
0000
0
1
1000
LSB
MSB
9
8
1
1
Therefore, the CRC code becomes 1001 0001 1000 1000
. Since LSB-first is used, this corresponds to 1189H in
hexadecimal notation.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1071 of 1210
V850ES/JG3-L
CHAPTER 28 CRC FUNCTION
28.5 Usage
How to use the CRC logic circuit is described below.
Figure 28-3. CRC Operation
Start
Write 0000H to CRCD register
Input data exists?
Yes
No
Read CRCD register
Write CRCIN register
End
[Basic usage]
Write 0000H to the CRCD register.
Write the required quantity of data to the CRCIN register.
Read the CRCD register.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1072 of 1210
V850ES/JG3-L
CHAPTER 28 CRC FUNCTION
Communication errors can easily be detected if the CRC code is transmitted/received along with transmit/receive data
when transmitting/receiving data consisting of several bytes.
The following figure shows an example when all of the data 12345678H (0001 0010 0011 0100 0101 0110 0111 1000B)
is transmitted LSB-first.
Figure 28-4. CRC Transmission Example
78
56
34
12
Transmit/receive data
(12345678H)
F6
08
CRC code
(08F6H)
Processing on transmitting side
Write the initial value 0000H to the CRCD register.
Write the 1 byte of data to be transmitted first to the transmit buffer register. (At this time, also write the same
data to the CRCIN register.)
When transmitting several bytes of data, write the same data to the CRCIN register each time transmit data is
written to the transmit buffer register.
After all the data has been transmitted, write the contents of the CRCD register (CRC code) to the transmit
buffer register and transmit them. (The data is transmitted LSB-first, starting from the lower bytes, and then
the higher bytes.)
If a resend is requested by the transmitting side, resend the data.
Processing on receiving side
Write the initial value 0000H to the CRCD register.
When reception of the first 1 byte of data is complete, write that receive data to the CRCIN register.
If receiving several bytes of data, write the receive data to the CRCIN register every time reception ends. (In
the case of normal reception, when all the receive data has been written to the CRCIN register, the contents
of the CRCD register on the receiving side and the contents of the CRCD register on the transmitting side are
the same.)
Next, the CRC code is transmitted from the transmitting side, so write this data to the CRCIN register similarly
to receive data.
When reception of all the data, including the CRC code, has been completed, reception was normal if the
contents of the CRCD register are 0000H. If the contents of the CRCD register are other than 0000H, this
indicates a communication error, so transmit a resend request to the transmitting side.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1073 of 1210
V850ES/JG3-L
CHAPTER 29 REGULATOR
CHAPTER 29 REGULATOR
29.1 Outline
The V850ES/JG3-L includes a regulator to reduce power consumption and noise.
This regulator supplies a stepped-down VDD power supply voltage to the oscillator block and internal logic circuits
(except the A/D converter, D/A converter, and output buffers). And these supply a stepped-down RVDD power supply
voltage to the RTC and sub-oscillator block.
Figure 29-1. Regulator
AVREF0
AVREF1
VDD
A/D converter
EVDD I/O buffer
D/A converter
Flash
memory
Regulator
REGC
Main oscillator
Internal digital circuits
RTC backup area
UVDD
Regulator
RVDD
RTC
suboscillator
USB
EVDD
Bidirectional level shifter
Cautions1.
2.
Use the regulator with a setting of VDD = EVDD = AVREF0 = AVREF1.
RVDD can be used at a different potential to that used by the other power supplies.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1074 of 1210
V850ES/JG3-L
CHAPTER 29 REGULATOR
29.2 Operation
The regulator connected to VDD always operates in modes other than RTC backup mode (normal operation mode,
HALT mode, IDLE1 mode, IDLE2 mode, STOP mode, subclock operation mode, sub-IDLE mode, or during reset).
The regulator connected to RVDD always operates in all modes.
The output voltage of the regulator can be lowered in the STOP mode, subclock operation mode, and sub-IDLE mode
to reduce the power consumption. For details, see CHAPTER 24 STANDBY FUNCTION.
Be sure to connect a capacitor (4.7 F (recommended value)) to the REGC pin to stabilize the regulator output.
A diagram of the regulator pin connection method is shown below.
Figure 29-2. REGC Pin Connection
VDD
Input voltage = 2.7 to 3.6 V
REG
Voltage supply to oscillator/internal logic
REGC
4.7 μ F
(recommended
value)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
VSS
Page 1075 of 1210
V850ES/JG3-L
CHAPTER 30 OPTION BYTE
CHAPTER 30 OPTION BYTE
The option byte is stored at address 000007AH of the internal flash memory (internal ROM area) as 8-bit data. This 8bit data is used to specify the mode for watchdog timer 2, specify whether to enable or disable stopping the internal
oscillator, and specify the oscillation stabilization time immediately after a reset ends. After a reset ends, the mode for
watchdog timer 2, and whether to enable or disable stopping the internal oscillator is specified, and the oscillation
stabilization time is secured, in accordance with these set values.
When writing a program to the V850ES/JG3-L, specify the option data at address 000007AH in the program, referring
to 30.1 Program Example.
The data in this area cannot be rewritten during program execution.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1076 of 1210
V850ES/JG3-L
CHAPTER 30 OPTION BYTE
Address: 0000007AH
WDTMD1 RMOPIN
0
WDTMD1
0
0
0
RESOSTS2 RESOSTS1 RESOSTS0
Watchdog timer 2 mode setting
Operation clock (fX/fT/fR) selectable
INTWDT2/WDTRES mode selectable
1
Internal oscillator clock (fR) fixed
WDTRES mode fixed
Option to enable/disable stopping Internal oscillator by software
RMOPIN
0
Can be stopped by software
1
Cannot be stopped by software
RES
OSTS2
RES
OSTS1
RES
OSTS0
Selection of oscillation stabilization time (theoretical value)
fX
2.5 MHz
0
0
0
6 MHz
10 MHz
10
409.6 μs
Setting prohibited Setting prohibited
11
819.2 μs
Setting prohibited Setting prohibited
12
2 /fX
0
0
1
0
1
0
2 /fX
1.638 ms
682.7 μs
409.6 μ s
0
1
1
213/fX
3.277 ms
1.365 ms
819.2 μ s
14
6.554 ms
2.731 ms
1.638 ms
15
13.11 ms
5.461 ms
3.277 ms
16
1
0
0
2 /fX
2 /fX
1
0
1
1
1
0
2 /fX
26.21 ms
10.92 ms
6.554 ms
1
1
1
216/fX
26.21 ms
10.92 ms
6.554 ms
2 /fX
Remarks 1. The wait time after releasing the STOP mode or IDLE2 mode is set by the OSTS register. For
details of the OSTS register, see 24.2 (3) Oscillation stabilization time select register (OSTS).
2. fX: Main clock oscillation frequency
Cautions 1. The actual oscillation stabilization time is longer than the theoretical value because the
overhead time after power-on is taken into consideration.
The actual oscillation
stabilization time is the time shown above, plus up to 260 s.
2.
Be sure to select an oscillation stabilization time (theoretical value) of 400 s or longer. If
it is set to less than 400 s, the internal status becomes unstable and the operation
cannot be guaranteed.
3.
Be sure to set bits 5 to 3 to “0”.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1077 of 1210
V850ES/JG3-L
CHAPTER 30 OPTION BYTE
30.1 Program Example
The following shows program examples when the CA850 is used.
#-----------------------------------------------------------------------------# OPTION_BYTES
#-----------------------------------------------------------------------------.section "OPTION_BYTES"
//Specifies the option byte at address 0000007A.//
.byte 0b00000001 -- 0x7a
//Specifies 0b00000001 as the option byte.//
.byte 0b00000000 -- 0x7b
//Specifies 0b00000000 at address 0000007B.//
.byte 0b00000000 -- 0x7c
//Specifies 0b00000000 at address 0000007C.//
.byte 0b00000000 -- 0x7d
//Specifies 0b00000000 at address 0000007D.//
.byte 0b00000000 -- 0x7e
//Specifies 0b00000000 at address 0000007E.//
.byte 0b00000000 -- 0x7f
//Specifies 0b00000000 at address 0000007F.//
Caution Be sure to specify 6 option bytes in this section. If less than 6 bytes are specified, an error occurs
when linking is executed.
Error message: F4112: illegal "OPTION_BYTES" section size.
Remark
Set 0x00 to addresses 007BH to 007FH.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1078 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
CHAPTER 31 FLASH MEMORY
The V850ES/JG3-L incorporates flash memory.
PD70F3794: 256 KB of flash memory
PD70F3795: 384 KB of flash memory
PD70F3796: 512 KB of flash memory
Flash memory versions offer the following advantages for development environments and mass production applications.
For altering software after the V850ES/JG3-L is soldered onto the target system.
For data adjustment when starting mass production.
For differentiating software according to the specification in small scale production of various models.
For facilitating inventory management.
For updating software after shipment.
31.1 Features
Capacity: 512 K/384 K/256 KB
Rewriting method
Rewriting by communication with dedicated flash memory programmer via serial interface (on-board/off-board
programming)
Rewriting flash memory by user program (self programming)
Flash memory write prohibit function supported (security function)
Safe rewriting of entire flash memory area by self programming using boot swap function
Interrupts can be acknowledged during self programming.
4-byte/1-clock access (when instruction is fetched)
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1079 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
31.2 Memory Configuration
The V850ES/JG3-L internal flash memory area is divided into 64 or 96 or 128 blocks and can be erased in block units.
All the blocks can also be erased at once.
When the boot swap function is used, the physical memory located at the addresses of blocks 0 to 7 is replaced by the
physical memory located at the addresses of blocks 8 to 15. For details of the boot swap function, see 31.5 Rewriting by
Self Programming.
Figure 31-1. Flash Memory Mapping
(a) PD70F3794, 70F3795, 70F3796
007FFFFH
Block 127 (4 KB)
007F000H
007EFFFH
Block 126 (4 KB)
007E000H
007DFFFH
0060000H
005FFFFH
Block 95 (4 KB)
Block 95 (4 KB)
005F000H
005EFFFH
0040000H
003FFFFH
Block 63 (4 KB)
Block 63 (4 KB)
Block 63 (4 KB)
003F000H
003EFFFH
0011000H
0010FFFH
Block 16 (4 KB)
Block 16 (4 KB)
Block 16 (4 KB)
0010000H
000FFFFH
Block 15 (4 KB)
Block 15 (4 KB)
Block 15 (4 KB)
000F000H
000EFFFH
Note 1
0009000H
0008FFFH
Block 8 (4 KB)
Block 8 (4 KB)
Block 8 (4 KB)
0008000H
0007FFFH
Block 7 (4 KB)
Block 7 (4 KB)
Block 7 (4 KB)
0007000H
0006FFFH
0002000H
0001FFFH
Note 2
Block 1 (4 KB)
Block 1 (4 KB)
Block 1 (4 KB)
0001000H
0000FFFH
Block 0 (4 KB)
Block 0 (4 KB)
Block 0 (4 KB)
μ PD70F3794
(256 KB)
μ PD70F3795
(384 KB)
μ PD70F3796
(512 KB)
0000000H
Notes 1. Area to be replaced with the boot area by the boot swap function
2. Boot area
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1080 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
31.3 Functional Outline
The internal flash memory of the V850ES/JG3-L can be rewritten by using the rewrite function of the dedicated flash
memory programmer, regardless of whether the V850ES/JG3-L has already been mounted on the target system or not
(off-board/on-board programming).
In addition, a security function that prohibits rewriting the user program written to the internal flash memory is also
supported, so that the program cannot be changed by an unauthorized person.
The rewrite function using the user program (self programming) is ideal for an application where it is assumed that the
program will be changed after production/shipment of the target system. A boot swap function that rewrites the entire flash
memory area safely is also supported. In addition, interrupt servicing can be executed during self programming, so that
the flash memory can be rewritten under various conditions, such as while communicating with an external device.
Table 31-1. Rewrite Method
Rewrite Method
On-board programming
Off-board programming
Functional Outline
Operation Mode
Flash memory can be rewritten after the device is mounted on the
Flash memory
target system, by using a dedicated flash memory programmer.
programming mode
Flash memory can be rewritten before the device is mounted on the
target system, by using a dedicated flash memory programmer and a
dedicated program adapter board (FA series).
Self programming
Flash memory can be rewritten by executing a user program that has
Normal operation mode
been written to the flash memory in advance by means of off-board/onboard programming. (During self-programming, instructions cannot be
fetched from or data access cannot be made to the internal flash
memory area. Therefore, the rewrite program must be transferred to
the internal RAM or external memory in advance.)
Remark
The FA series is a product of Naito Densei Machida Mfg. Co., Ltd.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1081 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
Table 31-2. Basic Functions
Function
Support (: Supported, : Not supported)
Functional Outline
On-Board/Off-Board
Self Programming
Programming
Blank check
The erasure status of the entire memory is
checked.
Chip erasure
The contents of the entire memory area
Note
are erased all at once.
Block erasure
The contents of specified memory blocks
are erased.
Program
Writing to specified addresses, and a
verify check to see if the write level is
secured, are performed.
Verify/checksum
Data read from the flash memory is
compared with data transferred from the
flash memory programmer.
(Can be read by user
program)
Read
Data written to the flash memory is read.
Security setting
Use of the block erase command, chip
erase command, program command, and
(Supported only when setting
read command, and boot area rewrite, are
prohibited.
is changed from enable to
disable)
Note This is possible by selecting the entire memory area for the block erase function.
The following table lists the security functions. The chip erase command prohibit, block erase command prohibit,
program command prohibit, read command prohibit, and boot block cluster rewrite prohibit functions are enabled by default
after shipment, and security settings can be specified only by rewriting via on-board/off-board programming. Each security
function can be used in combination with the others at the same time.
Table 31-3. Security Functions
Function
Chip erase command prohibit
Function Outline
Execution of block erase and chip erase commands on all the blocks is prohibited. Once
prohibition is set, setting of prohibition cannot be initialized because the chip erase
command cannot be executed.
Block erase command prohibit
Execution of a block erase command on all blocks is prohibited. Setting of prohibition
can be initialized by execution of a chip erase command.
Program command prohibit
Execution of program and block erase commands on all the blocks are prohibited.
Setting of prohibition can be initialized by execution of the chip erase command.
Read command prohibit
Execution of read command on all the blocks is prohibited. Setting of prohibition can be
initialized by execution of the chip erase command.
Boot block cluster rewrite prohibit
Boot block clusters from block 0 to the specified last block can be protected. The
protected boot block clusters cannot be rewritten (erased and written). Setting of
prohibition cannot be initialized by execution of the chip erase command.
The following can be specified as the last block:
PD70F3794: block 63
PD70F3795: block 95
PD70F3796: block 127
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1082 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
Table 31-4. Security Settings
Function
Erase, Write, Read Operations When Each Security Is Set
(: Executable, : Not Executable, : Not Supported)
On-Board/
Notes on Security Setting
Self Programming
Off-Board Programming
On-Board/
Self
Off-Board
Programming
Programming
Chip erase
Chip erase command:
Chip erasure:
Setting of
Supported only
command
prohibit
Block erase command:
Block erasure (FlashBlockErase):
prohibition
when setting is
Program command:
Read command:
Write (FlashWordWrite):
Read (FlashWordRead):
cannot be
initialized.
changed from
Block erase
Chip erase command:
Chip erasure:
Setting of
command
prohibit
Block erase command:
Block erasure (FlashBlockErase):
prohibition can
Program command:
Read command:
Write (FlashWordWrite):
Read (FlashWordRead):
be initialized by
Program
Chip erase command:
Chip erasure:
Setting of
command
prohibit
Block erase command:
Block erasure (FlashBlockErase):
prohibition can
Program command:
Read command:
Write (FlashWordWrite):
Read (FlashWordRead):
be initialized by
Read
Chip erase command:
Chip erasure:
Setting of
command
prohibit
Block erase command:
Block erasure (FlashBlockErase):
prohibition can
Program command:
Read command:
Write (FlashWordWrite):
Read (FlashWordRead):
be initialized by
Note 1
Boot area
Chip erase command:
rewrite
prohibit
Block erase command:
Program command:
Read command:
chip erase
command.
chip erase
command.
chip erase
command.
Chip erasure:
Note 2
Note 2
enable to
prohibit.
Setting of
Block erasure (FlashBlockErase):
prohibition
Write (FlashWordWrite):
Read (FlashWordRead):
cannot be
initialized.
Note 2
Note 2
Notes 1. In this case, since the erase command is invalid, data that differs from the data already written in the flash
memory cannot be written.
2. This can be executed for other than boot block clusters.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1083 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
31.4 Rewriting by Dedicated Flash Memory Programmer
The flash memory can be rewritten by using a dedicated flash memory programmer after the V850ES/JG3-L is
mounted on the target system (on-board programming). By combining the dedicated flash memory programmer with a
dedicated program adapter (FA series), the flash memory can also be rewritten before the device is mounted on the target
system (off-board programming).
31.4.1 Programming environment
The following shows the environment required for writing programs to the flash memory of the V850ES/JG3-L.
Figure 31-2. Environment Required for Writing Programs to Flash Memory
FLMD0
FLMD1Note
RS-232C
VDD
USB
Host machine
VSS
Dedicated
flash memory
programmer
RESET
UARTA0/CSIB0/CSIB3
V850ES/JG3-L
Note Connect the FLMD1 pin to the flash memory programmer or connect to GND via a pull-down resistor on the
board.
A host machine is required for controlling the dedicated flash memory programmer. In some cases, however, it can be
used stand-alone. For details, see the user’s manual of the dedicated flash memory programmer.
UARTA0, CSIB0, or CSIB3 is used for the interface between the dedicated flash memory programmer and the
V850ES/JG3-L to perform writing, erasing, etc. A dedicated program adapter (FA series) is required for off-board writing.
The following products are recommended:
FA-70F3796GC-UEU-RX (GC-UEU type) (already wired)
FA-100GC-UEU-B (GC-UEU type) (not wired: wiring required)
FA-121F1-CAH-B (F1-CAH type) (not wired: wiring required)
Remark
The FA series is a product of Naito Densei Machida Mfg. Co., Ltd.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1084 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
31.4.2 Communication mode
Communication between the dedicated flash memory programmer and the V850ES/JG3-L is performed by serial
communication using the UARTA0, CSIB0, or CSIB3 interfaces of the V850ES/JG3-L.
(1) UARTA0
Transfer rate: 9,600 to 153,600 bps
Figure 31-3. Communication with Dedicated Flash Memory Programmer (UARTA0)
Dedicated flash
memory programmer
FLMD0
FLMD0
FLMD1
FLMD1Note
VDD
VDD
GND
VSS
RESET
RESET
RxD
TXDA0
TxD
RXDA0
V850ES/JG3-L
Note Connect the FLMD1 pin to the flash memory programmer or connect to GND via a pull-down resistor on the
board.
(2) CSIB0, CSIB3
Serial clock: 2.4 kHz to 5 MHz (MSB first)
Figure 31-4. Communication with Dedicated Flash Memory Programmer (CSIB0, CSIB3)
FLMD0
FLMD0
FLMD1
FLMD1Note
VDD
VDD
GND
VSS
RESET
Dedicated flash
memory programmer
SI
SO
SCK
RESET
SOB0, SOB3
SIB0, SIB3
V850ES/JG3-L
SCKB0, SCKB3
Note Connect the FLMD1 pin to the flash memory programmer or connect to GND via a pull-down resistor on the
board.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1085 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
(3) CSIB0 + HS, CSIB3 + HS
Serial clock: 2.4 kHz to 5 MHz (MSB first)
The V850ES/JG3-L operates as a slave.
Figure 31-5. Communication with Dedicated Flash Memory Programmer (CSIB0 + HS, CSIB3 + HS)
FLMD0
FLMD0
FLMD1
FLMD1Note
VDD
VDD
GND
VSS
RESET
Dedicated flash
memory programmer
SI
SO
SCK
HS
RESET
SOB0, SOB3
SIB0, SIB3
V850ES/JG3-L
SCKB0, SCKB3
PCM0
Note Connect the FLMD1 pin to the flash memory programmer or connect to GND via a pull-down resistor on the
board.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1086 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
31.4.3 Interface
The dedicated flash memory programmer outputs the transfer clock, and the V850ES/JG3-L operates as a slave.
When the PG-FP5 is used as the dedicated flash memory programmer, it generates the following signals for the
V850ES/JG3-L. For details, refer to the PG-FP5 User’s Manual (U18865E).
Table 31-5. Signal Connections of Dedicated Flash Memory Programmer (PG-FP5)
PG-FP5
Signal Name
I/O
V850ES/JG3-L
Pin Function
Pin Name
FLMD0
Output
Write enable/disable
FLMD0
FLMD1
Output
Write enable/disable
FLMD1
VDD
VDD voltage generation/voltage monitor
VDD
GND
Ground
VSS
CLK
Output
Clock output to V850ES/JG3-L
X1, X2
RESET
Output
Reset signal
RESET
SI/RxD
Input
Receive signal
SOB0, SOB3/
Processing for Connection
UARTA0
CSIB0,
CSIB0 + HS,
CSIB3
CSIB3 + HS
Note 1
Note 2
Note 1
Note 1
Note 2
Note 2
TXDA0
SO/TxD
Output
Transmit signal
SIB0, SIB3/
RXDA0
SCK
Output
Transfer clock
SCKB0, SCKB3
HS
Input
Handshake signal for CSIB0 + HS, CSIB3
PCM0
+ HS communication
Notes 1. For off-board programming, wire these pins as shown in Figures 31-6, or connect them to GND via a pulldown resistor on board. For on-board programming, wire these pins as shown in Figure 31-11.
2. To supply a clock to the V850ES/JG3-L, mount an oscillator on the board, or connect the CLK signal of the
PG-FP5 with the X1 signal of the V850ES/JG3-L.
Remark
: Must be connected.
: Does not have to be connected.
R01UH0001EJ0400 Rev.4.00
Mar 25, 2014
Page 1087 of 1210
V850ES/JG3-L
CHAPTER 31 FLASH MEMORY
Table 31-6. Wiring of V850ES/JG3-L Flash Writing Adapters (FA-100GC-UEU-B) (1/2)
Flash Memory Programmer (FG-
Name of
FP5) Connection Pin
FA Board
Signal
I/O
Pin
Pin Function
CSIB0 + HS Used
Pin Name
Name
SI/RxD
Pin No.
Pin Name
GC
Input
Receive signal
SI
P41/SOB0/
23
Output
Transmit signal SO
P40/SIB0/
UARTA0 Used
Pin No.
22
SDA01
Pin Name
GC
P41/SOB0/
23
P40/SIB0/
Pin No.
GC
P30/TXDA0/
25
SOB4
SCL01
SCL01
SO/TxD
CSIB0 Used
22
SDA01
P31/RXDA0/
26
INTP7/SIB4
SCK
Output
Transfer clock
SCK
P42/SCKB0
24
P42/SCKB0
24
Not needed
CLK
Output
Clock to
X1
Not needed
Not needed
Not needed
X2
Not needed
Not needed
Not needed
V850ES/JG3-L
/RESET
Output
Reset signal
/RESET
RESET
14
RESET
14
RESET
14
FLMD0
Output
Write voltage
FLMD0
FLMD0
8
FLMD0
8
FLMD0
8
FLMD1
Output
Write voltage
FLMD1
PDL5/AD5/
76
PDL5/AD5/
76
PDL5/AD5/
76
HS
Input
Handshake
RESERVE/
signal for CSI0
HS
FLMD