Renesas HD6437065A Renesas 32-bit risc microcomputer superh risc engine family/sh7000 sery Datasheet

REJ09B0332-0500
The revision list can be viewed directly by
clicking the title page.
The revision list summarizes the locations of
revisions and additions. Details should always
be checked by referring to the relevant text.
SH7065
32
Hardware Manual
Renesas 32-Bit RISC Microcomputer
SuperH RISC engine Family/SH7000 Series
SH7065
Rev. 5.00
Revision Date: Sep 11, 2006
HD6437065A
HD64F7065SF
HD64F7065AF
Keep safety first in your circuit designs!
1. Renesas Technology Corp. puts the maximum effort into making semiconductor products better and
more reliable, but there is always the possibility that trouble may occur with them. Trouble with
semiconductors may lead to personal injury, fire or property damage.
Remember to give due consideration to safety when making your circuit designs, with appropriate
measures such as (i) placement of substitutive, auxiliary circuits, (ii) use of nonflammable material or
(iii) prevention against any malfunction or mishap.
Notes regarding these materials
1. These materials are intended as a reference to assist our customers in the selection of the Renesas
Technology Corp. product best suited to the customer's application; they do not convey any license
under any intellectual property rights, or any other rights, belonging to Renesas Technology Corp. or
a third party.
2. Renesas Technology Corp. assumes no responsibility for any damage, or infringement of any thirdparty's rights, originating in the use of any product data, diagrams, charts, programs, algorithms, or
circuit application examples contained in these materials.
3. All information contained in these materials, including product data, diagrams, charts, programs and
algorithms represents information on products at the time of publication of these materials, and are
subject to change by Renesas Technology Corp. without notice due to product improvements or
other reasons. It is therefore recommended that customers contact Renesas Technology Corp. or
an authorized Renesas Technology Corp. product distributor for the latest product information
before purchasing a product listed herein.
The information described here may contain technical inaccuracies or typographical errors.
Renesas Technology Corp. assumes no responsibility for any damage, liability, or other loss rising
from these inaccuracies or errors.
Please also pay attention to information published by Renesas Technology Corp. by various means,
including the Renesas Technology Corp. Semiconductor home page (http://www.renesas.com).
4. When using any or all of the information contained in these materials, including product data,
diagrams, charts, programs, and algorithms, please be sure to evaluate all information as a total
system before making a final decision on the applicability of the information and products. Renesas
Technology Corp. assumes no responsibility for any damage, liability or other loss resulting from the
information contained herein.
5. Renesas Technology Corp. semiconductors are not designed or manufactured for use in a device or
system that is used under circumstances in which human life is potentially at stake. Please contact
Renesas Technology Corp. or an authorized Renesas Technology Corp. product distributor when
considering the use of a product contained herein for any specific purposes, such as apparatus or
systems for transportation, vehicular, medical, aerospace, nuclear, or undersea repeater use.
6. The prior written approval of Renesas Technology Corp. is necessary to reprint or reproduce in
whole or in part these materials.
7. If these products or technologies are subject to the Japanese export control restrictions, they must
be exported under a license from the Japanese government and cannot be imported into a country
other than the approved destination.
Any diversion or reexport contrary to the export control laws and regulations of Japan and/or the
country of destination is prohibited.
8. Please contact Renesas Technology Corp. for further details on these materials or the products
contained therein.
Rev. 5.00 Sep 11, 2006 page ii of xxii
General Precautions on Handling of Product
1. Treatment of NC Pins
Note: Do not connect anything to the NC pins.
The NC (not connected) pins are either not connected to any of the internal circuitry or are
used as test pins or to reduce noise. If something is connected to the NC pins, the
operation of the LSI is not guaranteed.
2. Treatment of Unused Input Pins
Note: Fix all unused input pins to high or low level.
Generally, the input pins of CMOS products are high-impedance input pins. If unused pins
are in their open states, intermediate levels are induced by noise in the vicinity, a passthrough current flows internally, and a malfunction may occur.
3. Processing before Initialization
Note: When power is first supplied, the product’s state is undefined.
The states of internal circuits are undefined until full power is supplied throughout the
chip and a low level is input on the reset pin. During the period where the states are
undefined, the register settings and the output state of each pin are also undefined. Design
your system so that it does not malfunction because of processing while it is in this
undefined state. For those products which have a reset function, reset the LSI immediately
after the power supply has been turned on.
4. Prohibition of Access to Undefined or Reserved Addresses
Note: Access to undefined or reserved addresses is prohibited.
The undefined or reserved addresses may be used to expand functions, or test registers
may have been be allocated to these addresses. Do not access these registers; the system’s
operation is not guaranteed if they are accessed.
Rev. 5.00 Sep 11, 2006 page iii of xxii
Rev. 5.00 Sep 11, 2006 page iv of xxii
Preface
The SH7065 is a microprocessor that integrates peripheral functions necessary for system
configuration with a 32-bit internal architecture SH2-DSP CPU as its core.
On-chip peripheral functions include large-capacity ROM and RAM, an interrupt controller, four
kinds of timers, a serial communication interface, user break controller (UBC), bus state controller
(BSC), direct memory access controller (DMAC), A/D converter, D/A converter, and I/O ports,
enabling the SH7065 to be used as a microcontroller for electronic products requiring high speed
and low power consumption. Flash memory (F-ZTAT™*) and mask ROM are available as onchip ROM, enabling users to respond quickly and flexibly to changing application specifications
and the demands of the transition from initial to full-fledged volume production.
Note: * F-ZTAT is a trademark of Renesas Technology Corp.
Intended Readership: This manual is intended for users undertaking the design of an application
system using the SH7065. Readers using this manual require a basic
knowledge of electrical circuits, logic circuits, and microcomputers.
Purpose:
The purpose of this manual is to give users an understanding of the hardware
functions and electrical characteristics of the SH7065. Details of execution
instructions can be found in the SH-1, SH-2, SH-DSP Programming Manual,
which should be read in conjunction with the present manual.
Using this Manual:
• For an overall understanding of the SH7065’s functions
Follow the Table of Contents. This manual is broadly divided into sections on the CPU, system
control functions, peripheral functions, and electrical characteristics.
• For a detailed understanding of CPU functions
Refer to the separate publication SH-1, SH-2, SH-DSP Programming Manual.
Note on bit notation:
Related Material:
Bits are shown in high-to-low order from left to right.
The latest information is available at our Web Site. Please make sure that you
have the most up-to-date information available.
http://www.renesas.com/
Rev. 5.00 Sep 11, 2006 page v of xxii
User’s Manuals on the SH7065:
Manual Title
Document No.
SH7065 Hardware Manual
This manual
SH-1, SH-2, SH-DSP Software Manual
REJ09B0171-0500
Users manuals for development tools:
Manual Title
Document No.
C/C++ Compiler, Assembler, Optimizing Linkage Editor User’s Manual
REJ10B0047-0100
Simulator/Debugger User’s Manual
REJ10B0210-0200
High-performance Embedded Workshop User’s Manual
REJ10B0025-0200
Application Note:
Manual Title
Document No.
C/C++ Compiler
REJ05B0463-0300
Rev. 5.00 Sep 11, 2006 page vi of xxii
Main Revisions for This Edition
Item
Page
Revision (See Manual for Details)
All
—
• Notification of change in company name amended
(Before) Hitachi, Ltd. → (After) Renesas Technology Corp.
9.3.4 Types of DMA
Transfer
340
Relationship between
DMA Transfer Type,
Request Mode, and Bus
Mode
Table amended
Request
Mode
Bus
Mode
Transfer
Size (Bits)
Usable
Channels
Any*
1
Any*
B/C
8/16/32
0–3
B/C
8/16/32
0–3
*1
B/C
8/16/32
0–3
External memory and on-chip memory
Any
*1
B/C
8/16/32
External memory and on-chip
peripheral module
2
Any*
B/C
8/16/32*
0–3
Memory-mapped external device and
on-chip memory
1
Any*
B/C
8/16/32
0–3
Memory-mapped external device and
on-chip peripheral module
*2
B/C
*1
B/C
8/16/32
B/C
8/16/32*
B/C
8/16/32*
Address
Mode
Type of Transfer
Dual
External memory and external memory
External memory and memory-mapped
external device
1
Memory-mapped external device and
memory-mapped external device
Table 9.6 Relationship
between DMA Transfer
Type, Request Mode,
and Bus Mode
Any
On-chip memory and on-chip memory
Any
Any
2
On-chip memory and on-chip peripheral Any*
module
2
On-chip peripheral module and on-chip Any*
peripheral module
11.6 Usage Notes
484
0–3
3
8/16/32
*3
0–3
3
0–3
3
0–3
0–3
Description added
Pay Attention to the Notices Below, When a Value Is Written
into the Timer General Register U (TGRU), Timer General
Register V (TGRV), Timer General Register W (TGRW), and in
Case of Written into Free Operation Address (*): …
Writing Operation into Timer Period Data Register (TPDR) and
Timer Dead Time Data Register (TDDR) When MMT Is
Operating: …
Notes on Halting TCNT Counter Operation: …
15.7.2 Handling of
Analog Input Pins
619, 620 Description of preliminary deleted
Figure 15.8 Example
of Analog Input Pin
Protection Circuit
Figure 15.9 Analog
Input Pin Equivalent
Circuit
Table 15.5 Analog
Input Pin
Specifications
Rev. 5.00 Sep 11, 2006 page vii of xxii
Item
Page
Revision (See Manual for Details)
22.3.1 Clock Timing
796
Table amended
Table 22.4 Clock
Timing
Item
Symbol
Min
Max
Unit
Figure
Operating frequency (master clock)
fOP
20
60
MHz
Figure 22.2
Clock cycle time
tcyc
16.7
50
ns
Clock low-level pulse width
tCL
4.4
—
ns
Clock high-level pulse width
tCH
4.4
—
ns
Clock rise time
tCR
—
4
ns
Clock fall time
tCF
—
4
ns
EXTAL/CKIO clock input frequency
fEX
5
30
MHz
EXTAL/CKIO clock input cycle time
tEXcyc
33.3
200
ns
EXTAL/CKIO clock input low-level pulse
width
tEXL
11.6
—
ns
EXTAL/CKIO clock input high-level pulse
width
tEXH
11.6
—
ns
EXTAL/CKIO clock input rise time
tEXR
—
5
ns
EXTAL/CKIO clock input fall time
tEXF
—
5
ns
Reset oscillation settling time
tOSC1
10
—
ms
Standby recovery oscillation settling time
tOSC2
10
—
ms
Rev. 5.00 Sep 11, 2006 page viii of xxii
Figure 22.3
Figure 22.4
Contents
Section 1 Overview .............................................................................................................
1.1
1.2
1.3
1
Features of SH7065........................................................................................................... 1
Block Diagram .................................................................................................................. 8
Pin Arrangement and Pin Functions.................................................................................. 9
1.3.1 Pin Arrangement .................................................................................................. 9
1.3.2 Pin Functions ....................................................................................................... 10
Section 2 CPU ...................................................................................................................... 21
2.1
2.2
2.3
2.4
2.5
2.6
Register Configuration ......................................................................................................
2.1.1 General Registers .................................................................................................
2.1.2 Control Registers..................................................................................................
2.1.3 System Registers ..................................................................................................
2.1.4 DSP Registers ......................................................................................................
2.1.5 Notes on Guard Bits and Overflow Treatment.....................................................
2.1.6 Initial Register Values..........................................................................................
Data Formats .....................................................................................................................
2.2.1 Register Data Formats..........................................................................................
2.2.2 Memory Data Formats .........................................................................................
2.2.3 Immediate Data Formats ......................................................................................
2.2.4 DSP Type Data Formats ......................................................................................
2.2.5 DSP Type Instructions and Data Formats ............................................................
Features of CPU Core Instructions....................................................................................
Instruction Formats ...........................................................................................................
2.4.1 CPU Instruction Addressing Modes.....................................................................
2.4.2 DSP Data Addressing...........................................................................................
2.4.3 CPU Instruction Formats......................................................................................
2.4.4 DSP Instruction Formats ......................................................................................
Instruction Set ...................................................................................................................
2.5.1 CPU Instruction Set .............................................................................................
2.5.2 DSP Data Transfer Instruction Set .......................................................................
2.5.3 DSP Operation Instruction Set .............................................................................
Usage Note........................................................................................................................
21
21
23
26
27
30
31
32
32
32
33
33
35
40
43
43
47
54
57
63
63
79
83
96
Section 3 Operating Modes............................................................................................... 99
3.1
Operating Mode Selection.................................................................................................
3.1.1 Operating Modes..................................................................................................
3.1.2 Pin Configuration.................................................................................................
3.1.3 Register Configuration .........................................................................................
99
101
102
102
Rev. 5.00 Sep 11, 2006 page ix of xxii
3.2
Register Descriptions ........................................................................................................ 103
3.2.1 Mode Status Register (MSR) ............................................................................... 103
3.2.2 Mode Control Register (MODECR) .................................................................... 104
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes ...................... 105
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
Overview...........................................................................................................................
4.1.1 Features................................................................................................................
4.1.2 Block Diagram of CPG ........................................................................................
4.1.3 CPG Pin Configuration ........................................................................................
4.1.4 CPG Register Configuration ................................................................................
Clock Operating Modes ....................................................................................................
CPG Register Description .................................................................................................
4.3.1 Frequency Control Register (FRQCR).................................................................
Changing the Frequency....................................................................................................
Output Clock Control........................................................................................................
Oscillator...........................................................................................................................
4.6.1 Connecting a Crystal Resonator ...........................................................................
4.6.2 External Clock Input Methods .............................................................................
4.6.3 Notes on Board Design ........................................................................................
Oscillation Stoppage Detection Function..........................................................................
Power-Down Modes..........................................................................................................
4.8.1 States in Power-Down Modes ..............................................................................
4.8.2 Pin Configuration.................................................................................................
Register Descriptions ........................................................................................................
4.9.1 Standby Control Register (SBYCR).....................................................................
4.9.2 Module Stop Control Registers 1 and 2 (MSTPCR1, MSTPCR2) ......................
4.9.3 Module Clock Control Registers 1 to 5 (MCLKCR1 to MCLKCR5)..................
Sleep Mode .......................................................................................................................
4.10.1 Transition to Sleep Mode.....................................................................................
4.10.2 Exit from Sleep Mode ..........................................................................................
Software Standby Mode ....................................................................................................
4.11.1 Transition to Software Standby Mode..................................................................
4.11.2 Exit from Software Standby Mode.......................................................................
4.11.3 Software Standby Mode Application Example ....................................................
Hardware Standby Mode...................................................................................................
4.12.1 Transition to Hardware Standby Mode ................................................................
4.12.2 Exit from Hardware Standby Mode .....................................................................
4.12.3 Hardware Standby Mode Timing .........................................................................
Module Standby Function .................................................................................................
4.13.1 Transition to Module Standby Function...............................................................
4.13.2 Exit from Module Standby Function....................................................................
Rev. 5.00 Sep 11, 2006 page x of xxii
105
105
106
108
108
109
112
112
134
135
136
136
137
138
141
142
142
143
144
144
145
146
149
149
149
150
150
152
153
154
154
154
154
155
155
157
4.14 Module Clock Division Function ......................................................................................
4.14.1 Clock Definitions .................................................................................................
4.14.2 Transition to Module Clock Division Function....................................................
4.14.3 Exit from Module Clock Division Function.........................................................
4.14.4 Notes on Use of Module Clock Division Function ..............................................
4.15 Note on Initialization.........................................................................................................
157
157
158
160
160
161
Section 5 Exception Handling ......................................................................................... 163
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
Overview...........................................................................................................................
5.1.1 Exception Handling Types and Priority ...............................................................
5.1.2 Timing of Exception Source Detection and Start of Exception Handling............
5.1.3 Exception Vector Table .......................................................................................
Power-on Reset .................................................................................................................
Address Errors ..................................................................................................................
5.3.1 Address Error Sources .........................................................................................
5.3.2 Address Error Exception Handling ......................................................................
Interrupts ...........................................................................................................................
5.4.1 Interrupt Sources..................................................................................................
5.4.2 Interrupt Priority ..................................................................................................
5.4.3 Interrupt Exception Handling...............................................................................
Instruction Exceptions.......................................................................................................
5.5.1 Types of Instruction Exception ............................................................................
5.5.2 Trap Instruction....................................................................................................
5.5.3 Slot Illegal Instructions ........................................................................................
5.5.4 General Illegal Instructions ..................................................................................
Cases in Which Exceptions Are Not Accepted .................................................................
5.6.1 After a Delayed Branch Instruction......................................................................
5.6.2 After an Instruction for Which Interruption Is Prohibited....................................
5.6.3 Instructions in Repeat Loops................................................................................
Stack Status after Exception Handling ..............................................................................
Usage Notes ......................................................................................................................
5.8.1 Stack Pointer (SP) Value......................................................................................
5.8.2 Vector Base Register (VBR) Value .....................................................................
5.8.3 Address Errors Occurring in Address Error Exception Handling Stacking .........
163
163
164
164
167
168
168
169
169
169
170
170
171
171
171
172
172
173
173
173
174
175
176
176
176
176
Section 6 Interrupt Controller (INTC) ........................................................................... 177
6.1
Overview...........................................................................................................................
6.1.1 Features................................................................................................................
6.1.2 Block Diagram .....................................................................................................
6.1.3 Pin Configuration.................................................................................................
6.1.4 Register Configuration .........................................................................................
177
177
178
179
179
Rev. 5.00 Sep 11, 2006 page xi of xxii
6.2
6.3
6.4
6.5
6.6
6.7
Interrupt Sources ...............................................................................................................
6.2.1 NMI Interrupt.......................................................................................................
6.2.2 User Break Interrupt ............................................................................................
6.2.3 External Interrupts................................................................................................
6.2.4 On-Chip Peripheral Module Interrupts ................................................................
6.2.5 Interrupt Exception Vectors and Priority Order ...................................................
Register Descriptions ........................................................................................................
6.3.1 Interrupt Priority Registers A to L (IPRA to IPRL) .............................................
6.3.2 Interrupt Control Register 1 (ICR1) .....................................................................
6.3.3 Interrupt Control Register 2 (ICR2) .....................................................................
6.3.4 IRQ Status Register (ISR) ....................................................................................
Operation...........................................................................................................................
6.4.1 Interrupt Operation Sequence ..............................................................................
6.4.2 Interrupt Response Time ......................................................................................
6.4.3 Stack Status after Interrupt Exception Handling ..................................................
Sampling of Signals IRQ3 to IRQ0 in IRL Mode .............................................................
Data Transfer by Means of Interrupt Request Signal ........................................................
6.6.1 To Designate a Source as a DMAC Activation Source,
Not a CPU Interrupt Source .................................................................................
6.6.2 To Designate a Source as a CPU Interrupt Source,
Not a DMAC Activation Source ..........................................................................
Usage Notes ......................................................................................................................
6.7.1 IRQ3 to IRQ0 Sampling and Interrupt Source Determination
in IRL Interrupt Mode..........................................................................................
6.7.2 IRQ Pin Noise Cancellation Function ..................................................................
180
180
180
180
182
182
188
188
190
191
192
194
194
196
198
198
199
200
200
201
201
201
Section 7 User Break Controller (UBC) ....................................................................... 203
7.1
7.2
7.3
Overview...........................................................................................................................
7.1.1 Features................................................................................................................
7.1.2 Block Diagram .....................................................................................................
7.1.3 Register Configuration .........................................................................................
Register Descriptions ........................................................................................................
7.2.1 User Break Address Register (UBAR).................................................................
7.2.2 User Break Address Mask Register (UBAMR) ...................................................
7.2.3 User Break Bus Cycle Register (UBBR) .............................................................
Operation...........................................................................................................................
7.3.1 User Break Operation Sequence ..........................................................................
7.3.2 Instruction Fetch Cycle Break..............................................................................
7.3.3 Data Access Cycle Break .....................................................................................
7.3.4 X Memory Bus or Y Memory Bus Cycle Break ..................................................
7.3.5 Program Counter (PC) Value Saved ....................................................................
Rev. 5.00 Sep 11, 2006 page xii of xxii
203
203
204
205
205
205
207
208
211
211
212
212
213
213
7.4
7.5
Examples of Use ...............................................................................................................
Usage Notes ......................................................................................................................
7.5.1 Changes to UBC Register Settings.......................................................................
7.5.2 Repeat Condition Breaks .....................................................................................
214
217
217
217
Section 8 Bus State Controller (BSC) ........................................................................... 219
8.1
8.2
8.3
8.4
8.5
Overview...........................................................................................................................
8.1.1 Features................................................................................................................
8.1.2 Block Diagram .....................................................................................................
8.1.3 Pin Configuration.................................................................................................
8.1.4 Register Configuration .........................................................................................
8.1.5 Address Format ....................................................................................................
Register Descriptions ........................................................................................................
8.2.1 Bus Control Register (BCR) ................................................................................
8.2.2 Area Control Registers 1 (ACR1_0 to ACR1_5) .................................................
8.2.3 Wait Control Registers (WCR_0 to WCR_3) ......................................................
8.2.4 DRAM Control Register 1 (DCR1) .....................................................................
8.2.5 DRAM Control Register 2 (DCR2) .....................................................................
8.2.6 DRAM Control Register 3 (DCR3) .....................................................................
8.2.7 Refresh Timer Control/Status Register (RTCSR) ................................................
8.2.8 Refresh Timer Counter (RTCNT) ........................................................................
8.2.9 Refresh Time Constant Register (RTCOR)..........................................................
8.2.10 Refresh Count Register (RFCR)...........................................................................
Operation...........................................................................................................................
8.3.1 Endian/Access Size and Data Alignment .............................................................
8.3.2 Areas ....................................................................................................................
8.3.3 Normal Space Access...........................................................................................
8.3.4 DRAM Interface ..................................................................................................
8.3.5 Multiplexed Address/Data I/O Interface ..............................................................
8.3.6 Waits between Access Cycles ..............................................................................
8.3.7 Bus Arbitration.....................................................................................................
Number of Access Cycles (SH7065A)..............................................................................
Usage Notes ......................................................................................................................
219
219
221
222
224
225
228
228
229
233
235
237
240
242
245
246
247
248
248
254
255
267
286
291
293
295
304
Section 9 Direct Memory Access Controller (DMAC) ............................................ 305
9.1
9.2
Overview...........................................................................................................................
9.1.1 Features................................................................................................................
9.1.2 Block Diagram .....................................................................................................
9.1.3 Pin Configuration.................................................................................................
9.1.4 Register Configuration .........................................................................................
Register Descriptions ........................................................................................................
305
305
307
308
308
311
Rev. 5.00 Sep 11, 2006 page xiii of xxii
9.3
9.4
9.5
9.6
9.2.1 DMA Source Address Registers 0 to 3 (SAR0 to SAR3) ....................................
9.2.2 DMA Destination Address Registers 0 to 3 (DAR0 to DAR3)............................
9.2.3 DMA Transfer Count Registers 0 to 3 (DMATCR0 to DMATCR3)...................
9.2.4 DMA Channel Control Registers 0 to 3 (CHCR0 to CHCR3) .............................
9.2.5 Next Source Address Registers 0 to 3 (NSAR0 to NSAR3) ................................
9.2.6 Next Destination Address Registers 0 to 3 (NDAR0 to NDAR3)........................
9.2.7 Next Transfer Count Registers 0 to 3 (NDMATCR0 to NDMATCR3)...............
9.2.8 Chain Transfer Count Registers 0 to 3 (CHNCNT0 to CHNCNT3)....................
9.2.9 DMA Operation Register (DMAOR)...................................................................
Operation...........................................................................................................................
9.3.1 DMA Transfer Procedure.....................................................................................
9.3.2 DMA Transfer Requests ......................................................................................
9.3.3 Channel Priorities.................................................................................................
9.3.4 Types of DMA Transfer.......................................................................................
9.3.5 Number of Bus Cycle States and DREQ Pin Sampling Timing ...........................
9.3.6 Parallel Operation of DMA and CPU ..................................................................
9.3.7 DMA Transfer When External Bus Is Released...................................................
9.3.8 Chain Transfer .....................................................................................................
Example of Use .................................................................................................................
9.4.1 Example of DMA Transfer between On-Chip SCI and External Memory...........
Usage Notes ......................................................................................................................
DMAC Restrictions...........................................................................................................
9.6.1 TEND Output.......................................................................................................
9.6.2 Notes on Suspension of Transfer .........................................................................
311
311
312
313
320
321
321
322
322
324
325
327
330
334
342
356
356
358
360
360
360
362
362
362
Section 10 16-Bit Timer Pulse Unit (TPU) .................................................................. 365
10.1 Overview...........................................................................................................................
10.1.1 Features................................................................................................................
10.1.2 Block Diagram .....................................................................................................
10.1.3 Pin Configuration.................................................................................................
10.1.4 Register Configuration .........................................................................................
10.2 Register Descriptions ........................................................................................................
10.2.1 Timer Control Registers (TCR) ...........................................................................
10.2.2 Timer Mode Registers (TMDR)...........................................................................
10.2.3 Timer I/O Control Registers (TIOR)....................................................................
10.2.4 Timer Interrupt Enable Registers (TIER).............................................................
10.2.5 Timer Status Registers (TSR) ..............................................................................
10.2.6 Timer Counters (TCNT) ......................................................................................
10.2.7 Timer General Registers (TGR)...........................................................................
10.2.8 Timer Start Register (TSTR)................................................................................
10.2.9 Timer Sync Register (TSYR)...............................................................................
Rev. 5.00 Sep 11, 2006 page xiv of xxii
365
365
369
370
372
374
374
379
381
398
400
403
404
404
405
10.3 Interface to Bus Master .....................................................................................................
10.3.1 16-Bit Registers ...................................................................................................
10.3.2 8-Bit Registers .....................................................................................................
10.4 Operation...........................................................................................................................
10.4.1 Overview..............................................................................................................
10.4.2 Basic Functions ....................................................................................................
10.4.3 Synchronous Operation........................................................................................
10.4.4 Buffer Operation ..................................................................................................
10.4.5 Cascaded Operation .............................................................................................
10.4.6 PWM Modes ........................................................................................................
10.4.7 Phase Counting Mode ..........................................................................................
10.5 Interrupts ...........................................................................................................................
10.5.1 Interrupt Sources and Priorities............................................................................
10.5.2 DMAC Activation................................................................................................
10.5.3 A/D Converter Activation ....................................................................................
10.6 Operation Timing ..............................................................................................................
10.6.1 Input/Output Timing ............................................................................................
10.6.2 Interrupt Signal Timing........................................................................................
10.7 Usage Notes ......................................................................................................................
406
406
406
408
408
409
414
417
421
422
427
434
434
436
436
437
437
441
445
Section 11 Motor Management Timer (MMT) ........................................................... 455
11.1 Overview...........................................................................................................................
11.1.1 Features................................................................................................................
11.1.2 Block Diagram .....................................................................................................
11.1.3 Pin Configuration.................................................................................................
11.1.4 Register Configuration .........................................................................................
11.2 Register Descriptions ........................................................................................................
11.2.1 Timer Mode Register (TMDR) ............................................................................
11.2.2 Timer Control Register (TCNR) ..........................................................................
11.2.3 Timer Status Register (TSR) ................................................................................
11.2.4 Timer Counter (TCNT)........................................................................................
11.2.5 Timer Buffer Registers (TBR) .............................................................................
11.2.6 Timer General Registers (TGR)...........................................................................
11.2.7 Timer Dead Time Counters (TDCNT).................................................................
11.2.8 Timer Dead Time Data Register (TDDR)............................................................
11.2.9 Timer Period Buffer Register (TPBR) .................................................................
11.2.10 Timer Period Data Register (TPDR)....................................................................
11.3 Operation...........................................................................................................................
11.3.1 Sample Setting Procedure ....................................................................................
11.3.2 Overview of Operation.........................................................................................
11.3.3 Output Protection Functions ................................................................................
455
455
456
457
457
459
459
460
462
463
463
464
464
465
465
466
466
467
468
476
Rev. 5.00 Sep 11, 2006 page xv of xxii
11.4 Interrupts ...........................................................................................................................
11.4.1 Compare Match Interrupts ...................................................................................
11.4.2 DMA Controller Activation .................................................................................
11.4.3 A/D Converter Activation ....................................................................................
11.5 Operation Timing ..............................................................................................................
11.5.1 Input/Output Timing ............................................................................................
11.5.2 Interrupt Signal Timing........................................................................................
11.6 Usage Notes ......................................................................................................................
11.7 Port Output Enable (POE).................................................................................................
11.7.1 Overview..............................................................................................................
11.7.2 Register Description.............................................................................................
11.7.3 Operation .............................................................................................................
476
476
476
477
477
477
480
482
486
486
488
491
Section 12 Compare Match Timer (CMT) ................................................................... 493
12.1 Overview...........................................................................................................................
12.1.1 Features................................................................................................................
12.1.2 Block Diagram .....................................................................................................
12.1.3 Register Configuration .........................................................................................
12.2 Register Descriptions ........................................................................................................
12.2.1 Compare Match Timer Start Register (CMSTR) .................................................
12.2.2 Compare Match Timer Control/Status Registers 0 and 1
(CMCSR0, CMCSR1) .........................................................................................
12.2.3 Compare Match Counters 0 and 1 (CMCNT0, CMCNT1) ..................................
12.2.4 Compare Match Constant Registers 0 and 1 (CMCOR0, CMCOR1) ..................
12.3 Operation...........................................................................................................................
12.3.1 Cyclic Count Operation........................................................................................
12.3.2 CMCNT Count Timing ........................................................................................
12.4 Interrupts ...........................................................................................................................
12.4.1 Interrupt Sources..................................................................................................
12.4.2 Timing of Compare Match Flag Setting...............................................................
12.4.3 Timing of Compare Match Flag Clearing ............................................................
12.5 Usage Notes ......................................................................................................................
493
493
494
495
496
496
497
498
499
499
499
500
501
501
501
502
502
Section 13 Watchdog Timer ............................................................................................. 505
13.1 Overview...........................................................................................................................
13.1.1 Features................................................................................................................
13.1.2 Block Diagram .....................................................................................................
13.1.3 Pin Configuration.................................................................................................
13.1.4 Register Configuration .........................................................................................
13.2 Register Descriptions ........................................................................................................
13.2.1 Timer Counter (TCNT)........................................................................................
Rev. 5.00 Sep 11, 2006 page xvi of xxii
505
505
506
507
507
508
508
13.2.2 Timer Control/Status Register (TCSR) ................................................................
13.2.3 Reset Control/Status Register (RSTCSR) ............................................................
13.2.4 Notes on Register Access.....................................................................................
13.3 Operation...........................................................................................................................
13.3.1 Operation in Watchdog Timer Mode ...................................................................
13.3.2 Operation in Interval Timer Mode .......................................................................
13.3.3 Operation When Clearing Software Standby Mode .............................................
508
510
511
513
513
515
515
Section 14 Serial Communication Interface (SCI)..................................................... 517
14.1 Overview...........................................................................................................................
14.1.1 Features................................................................................................................
14.1.2 Block Diagrams....................................................................................................
14.1.3 Pin Configuration.................................................................................................
14.1.4 Register Configuration .........................................................................................
14.2 Register Descriptions ........................................................................................................
14.2.1 Receive Shift Register (SCRSR) ..........................................................................
14.2.2 Receive FIFO Data Register (SCFRDR)..............................................................
14.2.3 Transmit Shift Register (SCTSR).........................................................................
14.2.4 Transmit FIFO Data Register (SCFTDR) ............................................................
14.2.5 Serial Mode Register (SCSMR)...........................................................................
14.2.6 Serial Control Register (SCSCR) .........................................................................
14.2.7 Serial Status 1 Register (SC1SSR).......................................................................
14.2.8 Serial Status 2 Register (SC2SSR).......................................................................
14.2.9 Bit Rate Register (SCBRR)..................................................................................
14.2.10 FIFO Control Register (SCFCR)..........................................................................
14.2.11 FIFO Data Count Register (SCFDR) ...................................................................
14.2.12 FIFO Error Register (SCFER) .............................................................................
14.2.13 IrDA Mode Register (SCIMR).............................................................................
14.3 Operation...........................................................................................................................
14.3.1 Overview..............................................................................................................
14.3.2 Operation in Asynchronous Mode .......................................................................
14.3.3 Multiprocessor Communication Function ............................................................
14.3.4 Operation in Synchronous Mode..........................................................................
14.3.5 Use of Transmit/Receive FIFO Buffers ...............................................................
14.3.6 Operation in IrDA Mode......................................................................................
14.4 SCI Interrupt Sources and the DMAC...............................................................................
14.5 Usage Notes ......................................................................................................................
517
517
519
520
521
522
522
523
523
524
524
527
532
537
540
549
551
552
553
554
554
557
568
577
587
590
593
594
Section 15 A/D Converter ................................................................................................. 601
15.1 Overview........................................................................................................................... 601
15.1.1 Features................................................................................................................ 601
Rev. 5.00 Sep 11, 2006 page xvii of xxii
15.2
15.3
15.4
15.5
15.6
15.7
15.1.2 Block Diagram .....................................................................................................
15.1.3 Pin Configuration.................................................................................................
15.1.4 Register Configuration .........................................................................................
Register Descriptions ........................................................................................................
15.2.1 A/D Data Registers A to D (ADDRA0 to ADDRD0, ADDRA1 to ADDRD1)...
15.2.2 A/D Control/Status Registers (ADCSR0, ADCSR1) ...........................................
15.2.3 A/D Control Registers (ADCR0, ADCR1) ..........................................................
CPU Interface....................................................................................................................
Operation...........................................................................................................................
15.4.1 Single Mode (MULTI = 0) ..................................................................................
15.4.2 Multi Mode ..........................................................................................................
15.4.3 Input Sampling and A/D Conversion Time..........................................................
15.4.4 External Trigger Input Timing .............................................................................
Interrupt Sources and DMA Transfer Requests ................................................................
A/D Conversion Accuracy Definitions..............................................................................
Usage Notes ......................................................................................................................
15.7.1 Analog Voltage Settings.......................................................................................
15.7.2 Handling of Analog Input Pins.............................................................................
15.7.3 Note on PH0 and PH1 Output..............................................................................
15.7.4 Port I PFC Settings...............................................................................................
15.7.5 Simultaneous A/D and D/A Conversion ..............................................................
601
603
604
605
605
606
608
609
611
611
613
615
616
617
617
618
618
619
620
620
621
Section 16 D/A Converter ................................................................................................. 623
16.1 Overview...........................................................................................................................
16.1.1 Features................................................................................................................
16.1.2 Block Diagram .....................................................................................................
16.1.3 Pin Configuration.................................................................................................
16.1.4 Register Configuration .........................................................................................
16.2 Register Descriptions ........................................................................................................
16.2.1 D/A Data Registers 0 and 1 (DADR0, DADR1)..................................................
16.2.2 D/A Control Register (DACR).............................................................................
16.3 Operation...........................................................................................................................
16.4 Usage Note........................................................................................................................
623
623
623
624
624
625
625
625
627
628
Section 17 Pin Function Controller (PFC) ................................................................... 629
17.1 Overview........................................................................................................................... 629
17.2 Register Configuration ...................................................................................................... 643
17.3 Register Descriptions ........................................................................................................ 644
17.3.1 Port A IO Register H (PAIORH) ......................................................................... 644
17.3.2 Port A IO Register L (PAIORL) .......................................................................... 645
17.3.3 Port A Control Registers H1 and H2 (PACRH1, PACRH2)................................ 645
Rev. 5.00 Sep 11, 2006 page xviii of xxii
17.3.4 Port A Control Registers L1 and L2 (PACRL1, PACRL2)..................................
17.3.5 Port B IO Register H (PBIORH)..........................................................................
17.3.6 Port B IO Register L (PBIORL) ..........................................................................
17.3.7 Port B Control Register H2 (PBCRH2) ...............................................................
17.3.8 Port B Control Registers L1 and L2 (PBCRL1, PBCRL2) ..................................
17.3.9 Port C IO Register H (PCIORH)..........................................................................
17.3.10 Port C IO Register L (PCIORL)...........................................................................
17.3.11 Port C Control Registers H1 and H2 (PCCRH1, PCCRH2) ................................
17.3.12 Port C Control Registers L1 and L2 (PCCRL1, PCCRL2) ..................................
17.3.13 Port D IO Register H (PDIORH) .........................................................................
17.3.14 Port D IO Register L (PDIORL) ..........................................................................
17.3.15 Port D Control Registers H1 and H2 (PDCRH1, PDCRH2)................................
17.3.16 Port D Control Registers L1 and L2 (PDCRL1, PDCRL2) .................................
17.3.17 Port E IO Register H (PEIORH) ..........................................................................
17.3.18 Port E IO Register L (PEIORL) ...........................................................................
17.3.19 Port E Control Register H2 (PECRH2)................................................................
17.3.20 Port E Control Register L (PECRL).....................................................................
17.3.21 Port F IO Register L (PFIORL) ...........................................................................
17.3.22 Port F Control Register L2 (PFCRL2) .................................................................
17.3.23 Port G IO Register (PGIOR)................................................................................
17.3.24 Port G Control Register H1 (PGCRH1)...............................................................
17.3.25 Port H IO Register (PHIOR)................................................................................
17.3.26 Port H Control Register (PHCR)..........................................................................
17.3.27 Function Control Register (FCR) .........................................................................
17.4 PFC Restrictions ...............................................................................................................
649
653
653
654
657
659
659
660
664
669
670
671
677
683
684
684
687
688
689
692
692
694
694
695
696
Section 18 I/O Ports (I/O) ................................................................................................. 699
18.1 Overview........................................................................................................................... 699
18.2 Port A................................................................................................................................ 699
18.2.1 Register Configuration ......................................................................................... 700
18.2.2 Port A Data Register H (PADRH) ....................................................................... 701
18.2.3 Port A Data Register L (PADRL) ........................................................................ 702
18.3 Port B ................................................................................................................................ 703
18.3.1 Register Configuration ......................................................................................... 704
18.3.2 Port B Data Register H (PBDRH)........................................................................ 704
18.3.3 Port B Data Register L (PBDRL)......................................................................... 705
18.4 Port C ................................................................................................................................ 706
18.4.1 Register Configuration ......................................................................................... 708
18.4.2 Port C Data Register H (PCDRH)........................................................................ 708
18.4.3 Port C Data Register L (PCDRL)......................................................................... 709
18.5 Port D................................................................................................................................ 710
Rev. 5.00 Sep 11, 2006 page xix of xxii
18.6
18.7
18.8
18.9
18.10
18.5.1 Register Configuration .........................................................................................
18.5.2 Port D Data Register H (PDDRH) .......................................................................
18.5.3 Port D Data Register L (PDDRL) ........................................................................
Port E ................................................................................................................................
18.6.1 Register Configuration .........................................................................................
18.6.2 Port E Data Register H (PEDRH) ........................................................................
18.6.3 Port E Data Register L (PEDRL) .........................................................................
Port F.................................................................................................................................
18.7.1 Register Configuration .........................................................................................
18.7.2 Port F Data Register L (PFDRL) .........................................................................
Port G................................................................................................................................
18.8.1 Register Configuration .........................................................................................
18.8.2 Port G Data Register H (PGDRH) .......................................................................
Port H................................................................................................................................
18.9.1 Register Configuration .........................................................................................
18.9.2 Port H Data Register (PHDR) ..............................................................................
Port I .................................................................................................................................
18.10.1 Register Configuration .........................................................................................
18.10.2 Port I Data Register (PIDR) .................................................................................
712
712
713
714
715
715
716
717
717
718
719
719
719
721
721
721
723
723
724
Section 19 256 kB Flash Memory (F-ZTAT) .............................................................. 725
19.1 Features .............................................................................................................................
19.2 Overview...........................................................................................................................
19.2.1 Block Diagram .....................................................................................................
19.2.2 Mode Transitions .................................................................................................
19.2.3 On-Board Programming Modes ...........................................................................
19.2.4 Flash Memory Emulation in RAM.......................................................................
19.2.5 Differences between Boot Mode and User Program Mode..................................
19.2.6 Block Configuration.............................................................................................
19.3 Pin Configuration ..............................................................................................................
19.4 Register Configuration ......................................................................................................
19.5 Register Descriptions ........................................................................................................
19.5.1 Flash Memory Control Register 1 (FLMCR1) .....................................................
19.5.2 Flash Memory Control Register 2 (FLMCR2) .....................................................
19.5.3 Erase Block Register 1 (EBR1) ...........................................................................
19.5.4 Erase Block Register 2 (EBR2) ...........................................................................
19.5.5 RAM Emulation Register (RAMER) ...................................................................
19.6 On-Board Programming Modes ........................................................................................
19.6.1 Boot Mode ...........................................................................................................
19.6.2 User Program Mode.............................................................................................
19.7 Programming/Erasing Flash Memory................................................................................
Rev. 5.00 Sep 11, 2006 page xx of xxii
725
726
726
727
728
730
731
732
733
734
735
735
738
739
739
740
742
743
747
748
19.8
19.9
19.10
19.11
19.12
19.13
19.7.1 Program Mode .....................................................................................................
19.7.2 Program-Verify Mode..........................................................................................
19.7.3 Erase Mode (n = 1 for Addresses H'00000 to H'07FFF,
n = 2 for Addresses H'08000 to H'3FFFF) ...........................................................
19.7.4 Erase-Verify Mode (n = 1 for Addresses H'00000 to H'07FFF,
n = 2 for Addresses H'08000 to H'3FFFF) ...........................................................
19.7.5 Wait Time Widths in Programming/Erasing ........................................................
Protection ..........................................................................................................................
19.8.1 Hardware Protection ............................................................................................
19.8.2 Software Protection..............................................................................................
19.8.3 Error Protection....................................................................................................
Flash Memory Emulation in RAM ....................................................................................
Note on Flash Memory Programming/Erasing..................................................................
Flash Memory Programmer Mode ....................................................................................
19.11.1 Socket Adapter Pin Correspondence Diagram.....................................................
19.11.2 Operation in Programmer Mode ..........................................................................
19.11.3 Memory Read Mode ............................................................................................
19.11.4 Auto-Program Mode ............................................................................................
19.11.5 Auto-Erase Mode .................................................................................................
19.11.6 Status Read Mode ................................................................................................
19.11.7 Status Polling .......................................................................................................
19.11.8 Programmer Mode Transition Time.....................................................................
19.11.9 Cautions Concerning Memory Programming.......................................................
Usage Notes ......................................................................................................................
Cautions on Transition from F-ZTAT to Mask ROM Version..........................................
748
749
757
758
764
765
765
766
766
768
770
770
771
773
774
778
780
782
783
783
784
785
785
Section 20 256 kB Mask ROM........................................................................................ 787
20.1 Overview........................................................................................................................... 787
Section 21 XRAM and YRAM ....................................................................................... 789
21.1 Overview........................................................................................................................... 789
21.2 Operation........................................................................................................................... 790
Section 22 Electrical Characteristics.............................................................................. 791
22.1 Absolute Maximum Ratings..............................................................................................
22.2 Electrical Characteristics...................................................................................................
22.2.1 DC Characteristics (1)..........................................................................................
22.2.2 DC Characteristics (2)..........................................................................................
22.3 AC Characteristics Test Conditions ..................................................................................
22.3.1 Clock Timing .......................................................................................................
22.3.2 Control Signal Timing..........................................................................................
791
792
792
794
795
796
798
Rev. 5.00 Sep 11, 2006 page xxi of xxii
22.3.3 Bus Timing...........................................................................................................
22.3.4 Direct Memory Access Controller Timing...........................................................
22.3.5 16-Bit Timer Pulse Unit (TPU) Timing ...............................................................
22.3.6 Motor Management Timer (MMT) Timing .........................................................
22.3.7 Port Output Enable (POE) Timing.......................................................................
22.3.8 I/O Port Timing....................................................................................................
22.3.9 Watchdog Timer Timing......................................................................................
22.3.10 Serial Communication Interface Timing ..............................................................
22.3.11 A/D Conversion Timing.......................................................................................
22.3.12 A/D Conversion Characteristics...........................................................................
22.3.13 D/A Conversion Characteristics...........................................................................
800
815
818
819
820
821
822
822
824
826
827
Appendix A On-Chip Peripheral Module Registers .................................................. 829
Appendix B Pin States ....................................................................................................... 849
B.1
B.2
Pin States in Reset, Power-Down State, and Bus-Released State...................................... 849
Bus-Related Signal Pin States ........................................................................................... 853
Appendix C I/O Port Block Diagrams........................................................................... 862
Appendix D Restrictions and Caution on HD64F7065S
(and HD64F7065A Lots Prior to “1D5”) ............................................. 910
D.1
D.2
D.3
D.4
D.5
D.6
BSC Restrictions ...............................................................................................................
Restrictions in Case of Contention between DSP Instruction and DMAC Transfer..........
Pin State Related Restrictions ...........................................................................................
Caution Concerning Electrical Characteristics..................................................................
DMAC Restrictions...........................................................................................................
Restrictions about Changing the Saturation Operation Mode during the Execution
of Multiply/Multiply and Accumulate, or DSP Instructions..............................................
910
910
911
911
911
912
Appendix E Product Lineup ............................................................................................. 914
Appendix F Package Dimensions ................................................................................... 915
Rev. 5.00 Sep 11, 2006 page xxii of xxii
Section 1 Overview
Section 1 Overview
1.1
Features of SH7065
The SH7065 is a CMOS single-chip microcomputer featuring an SH2-DSP core—a functionally
enhanced version of the SuperH RISC engine using an original Renesas Technology
architecture—with the same signal processing capability as a general-purpose digital signal
processor (DSP), together with peripheral functions required for system configuration.
The SH2-DSP core offers enhancement of the DSP functions (multiply and multiply-andaccumulate) of the SuperH RISC engine, and provides full DSP type data bus functionality,
enabling efficient execution of various kinds of signal processing and image processing. With this
CPU, it has become possible to create low-cost, high-performance/high-functionality systems even
for applications such as realtime control, which could not previously be handled by
microcomputers because of their high-speed processing requirements.
In addition, the SH7065 includes on-chip peripheral functions necessary for system configuration,
such as large-capacity ROM and RAM, timers, a serial communication interface (SCI), A/D
converter, D/A converter, interrupt controller (INTC), and I/O ports. An external memory access
support function allows efficient connection of memory and peripheral LSIs, greatly reducing
system cost.
There are two versions of the SH7065, with different kinds of on-chip ROM: an F-ZTAT version
with on-chip flash memory, and a mask ROM version. In the F-ZTAT version, programs can be
written and rewritten with a Renesas-recommended ROM programmer, or on-board.
Rev. 5.00 Sep 11, 2006 page 1 of 916
REJ09B0332-0500
Section 1 Overview
Table 1.1
Features
Item
Specifications
CPU
•
Original Renesas Technology architecture
•
32-bit internal configuration
•
General register machine
 Sixteen 32-bit general registers
 Six 32-bit control registers (including three added for DSP use)
 Ten 32-bit system registers (including six added for DSP use)
•
RISC (reduced instruction set computer) type instruction set
 Fixed 16-bit instruction length for improved code efficiency
 Load-store architecture (basic operations are executed between
registers)
 Delayed branch instructions reduce pipeline disruption during branches
 C-oriented instruction set
•
Instruction execution time: One instruction per cycle
•
Address space: Architecture supports 4 Gbytes
•
Enhanced on-chip multiplier:
 16 × 16 → 32 multiply operations executed in one to three cycles
 32 × 32 → 64 multiply operations executed in two to four cycles
 32 × 32 + 64 → 64 multiply-and-accumulate operations executed in two
to four cycles
•
Five-stage pipeline
Rev. 5.00 Sep 11, 2006 page 2 of 916
REJ09B0332-0500
Section 1 Overview
Item
Specifications
DSP
•
DSP engine
 Multiplier
 Arithmetic logic unit (ALU)
 Shifter
 DSP registers
•
Multiplier
 16 bits × 16 bits → 32 bits
 Single-cycle multiplier
•
DSP registers
 Two 40-bit data registers
 Six 32-bit data registers
 Modulo register (MOD, 32 bits) added to control registers
 Repeat counter (RC) added to status register (SR)
 Repeat start register (RS, 32 bits) and repeat end register (RE, 32 bits)
added to control registers
•
DSP data bus
 Extended Harvard architecture
 Simultaneous access to two data buses and one instruction bus
•
Parallel processing
 Maximum of four parallel processes
 ALU operations, multiplication, and two loads or stores
•
Address processors
 Two address processors
 Address operations to access two memories
•
DSP data addressing modes
 Increment and index
 Each with or without modulo addressing
•
Repeat control: Zero-overhead repeat (loop) control
•
Instruction set
 16-bit length (in case of load or store only)
 32-bit length (including ALU operations and multiplication)
 Added system control instructions for accessing DSP registers
•
Fifth and last pipeline stage is DSP stage
Rev. 5.00 Sep 11, 2006 page 3 of 916
REJ09B0332-0500
Section 1 Overview
Item
Specifications
Interrupt
controller (INTC)
•
User break
controller (UBC)
Bus state
controller (BSC)
Nine external interrupt pins (NMI, IRQ0 to IRQ7)
15 external interrupt sources (encoded input) can also be selected for pins
IRQ0 to IRQ3
•
16 programmable priority levels
•
NMI noise canceler function
•
Interrupt acceptance can be reported externally (IRQOUT pin)
•
Requests an interrupt when the CPU or DMAC generates a bus cycle with
specific set conditions
•
Simplifies configuration of an on-chip debugger
•
Supports external expansion memory access
 32-bit external data bus
•
Address space divided into six areas (four areas in SRAM space, two
areas in DRAM space), with the following parameters settable for each
area:
 Bus size (8/16/32 bits)
 Number of wait cycles
 SRAM, DRAM, and EDO DRAM easily connectable by space type
setting
 Output of RAS and CAS signals for DRAM and EDO DRAM
 Addressing multiplexing supported internally, allowing direct connection
of DRAM and EDO DRAM
•
DRAM and EDO DRAM burst access functions
 DRAM and EDO DRAM fast access mode supported
•
DRAM and EDO DRAM refresh functions
 Programmable refresh interval
 CAS-before-RAS refreshing and self-refreshing supported
 Up to eight consecutive CAS-before-RAS refreshes possible
•
Wait cycles can be inserted using an external WAIT signal
•
Can access I/O devices that use address/data multiplexing
•
Big-endian or little-endian mode can be set independently for each area
Rev. 5.00 Sep 11, 2006 page 4 of 916
REJ09B0332-0500
Section 1 Overview
Item
Specifications
Direct memory
access controller
(DMAC)
(4 channels)
•
Timer pulse unit
(TPU)
(6 channels)
DMA transfer possible for the following devices:
 External memory, external I/O, on-chip supporting modules (excluding
DMAC, BSC, UBC)
•
DMA transfer requests by external pins (for two channels) and on-chip
peripheral modules, plus auto-request
•
Cycle steal or burst transfer
•
Relative channel priorities can be set
•
Selection of dual or single address mode transfer
•
Chain mode transfer possible
•
Transfer data width: 8/16/32 bits
•
4-Gbyte address space, maximum 4G (4,294,967,296) transfers
•
TEND output can be asserted for each channel at the end of DMA transfer
•
Maximum 16 kinds of waveform output or maximum 16 kinds of
input/output processing based on six 16-bit timer channels
•
16 dual-function output compare registers/input capture registers
•
Total of 16 independent comparators
•
Selection of eight counter input clocks
•
Input capture function
•
Pulse output modes
 One-shot, toggle, PWM
•
Phase counting mode
 Two-phase encoder count processing capability
Motor
management
timer (MMT)
(1 channel)
•
Non-overlap waveform output for 6-phase inverter control
•
Dead times generated by dead time counters
•
Any PWM duty from 0% to 100% can be set
•
Toggle output possible in synchronization with PWM cycle
•
Data transfer can be performed by DMAC activation
•
A/D converter conversion start trigger can be generated
•
Output-off functions
Rev. 5.00 Sep 11, 2006 page 5 of 916
REJ09B0332-0500
Section 1 Overview
Item
Specifications
Compare-match
timer (CMT)
(2 channels)
•
16-bit free-running counter
•
One compare register
•
Watchdog timer
•
(WDT) (1 channel)
•
Serial
communication
interface (SCI)
(3 channels)
I/O ports
A/D converter
Interrupt request generated by compare-match
Can be switched between watchdog timer and interval timer function
Internal reset, external signal, or interrupt generated by count overflow
For each channel:
•
Selection of asynchronous or synchronous mode
•
Simultaneous transmission/reception (full-duplex) capability
•
Built-in dedicated baud rate generator
•
Multiprocessor communication function
•
Separate 16-stage FIFO registers for transmission and reception, enabling
continuous high-speed communication
•
Selection of MSB-first or LSB-first transfer
•
Selection of base clock of 4/8/16 times the bit rate in asynchronous mode
•
Built-in IrDA interface (conforming to IrDA 1.0)
•
Total of 118 port pins: 110 input/output, 8 input
•
Input/output voltage level for some ports can be set by I/O circuit power
supply PVCC
•
10 bits × 4 channels × 2 modules
•
Conversion can be activated by external trigger
D/A converter
•
8 bits × 2 channels
On-chip memory
•
ROM: 256 kbytes
•
X-RAM: 4 kbytes
•
Y-RAM: 4 kbytes
Rev. 5.00 Sep 11, 2006 page 6 of 916
REJ09B0332-0500
Section 1 Overview
Item
Specifications
Operating modes
•
Operating modes
 Expanded ROMless mode
 Expanded ROM mode
 Single-chip mode
•
Processing states
 Program execution state
 Exception handling state
 Bus-released state
•
Power-down modes
 Sleep mode
 Hardware standby mode
 Software standby mode
 Module standby function
 Module clock division function
Clock pulse
generator (CPG)
Package
Product lineup
•
Built-in clock pulse generator
•
Selection of crystal or external clock as clock source
•
Built-in clock-multiplication PLL circuits
•
Built-in PLL circuit for phase synchronization between external clock and
internal clock
•
Internal clock and on-chip peripheral module clock frequencies can be
scaled independently
176-pin plastic LQFP (LQFP2424-176), 0.5 mm pitch
SH7065: 256 kB flash/mask
Operating frequency: 60 MHz (max.)
Rev. 5.00 Sep 11, 2006 page 7 of 916
REJ09B0332-0500
Section 1 Overview
Interrupt
controller
16-bit peripheral data bus
Peripheral address bus
16-bit internal Y data bus
Internal Y address bus
Internal X address bus
CPU
16-bit internal X data bus
Buffer
32-bit internal data bus (CDB)
ROM
Internal address bus (CAB)
Block Diagram
64-bit internal ROM bus
1.2
Serial
communication
interface
DSP
Motor
management
timer
X-RAM
Timer pulse
unit
Y-RAM
User break
controller
Compare-match
timer
A/D converter
D/A converter
32-bit internal data bus (IDB)
Bus state
controller
Internal address bus (IAB)
Direct
memory access
controller
Clock pulse
generator
Watchdog
timer
Operating mode
controller
I/O ports
External
bus interface
Figure 1.1 Block Diagram
Rev. 5.00 Sep 11, 2006 page 8 of 916
REJ09B0332-0500
Section 1 Overview
Pin Arrangement and Pin Functions
1.3.1
Pin Arrangement
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
PLLVSS
PLLCAP2
PLLCAP1
PLLVCC
VSS
CKIO
VCC
HSTBY
VSS
RES
NMI
MD5
FWE*
MD4
VCC
MD3
MD2
MD1
EXTAL
VSS
XTAL
MD0
VSS
PD0/D0
PD1/D1
PD2/D2
PD3/D3
VCC
PD4/D4
PD5/D5
PD6/D6
VSS
PD7/D7
PD8/D8/TIOC1A
PD9/D9/TIOC1B
PD10/D10/TIOC2A
PD11/D11/TIOC2B
PD12/D12/TIOC4A
PD13/D13/TIOC4B
PD14/D14/TIOC5A
VCC
PD15/D15/TIOC5B
PD16/D16/POE0
VSS
1.3
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
88
87
86
85
84
83
82
81
80
79
78
77
76
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
50
49
48
47
46
45
FP-176
(Top view)
VSS
PD17/D17/POE1/ADTRG
PD18/D18/POE2/IRQ4
PD19/D19/POE3/IRQ5
PD20/D20/PUOA/IRQ6
PD21/D21/PVOA/IRQ7
PD22/D22/PWOA/SCK0
PD23/D23/PCO/PCI/SCK1
PD24/D24/PUOB
VCC
PD25/D25/PVOB
PD26/D26/PWOB
VSS
PD27/D27/TCLKA/TIOC3C
PD28/D28/TCLKB/TIOC3D
PD29/D29/SCK2/TIOC4A
PD30/D30/TxD2/TIOC4B
PD31/D31/RxD2/TIOC5A
VCC
PB13/RDWR
PB16/CASLL0
PB17/CASLH0
PB18/CASHL0/RxD0
PB19/CASHH0/TxD0
VSS
PB20/CASLL1
PB21/CASLH1
PB22/CASHL1/RxD1/TEND1
PB23/CASHH1/TxD1/TEND0
PA8/RAS0
VCC
PA9/RAS1
PA12/WAIT
PA13/WRLL/LLBS
VSS
PA14/WRLH/LHBS
PA15/WRHL/HLBS/TCLKD/TIOC3B
PA16/WRHH/HHBS/TCLKC/TIOC3A
PA17/WR
PA18/RD
VCC
PA20/CS0
PA21/CS1
VSS
PVSS
PE14/IRQ6
PE13/IRQ5
PE12/IRQ4
PVcc
PC0/A0
PC1/A1
PC2/A2
PC3/A3
VSS
PC4/A4
PC5/A5
VSS
PC6/A6
PC7/A7
PC8/A8
VCC
PC9/A9
PC10/A10
PC11/A11
VSS
PC12/A12
PC13/A13
PC14/A14/TIOC3C
VSS
VCC
PC15/A15/TIOC3D
PC16/A16/TIOC3A
PC17/A17/TIOC3B
PC18/A18/TIOC4A
VSS
PC19/A19/TIOC4B
PC20/A20/TIOC5A
PC21/A21/TIOC5B
PC22/A22/TIOC1A/TCLKA
PC23/A23/TIOC1B/TCLKB
PC24/A24/TIOC3A/TCLKC
VSS
VCC
PC25/A25/TIOC3B/TCLKD
PA25/CS5
PA24/CS4
PA23/CS3
PA22/CS2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
VSS
CK
VSS
PA1/OE1
PA0/OE0
PF3/DREQ0/TIOC0A
PF2/DRAK0/TIOC0C
VCC
PF1/DACK0/TIOC0B
PA19/BS
PF5/DACK1/RxD1/TIOC2B
PF6/DRAK1/TxD1/TIOC2A
PF7/DREQ1/IRQOUT/TIOC0D
WDTOVF
VSS
AVSS
PH0/DA0
PH1/DA1
PI0/AN0
PI1/AN1
PI2/AN2
PI3/AN3
PI4/AN4
PI5/AN5
PI6/AN6
PI7/AN7
AVCC
PVCC
PG31/RxD2
PG30/TxD2
PG29/SCK2
PB7/BACK
PB6/BREQ
PVSS
PE23/IRQ7/PWOB
PE22/IRQ6/PVOB
PE21/IRQ5/PUOB
PE20/IRQ4/PCO/PCI
PE19/IRQ3/PWOA
PE18/IRQ2/PVOA
PVCC
PE17/IRQ1/PUOA/SCK0
PE16/IRQ0/SCK1/AH
PE15/IRQ7
Note: * Vss in the mask version (can be pulled down with a resistance of 5.0 kΩ to 10 kΩ)
Figure 1.2 Pin Arrangement
Rev. 5.00 Sep 11, 2006 page 9 of 916
REJ09B0332-0500
Section 1 Overview
1.3.2
Pin Functions
Table 1.2 summarizes the pin functions.
Table 1.2
Pin Functions
Type
Symbol
I/O
Name
Function
Power supply
Vcc
Input
Power supply
For connection to the power supply.
Connect all VCC pins to the system power
supply. The chip will not operate if there
are any open pins. Apply the same
voltage to all VCC pins.*
Vss
Input
Ground
For connection to ground. Connect all
VSS pins to the system ground. The chip
will not operate if there are any open
pins.
PVcc
Input
I/O circuit
power supply
Power supply for the I/O circuits. The
chip will not operate if there are any
open pins. Apply the same voltage to all
PVCC pins.*
PVss
Input
I/O circuit
ground
Ground for the I/O circuits. The chip will
not operate if there are any open pins.
PLLVcc
Input
PLL power
supply
On-chip PLL oscillator power supply. The
chip will not operate if there are any
open pins.
PLLVss
Input
PLL ground
On-chip PLL oscillator ground. The chip
will not operate if there are any open
pins.
PLLCAP1
Input
PLL capacitance On-chip PLL oscillator 1 external
capacitance pin.
PLLCAP2
Input
PLL capacitance On-chip PLL oscillator 2 external
capacitance pin.
EXTAL
Input
External clock
For connection to a crystal resonator. An
external clock can also be input to the
EXTAL pin.
XTAL
Output
Crystal
For connection to a crystal resonator
CKIO
I/O
System clock I/O Used as external clock input or internal
clock output pin.
CK
Output
System clock
output
Clock
Rev. 5.00 Sep 11, 2006 page 10 of 916
REJ09B0332-0500
Internal clock output pin.
Section 1 Overview
Type
Symbol
I/O
Name
Function
Input
Power-on
reset
Executes a power-on reset when driven
low.
WDTOVF
Output
Watchdog
timer overflow
WDT overflow output signal
BREQ
Input
Bus request
Driven low when an external device
requests release of the bus.
BACK
Output
Bus request
acknowledge
Indicates that the bus has been granted
to an external device. The device that
output the BREQ signal recognizes that
the bus has been acquired when it
receives the BACK signal.
HSTBY
Input
Hardware
standby
Hardware standby input pin. Drive high
when not used.
MD0–MD5
Input
Mode setting
These pins determine the operating
mode. Do not change the input values
during operation.
FWE
Input
Flash write
enable
On-chip flash memory program/erase
hardware protection pin.
NMI
Input
Nonmaskable
interrupt
Nonmaskable interrupt request pin.
Acceptance at the rising edge or falling
edge can be selected.
IRQ0–IRQ7 Input
Interrupt
request 0 to 7
Maskable interrupt request pins. Level
input or edge input can be selected.
IRQOUT
Output
Interrupt
request output
Indicates that an interrupt request has
been generated. Enables interrupt
generation to be recognized in the busreleased state.
Address bus
A0–A25
Output
Address bus
Address output pins.
Data bus
D0–D31
I/O
Data bus
32-bit bidirectional data bus.
Bus control
CS0–CS5
Output
Chip select
0 to 5
Chip select signals for external memory
or devices.
RD
Output
Read
Indicates reading from an external
device.
System control RES
Operating
mode control
Interrupts
RDWR
Output
Read/write
Used as the DRAM write directive signal.
WRLL
Output
LL write
Indicates writing of bits 7 to 0 of external
data.
WRLH
Output
LH write
Indicates writing of bits 15 to 8 of
external data.
Rev. 5.00 Sep 11, 2006 page 11 of 916
REJ09B0332-0500
Section 1 Overview
Type
Symbol
I/O
Name
Function
Bus control
WRHL
Output
HL write
Indicates writing of bits 23 to 16 of
external data.
WRHH
Output
HH write
Indicates writing of bits 31 to 24 of
external data.
WAIT
Input
Wait
Input for wait cycle insertion in bus
cycles during external space access
LLBS
Output
LL byte strobe
Indicates access to bits 7 to 0 of external
data.
LHBS
Output
LH byte strobe
Indicates access to bits 15 to 8 of
external data.
HLBS
Output
HL byte strobe
Indicates access to bits 23 to 16 of
external data.
HHBS
Output
HH byte strobe
Indicates access to bits 31 to 24 of
external data.
WR
Output
Write
Indicates the data bus input/output
direction. Also used as the write directive
for byte-strobe type memory.
RAS0–
RAS1
Output
Row address
strobe 0, 1
DRAM row address strobe timing signals
CASLL0–
CASLL1
Output
LL column
address strobe
0, 1
Output when accessing bits 7 to 0 of
DRAM data.
CASLH0–
CASLH1
Output
LH column
address strobe
0, 1
Output when accessing bits 15 to 8 of
DRAM data.
CASHL0–
CASHL1
Output
HL column
address strobe
0, 1
Output when accessing bits 23 to 16 of
DRAM data.
CASHH0–
CASHH1
Output
HH column
address strobe
0, 1
Output when accessing bits 31 to 24 of
DRAM data.
OE0–OE1
Output
Output enable
0, 1
Output enable signal for use of EDO
DRAM in RAS down mode.
AH
Output
Address hold
Address hold timing signal for a device
using a multiplexed address/data bus.
BS
Output
Bus cycle start
Indicates the start of a bus cycle.
Rev. 5.00 Sep 11, 2006 page 12 of 916
REJ09B0332-0500
Section 1 Overview
Type
Symbol
I/O
Name
Function
Input
DMA transfer
request
(channels 0, 1)
Input pins for external requests for DMA
transfer.
DRAK0–
DRAK1
Output
DREQ request
acknowledgment
(channels 0, 1)
These pins output the input sampling
acknowledgment for external requests
for DMA transfer.
DACK0–
DACK1
Output
DMA transfer
strobe
(channels 0, 1)
These pins output a strobe to the
external I/O in external DMA transfer
requests.
TEND0–
TEND1
Output
DMA transfer
end
(channels 0, 1)
These pins go low at the end of DMA
transfer.
TCLKA–
TCLKD
Input
TPU timer
clock input
TPU counter external clock Input pins.
TIOC0A–
TIOC0D
I/O
TPU input
capture/output
compare
(channel 0)
Channel 0 input capture input/output
compare output/PWM output pins.
TIOC1A–
TIOC1B
I/O
TPU input
capture/output
compare
(channel 1)
Channel 1 input capture input/output
compare output/PWM output pins.
TIOC2A–
TIOC2B
I/O
TPU input
capture/output
compare
(channel 2)
Channel 2 input capture input/output
compare output/PWM output pins.
TIOC3A–
TIOC3D
I/O
TPU input
capture/output
compare
(channel 3)
Channel 3 input capture input/output
compare output/PWM output pins.
TIOC4A–
TIOC4B
I/O
TPU input
capture/output
compare
(channel 4)
Channel 4 input capture input/output
compare output/PWM output pins.
TIOC5A–
TIOC5B
I/O
TPU input
capture/output
compare
(channel 5)
Channel 5 input capture input/output
compare output/PWM output pins.
Direct memory DREQ0–
DREQ1
access
controller
(DMAC)
Timer pulse
unit (TPU)
Rev. 5.00 Sep 11, 2006 page 13 of 916
REJ09B0332-0500
Section 1 Overview
Type
Symbol
I/O
Name
Function
Motor
management
timer (MMT)
PCI
Input
Counter clear
input
Counter clear input pin.
PCO
Output
PWM cycle
output
Pin for toggle output synchronized with
PWM cycle.
PUOA–
PUOB
Output
PWM U-phase
output
PWM U-phase waveform output pin.
PVOA–
PVOB
Output
PWM V-phase
output
PWM V-phase waveform output pin.
PWOA–
PWOB
Output
PWM W-phase PWM W-phase waveform output pin.
output
POE0–
POE3
Input
Port output
enable input
Output
Transmit data
Transmit data output pins.
(channels 0 to 2)
Input
Receive data
Receive data input pins.
(channels 0 to 2)
SCK0–
SCK2
I/O
Serial clock
Clock input/output pins.
(channels 0 to 2)
AVcc
Input
Analog power
supply
For connection to analog power supply.
AVss
Input
Analog ground
For connection to analog power supply
ground.
AN0–AN7
Input
Analog input
Analog signal input pins
ADTRG
Input
A/D conversion External input for starting A/D conversion
trigger input
DA0–DA1
Output
Analog output
Serial
TxD0–
communication TxD2
interface (SCI) RxD0–
RxD2
Analog power
supply
A/D converter
D/A converter
Rev. 5.00 Sep 11, 2006 page 14 of 916
REJ09B0332-0500
These pins input request signals to place
large-current pins in the high-impedance
state.
D/A converter analog signal output pins
Section 1 Overview
Type
Symbol
I/O
Name
Function
I/O ports
PA × 18
I/O
General port
General input/output port pins. Input or
output can be specified bit by bit.
PB × 11
I/O
General port
General input/output port pins. Input or
output can be specified bit by bit.
PC × 26
I/O
General port
General input/output port pins. Input or
output can be specified bit by bit.
PD × 32
I/O
General port
General input/output port pins. Input or
output can be specified bit by bit.
PE × 12
I/O
General port
General input/output port pins. Input or
output can be specified bit by bit.
PF × 6
I/O
General port
General input/output port pins. Input or
output can be specified bit by bit.
PG × 3
I/O
General port
General input/output port pins. Input or
output can be specified bit by bit.
PH × 2
I/O
General port
General input/output port pins. Input or
output can be specified bit by bit.
PI × 8
Input
General port
General input port pins.
Notes: Unused input pins must be pulled up or pulled down with a resistance of 4.7 kΩ to 10 kΩ.
* The following power-on/power-off order is recommended when applying a 5 V voltage
to power supply voltage pin PVCC. When PVCC is also used with the same 3 V voltage
as VCC, etc., simultaneous powering on and off is recommended for all power supplies.
1. Powering on
(1) Turn on the 5 V power (PVCC) first, then the 3 V power (VCC, PLLVCC, AVCC).
(2) Pin states are undefined while only 5 V power (PVCC) is on, as reset input is invalid.
2. Powering off
(1) Power off in the reverse order to powering on: Turn off the 3 V power first, then the
5 V power.
(2) Pin states are undefined while only 5 V power is being supplied.
3. Power-on/off interval
To minimize the length of time during which pin states are undefined, the power-on/off
interval should be kept as short as possible. Also, the system design should ensure that
erroneous system operation will not result from pin states becoming undefined.
Rev. 5.00 Sep 11, 2006 page 15 of 916
REJ09B0332-0500
Section 1 Overview
Table 1.3
Pin Function List
Control
Power
No.* Supply Function 1
Function 2 Function 3 Function 4 Function 5
1
—
PLLVcc
—
—
—
—
2
—
PLVss
—
—
—
—
3
—
PLLCAP1
—
—
—
—
4
—
PLLCAP2
—
—
—
—
5
—
AVcc
—
—
—
—
6
—
AVss
—
—
—
—
7
Vcc
EXTAL
—
—
—
—
8
Vcc
XTAL
—
—
—
—
9
Vcc
CKIO
—
—
—
—
10
Vcc
CK
—
—
—
—
11
Vcc
RES
—
—
—
—
12
Vcc
WDTOVF
—
—
—
—
13
Vcc
HSTBY
—
—
—
—
14
Vcc
MD5
—
—
—
—
15
Vcc
MD4
—
—
—
—
16
Vcc
MD3
—
—
—
—
17
Vcc
MD2
—
—
—
—
18
Vcc
MD1
—
—
—
—
19
Vcc
MD0
—
—
—
—
20
Vcc
NMI
—
—
—
—
21
Vcc
FWE
—
—
—
—
22
Vcc
General input/output (PA25)
CS5
—
—
—
23
Vcc
General input/output (PA24)
CS4
—
—
—
24
Vcc
General input/output (PA23)
CS3
—
—
—
25
Vcc
General input/output (PA22)
CS2
—
—
—
26
Vcc
General input/output (PA21)
CS1
—
—
—
27
Vcc
General input/output (PA20)
CS0
—
—
—
28
Vcc
General input/output (PA19)
BS
—
—
—
29
Vcc
General input/output (PA18)
RD
—
—
—
Rev. 5.00 Sep 11, 2006 page 16 of 916
REJ09B0332-0500
Section 1 Overview
Control
Power
No.* Supply Function 1
Function 2 Function 3 Function 4 Function 5
30
Vcc
General input/output (PA17)
WR
—
—
—
31
Vcc
General input/output (PA16)
WRHH
HHBS
TCLKC
TIOC3A
32
Vcc
General input/output (PA15)
WRHL
HLBS
TCLKD
TIOC3B
33
Vcc
General input/output (PA14)
WRLH
LHBS
—
—
34
Vcc
General input/output (PA13)
WRLL
LLBS
—
—
35
Vcc
General input/output (PA12)
WAIT
—
—
—
36
Vcc
General input/output (PA9)
RAS1
—
—
—
37
Vcc
General input/output (PA8)
RAS0
—
—
—
38
Vcc
General input/output (PB23)
CASHH1
TxD1
TEND0
—
39
Vcc
General input/output (PB22)
CASHL1
RxD1
TEND1
—
40
Vcc
General input/output (PB21)
CASLH1
—
—
—
41
Vcc
General input/output (PB20)
CASLL1
—
—
—
42
Vcc
General input/output (PB19)
CASHH0
TxD0
—
—
43
Vcc
General input/output (PB18)
CASHL0
RxD0
—
—
44
Vcc
General input/output (PB17)
CASLH0
—
—
—
45
Vcc
General input/output (PB16)
CASLL0
—
—
—
46
Vcc
General input/output (PB13)
RDWR
—
—
—
47
Vcc
General input/output (PC25)
A25
TIOC3B
TCLKD
—
48
Vcc
General input/output (PC24)
A24
TIOC3A
TCLKC
—
49
Vcc
General input/output (PC23)
A23
TIOC1B
TCLKB
—
50
Vcc
General input/output (PC22)
A22
TIOC1A
TCLKA
—
51
Vcc
General input/output (PC21)
A21
TIOC5B
—
—
52
Vcc
General input/output (PC20)
A20
TIOC5A
—
—
53
Vcc
General input/output (PC19)
A19
TIOC4B
—
—
54
Vcc
General input/output (PC18)
A18
TIOC4A
—
—
55
Vcc
General input/output (PC17)
A17
TIOC3B
—
—
56
Vcc
General input/output (PC16)
A16
TIOC3A
—
—
57
Vcc
General input/output (PC15)
A15
TIOC3D
—
—
58
Vcc
General input/output (PC14)
A14
TIOC3C
—
—
59
Vcc
General input/output (PC13)
A13
—
—
—
60
Vcc
General input/output (PC12)
A12
—
—
—
Rev. 5.00 Sep 11, 2006 page 17 of 916
REJ09B0332-0500
Section 1 Overview
Control
Power
No.* Supply Function 1
Function 2 Function 3 Function 4 Function 5
61
Vcc
General input/output (PC11)
A11
—
—
—
62
Vcc
General input/output (PC10)
A10
—
—
—
63
Vcc
General input/output (PC9)
A9
—
—
—
64
Vcc
General input/output (PC8)
A8
—
—
—
65
Vcc
General input/output (PC7)
A7
—
—
—
66
Vcc
General input/output (PC6)
A6
—
—
—
67
Vcc
General input/output (PC5)
A5
—
—
—
68
Vcc
General input/output (PC4)
A4
—
—
—
69
Vcc
General input/output (PC3)
A3
—
—
—
70
Vcc
General input/output (PC2)
A2
—
—
—
71
Vcc
General input/output (PC1)
A1
—
—
—
72
Vcc
General input/output (PC0)
A0
—
—
—
73
Vcc
General input/output (PD31)
D31
RxD2
TIOC5A
—
74
Vcc
General input/output (PD30)
D30
TxD2
TIOC4B
—
75
Vcc
General input/output (PD29)
D29
SCK2
TIOC4A
—
76
Vcc
General input/output (PD28)
D28
TCLKB
TIOC3D
—
77
Vcc
General input/output (PD27)
D27
TCLKA
TIOC3C
—
78
Vcc
General input/output (PD26)
D26
PWOB
—
—
79
Vcc
General input/output (PD25)
D25
PVOB
—
—
80
Vcc
General input/output (PD24)
D24
PUOB
—
—
81
Vcc
General input/output (PD23)
D23
PCO
PCI
SCK1
82
Vcc
General input/output (PD22)
D22
PWOA
SCK0
—
83
Vcc
General input/output (PD21)
D21
PVOA
IRQ7
—
84
Vcc
General input/output (PD20)
D20
PUOA
IRQ6
—
85
Vcc
General input/output (PD19)
D19
POE3
IRQ5
—
86
Vcc
General input/output (PD18)
D18
POE2
IRQ4
—
87
Vcc
General input/output (PD17)
D17
POE1
ADTRG
—
88
Vcc
General input/output (PD16)
D16
POE0
—
—
89
Vcc
General input/output (PD15)
D15
TIOC5B
—
—
90
Vcc
General input/output (PD14)
D14
TIOC5A
—
—
Rev. 5.00 Sep 11, 2006 page 18 of 916
REJ09B0332-0500
Section 1 Overview
Control
Power
No.* Supply Function 1
Function 2 Function 3 Function 4 Function 5
91
Vcc
General input/output (PD13)
D13
TIOC4B
—
—
92
Vcc
General input/output (PD12)
D12
TIOC4A
—
—
93
Vcc
General input/output (PD11)
D11
TIOC2B
—
—
94
Vcc
General input/output (PD10)
D10
TIOC2A
—
—
95
Vcc
General input/output (PD9)
D9
TIOC1B
—
—
96
Vcc
General input/output (PD8)
D8
TIOC1A
—
—
97
Vcc
General input/output (PD7)
D7
—
—
—
98
Vcc
General input/output (PD6)
D6
—
—
—
99
Vcc
General input/output (PD5)
D5
—
—
—
100
Vcc
General input/output (PD4)
D4
—
—
—
101
Vcc
General input/output (PD3)
D3
—
—
—
102
Vcc
General input/output (PD2)
D2
—
—
—
103
Vcc
General input/output (PD1)
D1
—
—
—
104
Vcc
General input/output (PD0)
D0
—
—
—
105
Vcc
General input/output (PA1)
OE1
—
—
—
106
Vcc
General input/output (PA0)
OE0
—
—
—
107
PVcc
General input/output (PE23)
IRQ7
PWOB
—
—
108
PVcc
General input/output (PE22)
IRQ6
PVOB
—
—
109
PVcc
General input/output (PE21)
IRQ5
PUOB
—
—
110
PVcc
General input/output (PE20)
IRQ4
PCO
PCI
—
111
PVcc
General input/output (PE19)
IRQ3
PWOA
—
—
112
PVcc
General input/output (PE18)
IRQ2
PVOA
—
—
113
PVcc
General input/output (PE17)
IRQ1
PUOA
SCK0
—
114
PVcc
General input/output (PE16)
IRQ0
SCK1
AH
—
115
Vcc
General input/output (PF7)
DREQ1
IRQOUT
TIOC0D
—
116
Vcc
General input/output (PF6)
DRAK1
TxD1
TIOC2A
—
117
Vcc
General input/output (PF5)
DACK1
RxD1
TIOC2B
—
118
AVcc
General input (PI7)
AN7
—
—
—
119
AVcc
General input (PI6)
AN6
—
—
—
120
AVcc
General input (PI5)
AN5
—
—
—
Rev. 5.00 Sep 11, 2006 page 19 of 916
REJ09B0332-0500
Section 1 Overview
Control
Power
No.* Supply Function 1
Function 2 Function 3 Function 4 Function 5
121
AVcc
General input (PI4)
AN4
—
—
—
122
AVcc
General input (PI3)
AN3
—
—
—
123
AVcc
General input (PI2)
AN2
—
—
—
124
AVcc
General input (PI1)
AN1
—
—
—
125
AVcc
General input (PI0)
AN0
—
—
—
126
AVcc
General input/output (PH1)
DA1
—
—
—
127
AVcc
General input/output (PH0)
DA0
—
—
—
128
PVcc
General input/output (PE12)
IRQ4
—
—
—
129
PVcc
General input/output (PE13)
IRQ5
—
—
—
130
PVcc
General input/output (PE14)
IRQ6
—
—
—
131
PVcc
General input/output (PE15)
IRQ7
—
—
—
132
PVcc
General input/output (PG31)
RxD2
—
—
—
133
PVcc
General input/output (PG30)
TxD2
—
—
—
134
PVcc
General input/output (PG29)
SCK2
—
—
—
135
Vcc
General input/output (PF2)
DRAK0
TIOC0C
—
—
136
Vcc
General input/output (PF1)
DACK0
TIOC0B
—
—
137
Vcc
General input/output (PF3)
DREQ0
TIOC0A
—
—
138
PVcc
General input/output (PB7)
BACK
—
—
—
139
PVcc
General input/output (PB6)
BREQ
—
—
—
Note:
*
These numbers are not the package pin numbers.
Rev. 5.00 Sep 11, 2006 page 20 of 916
REJ09B0332-0500
Section 2 CPU
Section 2 CPU
2.1
Register Configuration
The SH7065 has sixteen 32-bit general registers, six 32-bit control registers, and ten 32-bit system
registers.
As the SH7065 is upward-compatible with the SH-1 and SH-2 at the object code level, a number
of registers have been added to those provided in previous SuperH microcomputers. The additions
comprise three control registers (the repeat start register (RS), repeat end register (RE), and
modulo register (MOD)), one system register (the DSP status register (DSR)), and six registers
(A0, A1, X0, X1, Y0, and Y1) within the DSP data registers.
With SuperH microcomputer type instructions, general registers are used in the same way as in the
SH-1 and SH-2, but with DSP type instructions, general registers are used as address and index
registers for accessing memory.
2.1.1
General Registers
There are sixteen 32-bit general registers (Rn), designated R0 to R15. The general registers are
used for data processing and address calculation.
With SuperH microcomputer type instructions, R0 is used as an index register. With a number of
instructions, R0 is the only register that can be used. R15 is used as the stack pointer (SP). In
exception handling, R15 is used to reference the stack when saving and restoring the status register
(SR) and program counter (PC).
With DSP type instructions, eight of the sixteen general registers are used for addressing of X and
Y data memory and data memory (single data) that uses the I-bus.
To access X memory, R4 and R5 are used as X address register [Ax] and R8 is used as X index
register [Ix]. To access Y memory, R6 and R7 are used as Y address register [Ay] and R9 is used
as Y index register [Iy]. To access single data that uses the I-bus, R2, R3, R4, and R5 are used as
single data address register [As] and R8 is used as single data index register [Is].
DSP type instructions can access can access X and Y data memory simultaneously. Two sets of
address pointers are provided to specify the X and Y data memory addresses.
The general registers are shown in figure 2.1.
Rev. 5.00 Sep 11, 2006 page 21 of 916
REJ09B0332-0500
Section 2 CPU
31
0
R0*1
R1
R2, [As]*3
R3, [As]*3
R4, [As, Ax]*3
R5, [As, Ax]*3
R6, [Ay]*3
R7, [Ay]*3
R8, [Ix, Is]*3
R9, [Iy]*3
R10
R11
R12
R13
R14
R15, SP*2
Notes: 1. The R0 register is used as the index register in indexed register indirect addressing
mode and indexed GBR indirect addressing mode.
With certain instructions, R0 only is used as the source register and destination
register.
2. The R15 register is used as the stack pointer (SP) during exception handling.
3. Used as the memory address register or memory index register with DSP type
instructions.
Figure 2.1 General Register Configuration
In assembler, the symbols R2, R3 ... R9 are used. If it is wished to use a name that indicates the
role of a register for DSP type instructions, a different register name (alias) can be used. The
coding in assembler is as follows.
Ix:
.REG (R8)
Rev. 5.00 Sep 11, 2006 page 22 of 916
REJ09B0332-0500
Section 2 CPU
The name Ix is the alias for R8. Other aliases are assigned as follows.
Ax0:
.REG
(R4)
Ax1:
.REG
(R5)
Ix:
.REG
(R8)
Ay0:
.REG
(R6)
Ay1:
.REG
(R7)
Iy:
.REG
(R9)
As0:
.REG
(R4); Definition when an alias is required for single data transfer.
As1:
.REG
(R5); Definition when an alias is required for single data transfer.
As2:
.REG
(R2); Definition when an alias is required for single data transfer.
As3:
.REG
(R3); Definition when an alias is required for single data transfer.
Is:
.REG
(R8); Definition when an alias is required for single data transfer.
2.1.2
Control Registers
There are six 32-bit control registers: the status register (SR), repeat start register (RS), repeat end
register (RE), global base register (GBR), vector base register (VBR), and modulo register
(MOD).
The SR register shows the processing status.
The GBR register is used as the base address in GBR indirect addressing mode, and is used for
data transfer involving on-chip peripheral module registers, etc.
The VBR register is used as the base address of the exception handling vector area, including
interrupts.
The RS register and RE register are used to control program repeats (loops). The number of loops
is specified in the repeat counter (RC) in the SR register, the repeat start address is specified in the
RS register, and the repeat end address is specified in the RE register. However, the address values
stored in the RS register and RE register are not necessarily the same as the physical repeat start
address and end address.
The MOD register is used in modulo addressing for repeat data buffering. The modulo addressing
specification is made with the DMX or DMY bit in the SR register, the modulo end address (ME)
is specified in the upper 16 bits of the MOD register, and the modulo start address (MS) in the
lower 16 bits. The DMX and DMY bits cannot both specify modulo addressing simultaneously.
Modulo addressing can be used with the X and Y data transfer instructions (MOVX, MOVY), but
not with the single data transfer instruction (MOVS).
Rev. 5.00 Sep 11, 2006 page 23 of 916
REJ09B0332-0500
Section 2 CPU
Figure 2.2 shows the control register, and table 2.1 shows the bits in the SR register.
Status register (SR)
31 28 27
16 15 12 11
10 9 8 7
4 3
2 1 0
0000
RC
0000 DMY DMX M Q
IMASK RF1 RF0 S T
Repeat start register (RS)
31
0
RS
Repeat end register (RE)
31
0
RE
Global base register (GBR)
31
0
GBR
Vector base register (VBR)
31
0
VBR
Modulo register (MOD)
31
ME
16 15
0
MS
Legend:
ME: Modulo end address
MS: Modulo start address
Figure 2.2 Control Register Configuration
Rev. 5.00 Sep 11, 2006 page 24 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.1
SR Register Bits
Bits
Name (Abbreviation)
Function
27–16
Repeat counter (RC)
These bits specify number of repeats in repeat (loop)
control (2 to 4095).
11
Y pointer modulo addressing
specification (DMY)
1: Modulo addressing mode is enabled for Y memory
address pointer Ay (R6, R7).
10
X pointer modulo addressing
specification (DMX)
1: Modulo addressing mode is enabled for X memory
address pointer Ax (R4, R5).
9
M bit
Used by DIV0S/U and DIV1 instructions.
8
Q bit
7–4
Interrupt request mask
(IMASK)
These bits show the interrupt request acceptance level
(0 to 15).
3, 2
Repeat flags (RF1, RF0)
Used for zero-overhead repeat (loop) control.
Set as follows when the SETRC instruction is used.
1-step repeat: 00
2-step repeat: 01
3-step repeat: 11
4 or more steps: 10
1
Saturation operation bit (S)
RE – RS = –4
RE – RS = –2
RE – RS = 0
RE – RS > 0
Used with MAC and DSP instructions.
1: Specifies a saturation operation (preventing
overflow)
0
T bit
With MOVT, CMP/cond, TAS, TST, BT, BT/S, BF,
BF/S, SETT, CLRT, and DT instructions:
0: Indicates True
1: Indicates False
With ADDV/C, SUBV/C, DIV0U/S, DIV1, NEGC,
SHAR/L, SHLR/L, ROTR/L. and ROTCR/L
instructions:
1: Indicates occurrence of carry, borrow, overflow, or
underflow
31–28,
15–12
0 bits
0: Always read as 0.
Only 0 should be written to these bits.
Rev. 5.00 Sep 11, 2006 page 25 of 916
REJ09B0332-0500
Section 2 CPU
Special load/store instructions are provided for accessing the RS, RE, and MOD registers. For
example, the coding for accessing the RS register is as follows.
LDC
Rm,RS;
Rm → RS
LDC.L
@Rm+,RS;
(Rm) → RS, Rm+4 → Rm
STC
RS,Rn;
RS → Rn
STC.L
RS,@-Rn;
Rn-4 → Rn, RS → (Rn)
The instructions for setting an address in the RS and RE registers for zero-overhead repeat control
are as follows.
LDRS
@(disp,PC);
disp × 2 + PC → RS
LDRE
@(disp,PC);
disp × 2 + PC → RE
The GBR and VBR registers are the same as the previous SuperH microcomputer registers. In the
SH7065, four control bits (DMX, DMY, RF1, and RF0) and an RC counter have been added to the
SR register, and the RS, RE, and MOD registers are provided as new registers.
2.1.3
System Registers
There are four 32-bit system registers: the multiply and accumulate register high (MACH),
multiply and accumulate register low (MACL), procedure register (PR), and program counter
(PC).
MACH and MACL store the results of multiply or multiply and accumulate operations*, PR stores
the return destination address of a subroutine procedure, and PC shows the executing program
address and controls the processing flow. PC shows the address 4 bytes ahead of the currently
executing instruction. These registers are the same as the SuperH microcomputer registers.
Note: * These registers are used only when executing an instruction supported by the SH-1 and
SH-2. They are not used with the new multiply instruction provided in the SH-DSP
(PMULS).
Rev. 5.00 Sep 11, 2006 page 26 of 916
REJ09B0332-0500
Section 2 CPU
31
0
MACH
MACL
Multiply and accumulate
register high (MACH)
Multiply and accumulate
register low (MACL)
0
31
PR
Procedure register (PR)
0
31
PC
Program counter (PC)
Figure 2.3 System Register Configuration
In the SH7065, of the DSP unit registers (DSP registers) described below, the DSP status register
(DSR) and five of the eight data registers (A0, X0, X1, Y0, and Y1) are treated as system
registers. A0 is a 40-bit register, but when data is output from the A0 register the guard bit field
(A0G) is ignored, and when data is input to the A0 register the MSB is copied into the guard bit
field (A0G).
2.1.4
DSP Registers
The DSP unit has eight data registers and one control register as DSP registers.
The DSP data registers comprise two 40-bit registers, A0 and A1, and six 32-bit registers, M0,
M1, X0, X1, Y0, and Y1. Registers A0 and A1 each have an 8-bit guard bit field, designated A0G
and A1G, respectively.
The DSP data registers are used as DSP instruction operands in DSP data transfer and processing.
Instructions that access the DSP data registers are of three types, for DSP data processing, and X
and Y data transfer processing.
The control register is the 32-bit DSP status register (DSR), which shows operation results. The
DSR register contains bits that indicate the result of an operation—the Signed Greater Than bit
(GT), Zero Value bit (Z), Negative Value bit (N), Overflow bit (V), and DSP Condition bit
(DC)—and also Condition Select bits (CS) that control the DC bit setting.
The DC bit is a status flag that closely resembles the T bit of the SuperH microcomputer CPU
core. In the case of a conditional DSP type instruction, execution during DSP data processing is
controlled in accordance with the DC bit. This control extends only to DSP unit execution, and
only DSP registers are updated. It has no effect on address calculation or SuperH microcomputer
Rev. 5.00 Sep 11, 2006 page 27 of 916
REJ09B0332-0500
Section 2 CPU
CPU core execution instructions such as load/store instructions. The CS control bits (bits 2 to 0)
specify the conditions for setting the DC bit.
DSP type instructions include unconditional DSP type instructions and conditional DSP type
instructions. In unconditional DSP type data processing, with the exception of the PMULS,
MOVX, MOVY, and MOVS instructions, the status bits and DC bit are updated. Conditional DSP
type instructions are executed in accordance with the DC bit setting, but the DSR register is not
updated regardless of whether or not these instructions are executed.
The DSP registers are shown in figure 2.4, and the DSR register bit functions are summarized in
table 2.2.
39
32 31
0
A0G
A0
A1G
A1
DSP data registers
M0
M1
X0
X1
Y0
Y1
31
8 7
6
5
GT Z N
4
3 2 1
0
V CS[2:0] DC
DSP status register (DSR)
Figure 2.4 DSP Register Configuration
Rev. 5.00 Sep 11, 2006 page 28 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.2
DSR Register Bits
Bits
Name (Abbreviation)
Function
31–8
Reserved
0: Always read as 0.
The write value should also be 0.
7
Signed Greater Than (GT)
Indicates that the operation result is positive (except
zero) or that operand 1 is greater than operand 2.
1: Operation result is positive or operand 1 is greater
than operand 2
6
Zero Value (Z)
Indicates that the operation result is zero (0) or that
operand 1 is equal to operand 2.
1: Operation result is zero (0) or operands are equal
5
Negative Value (N)
Indicates that the operation result is negative or that
operand 1 is smaller than operand 2.
1: Operation result is negative or operand 1 is smaller
than operand 2
4
Overflow (V)
Indicates that the operation result has overflowed.
1: Operation result has overflowed
3–1
Condition Select (CS)
These bits specify the mode for selecting the operation
result status to be set in the DC bit.
Do not set these bits to 110 or 111.
000: Carry/borrow mode
001: Negative value mode
010: Zero mode
011: Overflow mode
100: Signed greater than mode
101: Signed greater than or equal to mode
0
DSP Condition (DC)
Sets the status of the operation result in the mode
specified by the CS bits.
0: Specified mode status has not occurred (false)
1: Specified mode status has occurred
Rev. 5.00 Sep 11, 2006 page 29 of 916
REJ09B0332-0500
Section 2 CPU
The DSR register is treated as a system register by CPU core instructions. The following
load/store instructions are used for data transfer to and from the DSR register.
STS
DSR,Rn;
STS.L
DSR,@-Rn;
LDS
Rn,DSR;
LDS.L
@Rn+,DSR;
The A0, X0, X1, Y0, and Y1 registers are also treated as system registers by CPU core
instructions. The following load/store instructions are used for data transfer to and from these
registers.
STS
Dm,Rn;
STS.L
Dm,@-Rn;
LDS
Rn,Dm;
LDS.L
@Rn+,Dm;
(Dm: A0, X0, X1, Y0, or Y1)
2.1.5
Notes on Guard Bits and Overflow Treatment
Data operations in the DSP unit are basically 32-bit operations, but these operations are always
executed with a 40-bit length including the 8-bit guard field. If the guard bit field does not match
the value of the MSB of the 32-bit field, the operation result is treated as overflow. In this case, the
N bit shows the correct status of the operation result regardless of whether or not overflow has
occurred. This also applies when the destination operand is a 32-bit register. The 8-bit guard bit
field is always assumed to present, and each status flag is updated.
If overflow occurs that prevents the result from being indicated correctly despite the use of the
guard bits, the N flag will not be able to show the correct status.
Rev. 5.00 Sep 11, 2006 page 30 of 916
REJ09B0332-0500
Section 2 CPU
2.1.6
Initial Register Values
Register values after a reset are shown in table 2.3.
Table 2.3
Initial Register Values
Type
Registers
Initial Value
General registers
R0–R14
Undefined
R15 (SP)
SP value in vector address table
SR
I3 to I0 = 1111 (H'F); reserved bits, RC, DMY,
and DMX cleared to 0; other bits undefined
RS
Undefined
Control registers
RE
System registers
DSP registers
GBR
Undefined
VBR
H'0000 0000
MOD
Undefined
MACH, MACL, PR
Undefined
PC
PC value in vector address table
A0, A0G, A1, A1G, M0,
M1, X0, X1, Y0, Y1
Undefined
DSR
H'0000 0000
Rev. 5.00 Sep 11, 2006 page 31 of 916
REJ09B0332-0500
Section 2 CPU
2.2
Data Formats
2.2.1
Register Data Formats
The register operand data size is always longword (32 bits). When data in memory is loaded into a
register, if the memory operand data size is byte (8 bits) or word (16 bits), it is sign-extended to
longword length.
31
0
Longword
Figure 2.5 Register Data Format
2.2.2
Memory Data Formats
Byte, word, and longword data formats can be used.
Byte data can be located at any address, while word data must start at address 2n and longword
data at address 4n. If data is accessed other than at these boundaries, an address error will result,
and the result of the access cannot be guaranteed. In particular, since the program counter (PC)
and status register (SR) are stored in longword format in the stack area indicated by the stack
pointer (SP: R15), the setting musty be made so that stack pointer value is 4n.
Address m + 1
Address m
31
23
Byte
Address 2n
Address 4n
Address m + 3
15
Byte
Byte
Word
Address m + 1
Address m + 3
Address m + 2
Address m + 2
7
0
Byte
Word
31
23
Byte
Address m
15
Byte
Byte
Word
0
Byte
Word
Longword
Longword
Big-endian
Little-endian
Figure 2.6 Memory Data Format
Rev. 5.00 Sep 11, 2006 page 32 of 916
REJ09B0332-0500
7
Address 2n
Address 4n
Section 2 CPU
2.2.3
Immediate Data Formats
Byte immediate data is placed inside the instruction code.
With the MOV, ADD, and CMP/EQ instructions, immediate data is sign-extended and a longword
operation is performed with a register. With the TST, AND, OR, and XOR instructions, on the
other hand, a longword operation is performed after zero-extending the immediate data. Therefore,
when immediate data is used with an AND instruction, the upper 24 bits of the destination register
are always cleared.
Word and longword immediate data should be placed in a table in memory, not inside the
instruction code. The table in memory should be referenced with an immediate data transfer
instruction (MOV) using PC relative addressing mode with displacement.
2.2.4
DSP Type Data Formats
The SH7065 has three different data formats for instructions: fixed-point data format, integer data
format, and logical data format.
In the DSP type fixed-point data format, there is a binary point between bit 31 and bit 30. There
are three kinds of format—with guard bits, without guard bits, and multiplication input—each
with a different valid bit length and range of expressable values.
In the DSP type integer data format, there is a binary point between bit 16 and bit 15. There are
three kinds of format—with guard bits, without guard bits, and shift amount—each with a
different valid bit length and range of expressable values. The shift amount for an arithmetic shift
(PSHA) is a 7-bit area, and values from –64 to +63 can be expressed, but only values from –32 to
+32 are actually valid. Similarly, the shift amount for a logical shift (PSHL) is a 6-bit area, but
only values from –16 to +16 are actually valid.
There is no radix point in the DSP type logical data format.
The data format and valid data length are determined by the DSP register.
The three DSP type data formats and the position of the binary point in each are shown in figure
2.7, together with a SuperH type data format for reference.
Rev. 5.00 Sep 11, 2006 page 33 of 916
REJ09B0332-0500
Section 2 CPU
DSP type fixed-point
With guard bits
39
S
32 31 30
0
–28 to +28 – 2–31
31 30
S
Without guard bits
39
Multiplication input
0
–1 to +1 – 2–31
31 30
S
16 15
0
–1 to +1 – 2–15
DSP type integer
With guard bits
39
S
16 15
32 31
–223 to +223 –1
16 15
31
S
Without guard bits
31
Arithmetic shift (PSHA)
31
Logical shift (PSHL)
39
0
31
0
–215 to +215 –1
22
S
16 15
0
–32 to +32
21 16 15
S
0
16 15
0
–16 to +16
DSP type logical
(16 bits)
SuperH type integer (word)
[For reference]
31
S
Legend:
S : Sign bit
: Binary point
: Not related to processing (ignored)
Figure 2.7 DSP Type Data Formats
Rev. 5.00 Sep 11, 2006 page 34 of 916
REJ09B0332-0500
0
–231 to +231 –1
Section 2 CPU
2.2.5
DSP Type Instructions and Data Formats
The data format and valid data length are determined by the DSP type instruction and DSP
register. There are three types of instruction that access DSP data registers: DSP data processing
instructions, X and Y data transfer processing instructions, and single data transfer processing
instructions.
DSP Data Processing: When the A0 or A1 register is used as the source register in DSP fixedpoint data processing, the guard bits (bits 39 to 32) are valid. When a register other than A0 or A1
(register M0, M1, X0, X1, Y0, or Y1) is used as the source register, the sign-extension of that
register data is used as the data in bits 39 to 32. When the A0 or A1 register is used as the
destination register, the guard bits (bits 39 to 32) are valid. When a register other than A0 or A1 is
used as the destination register, bits 39 to 32 of the result data are ignored.
In DSP integer data processing, the situation is the same as for DSP fixed-point data processing,
except that the lower word (lower 16 bits: bits 15 to 0) of the source register is ignored, and the
lower word of the destination register is cleared to 0.
In DSP logical data processing, the upper word (upper 16 bits: bits 31 to 16) of the source register
is valid. The lower word and the guard bits of the A0 and A1 registers are ignored. The upper
word of the destination register is valid. The lower word and the guard bits of the A0 and A1
registers are cleared to 0.
X and Y Data Transfer: The MOVX.W and MOVY.W instructions access X and Y memory via
the 16-bit X and Y data buses. The data loaded into a register and the data stored from a register is
always the upper word (upper 16 bits: bits 31 to 16).
In a load, MOVX.W loads X memory with the X0 or X1 register as the destination register, while
MOVY.W loads Y memory with the Y0 or Y1 register as the destination register. Data is loaded
into the upper word of the register, while the lower word is cleared to 0.
Data in the upper word of the A0 or A1 register can be stored in X or Y memory with a data
transfer instruction, but data cannot be stored from any other register. The guard bits and lower
word of the A0 or A1 register are ignored.
Single Data Transfer: The MOVS.W and MOVS.L instructions can access any memory via the
data bus (CDB). All the DSP registers are connected to the CDB bus, and are used as the source
and destination registers in a data transfer. There are two data transfer modes: word and longword.
In word mode, with the exception of the A0G and A1G registers, a load is performed to, or store
performed from, the upper word of a DSP register. In longword mode, with the exception of the
A0G and A1G registers, a load is performed to, or store performed from, the 32 bits of a DSP
Rev. 5.00 Sep 11, 2006 page 35 of 916
REJ09B0332-0500
Section 2 CPU
register. In a single data transfer, the A0G and A1G registers can be handled as independent
registers. The load and store data length for the A0G and A1G registers is 8 bits.
When a DSP register is used as the source register in word mode, if data is stored from a register
other than A0G or A1G, the upper word of the register is transferred. In the case of the A0 and A1
registers, the guard bits are ignored. When the A0G or A1G register is used as the source register
in word mode, only 8 bits of data are stored from the register, and the upper bits are sign-extended.
When a DSP register is used as the destination register in word mode, with the exception of the
A0G and A1G registers, data is loaded into the upper word of the register. When data is loaded
into a register other than A0G or A1G, the lower word of the register is cleared to 0. In the case of
the A0 and A1 registers, the data sign is extended and loaded into the guard bits, and the lower
word is cleared to 0. When the A0G or A1G register is used as the destination register in word
mode, the lowest 8 bits of the data are loaded into the register, and the A0 or A1 register is not
cleared to 0, but retains its prior value.
When a DSP register is used as the source register in longword mode, if data is stored from a
register other than A0G or A1G, the 32 bits of the register are transferred. When the A0 or A1
register is used as the source register, the guard bits are ignored. When the A0G or A1G register is
used as the source register in longword mode, only 8 bits of data are stored from the register, and
the upper bits are sign-extended.
When a DSP register is used as the destination register in longword mode, with the exception of
the A0G and A1G registers, data is loaded into the 32 bits of the register. In the case of the A0 and
A1 registers, the data sign is extended and loaded into the guard bits. When the A0G or A1G
register is used as the destination register in longword mode, the lowest 8 bits of the data are
loaded into the register, and the A0 or A1 register is not cleared to 0, but retains its prior value.
The register data formats used with DSP instructions are shown in tables 2.4 and 2.5. With some
instructions, not all registers can be accessed. For example, with the PMULS instruction, the A1
register can be specified as the source register, but the A0 register cannot. See the descriptions of
the instructions for details.
The relationship between the DSP registers and the buses in data transfer is shown in figure 2.8.
Rev. 5.00 Sep 11, 2006 page 36 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.4
DSP Instruction Source Register Data Formats
Registers
A0, A1
Instructions
DSP
operations
Guard Bits
39
Fixed-point, PDMSB,
PSHA
Integer
24-bit data
Logical, PSHL, PMULS
16-bit data
A0G,
A1G
Data transfer MOVS.W
X0, X1
DSP
operations
Data
MOVS.L
Data
Fixed-point, PDMSB,
PSHA
Sign*
32-bit data
Integer
Sign*
16-bit data
16-bit data
Data transfer MOVS.W
16-bit data
MOVS.L
*
0
32-bit data
Logical, PSHL, PMULS
Note:
16 15
16-bit data
MOVS.L
M0, M1
32 31
40-bit data
Data transfer MOVX/Y.W, MOVS.W
Y0, Y1
Register Bits
32-bit data
The sign is extended and stored in the ALU guard bits.
Rev. 5.00 Sep 11, 2006 page 37 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.5
DSP Instruction Destination Register Data Formats
Registers
A0, A1
Instructions
DSP
operations
32 31
16 15
(Sign
extension)
40-bit result
Integer, PDMSB
(Sign
extension)
24-bit result
Cleared to 0
Logical, PSHL
Cleared to 0 16-bit result
Cleared to 0
Sign
extension
16-bit result
Cleared to 0
Sign
extension
32-bit data
Data
Not updated
Data
Not updated
MOVS.L
A0G,
A1G
Data transfer MOVS.W
X0, X1
DSP
operations
M0, M1
39
Register Bits
Fixed-point, PSHA,
PMULS
Data transfer MOVS.W
Y0, Y1
Guard Bits
MOVS.L
Fixed-point, PSHA,
PMULS
32-bit result
Integer, logical, PDMSB,
PSHL
16-bit result
Cleared to 0
16-bit data
Cleared to 0
Data transfer MOVX.W, MOVY.W,
MOVS.W
MOVS.L
Rev. 5.00 Sep 11, 2006 page 38 of 916
REJ09B0332-0500
32-bit data
0
Section 2 CPU
32 bits
CDB
16 bits
XDB
16 bits
[7:0]
8 bits
16 bits
31
MOVS.W,
MOVS.L
39
MOVX.W,
MOVY.W
32
0
A0
A1
A0G
M0
A1G
M1
X0
DSR
7
16
YDB
32 bits
MOVS.W,
MOVS.L
0
X1
Y0
Y1
Figure 2.8 Relationship between DSP Registers and Buses in Data Transfer
Rev. 5.00 Sep 11, 2006 page 39 of 916
REJ09B0332-0500
Section 2 CPU
2.3
Features of CPU Core Instructions
The CPU core instructions are RISC type instructions with the following features:
Fixed 16-Bit Length: All instructions have a fixed length of 16 bits. This improves program code
efficiency.
One Instruction per State: Pipelining is used, and basic instructions can be executed in one state
(equivalent to 16.7 ns at 60-MHz operation).
Data Size: The basic data size for operations is longword. Byte, word, or longword can be
selected as the memory access size. Memory byte or word data is sign-extended and operated on
as longword data. Immediate data is sign-extended to longword size for arithmetic operations or
zero-extended to longword size for logical operations.
Table 2.6
Word Data Sign Extension
SH7065 CPU
Description
MOV.W
@(disp,PC),R1
ADD
R1,R0
Sign-extended to 32 bits, R1
ADD.W
becomes H'00001234, and is then
operated on by the ADD
instruction.
........
Example of Other CPU
#H'1234,R0
.DATA.W H'1234
Note: Immediate data is referenced by @(disp,PC).
Load/store Architecture: Basic operations are executed between registers. In operations
involving memory, data is first loaded into a register (load/store architecture). However, bit
manipulation instructions such as AND are executed directly on memory.
Delayed Branching: Unconditional branch instructions, etc., are executed as delayed branches.
With a delayed branch instruction, the branch is made after execution of the instruction (called the
slot instruction) immediately following the delayed branch instruction. This minimizes disruption
of the pipeline when a branch is made.
With a delayed branch, the actual branch operation occurs after execution of the slot instruction.
However, instruction execution for register updating, etc., excluding the branch operation, is
performed in delayed branch instruction → delay slot instruction order. For example, even though
the contents of the register holding the branch destination address are changed in the delay slot,
the branch destination address remains as the register contents prior to the change.
Rev. 5.00 Sep 11, 2006 page 40 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.7
Delayed Branch Instructions
SH7065 CPU
Description
Example of Other CPU
BRA
TRGET
ADD.W R1,R0
ADD
R1,R0
ADD is executed before branch
to TRGET.
BRA
TRGET
Multiply/Multiply and Accumulate Operations: A 16 × 16 → 32 multiply operation is executed
in 1 to 3 states, and a 16 × 16 + 64 → 64 multiply and accumulate operation in 2 to 3 states. A 32
× 32 → 64 multiply operation and a 32 × 32 + 64 → 64 multiply and accumulate operation are
each executed in 2 to 4 states.
T Bit: The result of a comparison is indicated by the T bit in the status register (SR), and a
conditional branch is performed according to whether the result is True or False. Processing speed
has been improved by keeping the number of instructions that modify the T bit to a minimum.
Table 2.8
T Bit
SH7065 CPU
Description
Example of Other CPU
CMP/GE
R1,R0
If R0 ≥ R1, the T bit is set.
CMP.W
R1,R0
BT
TRGET0
BGE
TRGET0
BF
TRGET1
A branch is made
to TRGET0 if R0 ≥ R1, or
to TRGET1 if R0 < R1.
BLT
TRGET1
ADD
#–1,R0
The T bit is not set by ADD.
SUB.W
#1,R0
CMP/EQ
#0,R0
If R0 = 0, the T bit is set.
BEQ
TRGET
BT
TRGET
A branch is made if R0 = 0.
Immediate Data: Byte immediate data is placed inside the instruction code. Word and longword
immediate data is not placed inside the instruction code, but in a table in memory. The table in
memory is referenced with an immediate data transfer instruction (MOV) using PC relative
addressing mode with displacement.
Rev. 5.00 Sep 11, 2006 page 41 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.9
Immediate Data Referencing
Type
SH7065 CPU
Example of Other CPU
8-bit immediate
MOV
#H'12,R0
MOV.B
16-bit immediate
MOV.W
@(disp,PC),R0
MOV.W #H'1234,R0
#H'12,R0
........
.DATA.W H'1234
32-bit immediate
MOV.L
@(disp,PC),R0
MOV.L
#H'12345678,R0
........
.DATA.L
H'12345678
Note: Immediate data is referenced by @(disp,PC).
Absolute Addresses: When data is referenced by absolute address, the absolute address value is
placed in a table in memory beforehand. With the method whereby immediate data is loaded when
an instruction is executed, this value is transferred to a register and the data is referenced using
register indirect addressing mode.
Table 2.10 Absolute Address Referencing
Type
SH7065 CPU
Example of Other CPU
Absolute address
MOV.L
@(disp,PC),R1
MOV.B
MOV.B
@R1,R0
@H'12345678,R0
........
.DATA.L
H'12345678
16-Bit/32-Bit Displacement: When data is referenced with a 16- or 32-bit displacement, the
displacement value is placed in a table in memory beforehand. With the method whereby
immediate data is loaded when an instruction is executed, this value is transferred to a register and
the data is referenced using indexed register indirect addressing mode.
Table 2.11 Displacement Referencing
Type
SH7065 CPU
Example of Other CPU
16-bit displacement
MOV.W
@(disp,PC),R0
MOV.W @(H'1234,R1),R2
MOV.W
@(R0,R1),R2
........
.DATA.W H'1234
Rev. 5.00 Sep 11, 2006 page 42 of 916
REJ09B0332-0500
Section 2 CPU
2.4
Instruction Formats
2.4.1
CPU Instruction Addressing Modes
The following table shows addressing modes and effective address calculation methods for
instructions executed by the CPU core.
Table 2.12 Addressing Modes and Effective Addresses for CPU Instructions
Addressing
Mode
Instruction
Format
Effective Address Calculation Method
Calculation
Formula
Register
direct
Rn
Effective address is register Rn.
—
Register
indirect
@Rn
(Operand is register Rn contents.)
Effective address is register Rn contents.
Rn
Register
indirect
with postincrement
@Rn+
Rn
Rn
Effective address is register Rn contents.
A constant is added to Rn after instruction
execution: 1 for a byte operand, 2 for a word
operand, 4 for a longword operand.
Rn
Rn
Rn + 1/2/4
Rn
After instruction
execution
Byte: Rn + 1 → Rn
Word: Rn + 2 → Rn
Longword:
Rn + 4 → Rn
+
1/2/4
Register
indirect
with predecrement
@-Rn
Effective address is register Rn contents,
decremented by a constant beforehand:
1 for a byte operand, 2 for a word operand,
4 for a longword operand.
Rn
Rn – 1/2/4
–
Rn – 1/2/4
Byte: Rn – 1 → Rn
Word: Rn – 2 → Rn
Longword:
Rn – 4 → Rn
(Instruction
executed with Rn
after calculation)
1/2/4
Rev. 5.00 Sep 11, 2006 page 43 of 916
REJ09B0332-0500
Section 2 CPU
Addressing
Mode
Instruction
Format
Effective Address Calculation Method
Register
@(disp:4,Rn) Effective address is register Rn contents
indirect with
with 4-bit displacement disp added.
displacement
After disp is zero-extended, it is multiplied
by 1 (byte), 2 (word), or 4 (longword),
according to the operand size.
Calculation
Formula
Byte: Rn + disp
Word:
Rn + disp × 2
Longword:
Rn + disp × 4
Rn
disp
(zero-extended)
+
Rn +
disp × 1/2/4
×
1/2/4
Indexed
register
indirect
@(R0,Rn)
Effective address is sum of register Rn and
R0 contents.
Rn + R0
Rn
+
Rn + R0
R0
GBR indirect @(disp:8,
GBR)
with
displacement
Effective address is register GBR contents
with 8-bit displacement disp added.
After disp is zero-extended, it is multiplied
by 1 (byte), 2 (word), or 4 (longword),
according to the operand size.
GBR
disp
(zero-extended)
+
×
1/2/4
Rev. 5.00 Sep 11, 2006 page 44 of 916
REJ09B0332-0500
GBR +
disp × 1/2/4
Byte: GBR + disp
Word:
GBR + disp × 2
Longword:
GBR + disp × 4
Section 2 CPU
Addressing
Mode
Instruction
Format
Indexed GBR @(R0,GBR)
indirect
Effective Address Calculation Method
Effective address is sum of register GBR and
R0 contents.
Calculation
Formula
GBR + R0
GBR
+
GBR + R0
R0
@(disp:8,PC) Effective address is PC with 8-bit
PC-relative
displacement disp added. After disp is zerowith
extended, it is multiplied by 2 (word) or 4
displacement
(longword), according to the operand size.
With a longword operand, the lower 2 bits
of PC are masked.
Word:
PC + disp × 2
Longword: PC &
H'FFFFFFFC +
disp × 4
PC
& *
H'FFFFFFFC
+
disp
(zero-extended)
PC + disp × 2
or
PC & H'FFFFFFFC
+ disp × 4
×
2/4
*: With longword operand
Rev. 5.00 Sep 11, 2006 page 45 of 916
REJ09B0332-0500
Section 2 CPU
Addressing
Mode
Instruction
Format
PC-relative
disp:8
Effective Address Calculation Method
Effective address is PC with 8-bit
displacement disp added after being signextended and multiplied by 2.
Calculation
Formula
PC + disp × 2
PC
disp
(sign-extended)
+
PC + disp × 2
×
2
disp:12
Effective address is PC with 12-bit
displacement disp added after being signextended and multiplied by 2.
PC + disp × 2
PC
disp
(sign-extended)
+
PC + disp × 2
×
2
PC-relative
Rn
Effective address is sum of PC and Rn.
PC + Rn
PC
+
PC + Rn
Rn
Immediate
#imm:8
8-bit immediate data imm of TST, AND, OR,
or XOR instruction is zero-extended.
—
#imm:8
8-bit immediate data imm of MOV, ADD,
or CMP/EQ instruction is sign-extended.
—
#imm:8
8-bit immediate data imm of TRAPA instruction —
is zero-extended and multiplied by 4.
Rev. 5.00 Sep 11, 2006 page 46 of 916
REJ09B0332-0500
Section 2 CPU
2.4.2
DSP Data Addressing
Two different memory accesses are made with DSP instructions. The two kinds of instructions are
X and Y data transfer instructions (MOVX.W, MOVY.W) and single data transfer instructions
(MOVS.W, MOVSL). The data addressing is different for these two kinds of instruction. An
overview of the data transfer instructions is given in table 2.13.
Table 2.13 Overview of Data Transfer Instructions
X/Y Data Transfer Processing
(MOVX.W, MOVY.W)
Single Data Transfer Processing
(MOVS.W, MOVS.L)
Address register
Ax: R4, R5; Ay: R6, R7
As: R2, R3, R4, R5
Index register
Ix: R8, Iy: R9
Is: R8
Addressing
Nop/Inc (+2)/index addition:
post-updating
Nop/Inc (+2, +4)/index addition:
post-updating
—
Dec (–2, –4): pre-updating
Possible
Not possible
Modulo addressing
Data bus
XDB, YDB
CDB
Data length
16 bits (word)
16/32 bits (word/longword)
Bus contention
No
Yes
Memory
X/Y data memory
Entire memory space
Source register
Dx, Dy: A0, A1
Ds: A0/A1, M0/M1, X0/X1, Y0/Y1,
A0G, A1G
Destination register
Dx: X0/X1, Dy: Y0/Y1
Ds: A0/A1, M0/M1, X0/X1, Y0/Y1,
A0G, A1G
X/Y Data Addressing
With DSP instructions, the X and Y data memory can be accessed simultaneously using the
MOVX.W and MOVY.W instructions. Two address pointers are provided for DSP instructions to
enable simultaneous access to X and Y data memory. Only pointer addressing can be used with
DSP instructions; immediate addressing is not available. Address registers are divided into two,
with register R4 or R5 functioning as the X memory address register (Ax), and register R6 or R7
as the Y memory address register (Ay). The following three kinds of addressing can be used with
X and Y data transfer instructions.
1. Non-update address register addressing:
The Ax and Ay registers are address pointers. They are not updated.
Rev. 5.00 Sep 11, 2006 page 47 of 916
REJ09B0332-0500
Section 2 CPU
2. Addition index register addressing:
The Ax and Ay registers are address pointers. After a data transfer, the value of the Ix or Iy
register is added to each (post-updating).
3. Increment address register addressing:
The Ax and Ay registers are address pointers. After a data transfer, they are each incremented
by 2 (post-updating).
There is an index register for each address pointer. The R8 register is the index register (Ix) for the
X memory address register (Ax), and the R9 register is the index register (Iy) for the Y memory
address register (Ay).
The X and Y data transfer instructions perform word-length processing, and use 16-bit access to
the X/Y data memory. A value of 2 is therefore added to the address register in the increment
processing. To perform decrementing, –2 is set in the index register and addition index register
addressing is specified. In X/Y data addressing, only bits 1 to 15 of the address pointer are valid.
When using X/Y data addressing, 0 must always be written to bit 0 of the address pointer and
index register.
X/Y data transfer addressing is shown in figure 2.9. When accessing X and Y memory using the X
and Y buses, the upper word of Ax (R4 or R5) and Ay (R6 or R7) is ignored. The result of @AY+
or @Ay+Iy is stored in the lower word of Ay, while the upper word retains its original value.
R8[Ix]
R4[Ax]
R9[Iy]
R6[Ay]
R5[Ax]
+2 (INC)
+0 (no update)
R7[Ay]
+2 (INC)
+0 (no update)
ALU
AU
AU: Adder provided for DSP addressing
Note: Three address processing methods:
1. Increment
2. Index register addition (Ix/Iy)
3. No update
Post-updating is used in all cases.
The address pointer can be decremented by setting –2/–4 in the index register.
Figure 2.9 X and Y Data Transfer Addressing
Rev. 5.00 Sep 11, 2006 page 48 of 916
REJ09B0332-0500
Section 2 CPU
Single Data Addressing
DSP instructions include two single data transfer instructions (MOVS.W, MOVS.L) that load data
into, or store data from, a DSP register. With these instructions, one of registers R2 to R5 is used
as the single data transfer address register (As).
The following four kinds of addressing can be used with single data transfer instructions.
1. Non-update address register addressing:
The As register is an address pointer. It is not updated.
2. Addition index register addressing:
The As register is an address pointer. After a data transfer, the value of the Is register is added
to the As register (post-updating).
3. Increment address register addressing:
The As register is an address pointer. After a data transfer, the As register is incremented by 2
or 4 (post-updating).
4. Decrement address register addressing:
The As register is an address pointer. Before a data transfer, –2 or –4 is added to the As
register (i.e. 2 or 4 is subtracted) (pre-updating).
The R8 register is the index register (Is) for the address pointer (As). Single data transfer
addressing is shown in figure 2.10.
Rev. 5.00 Sep 11, 2006 page 49 of 916
REJ09B0332-0500
Section 2 CPU
0
31
R2[As]
31
0
R8[Is]
R3[As]
R4[As]
R5[As]
–2/–4 (DEC)
+2/+4 (INC)
+0 (no update)
ALU
31
MAB
IAB
0
Note: Four address processing methods:
1. No update
2. Index register addition (Is)
3. Increment
4. Decrement
Post-updating
Pre-updating
Figure 2.10 Single Data Transfer Addressing
Modulo Addressing
Like other DSPs, the SH7065 has a modulo addressing mode. Address registers are updated in the
same way in this mode. When the address pointer value reaches the preset modulo end address, the
address pointer value becomes the modulo start address.
Modulo addressing is only available for the X and Y data transfer instructions (MOVX.W,
MOVY.W). Modulo addressing mode is specified for the X address register by setting the DMX
bit in the SR register, and for the Y address register by setting the DMY bit. Modulo addressing is
valid for either the X or the Y address register, only; it cannot be set for both at the same time.
Therefore, DMX and DMY cannot both be set simultaneously (if they are, the DMY setting will
be valid).
The MOD register is provided to set the start and end addresses of the modulo address area. The
MOD register contains MS (Modulo Start) and ME (Modulo End). An example of the use of the
MOD register (MS and ME fields) is shown below.
Rev. 5.00 Sep 11, 2006 page 50 of 916
REJ09B0332-0500
Section 2 CPU
MOV.L ModAddr,Rn; Rn=ModEnd, ModStart
LDC Rn,MOD;
ModAddr:
ModStart:
ME=ModEnd, MS=ModStart
.DATA.W
mEnd;
ModEnd
.DATA.W
mStart;
ModStart
.DATA
:
ModEnd:
.DATA
The start and end addresses are specified in MS and ME, then the DMX or DMY bit is set to 1.
The address register contents are compared with ME, and if they match, start address MS is stored
in the address register. The lower 16 bits of the address register are compared with ME.
The maximum modulo size is 64 kbytes. This is sufficient to access the X and Y memory. A block
diagram of modulo addressing is shown in figure 2.11.
31
0
Instruction (MOVX/MOVY)
31
16 15 0 DMX DMY 31 16 15
R4[Ax]
R6[Ay]
R8[Ix]
R5[Ax]
15
31
R7[Ay]
CONT
+2
+0
0
0
R9[Iy]
+2
+0
1
MS
ALU
AU
CMP
ABx
XAB
ABy
ME
1
15
15
1
1
15
YAB
Figure 2.11 Modulo Addressing
Rev. 5.00 Sep 11, 2006 page 51 of 916
REJ09B0332-0500
Section 2 CPU
An example of modulo addressing is given below.
MS = H'C008; ME = H'C00C;
DMX = 1;
R4 = H'C008;
DMY = 0;
(Modulo addressing setting for address
register Ax (R4, R5))
As a result of the above settings, the R4 register changes as follows.
R4: H'C008
Inc.
R4: H'C00A
Inc.
R4: H'C00C
Inc.
R4: H'C008
(Reaches modulo end address, so becomes modulo start address)
Place the data so that the upper 16 bits of the modulo start and end addresses are the same. This is
because the modulo start address overwrites only the lower 15 bits of the address register,
excluding bit 0.
Note: When addition indexing is used for DSP data addressing, the address pointer may exceed
the ME value without actually reaching it. In this case, the address pointer will not return
to the modulo start address. Not only with modulo addressing, but when X and Y data
addressing is used, bit 0 is ignored. 0 must always be written to bit 0 of the address
pointer, index register, MS, and ME.
DSP Addressing Operations
DSP addressing operations in the pipeline execution stage (EX), including modulo addressing, are
shown below.
if ( Operation is MOVX.W MOVY.W ) {
ABx=Ax; ABy=Ay;
/* memory access cycle uses ABx and ABy. The addresses to be used
have not been updated */
/* Ax is one of R4,5 */
if ( DMX==0 || DMX==1 && DMY == 1 )} Ax=Ax+(+2 or R8[Ix] or +0);
/* Inc,Index,Not-Update */
else if (! not-update) Ax=modulo( Ax, (+2 or R8[Ix]) );
/* Ay is one of R6,7 */
Rev. 5.00 Sep 11, 2006 page 52 of 916
REJ09B0332-0500
Section 2 CPU
if ( DMY==0 ) Ay=Ay+(+2 or R9[Iy] or +0); /* Inc,Index,Not-Update
*/
else if (! not-update) Ay=modulo( Ay, (+2 or R9[Iy]) );
}
else if ( Operation is MOVS.W or MOVS.L ) {
if ( Addressing is Nop, Inc, Add-index-reg ) {
MAB=As;
/* memory access cycle uses MAB. The address to be used has not
been updated */
/* As is one of R2-5 */
As=As+(+2 or +4 or R8[Is] or +0); /* Inc,Index,Not-Update */
else { /* Decrement, Pre-update */
/* As is one of R2–5 */
As=As+(-2 or -4);
MAB=As;
/* memory access cycle uses MAB. The address to be used has been
updated */
}
/* The value to be added to the address register depends on addressing
operations.
For example, (+2 or R8[Ix] or +0) means that
+2
R8[Ix]
+0
: if operation is increment
: if operation is add-index-reg
: if operation is not-update
*/
function modulo ( AddrReg, Index ) {
if ( AdrReg[15:0]==ME ) AdrReg[15:0]==MS;
else AdrReg=AdrReg+Index;
return AddrReg;
}
Rev. 5.00 Sep 11, 2006 page 53 of 916
REJ09B0332-0500
Section 2 CPU
2.4.3
CPU Instruction Formats
Table 2.14 shows the instruction formats, and the meaning of the source and destination operands,
of instructions executed by the CPU core. The meaning of the operands depends on the instruction
code. The following symbols are used in the table.
xxxx:
mmmm:
nnnn:
iiii:
dddd:
Instruction code
Source register
Destination register
Immediate data
Displacement
Table 2.14 CPU Instruction Formats
Source
Operand
Destination
Operand
Sample
Instruction
0
—
—
NOP
0
—
nnnn: register
direct
MOVT Rn
Control register
or system
register
nnnn: register
direct
STS
Control register
or system
register
nnnn: preSTC.L SR,@-Rn
decrement
register indirect
mmmm: register
direct
Control register LDC
or system
register
mmmm: postincrement
register indirect
Control register LDC.L
or system
@Rm+,SR
register
mmmm: register
indirect
—
Instruction Formats
0 type
n type
m type
15
xxxx
xxxx
xxxx
xxxx
xxxx
nnnn
xxxx
xxxx
15
15
0
xxxx mmmm xxxx
xxxx
mmmm: PC-relative —
using Rm
Rev. 5.00 Sep 11, 2006 page 54 of 916
REJ09B0332-0500
JMP
MACH,Rn
Rm,SR
@Rm
BRAF Rm
Section 2 CPU
Source
Operand
Destination
Operand
Sample
Instruction
mmmm: register
direct
nnnn: register
direct
ADD
mmmm: register
direct
nnnn: register
indirect
MOV.L Rm,@Rn
mmmm: postincrement
register indirect
(multiply and
accumulate
operation)
MACH, MACL
MAC.W
@Rm+,@Rn+
mmmm: postincrement
register indirect
nnnn: register
direct
MOV.L
@Rm+,Rn
mmmm: register
direct
nnnn: preMOV.L
decrement
Rm,@-Rn
register indirect
mmmm: register
direct
nnnn: indexed MOV.L
register indirect Rm,@(R0,Rn)
0
mmmmdddd:
register
indirect with
displacement
R0 (register
direct)
MOV.B
@(disp,Rm),R0
0
R0 (register
direct)
nnnndddd:
register
indirect with
displacement
MOV.B
R0,@(disp,Rn)
0
mmmm: register
direct
nnnndddd:
register
indirect with
displacement
MOV.L
Rm,@(disp,Rn)
mmmmdddd:
register
indirect with
displacement
nnnn: register
direct
MOV.L
@(disp,Rm),Rn
Instruction Formats
nm type
15
0
xxxx
nnnn mmmm xxxx
Rm,Rn
nnnn: * postincrement
register indirect
(multiply and
accumulate
operation)
md type
nd4 type
15
xxxx
xxxx
mmmm dddd
xxxx
xxxx
xxxx
nnnn mmmm dddd
15
nnnn
dddd
nmd type 15
Rev. 5.00 Sep 11, 2006 page 55 of 916
REJ09B0332-0500
Section 2 CPU
Instruction Formats
d type
15
0
xxxx
d12 type
nd8 type
i type
dddd
dddd
15
xxxx
dddd
dddd
dddd
xxxx
nnnn
dddd
dddd
xxxx
xxxx
iiii
iiii
15
15
ni type
15
*
nnnn
iiii
Destination
Operand
Sample
Instruction
dddddddd:
GBR
indirect with
displacement
R0 (register
direct)
MOV.L
@(disp,GBR),R0
R0 (register
direct)
dddddddd:
GBR
indirect with
displacement
MOV.L
R0,@(disp,GBR)
dddddddd:
PC-relative with
displacement
R0 (register
direct)
MOVA
@(disp,PC),R0
dddddddd:
PC-relative
—
BF
label
0
dddddddddddd: —
PC-relative
0
dddddddd:
PC-relative with
displacement
nnnn: register
direct
MOV.L
@(disp,PC),Rn
0
iiiiiiii:
immediate
Indexed GBR
indirect
AND.B
#imm,@(R0,GBR)
iiiiiiii:
immediate
R0 (register
direct)
AND
iiiiiiii:
immediate
—
TRAPA #imm
iiiiiiii:
immediate
nnnn: register
direct
AD
0
xxxx
Note:
xxxx
Source
Operand
iiii
In multiply and accumulate instructions, nnnn is the source register.
Rev. 5.00 Sep 11, 2006 page 56 of 916
REJ09B0332-0500
BRA label
(label=disp+PC)
#imm,R0
#imm,Rn
Section 2 CPU
2.4.4
DSP Instruction Formats
The SH7065 includes new instructions for digital signal processing. The new instructions are of
the following two kinds.
1. Memory and DSP register double and single data transfer instructions (16-bit length)
2. Parallel processing instructions processed by the DSP unit (32-bit length)
The instruction formats are shown in figure 2.12.
15
CPU core instructions
Double data transfer
instructions
Single data transfer
instructions
Parallel processing
instructions
0
0000
to
1110
15
10 9
111100
15
A field
10 9
111101
31
0
0
A field
26 25
111110
16 15
A field
0
B field
Figure 2.12 DSP Instruction Formats
Rev. 5.00 Sep 11, 2006 page 57 of 916
REJ09B0332-0500
Section 2 CPU
Double and Single Data Transfer Instructions
The format of double data transfer instructions is shown in table 2.15, and that of single data
transfer instructions in table 2.16.
Table 2.15 Double Data Transfer Instruction Formats
Type
Mnemonic
X memory NOPX
data
MOVX.W @Ax,Dx
transfer
MOVX.W @Ax+,Dx
15 14 13 12 11 10 9
1
1
1
1
0
0
8
7
6
5
4
3
2
0
0
0
0
0
Ax
Dx
0
0
1
1
0
1
1
0
1
MOVX.W Da,@Ax+
1
0
MOVX.W Da,@Ax+Ix
1
1
MOVX.W @Ax+Ix,Dx
MOVX.W Da,@Ax
Y memory NOPY
data
MOVY.W @Ay,Dy
transfer
MOVY.W @Ay+,Dy
Da
1
1
1
1
0
0
1
1
0
0
0
0
0
0
Ay
Dy
0
0
1
1
0
1
1
0
1
MOVY.W Da,@Ay+
1
0
MOVY.W Da,@Ay+Iy
1
1
MOVY.W @Ay+Iy,Dy
MOVY.W Da,@Ay
Legend:
Ax: 0 = R4, 1 = R5
Ay: 0 = R6, 1 = R7
Dx: 0 = X0, 1 = X1
Dy: 0 = Y0, 1 = Y1
Da: 0 = A0, 1 = A1
Rev. 5.00 Sep 11, 2006 page 58 of 916
REJ09B0332-0500
Da
1
Section 2 CPU
Table 2.16 Single Data Transfer Instruction Formats
Type
Single
data
transfer
Mnemonic
MOVS.W @-As,Ds
15 14 13 12 11 10 9
1
1
1
1
As
6
Ds
5
4
3
2
1
0
0:(*)
0
0
0
0
0:R4
1:(*)
0
1
MOVS.W @As+,Ds
1:R5
2:(*)
1
0
MOVS.W @As+Ix,Ds
2:R2
3:(*)
1
1
MOVS.W Ds,@-As
3:R3
4:(*)
0
0
5:A1
0
1
MOVS.W Ds,@As+
6:(*)
1
0
MOVS.W Ds,@As+Ix
7:A0
1
1
MOVS.L @-As,Ds
8:X0
0
0
MOVS.L @As,Ds
9:X1
0
1
MOVS.L @As+,Ds
A:Y0
1
0
MOVS.L @As+Ix,Ds
B:Y1
1
1
MOVS.L Ds,@-As
C:M0
0
0
D:A1G 0
1
MOVS.L Ds,@As
*
0
7
MOVS.W @As,Ds
MOVS.W Ds,@As
Note:
1
8
MOVS.L Ds,@As+
E:M1
1
0
MOVS.L Ds,@As+Ix
F:A0G
1
1
1
1
0
1
Codes reserved for system use.
Parallel Processing Instructions
Parallel processing instructions are provided for efficient execution of digital signal processing
using the DSP unit. They are 32 bits long and allow four simultaneous processes, an ALU
operation, multiplication, and two data transfers.
Parallel processing instructions are divided into an A field and a B field. The A field defines data
transfer instructions and the B field an ALU operation instruction and multiply instruction. These
instructions can be defined independently, and the processing is executed in parallel,
independently and simultaneously. A field parallel data transfer instructions are shown in table
2.17, and B field ALU operation instructions and multiply instructions in table 2.18.
Rev. 5.00 Sep 11, 2006 page 59 of 916
REJ09B0332-0500
Category
Rev. 5.00 Sep 11, 2006 page 60 of 916
REJ09B0332-0500
Mnemonic
NOPX
MOVX.W @Ax, Dx
MOVX.W @Ax+, Dx
MOVX.W @Ax+Ix, Dx
MOVX.W Da, @Ax
MOVX.W Da, @Ax+
MOVX.W Da, @Ax+Ix
NOPY
MOVY.W @Ay, Dy
MOVY.W @Ay+, Dy
MOVY.W @Ay+Iy, Dy
MOVY.W Da, @Ay
MOVY.W Da, @Ay+
MOVY.W Da, @Ay+Iy
Legend:
Ax: 0 = R4, 1 = R5
Ay: 0 = R6, 1 = R7
Dx: 0 = X0, 1 = X1
Dy: 0 = Y0, 1 = Y1
Da: 0 = A0, 1 = A1
Y memory
data
transfer
X memory
data
transfer
1 1 1 1 1 0 0
Ax
0
Ay
0
0
1
Da
1
Da
0
Dy
0
0
0
Dx
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
B field
B field
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Section 2 CPU
Table 2.17 A Field Parallel Data Transfer Instructions
Three
operand
instructions PSUBC Sx, Sy, Dz
PADDC Sx, Sy, Dz
PCMP Sx, Sy
Reserved
Reserved
Reserved
PABS Sx, Dz
PRND Sx, Dz
PABS Sy, Dz
PRND Sy, Dz
Reserved
PSUB Sx, Sy, Du
PMULS Se, Sf, Dg
PADD Sx, Sy, Du
PMULS Se, Sf, Dg
Reserved
Reserved
PMULS Se, Sf, Dg
Six
operand
parallel
instruction
Mnemonic
PSHL #Imm, Dz
PSHA #Imm, Dz
Reserved
Category
Imm. shift
1 1 1 1 1 0
A field
0
0
0
0
1
1 0 0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1 1
1 0
0 1
0 0 0 0
0:Y0
1:Y1
2:X0
3:A1
0:X0
1:X1
2:A0
3:A1
if cc
0:Y0
1:Y1
2:M0
3:M1
0 0 0 –16 <= Imm <= +16
0 1 0 –32 <= Imm <= +32
0
1
1
0 0
Se
Sf
Sx
Sy
0 1 0 1 0:X0
1:X1
0 1 1 0 2:Y0
3:A1
0 1 1 1
0
0
0
0
0
Du
0:X0
1:Y0
2:A0
3:A1
0:(*1)
1:(*1)
2:(*1)
3:(*1)
4:(*1)
5:A1
6:(*1)
7:A0
8:X0
9:X1
A:Y0
B:Y1
C:M0
D:(*1)
E:M1
F:(*1)
Dz
0:M0
1:M1
2:A0
3:A1
Dg
Dz
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Section 2 CPU
Table 2.18 B Field ALU Operation Instructions and Multiply Instructions
Rev. 5.00 Sep 11, 2006 page 61 of 916
REJ09B0332-0500
Category
Rev. 5.00 Sep 11, 2006 page 62 of 916
REJ09B0332-0500
1 1 1 1 1 1
Reserved
A field
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1 0 0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1 1 0
0
1
1
0
0
1
1
Sx
0 *
1 1
1 0
0 0
0 0
if cc
11:
1 1 DCF
10:
1 0 DCT
0:X0
1:X1
01:
Uncon0 1 ditional 2:A0
3:A1
0 0 if cc
if cc
0:Y0
1:Y1
2:M0
3:M1
Sy
0:(*1)
1:(*1)
2:(*1)
3:(*1)
4:(*1)
5:A1
6:(*1)
7:A0
8:X0
9:X1
A:Y0
B:Y1
C:M0
D:(*1)
E:M1
F:(*1)
Dz
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 1 1 0
Mnemonic
[if cc] PSHL Sx, Sy, Dz
[if cc] PSHA Sx, Sy, Dz
[if cc] PSUB Sx, Sy, Dz
[if cc] PADD Sx, Sy, Dz
Reserved
[if cc] PAND Sx, Sy, Dz
[if cc] PXOR Sx, Sy, Dz
[if cc] POR Sx, Sy, Dz
[if cc] PDEC Sx, Dz
[if cc] PINC Sx, Dz
[if cc] PDEC Sy, Dz
[if cc] PINC Sy, Dz
[if cc] PCLR Dz
[if cc] PDMSB Sx, Dz
Reserved
[if cc] PDMSB Sy, Dz
[if cc] PNEG Sx, Dz
[if cc] PCOPY Sx, Dz
[if cc] PNEG Sy, Dz
[if cc] PCOPY Sy, Dz
Reserved
[if cc] PSTS MACH, Dz
[if cc] PSTS MACL, Dz
[if cc] PLDS Dz, MACH
[if cc] PLDS Dz, MACL
(*2) Reserved
Notes: 1. Codes reserved for system use.
2. [if cc]: DCT (DC bit True), DCF (DC bit False) or none (unconditional instruction)
Conditional
three
operand
instructions
Section 2 CPU
Section 2 CPU
2.5
Instruction Set
SH7065 instructions can be divided into three kinds: CPU instructions executed by the CPU core,
and DSP data transfer instructions and DSP operation instructions executed by the DSP unit. CPU
instructions include several for supporting DSP functions. The instruction sets for each of these
three kinds of instructions are described below.
2.5.1
CPU Instruction Set
The CPU instructions are listed by type in table 2.19.
Table 2.19 CPU Instruction Types
Type
Data transfer
instructions
Kinds of
Instruction
Op Code
Function
Number of
Instructions
5
MOV
Data transfer
39
Immediate data transfer
Peripheral module data transfer
Structure data transfer
Arithmetic
operation
instructions
21
MOVA
Effective address transfer
MOVT
T bit transfer
SWAP
Upper/lower swap
XTRCT
Extraction of middle of linked
registers
ADD
Binary addition
ADDC
Binary addition with carry
ADDV
Binary addition with overflow
CMP/cond
Comparison
DIV1
Division
DIV0S
Signed division initialization
DIV0U
Unsigned division initialization
DMULS
Signed double-precision
multiplication
DMULU
Unsigned double-precision
multiplication
DT
Decrement and test
33
Rev. 5.00 Sep 11, 2006 page 63 of 916
REJ09B0332-0500
Section 2 CPU
Type
Arithmetic
operation
instructions
Kinds of
Instruction
Op Code
Function
Number of
Instructions
21
EXTS
Sign extension
33
Logic operation 6
instructions
Shift
instructions
10
EXTU
Zero extension
MAC
Multiply and accumulate, doubleprecision multiply and accumulate
MUL
Double-precision multiplication
MULS
Signed multiplication
MULU
Unsigned multiplication
NEG
Sign inversion
NEGC
Sign inversion with borrow
SUB
Binary subtraction
SUBC
Binary subtraction with borrow
SUBV
Binary subtraction with underflow
AND
Logical AND
NOT
Bit inversion
OR
Logical OR
TAS
Memory test and bit set
TST
Logical AND T bit state
XOR
Exclusive logical OR
ROTCL
1-bit left shift with T bit
ROTCR
1-bit right shift with T bit
ROTL
1-bit left shift
ROTR
1-bit right shift
SHAL
Arithmetic 1-bit left shift
SHAR
Arithmetic 1-bit right shift
SHLL
Logical 1-bit left shift
SHLLn
Logical n-bit left shift
SHLR
Logical 1-bit right shift
SHLRn
Logical n-bit right shift
Rev. 5.00 Sep 11, 2006 page 64 of 916
REJ09B0332-0500
14
14
Section 2 CPU
Type
Branch
instructions
System control
instructions
Kinds of
Instruction
Op Code
Function
9
BF
Condition branch, delayed
conditional branch
(branches if T = 0)
BT
Condition branch, delayed
conditional branch
(branches if T = 1)
BRA
Unconditional branch
BRAF
Unconditional branch
BSR
Branch to subroutine procedure
BSRF
Branch to subroutine procedure
14
Total: 65
JMP
Unconditional branch
JSR
Branch to subroutine procedure
RTS
Return from subroutine procedure
CLRMAC
MAC register clear
CLRT
T bit clear
LDC
Load into control register
LDRE
Load into repeat end register
LDRS
Load into repeat start register
LDS
Load into system register
NOP
No operation
RTE
Return from exception handling
SETRC
Repeat count setting
SETT
T bit setting
SLEEP
Transition to power-down mode
STC
Store from control register
STS
Store from system register
TRAPA
Trap exception handling
Number of
Instructions
11
71
Total: 182
Rev. 5.00 Sep 11, 2006 page 65 of 916
REJ09B0332-0500
Section 2 CPU
The instruction code, operation, and number of execution states of the CPU instructions are shown
in the following tables, classified by instruction type, using the format shown below.
Instruction
Instruction Code
Operation
Indicated by
mnemonic.
Indicated in
MSB ←→ LSB
order.
Indicates summary
of operation.
Explanation of
Symbols
Explanation of
Symbols
Explanation of
Symbols
OP.Sz SRC, DEST
mmmm: Source
register
→, ←: Transfer
direction
nnnn: Destination
register
(xx):
OP:
Operation
code
Sz:
Size
SRC: Source
DEST: Destination
Rm: Source register
Rn: Destination
register
imm: Immediate data
2
disp: Displacement*
0000: R0
0001: R1
......
1111: R15
iiii: Immediate
data
Execution
States
T Bit
Value when
no wait
states are
1
inserted*
Value of T bit
after
instruction is
executed.
Explanation of
Symbols
—: No change
Memory
operand
M/Q/T: Flag bits in
the SR
&:
Logical AND
of each bit
|:
Logical OR
of each bit
dddd: Displacement ^:
Exclusive
logical OR of
each bit
~:
Logical NOT
of each bit
<<n:
n-bit left shift
>>n:
n-bit right shift
Notes: 1. The table shows the minimum number of execution states. In practice, the number of
instruction execution states will be increased in cases such as the following:
• When there is conflict between an instruction fetch and a data access
• When the destination register of a load instruction (memory → register) is also used
by the following instruction
2. Scaling (×1, ×2, or ×4) is executed according to the instruction operand size. See the
SH-1/SH-2/SH-DSP Software Manual for details.
Rev. 5.00 Sep 11, 2006 page 66 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.20 Data Transfer Instructions
Instruction Code
MOV
1110nnnniiiiiiii imm → sign extension
→ Rn
1
—
MOV.W @(disp,PC),Rn
1001nnnndddddddd (disp × 2 + PC) → sign
extension → Rn
1
—
MOV.L
@(disp,PC),Rn
1101nnnndddddddd (disp × 4 + PC) → Rn
1
—
MOV
Rm,Rn
0110nnnnmmmm0011 Rm → Rn
1
—
MOV.B
Rm,@Rn
0010nnnnmmmm0000 Rm → (Rn)
1
—
MOV.W Rm,@Rn
0010nnnnmmmm0001 Rm → (Rn)
1
—
MOV.L
Rm,@Rn
0010nnnnmmmm0010 Rm → (Rn)
1
—
MOV.B
@Rm,Rn
0110nnnnmmmm0000 (Rm) → sign extension
→ Rn
1
—
MOV.W @Rm,Rn
0110nnnnmmmm0001 (Rm)→ sign extension
→ Rn
1
—
MOV.L
@Rm,Rn
0110nnnnmmmm0010 (Rm) →Rn
1
—
MOV.B
Rm,@-Rn
0010nnnnmmmm0100 Rn – 1 → Rn, Rm → (Rn) 1
—
MOV.W Rm,@-Rn
0010nnnnmmmm0101 Rn – 2 → Rn, Rm → (Rn) 1
—
MOV.L
Rm,@-Rn
0010nnnnmmmm0110 Rn – 4 → Rn, Rm → (Rn) 1
—
MOV.B
@Rm+,Rn
0110nnnnmmmm0100 (Rm) → sign extension
→ Rn, Rm + 1→ Rm
1
—
MOV.W @Rm+,Rn
0110nnnnmmmm0101 (Rm) → sign extension
→ Rn, Rm + 2 → Rm
1
—
MOV.L
@Rm+,Rn
0110nnnnmmmm0110 (Rm) → Rn, Rm + 4 →
Rm
1
—
MOV.B
R0,@(disp,Rn)
10000000nnnndddd R0 → (disp + Rn)
1
—
MOV.W R0,@(disp,Rn)
10000001nnnndddd R0 → (disp × 2 + Rn)
1
—
MOV.L
Rm,@(disp,Rn)
0001nnnnmmmmdddd Rm → (disp × 4 + Rn)
1
—
MOV.B
@(disp,Rm),R0
10000100mmmmdddd (disp + Rm) → sign
extension → R0
1
—
MOV.W @(disp,Rm),R0
10000101mmmmdddd (disp × 2 + Rm) → sign
extension → R0
1
—
MOV.L
@(disp,Rm),Rn
0101nnnnmmmmdddd (disp × 4 + Rm) → Rn
1
—
MOV.B
Rm,@(R0,Rn)
0000nnnnmmmm0100 Rm → (R0 + Rn)
1
—
#imm,Rn
Operation
Execution
States
T Bit
Instruction
Rev. 5.00 Sep 11, 2006 page 67 of 916
REJ09B0332-0500
Section 2 CPU
Operation
Execution
States
T Bit
Instruction
Instruction Code
MOV.W Rm,@(R0,Rn)
0000nnnnmmmm0101 Rm → (R0 + Rn)
MOV.L
Rm,@(R0,Rn)
0000nnnnmmmm0110 Rm → (R0 + Rn)
1
—
MOV.B
@(R0,Rm),Rn
0000nnnnmmmm1100 (R0 + Rm) → sign
extension → Rn
1
—
MOV.W @(R0,Rm),Rn
0000nnnnmmmm1101 (R0 + Rm) → sign
extension → Rn
1
—
MOV.L
@(R0,Rm),Rn
0000nnnnmmmm1110 (R0 + Rm) → Rn
1
—
MOV.B
R0,@(disp,GBR) 11000000dddddddd R0 → (disp + GBR)
1
—
MOV.W R0,@(disp,GBR) 11000001dddddddd R0 → (disp × 2 + GBR)
1
—
MOV.L
R0,@(disp,GBR) 11000010dddddddd R0 → (disp × 4 + GBR)
1
—
MOV.B
@(disp,GBR),R0 11000100dddddddd (disp + GBR) → sign
extension → R0
1
—
1
—
1
—
MOV.W @(disp,GBR),R0 11000101dddddddd (disp × 2 + GBR) → sign
extension → R0
MOV.L
@(disp,GBR),R0 11000110dddddddd (disp × 4 + GBR) → R0
1
—
MOVA
@(disp,PC),R0
11000111dddddddd disp × 4 + PC → R0
1
—
MOVT
Rn
0000nnnn00101001 T → Rn
1
—
SWAP.B Rm,Rn
0110nnnnmmmm1000 Rm → swap lower
2 bytes → Rn
1
—
SWAP.W Rm,Rn
0110nnnnmmmm1001 Rm → swap upper/lower
words → Rn
1
—
XTRCT
0010nnnnmmmm1101 Middle 32 bits of Rm and
Rn → Rn
1
—
Rm,Rn
Rev. 5.00 Sep 11, 2006 page 68 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.21 Arithmetic Operation Instructions
Instruction Code
ADD
Rm,Rn
0011nnnnmmmm1100 Rn + Rm → Rn
1
—
ADD
#imm,Rn
0111nnnniiiiiiii Rn + imm → Rn
1
—
ADDC
Rm,Rn
0011nnnnmmmm1110 Rn + Rm + T → Rn,
carry → T
1
Carry
ADDV
Rm,Rn
0011nnnnmmmm1111 Rn + Rm→ Rn,
overflow → T
1
Overflow
CMP/EQ #imm,R0
10001000iiiiiiii When R0 = imm,
1→T
1
Comparison
result
CMP/EQ Rm,Rn
0011nnnnmmmm0000 When Rn = Rm,
1→T
1
Comparison
result
CMP/HS Rm,Rn
0011nnnnmmmm0010 When Rn ≥ Rm
(unsigned), 1 → T
1
Comparison
result
CMP/GE Rm,Rn
0011nnnnmmmm0011 When Rn ≥ Rm (signed), 1
1→T
Comparison
result
CMP/HI
0011nnnnmmmm0110 When Rn > Rm
(unsigned), 1 → T
1
Comparison
result
CMP/GT Rm,Rn
0011nnnnmmmm0111 When Rn > Rm (signed), 1
1→T
Comparison
result
CMP/PL
Rn
0100nnnn00010101 When Rn > 0, 1 → T
1
Comparison
result
CMP/PZ
Rn
0100nnnn00010001 When Rn ≥ 0, 1 → T
1
Comparison
result
CMP/STR Rm,Rn
0010nnnnmmmm1100 When any bytes are
equal, 1→ T
1
Comparison
result
DIV1
Rm,Rn
0011nnnnmmmm0100 1-step division
(Rn ÷ Rm)
1
Calculation
result
DIV0S
Rm,Rn
0010nnnnmmmm0111 MSB of Rn → Q,
MSB of Rm → M,
M^Q → T
1
Calculation
result
Rm,Rn
Operation
Execution
States
T Bit
Instruction
DIV0U
0000000000011001 0 → M/Q/T
1
0
DMULS.L Rm,Rn
0011nnnnmmmm1101 Signed, Rn × Rm →
MACH, MACL
2–4*
—
32 × 32 → 64 bits
Rev. 5.00 Sep 11, 2006 page 69 of 916
REJ09B0332-0500
Section 2 CPU
Instruction
Instruction Code
Operation
DMULU.L Rm,Rn
0011nnnnmmmm0101 Unsigned, Rn × Rm →
MACH, MACL
Execution
States
T Bit
2–4*
—
1
Comparison
result
32 × 32 → 64 bits
DT
Rn
0100nnnn00010000 Rn – 1 → Rn;
when Rn = 0, 1 → T
EXTS.B
Rm,Rn
0110nnnnmmmm1110 Rm sign-extended
from byte → Rn
1
—
EXTS.W Rm,Rn
0110nnnnmmmm1111 Rm sign-extended
from word → Rn
1
—
EXTU.B
Rm,Rn
0110nnnnmmmm1100 Rm zero-extended
from byte → Rn
1
—
EXTU.W Rm,Rn
0110nnnnmmmm1101 Rm zero-extended
from word → Rn
1
—
3/(2–4)*
—
3/(2)*
—
2–4*
—
1–3*
—
1–3*
—
When Rn ≠ 0, 0 → T
MAC.L
@Rm+,@Rn+ 0000nnnnmmmm1111 Signed, (Rn) × (Rm) +
MAC → MAC
32 × 32 + 64 → 64 bits
MAC.W
@Rm+,@Rn+ 0100nnnnmmmm1111 Signed, (Rn) × (Rm) +
MAC → MAC
16 × 16 + 64 → 64 bits
MUL.L
Rm,Rn
0000nnnnmmmm0111 Rn × Rm → MACL
32 × 32 → 32 bits
MULS.W Rm,Rn
0010nnnnmmmm1111 Signed, Rn × Rm →
MAC
16 × 16 → 32 bits
MULU.W Rm,Rn
0010nnnnmmmm1110 Unsigned, Rn × Rm →
MAC
NEG
Rm,Rn
0110nnnnmmmm1011 0 – Rm → Rn
1
—
NEGC
Rm,Rn
0110nnnnmmmm1010 0 – Rm – T → Rn,
borrow → T
1
Borrow
SUB
Rm,Rn
0011nnnnmmmm1000 Rn – Rm → Rn
1
—
16 × 16 → 32 bits
Rev. 5.00 Sep 11, 2006 page 70 of 916
REJ09B0332-0500
Section 2 CPU
Instruction Code
SUBC
Rm,Rn
0011nnnnmmmm1010 Rn – Rm – T → Rn,
borrow → T
1
Borrow
SUBV
Rm,Rn
0011nnnnmmmm1011 Rn – Rm → Rn,
underflow → T
1
Underflow
Note:
*
Operation
Execution
States
T Bit
Instruction
The normal number of execution states is shown. The number in parentheses is the
number of execution cycles in the case of contention with preceding or following
instructions.
Table 2.22 Logic Operation Instructions
Operation
Execution
States
T Bit
Instruction
Instruction Code
AND
Rm,Rn
0010nnnnmmmm1001 Rn & Rm → Rn
1
—
AND
#imm,R0
11001001iiiiiiii R0 & imm → R0
1
—
3
—
AND.B #imm,@(R0,GBR) 11001101iiiiiiii (R0 + GBR) & imm →
(R0 + GBR)
NOT
Rm,Rn
0110nnnnmmmm0111 ~Rm → Rn
1
—
OR
Rm,Rn
0010nnnnmmmm1011 Rn | Rm → Rn
1
—
OR
#imm,R0
11001011iiiiiiii R0 | imm → R0
1
—
3
—
OR.B #imm,@(R0,GBR) 11001111iiiiiiii (R0 + GBR) | imm →
(R0 + GBR)
TAS.B @Rn
0100nnnn00011011 When (Rn) = 0, 1 → T,
1 → MSB of (Rn)
4
Test
result
TST
Rm,Rn
0010nnnnmmmm1000 Rn & Rm;
when result = 0, 1 → T
1
Test
result
TST
#imm,R0
11001000iiiiiiii R0 & imm;
when result = 0, 1 → T
1
Test
result
TST.B #imm,@(R0,GBR) 11001100iiiiiiii (R0 + GBR) & imm;
when result = 0, 1 → T
3
Test
result
1
—
XOR
Rm,Rn
0010nnnnmmmm1010 Rn ^ Rm → Rn
XOR
#imm,R0
11001010iiiiiiii R0 ^ imm → R0
XOR.B #imm,@(R0,GBR) 11001110iiiiiiii (R0 + GBR) ^ imm →
(R0 + GBR)
1
—
3
—
Rev. 5.00 Sep 11, 2006 page 71 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.23 Shift Instructions
Operation
Execution
States
T Bit
Instruction
Instruction Code
ROTL
Rn
0100nnnn00000100 T ← Rn ← MSB
1
MSB
ROTR
Rn
0100nnnn00000101 LSB→ Rn→ T
1
LSB
ROTCL
Rn
0100nnnn00100100 T ← Rn ← T
1
MSB
ROTCR Rn
0100nnnn00100101 T→ Rn→ T
1
LSB
SHAL
Rn
0100nnnn00100000 T ← Rn ← 0
1
MSB
SHAR
Rn
0100nnnn00100001 MSB→ Rn→ T
1
LSB
SHLL
Rn
0100nnnn00000000 T ← Rn ← 0
1
MSB
SHLR
Rn
0100nnnn00000001 0→ Rn→ T
1
LSB
SHLL2
Rn
0100nnnn00001000 Rn << 2 → Rn
1
—
SHLR2
Rn
0100nnnn00001001 Rn >> 2 → Rn
1
—
SHLL8
Rn
0100nnnn00011000 Rn << 8 → Rn
1
—
SHLR8
Rn
0100nnnn00011001 Rn >> 8 → Rn
1
—
SHLL16 Rn
0100nnnn00101000 Rn << 16 → Rn
1
—
SHLR16 Rn
0100nnnn00101001 Rn >> 16 → Rn
1
—
Rev. 5.00 Sep 11, 2006 page 72 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.24 Branch Instructions
Execution
States
T Bit
Instruction
Instruction Code
Operation
BF
label
10001011dddddddd
When T = 0,
disp × 2 + PC → PC;
when T = 1, nop
3/1*
—
BF/S
label
10001111dddddddd
Delayed branch;
when T = 0,
disp × 2 + PC → PC;
when T = 1, nop
2/1*
—
BT
label
10001001dddddddd
When T = 1,
disp × 2 + PC → PC;
when T = 0, nop
3/1*
—
BT/S
label
10001101dddddddd
Delayed branch;
when T = 1,
disp × 2 + PC → PC;
when T = 0, nop
2/1*
—
BRA
label
1010dddddddddddd
Delayed branch,
disp × 2 + PC → PC
2
—
BRAF Rm
0000mmmm00100011
Delayed branch,
Rm + PC → PC
2
—
BSR
1011dddddddddddd
Delayed branch,
PC → PR,
disp × 2 + PC→ PC
2
—
BSRF Rm
0000mmmm00000011
Delayed branch,
PC→ PR,
Rm + PC→ PC
2
—
JMP
@Rm
0100mmmm00101011
Delayed branch,
Rm→ PC
2
—
JSR
@Rm
0100mmmm00001011
Delayed branch,
PC→ PR, Rm→ PC
2
—
0000000000001011
Delayed branch,
PR→ PC
2
—
label
RTS
Note:
*
One state when the branch is not executed.
Rev. 5.00 Sep 11, 2006 page 73 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.25 System Control Instructions
Operation
Execution
States
T Bit
Instruction
Instruction Code
CLRMAC
0000000000101000 0 → MACH, MACL
1
—
CLRT
0000000000001000 0 → T
1
0
LDC
Rm,SR
0100mmmm00001110 Rm → SR
1
LSB
LDC
Rm,GBR
0100mmmm00011110 Rm → GBR
1
—
LDC
Rm,VBR
0100mmmm00101110 Rm → VBR
1
—
LDC
Rm,MOD
0100mmmm01011110 Rm → MOD
1
—
LDC
Rm,RE
0100mmmm01111110 Rm → RE
1
—
LDC
Rm,RS
0100mmmm01101110 Rm → RS
1
—
LDC.L
@Rm+,SR
0100mmmm00000111 (Rm) → SR, Rm + 4 → Rm
3
LSB
LDC.L
@Rm+,GBR
0100mmmm00010111 (Rm) → GBR, Rm + 4 → Rm
3
—
LDC.L
@Rm+,VBR
0100mmmm00100111 (Rm) → VBR, Rm + 4 → Rm
3
—
LDC.L
@Rm+,MOD 0100mmmm01010111 (Rm) → MOD, Rm + 4 → Rm
3
—
LDC.L
@Rm+,RE
0100mmmm01110111 (Rm) → RE, Rm + 4 → Rm
3
—
LDC.L
@Rm+,RS
0100mmmm01100111 (Rm) → RS, Rm + 4 → Rm
3
—
LDRE
@(disp,PC)
10001110dddddddd disp × 2 + PC → RE
1
—
LDRS
@(disp,PC)
10001100dddddddd disp × 2 + PC → RS
1
—
LDS
Rm,MACH
0100mmmm00001010 Rm → MACH
1
—
LDS
Rm,MACL
0100mmmm00011010 Rm → MACL
1
—
LDS
Rm,PR
0100mmmm00101010 Rm → PR
1
—
LDS
Rm,DSR
0100mmmm01101010 Rm → DSR
1
—
LDS
Rm,A0
0100mmmm01111010 Rm → A0
1
—
LDS
Rm,X0
0100mmmm10001010 Rm → X0
1
—
LDS
Rm,X1
0100mmmm10011010 Rm → X1
1
—
LDS
Rm,Y0
0100mmmm10101010 Rm → Y0
1
—
LDS
Rm,Y1
0100mmmm10111010 Rm → Y1
1
—
LDS.L
@Rm+,MACH 0100mmmm00000110 (Rm) → MACH, Rm + 4 → Rm 1
—
LDS.L
@Rm+,MACL 0100mmmm00010110 (Rm) → MACL, Rm + 4 → Rm 1
—
LDS.L
@Rm+,PR
0100mmmm00100110 (Rm) → PR, Rm + 4 → Rm
1
—
LDS.L
@Rm+,DSR
0100mmmm01100110 (Rm) → DSR, Rm + 4 → Rm
1
—
Rev. 5.00 Sep 11, 2006 page 74 of 916
REJ09B0332-0500
Section 2 CPU
Operation
Execution
States
T Bit
Instruction
Instruction Code
LDS.L
@Rm+,A0
0100mmmm01110110 (Rm) → A0, Rm + 4 → Rm
1
—
LDS.L
@Rm+,X0
0100mmmm10000110 (Rm) → X0, Rm + 4 → Rm
1
—
LDS.L
@Rm+,X1
0100mmmm10010110 (Rm) → X1, Rm + 4 → Rm
1
—
LDS.L
@Rm+,Y0
0100mmmm10100110 (Rm) → Y0, Rm + 4 → Rm
1
—
LDS.L
@Rm+,Y1
0100mmmm10110110 (Rm) → Y1, Rm + 4 → Rm
1
—
NOP
0000000000001001 No operation
1
—
RTE
0000000000101011 Delayed branch,
stack area → PC/SR
4
LSB
1
—
1
1
SETRC
Rm
0100mmmm00010100 RE – RS operation result
(repeat status) → RF1, RF0
SETRC
#imm
10000010iiiiiiii RE – RS operation result
(repeat status) → RF1, RF0
Rm [11:0] → RC (SR [27:16])
imm → RC (SR [23:16]),
zeros → SR [27:24]
SETT
0000000000011000 1 → T
1
1
SLEEP
0000000000011011 Sleep
3*
—
STC
SR,Rn
0000nnnn00000010 SR → Rn
1
—
STC
GBR,Rn
0000nnnn00010010 GBR → Rn
1
—
STC
VBR,Rn
0000nnnn00100010 VBR → Rn
1
—
STC
MOD,Rn
0000nnnn01010010 MOD → Rn
1
—
STC
RE,Rn
0000nnnn01110010 RE → Rn
1
—
STC
RS,Rn
0000nnnn01100010 RS → Rn
1
—
STC.L
SR,@-Rn
0100nnnn00000011 Rn – 4 → Rn, SR → (Rn)
2
—
STC.L
GBR,@-Rn
0100nnnn00010011 Rn – 4 → Rn, GBR → (Rn)
2
—
STC.L
VBR,@-Rn
0100nnnn00100011 Rn – 4 → Rn, VBR → (Rn)
2
—
STC.L
MOD,@-Rn
0100nnnn01010011 Rn – 4 → Rn, MOD → (Rn)
2
—
STC.L
RE,@-Rn
0100nnnn01110011 Rn – 4 → Rn, RE → (Rn)
2
—
STC.L
RS,@-Rn
0100nnnn01100011 Rn – 4 → Rn, RS → (Rn)
2
—
STS
MACH,Rn
0000nnnn00001010 MACH → Rn
1
—
STS
MACL,Rn
0000nnnn00011010 MACL → Rn
1
—
STS
PR,Rn
0000nnnn00101010 PR → Rn
1
—
Rev. 5.00 Sep 11, 2006 page 75 of 916
REJ09B0332-0500
Section 2 CPU
Instruction Code
STS
DSR,Rn
0000nnnn01101010 DSR → Rn
1
—
STS
A0,Rn
0000nnnn01111010 A0 → Rn
1
—
STS
X0,Rn
0000nnnn10001010 X0 → Rn
1
—
STS
X1,Rn
0000nnnn10011010 X1 → Rn
1
—
STS
Y0,Rn
0000nnnn10101010 Y0 → Rn
1
—
STS
Y1,Rn
0000nnnn10111010 Y1 → Rn
1
—
STS.L
MACH,@-Rn 0100nnnn00000010 Rn – 4 → Rn, MACH → (Rn)
1
—
STS.L
MACL,@-Rn 0100nnnn00010010 Rn – 4 → Rn, MACL → (Rn)
1
—
STS.L
PR,@-Rn
0100nnnn00100010 Rn – 4 → Rn, PR → (Rn)
1
—
STS.L
DSR,@-Rn
0100nnnn01100010 Rn – 4 → Rn, DSR → (Rn)
1
—
STS.L
A0,@-Rn
0100nnnn01110010 Rn – 4 → Rn, A0 → (Rn)
1
—
STS.L
X0,@-Rn
0100nnnn10000010 Rn – 4 → Rn, X0 → (Rn)
1
—
STS.L
X1,@-Rn
0100nnnn10010010 Rn – 4 → Rn, X1 → (Rn)
1
—
STS.L
Y0,@-Rn
0100nnnn10100010 Rn – 4 → Rn, Y0 → (Rn)
1
—
STS.L
Y1,@-Rn
0100nnnn10110010 Rn – 4 → Rn, Y1 → (Rn)
1
—
TRAPA
#imm
11000011iiiiiiii PC/SR → stack area,
(imm × 4 + VBR) → PC
8
—
Note:
*
Operation
Execution
States
T Bit
Instruction
Number of states until transition to sleep state.
Caution:
• The table shows the minimum number of execution states. In practice, the number of
instruction execution states will be increased in cases such as the following:
 When there is conflict between an instruction fetch and a data access
 When the destination register of a load instruction (memory → register) is also used by the
following instruction
 When the branch destination address of a branch instruction is address 4n + 2
 Depending on the number of cycles of the instruction fetch destination or data access
destination (see 8.4, Number of Access Cycles (SH7065A) in section 8, Bus State
Controller (BSC), for details).
Rev. 5.00 Sep 11, 2006 page 76 of 916
REJ09B0332-0500
Section 2 CPU
CPU Instructions Supporting DSP Functions
A number of system control instructions have been added to the CPU core instructions to support
DSP functions. The RS, RE, and MOD registers have been added, supporting repeat control and
modulo addressing, and a repeat counter (RC) has been added to the status register (SR). LDC and
STC instructions have been added in order to access these new additions, while LDS and STS
instructions have been added to access DSP registers DSR, A0, X0, X1, Y0, and Y1.
Another addition is the SETRC instruction which sets a value in the repeat counter (RC: bits 27 to
16) and the repeat flags (RF1, RF0: bits 3 and 2) in the SR register. When an immediate operand is
used in the SETRC instruction, 8-bit immediate data is stored in bits 23 to 16 of SR, and bits 27 to
24 are cleared to 0. When the operand is a register, the 12 bits from bit 11 to bit 0 of the register
are stored in bits 27 to 16 of SR. According to the set values of RS and RE, 1-instruction repeat
(00), 2-instruction repeat (01), 3-instruction repeat (11), or 4-plus-instruction repeat (10) is set.
In addition to the LDC instruction, the LDRS and LDRE instructions have been added as
instructions that set the repeat start address and repeat end address in the RS and RE registers.
The added instructions are shown in table 2.26.
Table 2.26 Added CPU Instructions
Execution
States
T Bit
Instruction
Instruction Code
Operation
LDC
Rm,MOD
0100mmmm01011110 Rm → MOD
1
—
LDC
Rm,RE
0100mmmm01111110 Rm → RE
1
—
LDC
Rm,RS
0100mmmm01101110 Rm → RS
1
—
LDC.L @Rm+,MOD
0100mmmm01010111 (Rm) → MOD, Rm + 4 → Rm
3
—
LDC.L @Rm+,RE
0100mmmm01110111 (Rm) → RE, Rm + 4 → Rm
3
—
LDC.L @Rm+,RS
0100mmmm01100111 (Rm) → RS, Rm + 4 → Rm
3
—
STC
MOD,Rn
0000nnnn01010010 MOD → Rn
1
—
STC
RE,Rn
0000nnnn01110010 RE → Rn
1
—
STC
RS,Rn
0000nnnn01100010 RS → Rn
1
—
STC.L MOD,@-Rn
0100nnnn01010011 Rn – 4 → Rn, MOD → (Rn)
2
—
STC.L RE,@-Rn
0100nnnn01110011 Rn – 4 → Rn, RE → (Rn)
2
—
STC.L RS,@-Rn
0100nnnn01100011 Rn – 4 → Rn, RS → (Rn)
2
—
LDS
0100mmmm01101010 Rm → DSR
1
—
Rm,DSR
Rev. 5.00 Sep 11, 2006 page 77 of 916
REJ09B0332-0500
Section 2 CPU
Operation
Execution
States
T Bit
Instruction
Instruction Code
LDS.L @Rm+,DSR
0100mmmm01100110 (Rm) → DSR, Rm + 4 → Rm
1
—
LDS
0100mmmm01111010 Rm → A0
1
—
LDS.L @Rm+,A0
0100mmmm01110110 (Rm) → A0, Rm + 4 → Rm
1
—
LDS
0100mmmm10001010 Rm → X0
1
—
LDS.L @Rm+,X0
0100mmmm10000110 (Rm) → X0, Rm + 4→ Rm
1
—
LDS
0100mmmm10011010 Rm → X1
1
—
Rm,A0
Rm,X0
Rm,X1
LDS.L @Rm+,X1
0100mmmm10010110 (Rm) → X1, Rm + 4→ Rm
1
—
LDS
0100mmmm10101010 Rm → Y0
1
—
LDS.L @Rm+,Y0
0100mmmm10100110 (Rm) → Y0, Rm + 4 → Rm
1
—
LDS
0100mmmm10111010 Rm → Y1
1
—
LDS.L @Rm+,Y1
0100mmmm10110110 (Rm) → Y1, Rm + 4 → Rm
1
—
STS
Rm,Y0
Rm,Y1
0000nnnn01101010 DSR → Rn
1
—
STS.L DSR,@-Rn
0100nnnn01100010 Rn – 4 → Rn, DSR → (Rn)
1
—
STS
0000nnnn01111010 A0 → Rn
1
—
STS.L A0,@-Rn
0100nnnn01110010 Rn – 4 → Rn, A0 → (Rn)
1
—
STS
0000nnnn10001010 X0 → Rn
1
—
STS.L X0,@-Rn
0100nnnn10000010 Rn – 4 → Rn, X0 → (Rn)
1
—
STS
DSR,Rn
A0,Rn
X0,Rn
0000nnnn10011010 X1 → Rn
1
—
STS.L X1,@-Rn
0100nnnn10010010 Rn – 4 → Rn, X1 → (Rn)
1
—
STS
0000nnnn10101010 Y0 → Rn
1
—
STS.L Y0,@-Rn
0100nnnn10100010 Rn – 4 → Rn, Y0 → (Rn)
1
—
STS
0000nnnn10111010 Y1→ Rn
1
—
X1,Rn
Y0,Rn
Y1,Rn
STS.L Y1,@-Rn
0100nnnn10110010 Rn – 4 → Rn, Y1→ (Rn)
1
—
SETRC Rm
0100mmmm00010100 Rm [11:0] → RC (SR [27:16])
1
—
SETRC #imm
10000010iiiiiiii imm → RC (SR [23:16]),
0 → SR [27:24]
1
—
LDRS
@(disp,PC)
10001100dddddddd disp × 2 + PC → RS
1
—
LDRE
@(disp,PC)
10001110dddddddd disp × 2 + PC → RE
1
—
Rev. 5.00 Sep 11, 2006 page 78 of 916
REJ09B0332-0500
Section 2 CPU
2.5.2
DSP Data Transfer Instruction Set
The DSP data transfer instructions are listed by type in table 2.27.
Table 2.27 DSP Data Transfer Instruction Types
Type
Double data transfer
instructions
Single data transfer
instruction
Kinds of
Instruction
Op Code
Function
Number of
Instructions
4
NOPX
X memory no operation
14
MOVX
X memory data transfer
1
Total: 5
NOPY
Y memory no operation
MOVY
Y memory data transfer
MOVS
Single data transfer
16
Total: 30
Data transfer instructions are divided into two groups: double data transfer and single data
transfer. Double data transfer can be executed by DSP parallel processing instructions in
combination with DSP operation instructions. Parallel processing instructions are 32 bits long, and
incorporate a double data transfer instruction in the A field. Double data transfer instructions that
are not parallel processing instructions, and single data transfer instructions, are 16 bits long.
In double data transfer, X memory and Y memory can be simultaneously accessed in parallel.
Instructions are specified one by one from the X and Y memory data accesses, respectively. The
Ax pointer is used to access the X memory, and the Ay pointer to access the Y memory. Double
data transfer can only be used to access X and Y memory.
In single data transfer, access is possible from any area. In single data transfer, the Ax pointer and
two other pointers are used as the As pointer.
Rev. 5.00 Sep 11, 2006 page 79 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.28 Double Data Transfer Instructions (X Memory Data)
Execution DC
States
Bit
Instruction
Operation
Instruction Code
NOPX
No operation
1111000*0*0*00** 1
—
MOVX.W @Ax,Dx
(Ax) → MSW of Dx,
0 → LSW of Dx
111100A*D*0*01** 1
—
MOVX.W @Ax+,Dx
(Ax) → MSW of Dx,
0 → LSW of Dx, Ax + 2→ Ax
111100A*D*0*10** 1
—
MOVX.W @Ax+Ix,Dx (Ax) → MSW of Dx,
0 → LSW of Dx, Ax + Ix→ Ax
111100A*D*0*11** 1
—
MOVX.W Da,@Ax
MSW of Da → (Ax)
111100A*D*1*01** 1
—
MOVX.W Da,@Ax+
MSW of Da → (Ax), Ax + 2 → Ax 111100A*D*1*10** 1
—
MOVX.W Da,@Ax+Ix MSW of Da → (Ax), Ax + Ix → Ax 111100A*D*1*11** 1
—
Table 2.29 Double Data Transfer Instructions (Y Memory Data)
Execution DC
States
Bit
Instruction
Operation
Instruction Code
NOPY
No operation
111100*0*0*0**00 1
—
MOVY.W @Ay,Dy
(Ay) → MSW of Dy,
0 → LSW of Dy
111100*A*D*0**01 1
—
MOVY.W @Ay+,Dy
(Ay) → MSW of Dy,
0 → LSW of Dy, Ay + 2 → Ay
111100*A*D*0**10 1
—
MOVY.W @Ay+Iy,Dy (Ay) → MSW of Dy,
0 → LSW of Dy, Ay + Iy→ Ay
111100*A*D*0**11 1
—
MOVY.W Da,@Ay
MSW of Da → (Ay)
111100*A*D*1**01 1
—
MOVY.W Da,@Ay+
MSW of Da → (Ay), Ay + 2 → Ay 111100*A*D*1**10 1
—
MOVY.W Da,@Ay+Iy MSW of Da → (Ay), Ay + Iy → Ay 111100*A*D*1**11 1
—
Rev. 5.00 Sep 11, 2006 page 80 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.30 Single Data Transfer Instructions
Execution DC
States
Bit
Instruction
Operation
Instruction Code
MOVS.W @-As,Ds
As – 2 → As, (As) → MSW of
Ds, 0 → LSW of Ds
111101AADDDD0000 1
—
MOVS.W @As,Ds
(As)→ MSW of Ds,
0 → LSW of Ds
111101AADDDD0100 1
—
MOVS.W @As+,Ds
(As)→ MSW of Ds,
0→ LSW of Ds, As + 2 → As
111101AADDDD1000 1
—
111101AADDDD1100 1
—
As – 2 → As, MSW of Ds → (As)* 111101AADDDD0001 1
MSW of Ds → (As)*
111101AADDDD0101 1
*
MSW of Ds → (As) , As + 2 → As 111101AADDDD1001 1
—
—
MOVS.W Ds,@As+Is MSW of Ds → (As)*, As + Is → As 111101AADDDD1101 1
—
MOVS.W @As+Ix,Ds (As) → MSW of Ds,
0 → LSW of Ds, As + Ix → As
MOVS.W Ds,@-As
MOVS.W Ds,@As
MOVS.W Ds,@As+
—
MOVS.L @-As,Ds
As – 4 → As, (As) → Ds
111101AADDDD0010 1
—
MOVS.L @As,Ds
(As) → Ds
111101AADDDD0110 1
—
MOVS.L @As+,Ds
(As) → Ds, As + 4 → As
111101AADDDD1010 1
—
MOVS.L @As+Is,Ds (As) → Ds, As + Is → As
MOVS.L Ds,@-As
As – 4 → As, Ds → (As)*
111101AADDDD1110 1
—
111101AADDDD0011 1
—
Ds → (As)*
Ds → (As)*, As + 4 → As
111101AADDDD0111 1
—
111101AADDDD1011 1
—
MOVS.L Ds,@As+Is Ds → (As)*, As + Is → As
111101AADDDD1111 1
—
MOVS.L Ds,@As
MOVS.L Ds,@As+
Note:
*
When guard bit register A0G or A1G is specified as source operand Ds, the data is
sign-extended before being transferred.
The correspondence between DSP data transfer operands and registers is shown in table 2.31. CPU
core registers are used as a pointer address that indicates a memory address.
Rev. 5.00 Sep 11, 2006 page 81 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.31 Correspondence between DSP Data Transfer Operands and Registers
SH (CPU Core) Register
Operand
R0
R1
R2
(As2)
R3
(As3)
Ax
R4
(Ax0,
As0)
R5
(Ax1,
As1)
Yes
Yes
R6
(Ay0)
R7
(Ay1)
Ix, (Is)
R8
(Ix,Is)
R9
(Iy)
Yes
Dx
Ay
Yes
Yes
Iy
Yes
Dy
Da
As
Yes
Yes
Y0
Y1
Yes
Yes
Yes
Yes
Ds
Operand
DSP Register
X0
X1
Yes
Yes
M0
M1
A0
A1
Yes
Yes
Yes
Yes
A0G
A1G
Yes
Yes
Ax
Ix, (Is)
Dx
Ay
Iy
Dy
Da
As
Ds
Yes
Yes
Yes
Legend:
Yes: Settable register
Rev. 5.00 Sep 11, 2006 page 82 of 916
REJ09B0332-0500
Yes
Yes
Yes
Section 2 CPU
2.5.3
DSP Operation Instruction Set
DSP operation instructions are instructions for digital signal processing performed by the DSP
unit. These instructions have a 32-bit instruction code, and multiple instructions can be executed in
parallel. The instruction code is divided into an A field and B field; a parallel data transfer
instruction is specified in the A field, and a single or double data transfer operation instruction in
the B field. Instructions can be specified independently, and are also executed independently. The
parallel data transfer instruction specified in the A field is exactly the same as a double data
transfer instruction.
B field data operation instructions are divided into three: double data operation instructions,
conditional single data operation instructions, and unconditional single data operation instructions.
The formats of the DSP operation instructions are shown in table 2.32. The respective operands
are selected independently from the DSP registers. The correspondence between DSP operation
instruction operands and registers is shown in table 2.33.
Table 2.32 DSP Operation Instruction Formats
Type
Instruction Formats
Double data operation
instructions (6 operands)
Conditional
single data
operation
instructions
3 operands
Instructions
ALUop. Sx, Sy, Du
PADD PMULS,
MLTop. Se, Sf, Dg
PSUB PMULS
ALUop. Sx, Sy, Dz
PADD, PAND, POR, PSHA,
DCT ALUop. Sx, Sy, Dz
PSHL, PSUB, PXOR
DCF ALUop. Sx, Sy, Dz
2 operands
ALUop. Sx, Dz
DCT ALUop. Sx, Dz
PCOPY, PDEC, PDMSB, PINC,
PLDS, PSTS, PNEG
DCF ALUop. Sx, Dz
ALUop. Sy, Dz
DCT ALUop. Sy, Dz
DCF ALUop. Sy, Dz
1 operand
ALUop. Dz
PCLR
DCT ALUop. Dz
DCF ALUop. Dz
Unconditional
single data
operation
instructions
3 operands
ALUop. Sx, Sy, Du
PADDC, PSUBC, PMULS
MLTop. Se, Sf, Dg
2 operands
ALUop. Sx, Dz
PCMP, PABS, PRND
ALUop. Sy, Dz
1 operand
ALUop. Dz
PSHA #imm, PSHL #imm
Rev. 5.00 Sep 11, 2006 page 83 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.33 Correspondence between DSP Instruction Operands and Registers
ALU/BPU Instructions
Register
Sx
Sy
Multiply Instructions
Dz
Du
A0
Yes
Yes
Yes
A1
Yes
Yes
Yes
Se
Sf
Dg
Yes
Yes
Yes
Yes
M0
Yes
Yes
Yes
M1
Yes
Yes
Yes
X0
Yes
Yes
X1
Yes
Yes
Y0
Yes
Yes
Y1
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Legend:
Yes: Settable register
When writing parallel instructions, the B field instruction is written first, followed by the A field
instruction. A sample parallel processing program is shown in figure 2.13.
DCF
PADD A0, M0, A0
PINC X1, A1
PCMP X1, M0
PMULS X0, Y0, M0
MOVX.W @R4+, X0
MOVX.W A0, @R5+R8
MOVX.W @R4
MOVY.W @R6+, Y0 [;]
MOVY.W @R7+, Y0 [;]
[NOPY] [;]
Figure 2.13 Sample Parallel Processing Program
Square brackets mean that the contents can be omitted. The no operation instructions NOPX and
NOPY can be omitted. A semicolon is the instruction line delimiter, but this can also be omitted. If
the semicolon delimiter is used, the area to the right of the semicolon can be used as a comment
field.
The DSR register status codes (DC, N, Z, V, and GT) are always updated by unconditional ALU
operation instructions and shift operation instructions. Conditional instructions do not update the
status codes even if the condition is satisfied. Multiply instructions, too, do not update the status
codes. The definition of the DC bit is determined by the specification of the CS bit in the DSR
register.
The DSP operation instructions are listed by type in table 2.34.
Rev. 5.00 Sep 11, 2006 page 84 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.34 DSP Operation Instruction Types
Type
ALU
ALU fixed-point
arithmetic
operation
operation
instructions
instructions
Kinds of
Instruction
Op Code
11
Number of
Instructions
PABS
Absolute value operation
28
PADD
Addition
PADD
Addition and signed
multiplication
PMULS
ALU integer
operation
instructions
2
MSB detection
instructions
Rounding
operation
instructions
ALU logic operation
instructions
Function
PADDC
Addition with carry
PCLR
Clear
PCMP
Comparison
PCOPY
Copy
PNEG
Signed inversion
PSUB
Subtraction
PSUB
PMULS
Subtraction and signed
multiplication
PSUBC
Subtraction with borrow
PDEC
Decrement
PINC
Increment
1
PDMSB
MSB detection
6
1
PRND
Rounding operation
2
3
PAND
Logical AND operation
9
POR
Logical OR operation
PXOR
Exclusive logical OR
operation
Fixed-point multiply instruction 1
Shift
12
PMULS
Signed multiplication
1
Arithmetic shift
operation
instructions
1
PSHA
Arithmetic shift
4
Logical shift
operation
instructions
1
PSHL
Logical shift
4
2
PLDS
System register load
12
PSTS
Store from system register
System control instructions
Total: 23
Total: 78
Rev. 5.00 Sep 11, 2006 page 85 of 916
REJ09B0332-0500
Section 2 CPU
ALU Arithmetic Operation Instructions
Table 2.35 ALU Fixed-Point Operation Instructions
Instruction
PABS Sx,Dz
PABS Sy,Dz
PADD Sx,Sy,Dz
Operation
Instruction Code
Execution
States
DC Bit
If Sx ≥ 0, Sx → Dz
111110********** 1
If Sx < 0, 0 – Sx → Dz
10001000xx00zzzz
If Sy ≥ 0, Sy → Dz
111110********** 1
If Sy < 0, 0 – Sy → Dz
1010100000yyzzzz
Sx + Sy → Dz
111110********** 1
If DC = 1, Sx + Sy → Dz
111110********** 1
If DC = 0, nop
10110010xxyyzzzz
If DC = 0, Sx + Sy → Dz
111110********** 1
If DC = 1, nop
10110011xxyyzzzz
Sx + Sy → Du
111110********** 1
Updated
Updated
Updated
10110001xxyyzzzz
DCT PADD Sx,Sy,Dz
DCF PADD Sx,Sy,Dz
PADD Sx,Sy,Du
PMULS Se,Sf,Dg Se upper word × Sf upper
word → Dg
0111eeffxxyygguu
PADDC Sx,Sy,Dz Sx + Sy + DC → Dz
111110********** 1
—
—
Updated
Updated
10110000xxyyzzzz
PCLR Dz
H'00000000 → Dz
111110********** 1
Updated
100011010000zzzz
DCT PCLR Dz
If DC = 1, H'00000000 → Dz 111110********** 1
If DC = 0, nop
DCF PCLR Dz
PCMP Sx,Sy
—
100011100000zzzz
If DC = 0, H'00000000 → Dz 111110********** 1
If DC = 1, nop
100011110000zzzz
Sx – Sy
111110********** 1
—
Updated
10000100xxyy0000
PCOPY Sx,Dz
Sx → Dz
111110********** 1
Updated
11011001xx00zzzz
PCOPY Sy,Dz
Sy → Dz
111110********** 1
Updated
1111100100yyzzzz
DCT PCOPY Sx,Dz
If DC = 1, Sx → Dz
111110********** 1
If DC = 0, nop
11011010xx00zzzz
Rev. 5.00 Sep 11, 2006 page 86 of 916
REJ09B0332-0500
—
Section 2 CPU
Instruction
DCT PCOPY Sy,Dz
DCF PCOPY Sx,Dz
DCF PCOPY Sy,Dz
PNEG Sx,Dz
Operation
Instruction Code
Execution
States
DC Bit
If DC = 1, Sy → Dz
111110********** 1
If DC = 0, nop
1111101000yyzzzz
If DC = 0, Sx → Dz
111110********** 1
If DC = 1, nop
11011011xx00zzzz
If DC = 0, Sy → Dz
111110********** 1
If DC = 1, nop
1111101100yyzzzz
0 – Sx → Dz
111110********** 1
—
—
—
Updated
11001001xx00zzzz
PNEG Sy,Dz
0 – Sy → Dz
111110********** 1
Updated
1110100100yyzzzz
DCT PNEG Sx,Dz
DCT PNEG Sy,Dz
DCF PNEG Sx,Dz
DCF PNEG Sy,Dz
PSUB Sx,Sy,Dz
If DC = 1, 0 – Sx → Dz
111110********** 1
If DC = 0, nop
11001010xx00zzzz
If DC = 1, 0 – Sy → Dz
111110********** 1
If DC = 0, nop
1110101000yyzzzz
If DC = 0, 0 – Sx → Dz
111110********** 1
If DC = 1, nop
11001011xx00zzzz
If DC = 0, 0 – Sy → Dz
111110********** 1
If DC = 1, nop
1110101100yyzzzz
Sx – Sy → Dz
111110********** 1
—
—
—
—
Updated
10100001xxyyzzzz
DCT PSUB Sx,Sy,Dz
DCF PSUB Sx,Sy,Dz
PSUB Sx,Sy,Du
If DC = 1, Sx – Sy → Dz
111110********** 1
If DC = 0, nop
10100010xxyyzzzz
If DC = 0, Sx – Sy → Dz
111110********** 1
If DC = 1, nop
10100011xxyyzzzz
Sx – Sy → Du
111110********** 1
PMULS Se,Sf,Dg Se upper word × Sf upper
word → Dg
0110eeffxxyygguu
PSUBC Sx,Sy,Dz Sx – Sy – DC → Dz
111110********** 1
—
—
Updated
Updated
10100000xxyyzzzz
Rev. 5.00 Sep 11, 2006 page 87 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.36 ALU Integer Operation Instructions
Instruction
PDEC Sx,Dz
Execution
States
DC Bit
Operation
Instruction Code
Sx upper word – 1 → Dz
upper word
111110********** 1
Updated
10001001xx00zzzz
Dz lower word is cleared
PDEC Sy,Dz
Sy upper word – 1 → Dz
upper word
111110********** 1
Updated
1010100100yyzzzz
Dz lower word is cleared
DCT PDEC Sx,Dz
If DC = 1,
Sx upper word – 1 → Dz
upper word,
Dz lower word is cleared
111110********** 1
—
10001010xx00zzzz
If DC = 0, nop
DCT PDEC Sy,Dz
If DC = 1,
Sy upper word – 1 → Dz
upper word,
Dz lower word is cleared
111110********** 1
—
1010101000yyzzzz
If DC = 0, nop
DCF PDEC Sx,Dz
If DC = 0,
Sx upper word – 1 → Dz
upper word,
Dz lower word is cleared
111110********** 1
—
10001011xx00zzzz
If DC = 1, nop
DCF PDEC Sy,Dz
If DC = 0,
Sy upper word – 1 → Dz
upper word,
Dz lower word is cleared
111110********** 1
—
1010101100yyzzzz
If DC = 1, nop
PINC Sx,Dz
Sx upper word + 1 → Dz
upper word
111110********** 1
Updated
10011001xx00zzzz
Dz lower word is cleared
PINC Sy,Dz
Sy upper word + 1 → Dz
upper word
Dz lower word is cleared
Rev. 5.00 Sep 11, 2006 page 88 of 916
REJ09B0332-0500
111110********** 1
1011100100yyzzzz
Updated
Section 2 CPU
Execution
States
DC Bit
Instruction
Operation
Instruction Code
DCT PINC Sx,Dz
If DC = 1,
Sx upper word + 1 → Dz
upper word,
Dz lower word is cleared
111110********** 1
—
10011010xx00zzzz
If DC = 0, nop
DCT PINC Sy,Dz
If DC = 1,
Sy upper word + 1 → Dz
upper word,
Dz lower word is cleared
111110********** 1
—
1011101000yyzzzz
If DC = 0, nop
DCF PINC Sx,Dz
If DC = 0,
Sx upper word + 1 → Dz
upper word,
Dz lower word is cleared
111110********** 1
—
10011011xx00zzzz
If DC = 1, nop
DCF PINC Sy,Dz
If DC = 0,
Sy upper word + 1 → Dz
upper word,
Dz lower word is cleared
111110********** 1
—
1011101100yyzzzz
If DC = 1, nop
Rev. 5.00 Sep 11, 2006 page 89 of 916
REJ09B0332-0500
Section 2 CPU
Table 2.37 MSB Detection Instructions
Instruction
PDMSB Sx,Dz
PDMSB Sy,Dz
DCT PDMSB Sx,Dz
Execution
States
DC Bit
Operation
Instruction Code
MSB position of Sx data →
Dz upper word,
Dz lower word is cleared
111110********** 1
MSB position of Sy data →
Dz upper word,
Dz lower word is cleared
111110********** 1
If DC = 1,
MSB position of Sx data →
Dz upper word,
Dz lower word is cleared
111110********** 1
Updated
10011101xx00zzzz
Updated
1011110100yyzzzz
—
10011110xx00zzzz
If DC = 0, nop
DCT PDMSB Sy,Dz
If DC = 1,
MSB position of Sy data →
Dz upper word,
Dz lower word is cleared
111110********** 1
—
1011111000yyzzzz
If DC = 0, nop
DCF PDMSB Sx,Dz
If DC = 0,
MSB position of Sx data →
Dz upper word,
Dz lower word is cleared
111110********** 1
—
10011111xx00zzzz
If DC = 1, nop
DCF PDMSB Sy,Dz
If DC = 0,
MSB position of Sy data →
Dz upper word,
Dz lower word is cleared
111110********** 1
—
1011111100yyzzzz
If DC = 1, nop
Table 2.38 Rounding Operation Instructions
Instruction
Operation
PRND Sx,Dz Sx + H'00008000 → Dz
Dz lower word is cleared
PRND Sy,Dz Sy + H'00008000 → Dz
Dz lower word is cleared
Rev. 5.00 Sep 11, 2006 page 90 of 916
REJ09B0332-0500
Instruction Code
Execution
States
DC Bit
111110********** 1
Updated
10011000xx00zzzz
111110********** 1
1011100000yyzzzz
Updated
Section 2 CPU
ALU Logic Operation Instructions
Table 2.39 ALU Logic Operation Instructions
Instruction
PAND Sx,Sy,Dz
DCT PAND Sx,Sy,Dz
Operation
Instruction Code
Execution
States
DC Bit
Sx & Sy → Dz
111110********** 1
Dz lower word is cleared
10010101xxyyzzzz
If DC = 1, Sx&Sy → Dz,
Dz lower word is cleared
111110********** 1
Updated
—
10010110xxyyzzzz
If DC = 0, nop
DCF PAND Sx,Sy,Dz
If DC = 0, Sx&Sy → Dz,
Dz lower word is cleared
111110********** 1
—
10010111xxyyzzzz
If DC = 1, nop
POR Sx,Sy,Dz
DCT POR Sx,Sy,Dz
Sx | Sy → Dz
111110********** 1
Dz lower word is cleared
10110101xxyyzzzz
If DC = 1, Sx|Sy → Dz,
Dz lower word is cleared
111110********** 1
Updated
—
10110110xxyyzzzz
If DC = 0, nop
DCF POR Sx,Sy,Dz
If DC = 0, Sx|Sy → Dz,
Dz lower word is cleared
111110********** 1
—
10110111xxyyzzzz
If DC = 1, nop
PXOR Sx,Sy,Dz
DCT PXOR Sx,Sy,Dz
Sx ^ Sy → Dz
111110********** 1
Dz lower word is cleared
10100101xxyyzzzz
If DC = 1, Sx^Sy → Dz,
Dz lower word is cleared
111110********** 1
Updated
—
10100110xxyyzzzz
If DC = 0, nop
DCF PXOR Sx,Sy,Dz
If DC = 0, Sx^Sy → Dz,
Dz lower word is cleared
111110********** 1
—
10100111xxyyzzzz
If DC = 1, nop
Rev. 5.00 Sep 11, 2006 page 91 of 916
REJ09B0332-0500
Section 2 CPU
Fixed-Point Multiply Instruction
Table 2.40 Fixed-Point Multiply Instruction
Instruction
Operation
Instruction Code
Execution
States
DC Bit
PMULS Se,Sf,Dg Se upper word × Sf → upper 111110********** 1
word → Dg
0100eeff0000gg00
—
Shift Operation Instructions
Table 2.41 Arithmetic Shift Operation Instructions
Instruction
PSHA Sx,Sy,Dz
DCT PSHA Sx,Sy,Dz
Execution
States
DC Bit
Operation
Instruction Code
If Sy ≥ 0, Sx<<Sy → Dz
111110********** 1
If Sy < 0, Sx>>Sy → Dz
10010001xxyyzzzz
If DC = 1 & Sy ≥ 0,
Sx<<Sy → Dz
111110********** 1
Updated
—
10010010xxyyzzzz
If DC = 1 & Sy < 0,
Sx>>Sy → Dz
If DC = 0, nop
DCF PSHA Sx,Sy,Dz
If DC = 0 & Sy ≥ 0,
Sx<<Sy → Dz
111110********** 1
—
10010011xxyyzzzz
If DC = 0 & Sy < 0,
Sx>>Sy → Dz
If DC = 1, nop
PSHA #imm,Dz
If imm ≥ 0, Dz<<imm → Dz
111110********** 1
If imm < 0, Dz>>imm → Dz
00010iiiiiiizzzz
Rev. 5.00 Sep 11, 2006 page 92 of 916
REJ09B0332-0500
Updated
Section 2 CPU
Table 2.42 Logical Shift Operation Instructions
Instruction
PSHL Sx,Sy,Dz
Execution
States
DC Bit
Operation
Instruction Code
If Sy ≥ 0, Sx<<Sy → Dz,
Dz lower word is cleared
111110********** 1
Updated
10000001xxyyzzzz
If Sy < 0, Sx>>Sy → Dz,
Dz lower word is cleared
DCT PSHL Sx,Sy,Dz
If DC = 1 & Sy ≥ 0,
Sx<<Sy → Dz,
Dz lower word is cleared
111110********** 1
—
10000010xxyyzzzz
If DC = 1 & Sy < 0,
Sx>>Sy → Dz,
Dz lower word is cleared
If DC = 0, nop
DCF PSHL Sx,Sy,Dz
If DC = 0 & Sy ≥ 0,
Sx<<Sy → Dz,
Dz lower word is cleared
111110********** 1
—
10000011xxyyzzzz
If DC = 0 & Sy < 0,
Sx>>Sy → Dz,
Dz lower word is cleared
If DC = 1, nop
PSHL #imm,Dz
If imm ≥ 0, Dz<<imm → Dz,
Dz lower word is cleared
111110********** 1
Updated
00000iiiiiiizzzz
If imm < 0, Dz>>imm → Dz,
Dz lower word is cleared
Rev. 5.00 Sep 11, 2006 page 93 of 916
REJ09B0332-0500
Section 2 CPU
System Control Instructions
Table 2.43 System Control Instructions
Instruction
PLDS Dz,MACH
Execution
States
DC Bit
Operation
Instruction Code
Dz → MACH
111110********** 1
—
111011010000zzzz
PLDS Dz,MACL
Dz → MACL
111110********** 1
—
111111010000zzzz
DCT PLDS Dz,MACH
DCT PLDS Dz,MACL
DCF PLDS Dz,MACH
DCF PLDS Dz,MACL
PSTS MACH,Dz
If DC = 1, Dz → MACH
111110********** 1
If DC = 0, nop
111011100000zzzz
If DC = 1, Dz → MACL
111110********** 1
If DC = 0, nop
111111100000zzzz
If DC = 0, Dz → MACH
111110********** 1
If DC = 1, nop
111011110000zzzz
If DC = 0, Dz → MACL
111110********** 1
If DC = 1, nop
111111110000zzzz
MACH → Dz
111110********** 1
—
—
—
—
—
110011010000zzzz
PSTS MACL,Dz
MACL → Dz
111110********** 1
—
110111010000zzzz
DCT PSTS MACH,Dz
DCT PSTS MACL,Dz
DCF PSTS MACH,Dz
DCF PSTS MACL,Dz
If DC = 1, MACH → Dz
111110********** 1
If DC = 0, nop
110011100000zzzz
If DC = 1, MACL → Dz
111110********** 1
If DC = 0, nop
110111100000zzzz
If DC = 0, MACH → Dz
111110********** 1
If DC = 1, nop
110011110000zzzz
If DC = 0, MACL → Dz
111110********** 1
If DC = 1, nop
110111110000zzzz
Rev. 5.00 Sep 11, 2006 page 94 of 916
REJ09B0332-0500
—
—
—
—
Section 2 CPU
NOPX and NOPY Instruction Codes
When there is no data transfer instruction to be parallel-processed simultaneously with a DSP
operation instruction, an NOPX or NOPY instruction can be written as the data transfer
instruction, or the instruction can be omitted. The instruction code is the same whether an NOPX
or NOPY instruction is written or the instruction is omitted. Examples of NOPX and NOPY
instruction codes are shown in table 2.44.
Table 2.44 Sample NOPX and NOPY Instruction Codes
Instruction
Code
PADD X0, Y0, A0 MOVX. W @R4+, X0 MOVY.W @R6+R9, Y0
1111100000001011
1011000100000111
PADD X0, Y0, A0 NOPX
MOVY.W @R6+R9, Y0
1111100000000011
1011000100000111
PADD X0, Y0, A0 NOPX
NOPY
1111100000000000
1011000100000111
PADD X0, Y0, A0 NOPX
1111100000000000
1011000100000111
PADD X0, Y0, A0
1111100000000000
1011000100000111
MOVX. W @R4+, X0 MOVY.W @R6+R9, Y0
1111000000001011
MOVX. W @R4+, X0 NOPY
1111000000001000
MOVS. W @R4+, X0
1111010010001000
NOPX
NOPX
NOP
MOVY.W @R6+R9, Y0
1111000000000011
MOVY.W @R6+R9, Y0
1111000000000011
NOPY
1111000000000000
0000000000001001
Rev. 5.00 Sep 11, 2006 page 95 of 916
REJ09B0332-0500
Section 2 CPU
2.6
Usage Note
If a CPU instruction double-precision multiplication (MUL.L/DMUL.L/DMULS.L) or doubleprecision multiply-and-accumulate operation (MAC.L) and a DSP computational instruction are
executed in combination, erroneous operation may occur.
1. Conditions for occurrence
If conditions a. and b. below occur simultaneously, the instructions noted in b. (2) may operate
erroneously.
a. Execution of instruction from on-chip X/Y memory
b. Execution of the following instruction sequence in the order (1) (2) (3)
(1) Double-precision multiplication (MUL.L/DMUL.L/DMULS.L) or double-precision
multiply-and-accumulate operation (MAC.L)
(2) DSP computational instruction other than PMULS, PSTS, or PLDS
(3) A PMULS, PSTS, or PLDS instruction
The instructions in b. (1) above require a number of cycles for execution. Consequently, if an
instruction of the kind noted in b. (3) that uses the same resources is executed during execution
of the b. (1) instruction, the start of execution of (3) is suppressed until the executing
computational operation ends. As the instructions noted in (2) have no correlation with the
instructions noted in (1), the instruction is executed, but thereafter it may not be possible for
execution of a (2) instruction to be completed correctly due to the operation that suppresses
execution of (3) instructions. If there is no (2) instruction and a (1) instruction is followed
immediately by a (3) instruction, there is no problem and the instructions will be executed
normally. Also, there is no problem, and operation is normal, if instructions are executed from
on-chip ROM or external memory in b. above.
This also applies to the case where b. (1) above is immediately preceded by a delayed branch
instruction, the b. (1) instruction is in the delay slot, and b. (2) and (3) are written at the branch
destination.
Note: A “DSP computational instruction other than PMULS, PSTS, or PLDS” refers to any of
the following instructions.
PABS, PADD, PADDC, PAND, PCLR, PCMP, PCOPY, PDEC, PDMSB, PINC, PNEG,
POR, PRND, PSHA, PSHL, PSUB, PSUBC, PXOR
Rev. 5.00 Sep 11, 2006 page 96 of 916
REJ09B0332-0500
Section 2 CPU
2. Programming countermeasure
This restriction can be avoided by using any of methods (1) to (3) below.
(1) Do not execute an instruction sequence conforming to condition b. above in on-chip X/Y
memory.
(2) If an instruction sequence conforming to condition b. above is present in instruction code
and there is no problem if the order of instructions is changed, switch round instructions (2)
and (3).
(3) If an instruction sequence conforming to condition b. above is present in instruction code
and there is a problem with changing the order of instructions, insert one or more NOP
instructions, or CPU instructions unrelated to the multiplier, between instructions (1) and
(2).
Rev. 5.00 Sep 11, 2006 page 97 of 916
REJ09B0332-0500
Section 2 CPU
Rev. 5.00 Sep 11, 2006 page 98 of 916
REJ09B0332-0500
Section 3 Operating Modes
Section 3 Operating Modes
3.1
Operating Mode Selection
The SH7065 has ten operating modes. The settings of the mode pins (MD5 to MD0) determine the
mode in which the chip operates. The mode pin settings must not be changed while the chip is
operating (while power is being supplied).
The method of selecting the operating mode is shown in table 3.1
Table 3.1
Operating Mode Selection
MD1*
On-Chip
MD0 ROM
CS0 Bus
Width
(Bits)
0
0
0
Enabled
—
0
0
0
1
Enabled
8/16/32
0
0
1
0
Disabled
32
MCU mode 3
0
0
1
1
Disabled
16
4
MCU mode 4
0
1
0
0
Disabled
8
3
F0*
User program 1
mode (singlechip)
0
0
0
Enabled
—
F1*
User program 1
mode
0
0
1
Enabled
8/16/32
F2*
Boot mode
(single-chip)
1
0
1
0
Enabled
—
F3*
3
F7*
Boot mode
1
*2
0
1
1
Enabled
8/16/32
1
1
1
Enabled
—
—
—
Pin Settings
Operating
Mode No. Mode Name
FWE MD5 MD4 MD3 MD2
0
Single-chip
mode
0
1
MCU mode 1
2
MCU mode 2
3
3
3
3
PROM mode
(programmer
mode)
Other than Reserved
the above (Do not set)
Used for clock
mode selection
1
Notes: 1. In the F-ZTAT version, it is possible to change MD1 during a power-on reset.
2. 0 or 1
3. F0 to F7 can only be used in the F-ZTAT version.
Rev. 5.00 Sep 11, 2006 page 99 of 916
REJ09B0332-0500
0
0
0
0
1
1
1
1
1
2
3
4
5
6
7
1
1
ON
(×1)
OFF
0
1
ON
(×2)
1
0
CK
ON
(×4)
OFF
0
0
CKIO
ON
(×4)
1
ON
(×1)
1
1
0
1
0
ON
(×2)
ON
(×2)
0
0
EXTAL
CKIO,
or crystal CK
resonator
Supply
Source
Input
Hi-Z
Output
Output
Output
Output
Output
Output
H'C0AA
H'C045
H'C0AA
H'C044
H'40AA
H'4045
H'4045
H'4000
×1
×2
×1
×2
×1
×2
×1
×1
×2
×2
×4
×4
×4
×4
×1
×1
×1
×2
×1
×4
×1
×2
×1
×1
×1
×2
×1
×2
×1
×2
×1
×1
×1
×4
×1
×4
×1
×4
×2
×1
Initial
Value of
FRQCR
Register
Initial Clock Ratio
(Input Clock = 1)
PLL
PLL
Initial
Initial
Circuit Circuit State of
State of
Output 1
2
CKIO Pin CK Pin CKM CKP CKE CKIO CK
Clock I/O
Table 3.2
0
Mode
MD5 MD4 MD3
No.
Pin Settings
Section 3 Operating Modes
Table 3.2 shows the correspondence between the settings of mode pins MD5 to MD3 and the
clock operating mode.
Clock Operating Mode Selection
Rev. 5.00 Sep 11, 2006 page 100 of 916
REJ09B0332-0500
Section 3 Operating Modes
3.1.1
Operating Modes
Mode 0 (Single-Chip Mode): In single-chip mode any port can be used, but external addresses
cannot be used.
Mode 1 (MCU Mode 1): In mode 1, on-chip ROM is enabled. The bus width for on-chip ROM
space is 32 bits.
Mode 2 (MCU Mode 2): In mode 2, external memory space with a 32-bit CS0 space bus width is
used.
Mode 3 (MCU Mode 3): In mode 3, external memory space with a 16-bit CS0 space bus width is
used.
Mode 4 (MCU Mode 4): In mode 4, external memory space with an 8-bit CS0 space bus width is
used.
Modes F0 and F1 (User Program Modes): In the user program modes, on-chip flash memory
can be programmed, erased, and verified on-board. For details, see section 19, 256 kB Flash
Memory (F-ZTAT).
Modes F2 and F3 (Boot Modes): In the boot modes, on-chip flash memory can be programmed,
erased, and verified on-board. For details, see section 19, 256 kB Flash Memory (F-ZTAT).
Mode F7 (PROM (Programmer) Mode): In PROM (programmer) mode, on-chip flash memory
can be programmed using a PROM programmer recommended by Renesas. For details, see
section 19, 256 kB Flash Memory (F-ZTAT).
Rev. 5.00 Sep 11, 2006 page 101 of 916
REJ09B0332-0500
Section 3 Operating Modes
3.1.2
Pin Configuration
The functions of pins relating to the operating modes are shown in table 3.3.
Table 3.3
Pin Functions
Pin Name
I/O
Function
MD0
Input
The level at this pin is used in the operating mode specification.
MD1
Input
The level at this pin is used in the operating mode specification.
MD2
Input
The level at this pin is used in the operating mode specification.
MD3
Input
The level at this pin is used in the clock mode specification.
MD4
Input
The level at this pin is used in the clock mode specification.
MD5
Input
The level at this pin is used in the clock mode specification.
FWE
Input
Used for hardware protection against on-chip flash memory
programming/erasing. In the mask ROM version this pin is VSS.
3.1.3
Register Configuration
Table 3.4 summarizes the registers relating to the operating modes.
Table 3.4
Registers
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Mode status register
MSR
R
—
H'FFFF1020
8, 16, 32
Mode control register
MODECR
R/W
H'001C
H'FFFF102A
8, 16, 32
Rev. 5.00 Sep 11, 2006 page 102 of 916
REJ09B0332-0500
Section 3 Operating Modes
3.2
Register Descriptions
3.2.1
Mode Status Register (MSR)
The mode status register (MSR) is a 16-bit read-only register used to monitor the operating mode
status.
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value: Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
MD5
MD4
MD3
MD2
MD1
MD0
—
—
—
—
—
—
R
R
R
R
R
R
Initial value: Undefined Undefined
R/W:
R
R
Bits 15 to 6—Reserved: These bits always return an undefined value when read.
Bits 5 to 0—Mode (MD5 to MD0): These bits indicate the mode pin states in a power-on reset.
Bits 5 to 0:
MD5 to MD0
Description
0 or 1
Indicates the mode pin state
Rev. 5.00 Sep 11, 2006 page 103 of 916
REJ09B0332-0500
Section 3 Operating Modes
3.2.2
Mode Control Register (MODECR)
The mode control register (MODECR) is a 16-bit readable/writable register that selects the onchip ROM access mode.
MODECR is initialized to H'001C by a power-on reset, but is not initialized in standby mode.
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
ROMMD
—
—
—
—
Initial value:
0
0
0
1
1
1
0
0
R/W:
R
R
R
R/W
R
R
R
R
Bits 15 to 5—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 4—ROM Access Mode (ROMMD): Selects the on-chip ROM access mode. Normally, highspeed mode should be used. For details, see section 8.4, Number of Access Cycles (SH7065A),
On-Chip ROM.
Bit 4: ROMMD
Description
0
On-chip ROM is accessed in high-speed mode
1
On-chip ROM is accessed in low-speed mode
(Initial value)
Bits 3 and 2—Reserved: These bits are always read as 1 and should only be written with 1.
Bits 1 and 0—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 104 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Section 4 Clock Pulse Generator (CPG)
and Power-Down Modes
4.1
Overview
The SH7065 has an on-chip clock pulse generator (CPG) which is used to generate the clocks
supplied internally and control the power-down modes. In the power-down modes, the operation
of the on-chip peripheral modules and CPU, or of all functions, is halted. It is also possible to
select a division ratio for the clock supplied to individual modules, even during operation. These
features enable power consumption to be reduced.
4.1.1
Features
The CPG has the following features:
• Eight clock modes
Any of eight clock operating modes can be selected, differentiated by frequency range, power
consumption, and use of a crystal resonator or external clock input.
• Three clocks
The CPG can generate independently a master clock (CKM) used by the CPU, etc., a
peripheral clock (CKP) used by the peripheral modules, and an external bus clock (CKE) used
by the external bus interface.
• Frequency modification function
PLL (phase-locked loop) circuits and frequency dividers in the CPG enable the frequencies of
the master clock, peripheral clock, and external bus clock to be changed independently.
Frequency changes are performed by software in accordance with the settings in the frequency
control register (FRQCR).
The power-down modes include the following modes and functions:
• Power-down mode control
It is possible to stop the clock in sleep mode, software standby mode, and hardware standby
mode, to stop the clock supply to specific modules with the module standby function, and to
divide the frequency of clocks supplied to specific modules with the module clock division
function.
Rev. 5.00 Sep 11, 2006 page 105 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.1.2
Block Diagram of CPG
Figure 4.1 shows a block diagram of the CPG.
Oscillator circuit
CK
(Max. 60 MHz)
CAP1
PLL circuit 1
(×1, ×2)
CKIO
(Max. 60 MHz)
CAP2
XTAL
EXTAL
Crystal
oscillator
PLL circuit 2
(×2, ×4)
Frequency
divider 1
×1
×1/2
×1/4
Master clock
(CKM)
(Max. 60 MHz)
Frequency
divider 2
×1
×1/2
×1/4
Peripheral clock
(CKP)*
(Max. 60 MHz)
Frequency
divider 3
×1
×1/2
×1/4
External bus clock
(CKE)
(Max. 30 MHz)
Frequency
divider 4
×1
×1/2
×1/4
CPG control unit
MD5
MD4
MD3
Clock mode/
clock output
control circuit
Standby
control circuit
Frequency
control register
Standby
control register
Standby control
Bus interface
Internal bus
Note: * Peripheral clock CKP is divided by the module clock division function before being input to individual
modules. The maximum operating frequency of the peripheral modules is 30 MHz.
For details, see section 4.14, Module Clock Division Function.
Figure 4.1 Block Diagram of CPG
Rev. 5.00 Sep 11, 2006 page 106 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
The function of each of the CPG blocks is described below.
PLL Circuit 1: PLL circuit 1 has the function of multiplying the frequency of the clock from the
CKIO pin or PLL circuit 2 by a factor of 1 or 2. The phase of the rising edge of the external bus
clock (CKE) is controlled so that it matches the phase of the rising edge at the CKIO pin. The
multiplication factor is determined by the clock operating mode.
PLL Circuit 2: PLL circuit 2 has the function of multiplying the frequency of the input clock
from the crystal oscillator or EXTAL pin by a factor of 2 or 4. The multiplication factor is
determined by the clock operating mode.
Crystal Oscillator: This is the oscillator circuit used when a crystal resonator is connected to the
XTAL and EXTAL pins. Use of the crystal oscillator can be selected by a clock operating mode
setting,
Frequency Divider 1: Frequency divider 1 has the function of generating the master clock
(CKM). The master clock (CKM) operating frequency can be selected from 4, 2, 1, 1/2, or 1/4
times the input clock frequency according to the clock mode. The division ratio is set in the
frequency control register.
Frequency Divider 2: Frequency divider 2 has the function of generating the peripheral clock
(CKP). The peripheral clock (CKP) operating frequency can be selected from 4, 2, 1, 1/2, or 1/4
times the input clock frequency according to the clock mode. The division ratio is set in the
frequency control register.
Frequency Divider 3: Frequency divider 3 has the function of generating the external bus clock
(CKE). The external bus clock (CKE) operating frequency can be selected from 4, 2, 1, 1/2, or 1/4
times the input clock frequency according to the clock mode. The division ratio is set in the
frequency control register.
Frequency Divider 4: Frequency divider 4 has the function of generating external clock output
(CK). The external clock output (CK) operating frequency can be selected from 4, 2, 1, 1/2, or 1/4
times the input clock frequency according to the clock mode. The division ratio is set in the
frequency control register.
Clock Mode/Clock Output Control Circuit: The clock mode/clock output control circuit
controls the clock mode and the clock output from the CK/CKIO pin by means of the frequency
control register.
Standby Control Circuit: The standby control circuit controls the state of the on-chip oscillator
circuit and other modules when the clock is switched and in sleep and standby modes.
Rev. 5.00 Sep 11, 2006 page 107 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Frequency Control Register: The frequency control register contains control bits for on/off
control of the clock output from the CK/CKIO pin, and the frequency division ratios for the master
clock, peripheral clock, external bus clock, and clock output.
Standby Control Register: The standby control register contains power-down mode control bits.
4.1.3
CPG Pin Configuration
Table 4.1 shows the CPG pins and their functions.
Table 4.1
CPG Pins
Pin Name
Abbreviation
I/O
Function
Mode control pins
MD5–MD3
Input
Set clock operating mode.
Crystal input/output pins
(clock input pins)
XTAL
Output
Connects crystal resonator.
EXTAL
Input
Connects crystal resonator, or used as
external clock input pin.
Clock input/output pin
CKIO
I/O
Used as external clock input or external
clock output pin. In output mode, can be
fixed in high-impedance state.
CK
Output
Used as external clock output pin. Can be
fixed in high-impedance state.
CAP1
Input
Connects capacitance (recommended
value: 470 pF) for PLL circuit 1 operation.
CAP2
Input
Connects capacitance (recommended
value: 470 pF) for PLL circuit 2 operation.
PLL capacitance
connection pins
4.1.4
CPG Register Configuration
Table 4.2 shows the CPG register configuration.
Table 4.2
CPG Register
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Frequency control
register
FRQCR
R/W
Depends on
clock mode
H'FFFF 1028
8, 16, 32
Rev. 5.00 Sep 11, 2006 page 108 of 916
REJ09B0332-0500
0
0
0
1
1
1
1
2
3
4
5
6
7
0
1
1
1
ON
(×1)
OFF
1
0
ON
(×2)
0
0
CK
ON
(×4)
OFF
1
1
CKIO
ON
(×4)
ON
(×1)
0
1
EXTAL
CKIO,
or crystal CK
resonator
ON
(×2)
1
0
ON
(×2)
0
0
Input
Hi-Z
Output
Output
Output
Output
Output
Output
H'C0AA
H'C045
H'C0AA
H'C044
H'40AA
H'4045
H'4045
H'4000
×1
×2
×1
×2
×1
×2
×1
×1
×2
×2
×4
×4
×4
×4
×1
×1
×1
×2
×1
×4
×1
×2
×1
×1
×1
×2
×1
×2
×1
×2
×1
×1
×1
×4
×1
×4
×1
×4
×2
×1
FRQCR
Register
Initial
CKM*1 CKP*2 CKE*3 CKIO CK Value
Clock Ratio Initial Value
(Input Clock = 1)
Table 4.3
Notes: 1. Master clock
2. Peripheral clock
3. External bus clock
0
1
Supply
Source
PLL
PLL
CKIO Pin CK Pin
Circuit Circuit Initial
Initial
Output 1
2
State
State
Clock
Input/Output
4.2
0
Mode
MD5 MD4 MD3
No.
Pin Settings
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Clock Operating Modes
Table 4.3 shows the clock operating modes corresponding to various combinations of mode
control pin (MD5 to MD3) settings.
Clock Operating Mode Settings
Rev. 5.00 Sep 11, 2006 page 109 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Modes 0 and 1
An external clock is input from the EXTAL pin, or a crystal resonator is connected, and PLL
circuits 1 and 2 operate. The frequency multiplication factor is fixed at 2 for both PLL circuit 1
and PLL circuit 2.
When the CKE clock is multiplied by 2 by means of a setting in the frequency control register
(FRQCR), a clock in phase with the CKE clock is output from the CKIO pin. When the CKE
clock is multiplied by 4, switching of CKIO output coincides with the rise of the CKE clock.
When the CKE clock is multiplied by 1, the rise of the CKIO output coincides with switching of
the CKE clock.
A clock with the frequency set by FRQCR (without phase coordination) is output from the CK
pin.
The CK pin can be set to the high-impedance state by means of a setting in FRQCR.
Modes 2 and 3
An external clock is input from the EXTAL pin, or a crystal resonator is connected, and PLL
circuits 1 and 2 operate. The frequency multiplication factor is fixed at 1 for PLL circuit 1 and 4
for PLL circuit 2.
When the CKE clock is multiplied by 4 by means of a setting in the frequency control register
(FRQCR), a clock in phase with the CKE clock is output from the CKIO pin. When the CKE
clock is multiplied by 1 or 2, the rise of the CKIO output coincides with switching of the CKE
clock.
A clock with the frequency set by FRQCR (without phase coordination) is output from the CK
pin.
The CK pin can be set to the high-impedance state by means of a setting in FRQCR.
Modes 4 and 5
An external clock is input from the EXTAL pin, or a crystal resonator is connected, and PLL
circuit 2 operates. The frequency multiplication factor is fixed at 4.
The CKIO pin is in the high-impedance state. PLL circuit 1 is off, and phase coordination is not
performed.
Rev. 5.00 Sep 11, 2006 page 110 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
A clock with the frequency set by FRQCR (without phase coordination) is output from the CK
pin.
The CK pin can be set to the high-impedance state and a clock output from the CKIO pin by
means of settings in FRQCR.
Mode 6
An external clock is input from the CKIO pin, and PLL circuit 1 operates. The frequency
multiplication factor is fixed at 2. PLL circuit 2 is off.
When the CKE clock is multiplied by 1 by means of a setting in FRQCR, a CKE clock in phase
with the CKIO pin is output. When the CKE clock is multiplied by 1/2, the rise of the CKIO
output coincides with switching of the CKE clock. When the CKE clock is multiplied by 2,
switching of CKIO output coincides with the rise of the CKE clock.
A clock with the frequency set by FRQCR (without phase coordination) is output from the CK
pin.
The CK pin can be set to the high-impedance state by means of a setting in FRQCR.
Mode 7
An external clock is input from the CKIO pin, and PLL circuit 1 operates. The frequency
multiplication factor is fixed at 1. PLL circuit 2 is off.
When the CKE clock is multiplied by 1 by means of a setting in FRQCR, a CKE clock in phase
with the CKIO pin is output. When the CKE clock is multiplied by 1/2 or 1/4, the rise of the CKIO
output coincides with switching of the CKE clock.
A clock with the frequency set by FRQCR (without phase coordination) is output from the CK
pin.
The CK pin can be set to the high-impedance state by means of a setting in FRQCR.
Rev. 5.00 Sep 11, 2006 page 111 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.3
CPG Register Description
4.3.1
Frequency Control Register (FRQCR)
The frequency control register (FRQCR) is a 16-bit readable/writable register used for on/off
control of clock output from the CKIO/CK pin, and specification of the frequency division ratios
for the master clock, peripheral clock, external bus clock, and clock output.
FRQCR is initialized to a value determined by the clock mode in a power-on reset, but is not
initialized in standby mode.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
CKIOOE
CKOE
—
—
—
—
—
—
—
1
0
0
0
0
0
0
R/W
R/W
R
R
R
R
R
R
7
6
5
4
3
2
1
0
FR7
FR6
FR5
FR4
FR3
FR2
FR1
FR0
—
—
—
—
—
—
—
—
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 15—CKIO Output Enable (CKIOOE): Specifies whether the CKIO pin outputs a clock or
goes to the high-impedance state. The initial value is determined by the clock operating mode. In
clock modes 6 and 7, CKIO is an input pin, and the initial value of this bit is 0.
Do not write 0 to this bit in clock operating mode 0, 1, 2, or 3, and do not write 1 in clock
operating mode 6 or 7.
Bit 15: CKIOOE
Description
0
CKIO pin goes to high-impedance state
(initial value in clock operating modes 4, 5, 6, and 7)
1
CKIO pin outputs a clock
(initial value in clock operating modes 0, 1, 2, and 3)
Rev. 5.00 Sep 11, 2006 page 112 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Bit 14—CK Output Enable (CKOE): Specifies whether the CK pin outputs a clock or goes to
the high-impedance state.
Bit 14: CKOE
Description
0
CK pin goes to high-impedance state
1
CK pin outputs a clock
(Initial value)
Bits 13 to 8—Reserved: These bits are always read as 0, and should only be written with 0.
Bits 7 to 0—Frequency Setting (FR7 to FR0): These bits set the frequency of the master clock
(CKM), peripheral clock (CKP), external bus clock (CKE), and clock output (CK). The initial
value is determined by the clock operating mode.
Table 4.8 shows settings of FR7 to FR0 and the corresponding frequency ratios of the master
clock (CKM), peripheral clock (CKP), external bus clock (CKE), clock output (CK), and CKIO
pin, taking the external input clock frequency as 1.
Table 4.4
Frequency Divider 1 Control (CKM)
FR5
FR4
Frequency Divider 1 Control
0
0
×1
1
×1/2
1
Table 4.5
0
×1/4
1
Do not set
Frequency Divider 2 Control (CKP)
FR3
FR2
Frequency Divider 2 Control
0
0
×1
1
×1/2
0
×1/4
1
Do not set
1
Rev. 5.00 Sep 11, 2006 page 113 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Table 4.6
Frequency Divider 3 Control (CKE)
FR1
FR0
Frequency Divider 3 Control
0
0
×1
1
×1/2
0
×1/4
1
Do not set
1
Table 4.7
Frequency Divider 4 Control (CK Pin)
FR7
FR6
Frequency Divider 4 Control
0
0
×1
1
×1/2
0
×1/4
1
Do not set
1
Rev. 5.00 Sep 11, 2006 page 114 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Table 4.8 (1) FR Register Values and Frequency Ratios (Input Clock = 1)
Clock Modes 0 and 1
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
Factor
7
6
5
4
3
2
1
0
FR Register Values
0
0
0
0
0
×2
Clock Input
Frequency
Range
(MHz)
×2
5–15
×4
×4
×4
×2
×4
0
0
0
1
×2
1
0
×1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
0
0
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
×2
1
×4
×2
×1
1
×1
0
×4
×2
×1
0
1
0
0
0
×2
×4
×2
1
×4
×4
×2
×1
1
×1
0
×4
×2
×1
1
0
0
0
0
1
×1
×4
×2
×4
×4
×2
×1
1
0
×1
×4
Rev. 5.00 Sep 11, 2006 page 115 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
FR Register Values
0
1
0
0
0
0
×2
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
×2
5–15
×2
×4
×4
×2
×4
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
0
1
0
×2
1
×1
0
0
×2
×4
×4
×4
×4
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
0
×2
1
×1
0
0
×1
×4
×4
×4
×4
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
Rev. 5.00 Sep 11, 2006 page 116 of 916
REJ09B0332-0500
×2
×1
×4
×4
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR
cation
7
6
5
4
3
2
1
0
Factor
PLL
Circuit 2
Clock Ratio
MultipliCKM CKP CKE CKIO CK
cation
Factor
Clock Input
Frequency
Range
(MHz)
0
0
×2
5–15
0
1
1
0
0
0
0
1
×2
1
0
×1
FR Register Values
1
0
0
0
0
0
×2
×1
×4
×4
×2
×4
×2
×1
0
1
1
×2
0
0
0
1
×2
1
0
×1
0
1
0
0
0
×1
×4
×2
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
0
1
×2
0
0
×1
×1
×4
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
×2
×1
×4
×4
Rev. 5.00 Sep 11, 2006 page 117 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Notes: The lower and upper limits of the clock input frequency range are determined by the
following conditions:
1. Lower-limit frequency
The output frequency of each PLL before division must be at least 10 MHz. The specific
clock input frequency lower limits are as follows: 2.5 MHz in clock modes 2, 3, 4, and 5
(as the PLL2 multiplication factor is ×4), 5 MHz in clock modes 0 and 1 (as the PLL2
multiplication factor is ×2), 5 MHz also in clock mode 6 (as the PLL1 multiplication factor
is ×2), and 10 MHz in clock mode 7 (as the PLL1 multiplication factor is ×1).
2. Upper-limit frequency
(1) Clock upper limits after division according to FRQCR register setting
CKM ≤ 60 MHz, CKP ≤ 60 MHz, CKE ≤ 30 MHz
(2) Clock upper limits after division according to MCLKCR1-5 register setting
Mφ ≤ 60 MHz, Pφ ≤ 30 MHz
The frequency that satisfies both (1) and (2) above is the clock input frequency upper
limit.
Rev. 5.00 Sep 11, 2006 page 118 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Table 4.8 (2) FR Register Values and Frequency Ratios (Input Clock = 1)
Clock Modes 2 and 3
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
Factor
7
6
5
4
3
2
1
0
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
×4
2.5–15
0
1
×2
1
0
×1
FR Register Values
0
0
0
0
0
0
0
×1
×4
×4
1
×4
×2
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
×2
×1
1
0
×1
×4
×2
×1
0
1
0
0
0
×2
1
×4
×2
×4
0
0
0
1
×4
1
0
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
×2
×1
1
0
×1
×4
×2
×1
1
0
0
0
0
1
×1
×4
×2
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
×2
×1
1
0
×1
×4
Rev. 5.00 Sep 11, 2006 page 119 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
×4
2.5–15
0
1
1
0
0
0
0
1
×2
1
0
×1
FR Register Values
0
1
0
0
0
0
×1
×2
×4
×4
×4
×4
×2
×1
0
1
1
×2
0
0
0
1
×2
1
0
×1
0
1
0
0
0
×1
×4
×2
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
0
1
×2
0
0
×1
×1
×4
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
Rev. 5.00 Sep 11, 2006 page 120 of 916
REJ09B0332-0500
×2
×1
×4
×4
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
FR Register Values
1
0
0
0
0
0
×1
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
×4
2.5–15
0
0
0
1
×1
×4
×4
×4
×4
1
0
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
×2
0
0
0
1
×2
1
0
×1
0
1
0
0
0
×1
×4
×2
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
0
1
×2
0
0
×1
×1
×4
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
×2
×1
×4
×4
Rev. 5.00 Sep 11, 2006 page 121 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Notes: The lower and upper limits of the clock input frequency range are determined by the
following conditions:
1. Lower-limit frequency
The output frequency of each PLL before division must be at least 10 MHz. The specific
clock input frequency lower limits are as follows: 2.5 MHz in clock modes 2, 3, 4, and 5
(as the PLL2 multiplication factor is ×4), 5 MHz in clock modes 0 and 1 (as the PLL2
multiplication factor is ×2), 5 MHz also in clock mode 6 (as the PLL1 multiplication factor
is ×2), and 10 MHz in clock mode 7 (as the PLL1 multiplication factor is ×1).
2. Upper-limit frequency
(1) Clock upper limits after division according to FRQCR register setting
CKM ≤ 60 MHz, CKP ≤ 60 MHz, CKE ≤ 30 MHz
(2) Clock upper limits after division according to MCLKCR1-5 register setting
Mφ ≤ 60 MHz, Pφ ≤ 30 MHz
The frequency that satisfies both (1) and (2) above is the clock input frequency upper
limit.
Rev. 5.00 Sep 11, 2006 page 122 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Table 4.8 (3) FR Register Values and Frequency Ratios (Input Clock = 1)
Clock Modes 4 and 5
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
Factor
7
6
5
4
3
2
1
0
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
×4
2.5–15
0
1
×2
1
0
×1
FR Register Values
0
0
0
0
0
0
0
—
×4
×4
1
×4
×2
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
×2
×1
1
0
×1
×4
×2
×1
0
1
0
0
0
×2
1
×4
×2
×4
0
0
0
1
×4
1
0
0
0
0
1
1
0
0
0
0
1
×2
1
0
×1
×2
×1
1
0
×1
×4
×2
×1
1
0
0
0
0
1
×1
×4
×2
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
×2
×1
1
0
×1
×4
Rev. 5.00 Sep 11, 2006 page 123 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
×4
2.5–15
0
1
1
0
0
0
0
1
×2
1
0
×1
FR Register Values
0
1
0
0
0
0
—
×2
×4
×4
×4
×4
×2
×1
0
1
1
×2
0
0
0
1
×2
1
0
×1
0
1
0
0
0
×1
×4
×2
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
0
1
×2
0
0
×1
×1
×4
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
Rev. 5.00 Sep 11, 2006 page 124 of 916
REJ09B0332-0500
×2
×1
×4
×4
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
×4
2.5–15
0
1
1
0
0
0
0
1
×2
1
0
×1
FR Register Values
1
0
0
0
0
0
—
×1
×4
×4
×4
×4
×2
×1
0
1
1
×2
0
0
0
1
×2
1
0
×1
0
1
0
0
0
×1
×4
×2
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
0
1
×2
0
0
×1
×1
×4
×4
×4
0
0
0
1
×4
1
0
0
0
0
1
×2
1
0
×1
0
0
0
1
×2
1
0
×1
×2
×1
0
1
1
0
×2
×1
×4
×4
Rev. 5.00 Sep 11, 2006 page 125 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Notes: The lower and upper limits of the clock input frequency range are determined by the
following conditions:
1. Lower-limit frequency
The output frequency of each PLL before division must be at least 10 MHz. The specific
clock input frequency lower limits are as follows: 2.5 MHz in clock modes 2, 3, 4, and 5
(as the PLL2 multiplication factor is ×4), 5 MHz in clock modes 0 and 1 (as the PLL2
multiplication factor is ×2), 5 MHz also in clock mode 6 (as the PLL1 multiplication factor
is ×2), and 10 MHz in clock mode 7 (as the PLL1 multiplication factor is ×1).
2. Upper-limit frequency
(1) Clock upper limits after division according to FRQCR register setting
CKM ≤ 60 MHz, CKP ≤ 60 MHz, CKE ≤ 30 MHz
(2) Clock upper limits after division according to MCLKCR1-5 register setting
Mφ ≤ 60 MHz, Pφ ≤ 30 MHz
The frequency that satisfies both (1) and (2) above is the clock input frequency upper
limit.
Rev. 5.00 Sep 11, 2006 page 126 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Table 4.8 (4) FR Register Values and Frequency Ratios (Input Clock = 1)
Clock Mode 6
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
Factor
7
6
5
4
3
2
1
0
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
—
5–30
0
1
×1
1
0
×1/2
FR Register Values
0
0
0
0
0
0
0
×2
×2
×2
1
×2
×1
—
×2
0
0
0
1
×2
1
0
0
0
0
1
1
0
0
0
0
1
×1
1
0
×1/2
×1
×1/2
1
0
×1/2
×2
×1
×1/2
0
1
0
0
0
×1
1
×2
×1
×2
0
0
0
1
×2
1
0
0
0
0
1
1
0
0
0
0
1
×1
1
0
×1/2
×1
×1/2
1
0
×1/2
×2
×1
×1/2
1
0
0
0
0
1
×1/2
×2
×1
×2
0
0
0
1
×2
1
0
0
0
0
1
×1
1
0
×1/2
×1
×1/2
1
0
×1/2
×2
Rev. 5.00 Sep 11, 2006 page 127 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
—
5–30
0
1
1
0
0
0
0
1
×1
1
0
×1/2
FR Register Values
0
1
0
0
0
0
×2
×1
×2
×2
—
×2
×1
×1/2
0
1
1
×1
0
0
0
1
×1
1
0
×1/2
0
1
0
0
0
×1/2
×2
×1
×2
×2
0
0
0
1
×2
1
0
0
0
0
1
×1
1
0
×1/2
0
0
0
1
×1
1
0
×1/2
×1
×1/2
0
1
1
0
0
1
×1
0
0
×1/2
×1/2
×2
×2
×2
0
0
0
1
×2
1
0
0
0
0
1
×1
1
0
×1/2
0
0
0
1
×1
1
0
×1/2
×1
×1/2
0
1
1
0
Rev. 5.00 Sep 11, 2006 page 128 of 916
REJ09B0332-0500
×1
×1/2
×2
×2
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
—
5–30
0
1
1
0
0
0
0
1
×1
1
0
×1/2
FR Register Values
1
0
0
0
0
0
×2
×1/2
×2
×2
—
×2
×1
×1/2
0
1
1
×1
0
0
0
1
×1
1
0
×1/2
0
1
0
0
0
×1/2
×2
×1
×2
×2
0
0
0
1
×2
1
0
0
0
0
1
×1
1
0
×1/2
0
0
0
1
×1
1
0
×1/2
×1
×1/2
0
1
1
0
0
1
×1
0
0
×1/2
×1/2
×2
×2
×2
0
0
0
1
×2
1
0
0
0
0
1
×1
1
0
×1/2
0
0
0
1
×1
1
0
×1/2
×1
×1/2
0
1
1
0
×1
×1/2
×2
×2
Rev. 5.00 Sep 11, 2006 page 129 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Notes: The lower and upper limits of the clock input frequency range are determined by the
following conditions:
1. Lower-limit frequency
The output frequency of each PLL before division must be at least 10 MHz. The specific
clock input frequency lower limits are as follows: 2.5 MHz in clock modes 2, 3, 4, and 5
(as the PLL2 multiplication factor is ×4), 5 MHz in clock modes 0 and 1 (as the PLL2
multiplication factor is ×2), 5 MHz also in clock mode 6 (as the PLL1 multiplication factor
is ×2), and 10 MHz in clock mode 7 (as the PLL1 multiplication factor is ×1).
2. Upper-limit frequency
(1) Clock upper limits after division according to FRQCR register setting
CKM ≤ 60 MHz, CKP ≤ 60 MHz, CKE ≤ 30 MHz
(2) Clock upper limits after division according to MCLKCR1-5 register setting
Mφ ≤ 60 MHz, Pφ ≤ 30 MHz
The frequency that satisfies both (1) and (2) above is the clock input frequency upper
limit.
Rev. 5.00 Sep 11, 2006 page 130 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Table 4.8 (5) FR Register Values and Frequency Ratios (Input Clock = 1)
Clock Mode 7
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
Factor
7
6
5
4
3
2
1
0
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
—
10–30
0
1
×1/2
1
0
×1/4
FR Register Values
0
0
0
0
0
0
0
×1
×1
×1
1
×1
×1/2
—
×1
0
0
0
1
×1
1
0
0
0
0
1
1
0
0
0
0
1
×1/2
1
0
×1/4
×1/2
×1/4
1
0
×1/4
×1
×1/2
×1/4
0
1
0
0
0
×1/2
1
×1
×1/2
×1
0
0
0
1
×1
1
0
0
0
0
1
1
0
0
0
0
1
×1/2
1
0
×1/4
×1/2
×1/4
1
0
×1/4
×1
×1/2
×1/4
1
0
0
0
0
1
×1/4
×1
×1/2
×1
0
0
0
1
×1
1
0
0
0
0
1
×1/2
1
0
×1/4
×1/2
×1/4
1
0
×1/4
×1
Rev. 5.00 Sep 11, 2006 page 131 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
—
10–30
0
1
1
0
0
0
0
1
×1/2
1
0
×1/4
FR Register Values
0
1
0
0
0
0
×1
×1/2
×1
×1
—
×1
×1/2
×1/4
0
1
1
×1/2
0
0
0
1
×1/2
1
0
×1/4
0
1
0
0
0
×1/4
×1
×1/2
×1
×1
0
0
0
1
×1
1
0
0
0
0
1
×1/2
1
0
×1/4
0
0
0
1
×1/2
1
0
×1/4
×1/2
×1/4
0
1
1
0
0
1
×1/2
0
0
×1/4
×1/4
×1
×1
×1
0
0
0
1
×1
1
0
0
0
0
1
×1/2
1
0
×1/4
0
0
0
1
×1/2
1
0
×1/4
×1/2
×1/4
0
1
1
0
Rev. 5.00 Sep 11, 2006 page 132 of 916
REJ09B0332-0500
×1/2
×1/4
×1
×1
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
PLL
Circuit 1
MultipliFR FR FR FR FR FR FR FR cation
7
6
5
4
3
2
1
0
Factor
PLL
Circuit 2
Clock Ratio
Multiplication
Factor
CKM CKP CKE CKIO CK
Clock Input
Frequency
Range
(MHz)
0
0
—
10–30
0
1
1
0
0
0
0
1
×1/2
1
0
×1/4
FR Register Values
1
0
0
0
0
0
×1
×1/4
×1
×1
—
×1
×1/2
×1/4
0
1
1
×1/2
0
0
0
1
×1/2
1
0
×1/4
0
1
0
0
0
×1/4
×1
×1/2
×1
×1
0
0
0
1
×1
1
0
0
0
0
1
×1/2
1
0
×1/4
0
0
0
1
×1/2
1
0
×1/4
×1/2
×1/4
0
1
1
0
0
1
×1/2
0
0
×1/4
×1/4
×1
×1
×1
0
0
0
1
×1
1
0
0
0
0
1
×1/2
1
0
×1/4
0
0
0
1
×1/2
1
0
×1/4
×1/2
×1/4
0
1
1
0
×1/2
×1/4
×1
×1
Rev. 5.00 Sep 11, 2006 page 133 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Notes: The lower and upper limits of the clock input frequency range are determined by the
following conditions:
1. Lower-limit frequency
The output frequency of each PLL before division must be at least 10 MHz. The specific
clock input frequency lower limits are as follows: 2.5 MHz in clock modes 2, 3, 4, and 5
(as the PLL2 multiplication factor is ×4), 5 MHz in clock modes 0 and 1 (as the PLL2
multiplication factor is ×2), 5 MHz also in clock mode 6 (as the PLL1 multiplication factor
is ×2), and 10 MHz in clock mode 7 (as the PLL1 multiplication factor is ×1).
2. Upper-limit frequency
(1) Clock upper limits after division according to FRQCR register setting
CKM ≤ 60 MHz, CKP ≤ 60 MHz, CKE ≤ 30 MHz
(2) Clock upper limits after division according to MCLKCR1-5 register setting
Mφ ≤ 60 MHz, Pφ ≤ 30 MHz
The frequency that satisfies both (1) and (2) above is the clock input frequency upper
limit.
4.4
Changing the Frequency
Changes in the master clock, peripheral clock, external bus clock, and clock output frequencies are
controlled by software by means of the frequency control register.
The method of changing the frequencies is described below.
A frequency change is carried out by writing the required value in bits FR7 to FR0 in the FRQCR
register. The write to FRQCR must be executed by a program in on-chip RAM or on-chip ROM.
Also note that the DMAC must not be used to access FRQCR.
If the frequency ratio of Mφ (the clock resulting from master clock (CKM) division) to CKE (the
external bus clock) changes as a result of the frequency change, after the change FRQCR must be
read before making an external CS space access. (The FRQCR value read at this time will be
undefined.)
Rev. 5.00 Sep 11, 2006 page 134 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.5
Output Clock Control
The CKIO and CK pins can be switched between clock output and the high-impedance state by
means of the CKIOOE and CKOE bits in the FRQCR register. The initial values depend on the
clock mode. Table 4.9 shows the correspondence between the clock mode, the state of the CKIO
and CK pins, and the initial value of the CKIOOE and CKOE bits.
When the CKIOOE and CKOE bits are modified, the CKIO or CK output is changed immediately.
Table 4.9
Clock Modes, CKIO and CK Pin States, and Initial Value of CKIOOE and
CKOE bits
Initial Pin State*
Initial Value
Bit Value
Modification
Clock
Mode
CKIO
CK
CKIOOE CKOE
CKIOOE CKOE
0
External clock output
External clock output
1
1
Not
Possible
possible
1
External clock output
External clock output
1
1
Not
Possible
possible
2
External clock output
External clock output
1
1
Not
Possible
possible
3
External clock output
External clock output
1
1
Not
Possible
possible
4
High impedance
External clock output
0
1
Possible Possible
5
High impedance
External clock output
0
1
Possible Possible
6
Clock input
External clock output
0
1
Not
Possible
possible
7
Clock input
External clock output
0
1
Not
Possible
possible
Note:
*
If hardware standby mode is entered after power is applied without executing a poweron reset, the pin states will be undefined. In this case, the RES pin must be driven low
in hardware standby mode in order to fix the initial pin states according to the clock
mode. When hardware standby mode is entered after a power-on reset, the prior pin
states are retained.
Rev. 5.00 Sep 11, 2006 page 135 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.6
Oscillator
There are two ways of supplying a clock: by connecting a crystal resonator and by inputting an
external clock.
4.6.1
Connecting a Crystal Resonator
Figure 4.2 shows an example of crystal resonator connection. The values of damping resistance Rd
and load capacitances CL1 and CL2 should be decided after investigating the components in
collaboration with the manufacturer of the crystal resonator to be used. The crystal resonator
should be an AT-cut parallel-resonance type. Place the crystal resonator and its load capacitors as
close as possible to the XTAL and EXTAL pins.
Other signal lines should be routed away from the oscillator circuit to prevent induction from
interfering with correct oscillation.
Reference Values:
CL1 = CL2 = 22pF
CKIO
Damping Resistance
Frequency (MHz)
Rd (Ω)
4
10
15
500
200
0
Output or high
impedance
CL1
EXTAL
CL2
XTAL
Rd
Notes: 1. The CKIO pin is an output in clock modes 0, 1, 2, and 3, and is high-impedance
in clock modes 4 and 5.
2. The values of CL1 and CL2 and damping resistance Rd should be decided after
consultation with the manufacturer of the crystal resonator to be used.
Figure 4.2 Example of Crystal Resonator Connection
Rev. 5.00 Sep 11, 2006 page 136 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.6.2
External Clock Input Methods
An external clock is input from the EXTAL pin or the CKIO pin, depending on the clock mode.
Clock Input from EXTAL Pin
This method can be used in clock modes 0, 1, 2, 3, 4, and 5.
The CKIO pin is an output in clock modes
0, 1, 2, and 3, and is high-impedance
in clock modes 4 and 5.
Output or
high-impedance
CKIO
External clock input
EXTAL
Open
XTAL
Figure 4.3 External Clock Input Method
Clock Input from CKIO Pin
This method can be used in clock modes 6 and 7.
External Clock Input
CKIO
EXTAL
Open
XTAL
Open
Figure 4.4 External Clock Input Method
Rev. 5.00 Sep 11, 2006 page 137 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.6.3
Notes on Board Design
When Using a Crystal Resonator
Place the crystal resonator, capacitors CL1 and CL2, and damping resistance Rd as close as
possible to the EXTAL and XTAL pins. To prevent induction from interfering with correct
oscillation, use a common grounding point for the capacitors connected to the resonator, and do
not locate a wiring pattern near these components.
Avoid crossing signal lines
CL1
CL2
Rd
EXTAL
XTAL
Note: The values for CL1, CL2, and the damping resistance should be determined after
consultation with the crystal resonator manufacturer.
Figure 4.5 Points for Attention when Using Crystal Resonator
Rev. 5.00 Sep 11, 2006 page 138 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Bypass Capacitors
As far as possible, insert a laminated ceramic capacitor of 0.01 to 0.1 µF as a bypass capacitor for
each VSS/VCC pair. Mount the bypass capacitors as close as possible to the SH7065’s power supply
pins, and use components with a frequency characteristic suitable for the SH7065 operating
frequency, as well as a suitable capacitance value.
Table 4.10 Bypass Capacitor Power Supply Pairs (Recommended)
PLLVCC Pair
129(PLLVCC)—132(PLLVSS)
(See figure 4.6)
AVCC Pair
PVCC Pair
159(AVCC)—148(AVSS)
(See figure 15.8)
5(PVCC)—1(PVSS)
173(PVCC)—166(PVSS)
VCC Pair
17(VCC)—21(VSS)
39(VCC)—38(VSS)
58(VCC)—54(VSS)
70(VCC)—64(VSS)
48(VCC)—45(VSS)
79(VCC)—76(VSS)
118(VCC)—124(VSS)
92(VCC)—89(VSS)
105(VCC)—101(VSS)
—
26(VCC)—31(VSS)
—
140(VCC)—135(VSS)
Note: Priority order for inserting bypass capacitors:
: Must be inserted
: Insert as far as possible
: Insert if possible
Rev. 5.00 Sep 11, 2006 page 139 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
When Using PLL Oscillator Circuits
Keep the wiring from the PLL VCC and VSS connection pattern to the power supply pins short, and
make the pattern width large, to minimize the inductance component.
Ground the oscillation stabilization capacitors C1 and C2 to VSS (PLL). Place C1 and C2 close to
the CAP1 and CAP2 pins and do not locate a wiring pattern in the vicinity.
Avoid crossing signal lines
PLLVSS
C2
Power supply
VSS
C1
PLLCAP2
Bypass
capacitor
PLLCAP1
VCC
PLLVCC
Reference values:
C1 = (470) pF
C2 = (470) pF
Figure 4.6 Points for Attention when Using PLL Oscillator Circuits
Table 4.11 Capacitance Values (For Reference)
Capacitance
Value
Mode 0
Mode 1
Mode 2
Mode 4
Mode 5
Mode 6
C1 = 470 pF
Required Required Required Required Not
required
Not
required
Required Required
C2 = 470 pF
Required Required Required Required Required Required Not
required
Rev. 5.00 Sep 11, 2006 page 140 of 916
REJ09B0332-0500
Mode 3
Mode 7
Not
required
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.7
Oscillation Stoppage Detection Function
This CPG is provided with a function that automatically places the timer pins in the highimpedance state when it detects clock stoppage to provide for cases where the oscillator halts due
to a system error of some kind. If the CPG detects a change in EXTAL or CKIO due to an
oscillator fault or stoppage of the external clock, it places the MMT (motor management timer) 6phase output pins multiplexed with port E*1 and the MMT 6-phase output pins multiplexed with
port D*2 in the high-impedance state.
Note that, in a software standby state transition, the pin states of the MMT 6-phase output pins
multiplexed with port E*1 and the MMT 6-phase output pins multiplexed with port D*2 differ as
shown below according to the setting of bit 6 (HIZ) in the standby control register (SBYCR).
1. MMT 6-phase output pins multiplexed with port E*1
These pins go to the high-impedance state regardless of the setting of bit 6 in SBYCR and PFC
settings.
2. MMT 6-phase output pins multiplexed with port D*2
These pins go to the high-impedance state when a function other than the data bus function is
selected by a PFC setting, and when the setting of bit 6 in SBYCR is 1 (HIZ setting). When the
setting of bit 6 in SBYCR is 0, the previous pin states are retained. When the data bus function
is selected, the pins always go to the high-impedance state.
While external clock oscillation is stopped, other chip operations are undefined. Also, when
external clock oscillation is restarted after being stopped, chip operations, including those of the
above 12 pins, are undefined. A power-on reset must therefore be executed when resuming chip
operation.
Notes: 1. PE23/IRQ7/PWOB, PE22/IRQ6/PVOB, PE21/IRQ5/PUOB, PE19/IRQ3/PWOA,
PE18/IRQ2/PVOA, PE17/IRQ1/PUOA/SCK0
2. PD26/D26/PWOB, PD25/D25/PVOB, PD24/D24/PUOB, PD22/D22/PWOA/SCK0,
PD21/D21/PVOA/IRQ7, PD20/D20/PUOA/IRQ6
Rev. 5.00 Sep 11, 2006 page 141 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.8
Power-Down Modes
4.8.1
States in Power-Down Modes
Table 4.12 shows the conditions for entering the power-down modes from the program execution
state, the state of the CPU and peripheral modules in each mode, and the method of exiting each
mode.
Table 4.12 State of CPU and Peripheral Modules in Power-Down Modes
State
PowerDown
Mode
Sleep
Software
standby
Entering
Conditions CPG
SLEEP
instruction
executed
while SBY
bit is 0 in
SBYCR
Operating
SLEEP
instruction
executed
while SBY
bit is 1 in
SBYCR
Halted
CPU
CPU
On-Chip
Registers Memory
On-chip
Peripheral
Modules Pins
Refresh
Exiting
Operations Conditions
Halted
Held
Operating
Refreshing
Held
Operating
1. Interrupt
2. DMA address
error
3. Power-on
reset
Halted
Held
Held
Halted
Halted or Selfhigh
refreshing
impedance
1. NMI interrupt
2. Power-on
reset
Hardware Low-level
Halted
standby
input to
HSTBY pin
Halted
Undefined Held
Halted
High
Refreshing
impedance not
possible
High-level input
to HSTBY pin
during low-level
input to RES pin
Module
standby
function
Setting
MSTP bit
to 1 in
MSTPCR
Operating
Operating
Held
Specified
modules
halted*
Held or
initialized
1. Clearing
MSTP bit to 0
Module
clock
division
Setting
MCLK bit
to 1 in
MCLKCR
Clock to module corresponding to MCLK bit is further divided from master clock
(CKM) or peripheral clock (CKP) set in CPG before being supplied
Note:
*
Held
Refreshing
2. Power-on
reset
1. Setting
MCLK bit to
initial value
2. Power-on
reset
See section 4.9.2, Module Stop Control Registers 1 and 2 (MSTPCR1, MSTPCR2).
Rev. 5.00 Sep 11, 2006 page 142 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Register Configuration
Table 4.13 shows the registers used for power-down mode control.
Table 4.13 Power-Down Mode Registers
Name
Abbreviation
R/W
Initial Value
Address
Access
Size
Standby control
register
SBYCR
R/W
H'1F
H'FFFF 1004
8, 16, 32
Module stop control
register 1
MSTPCR1
R/W
H'0000
H'FFFF 1030
8, 16, 32
Module stop control
register 2
MSTPCR2
R/W
H'0000
H'FFFF 1032
8, 16, 32
Module clock control
register 1
MCLKCR1
R/W
H'8888 (clock modes 1, 3, 5, 6)
H'FFFF 1034
8, 16, 32
Module clock control
register 2
MCLKCR2
R/W
H'FFFF 1036
8, 16, 32
Module clock control
register 3
MCLKCR3
R/W
H'FFFF 1038
8, 16, 32
Module clock control
register 4
MCLKCR4
R/W
H'FFFF 103A
8, 16, 32
Module clock control
register 5
MCLKCR5
R/W
H'CCCC (clock modes 1, 3, 5, 6) H'FFFF 103C
8, 16, 32
4.8.2
H'FFFF (clock modes 0, 2, 4, 7)
H'8888 (clock modes 1, 3, 5, 6)
H'FFFF (clock modes 0, 2, 4, 7)
H'8888 (clock modes 1, 3, 5, 6)
H'FFFF (clock modes 0, 2, 4, 7)
H'8888 (clock modes 1, 3, 5, 6)
H'FFFF (clock modes 0, 2, 4, 7)
H'FFFF (clock modes 0, 2, 4, 7)
Pin Configuration
Table 4.14 shows the pin used for power-down mode control.
Table 4.14 Power-Down Mode Pin
Pin Name
Abbreviation
I/O
Function
Hardware standby pin
HSTBY
Input
Low-level input to this pin places the
chip in the hardware standby state.
Rev. 5.00 Sep 11, 2006 page 143 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.9
Register Descriptions
4.9.1
Standby Control Register (SBYCR)
The standby control register (SBYCR) is an 8-bit readable/writable register that specifies the
power-down mode status.
SBYCR is initialized to H'1F by a power-on reset, but is not initialized in software standby mode.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
SBY
HIZ
—
—
—
—
—
—
0
0
0
1
1
1
1
1
R/W
R/W
R
R
R
R
R
R
Bit 7—Software Standby (SBY): Specifies a transition to software standby mode. The SBY bit
cannot be set to 1 while the watchdog timer (WDT) is operating (while the timer enable bit (TME)
is set to 1 in the watchdog timer’s timer control/status register (TCSR)). When making a transition
to software standby mode, the watchdog timer must be stopped by clearing the TME bit to 0
before the SBY bit is set.
Bit 7: SBY
Description
0
Transition to sleep mode on execution of SLEEP instruction
1
Transition to software standby mode on execution of SLEEP instruction
(Initial value)
Bit 6—Port High Impedance (HIZ): Selects whether specific output pins retain their state or
become high-impedance in software standby mode. See appendix B, Pin States, for the pins that
are controlled. The HIZ bit cannot be set to 1 when the TME bit is set to 1 in the watchdog timer’s
TCSR register. To set output pins to the high-impedance state, the TME bit must be cleared to 0
before the HIZ bit is set.
Bit 6: HIZ
Description
0
Pin state retained in software standby mode
1
Pins go to high-impedance state in software standby mode
(Initial value)
Bit 5—Reserved: This bit is always read as 0 and should only be written with 0.
Bits 4 to 0—Reserved: These bits are always read as 1 and should only be written with 1.
Rev. 5.00 Sep 11, 2006 page 144 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.9.2
Module Stop Control Registers 1 and 2 (MSTPCR1, MSTPCR2)
Module stop control registers 1 and 2 (MSTPCR1, MSTPCR2) are 16-bit readable/writable
registers that specify the module stop mode status.
MSTPCR1 and MSTPCR2 are initialized to H'0000 by a power-on reset, but are not initialized in
software standby mode.
MSTPCR1
Bit:
15
14
13
12
11
10
9
MSTP15 MSTP14 MSTP13 MSTP12 MSTP11 MSTP10 MSTP9
Initial value:
R/W:
Bit:
Initial value:
R/W:
8
MSTP8
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
MSTP7
MSTP6
MSTP5
MSTP4
MSTP3
MSTP2
MSTP1
MSTP0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
MSTPCR2
Bit:
MSTP31 MSTP30 MSTP29 MSTP28 MSTP27 MSTP26 MSTP25 MSTP24
Initial value:
R/W:
Bit:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
MSTP23 MSTP22 MSTP21 MSTP20 MSTP19 MSTP18 MSTP17 MSTP16
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 15 to 0—Module Stop 31 to 0 (MSTP31 to MSTP0): These bits specify stoppage of the
clock supply to the corresponding modules. See table 4.16 for the correspondence between the
register bits and modules.
Rev. 5.00 Sep 11, 2006 page 145 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Bits 15 to 0:
MSTP31 to MSTP0
Description
0
Clock is supplied to corresponding module
1
Clock supply to corresponding module is stopped
4.9.3
(Initial value)
Module Clock Control Registers 1 to 5 (MCLKCR1 to MCLKCR5)
Module clock control registers 1 to 5 (MCLKCR1 to MCLKCR5) are 16-bit readable/writable
registers that specify the division ratio for the clocks supplied to the modules.
Registers MCLKCR1 to MCLKCR5 are initialized to a value determined by the clock mode in a
power-on reset, but are not initialized in software standby mode.
MCLKCR1
Bit:
15
14
13
12
11
10
9
8
—
MCLK
032
MCLK
031
MCLK
030
—
MCLK
022
MCLK
021
MCLK
020
Initial value:
1
—
—
—
1
—
—
—
R/W:
R
R/W
R/W
R/W
R
R/W
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
—
MCLK
012
MCLK
011
MCLK
010
—
MCLK
002
MCLK
001
MCLK
000
Initial value:
1
—
—
—
1
—
—
—
R/W:
R
R/W
R/W
R/W
R
R/W
R/W
R/W
15
14
13
12
11
10
9
8
—
MCLK
072
MCLK
071
MCLK
070
—
MCLK
062
MCLK
061
MCLK
060
Initial value:
1
—
—
—
1
—
—
—
R/W:
R
R/W
R/W
R/W
R
R/W
R/W
R/W
MCLKCR2
Bit:
Rev. 5.00 Sep 11, 2006 page 146 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Bit:
7
6
5
4
3
2
1
0
—
MCLK
052
MCLK
051
MCLK
050
—
MCLK
042
MCLK
041
MCLK
040
Initial value:
1
—
—
—
1
—
—
—
R/W:
R
R/W
R/W
R/W
R
R/W
R/W
R/W
15
14
13
12
11
10
9
8
—
MCLK
112
MCLK
111
MCLK
110
—
MCLK
102
MCLK
101
MCLK
100
Initial value:
1
—
—
—
1
—
—
—
R/W:
R
R/W
R/W
R/W
R
R/W
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
—
MCLK
092
MCLK
091
MCLK
090
—
MCLK
082
MCLK
081
MCLK
080
Initial value:
1
—
—
—
1
—
—
—
R/W:
R
R/W
R/W
R/W
R
R/W
R/W
R/W
15
14
13
12
11
10
9
8
—
MCLK
152
MCLK
151
MCLK
150
—
MCLK
142
MCLK
141
MCLK
140
Initial value:
1
—
—
—
1
—
—
—
R/W:
R
R/W
R/W
R/W
R
R/W
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
—
MCLK
132
MCLK
131
MCLK
130
—
MCLK
122
MCLK
121
MCLK
120
Initial value:
1
—
—
—
1
—
—
—
R/W:
R
R/W
R/W
R/W
R
R/W
R/W
R/W
MCLKCR3
Bit:
MCLKCR4
Bit:
Rev. 5.00 Sep 11, 2006 page 147 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
MCLKCR5
Bit:
15
14
13
12
11
10
9
8
—
—
MCLK
191
MCLK
190
—
—
MCLK
181
MCLK
180
Initial value:
1
1
—
—
1
1
—
—
R/W:
R
R
R/W
R/W
R
R
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
—
—
MCLK
171
MCLK
170
—
—
MCLK
161
MCLK
160
Initial value:
1
1
—
—
1
1
—
—
R/W:
R
R
R/W
R/W
R
R
R/W
R/W
Bits 15, 11, 7, and 3—Reserved: These bits are always read as 1 and should only be written with
1.
Bits 14, 10, 6, and 2—Reserved (MCLKCK5 only): These bits are always read as 1 and should
only be written with 1.
Other Bits—Module Clock 191 to 000 (MCLK191 to MCLK000): These bits specify the clock
division ratio for the corresponding modules. A clock further divided from the master clock
(CKM) or peripheral clock (CKP) set in the frequency control register (FRQCR) of the clock pulse
generator (CPG) is supplied to the corresponding modules. The initial values depend on the clock
mode. See table 4.18 for the correspondence between the register bits and modules.
• MCLK191 to MCLK160
Bit nn1:
MCLKnn1
Bit nn0:
MCLKnn0
0
0
Clock supplied to module is not divided
(Initial value in clock modes 1, 3, 5, 6)
1
Reserved (Do not set)
0
Clock supplied to module is further divided by 8
1
Clock supplied to module is further divided by 64
(Initial value in clock modes 0, 2, 4, 7)
1
Description
Rev. 5.00 Sep 11, 2006 page 148 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
• MCLK152 to MCLK000
Bit nn2:
MCLKnn2
Bit nn1:
MCLKnn1
Bit nn0:
MCLKnn0
0
0
0
Clock supplied to module is not divided
(Initial value in clock modes 1, 3, 5, 6)
1
Clock supplied to module is further divided by 2
1
0
Clock supplied to module is further divided by 3
1
Clock supplied to module is further divided by 5
0
0
Reserved (Do not set)
1
Reserved (Do not set)
0
Clock supplied to module is further divided by 8
1
Clock supplied to module is further divided by 64
(Initial value in clock modes 0, 2, 4, 7)
1
1
4.10
Sleep Mode
4.10.1
Transition to Sleep Mode
Description
If a SLEEP instruction is executed when the SBY bit in SBYCR is cleared to 0, the chip switches
from the program execution state to sleep mode. After execution of the SLEEP instruction, the
CPU halts but its register contents are retained. The on-chip peripheral modules continue to
operate, and clocks continue to be output from the CKIO and CK pins. In sleep mode, external bus
release requests are not accepted.
The CPU regards the SBYCR write as being executed in one cycle, and performs the next
processing. However, the write actually takes the number of cycles shown in table 8.12 in section
8, Bus State Controller (BSC). To ensure that the value written from the CPU to SBYCR is
reliably reflected in the SLEEP instruction, either read SBYCR or else wait for the number of
cycles shown in table 8.12, before executing the SLEEP instruction.
4.10.2
Exit from Sleep Mode
Sleep mode is exited by means of an interrupt (NMI, IRQ, IRL, or on-chip peripheral module), a
DMAC address error, a power-on reset, or the HSTBY pin.
Exit by Interrupt: When an NMI, IRQ, IRL, or on-chip peripheral module interrupt is generated,
sleep mode is exited and interrupt exception handling is executed. The interrupt request is not
accepted and sleep mode is not exited when the priority level of the generated interrupt is not
Rev. 5.00 Sep 11, 2006 page 149 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
higher than the interrupt mask level set in the CPU’s status register (SR), or when an interrupt
from an on-chip peripheral module is disabled on the module side.
Exit by DMAC Address Error: When a DMAC address error occurs, sleep mode is exited and
DMAC address error exception handling is executed.
Exit by Power-On Reset: When the RES pin is driven low, the SH7065 enters the power-on reset
state and exits sleep mode.
Exit by HSTBY Pin: When the HSTBY pin is driven low, the SH7065 enters the hardware
standby mode state and exits sleep mode.
4.11
Software Standby Mode
4.11.1
Transition to Software Standby Mode
If a SLEEP instruction is executed when the SBY bit in SBYCR is set to 1, the chip switches from
the program execution state to software standby mode. In software standby mode, the clock and
on-chip peripheral modules halt as well as the CPU, reducing power consumption to an extremely
low level. Clock output from the CKIO and CK pins is also stopped.
CPU register contents and data in on-chip RAM are retained. Some on-chip peripheral module
registers are initialized. The state of the peripheral module registers in software standby mode is
shown in table 4.15. See appendix B, Pin States, for the pin states.
The CPU regards the SBYCR write as being executed in one cycle, and performs the next
processing. However, the write actually takes the number of cycles shown in table 8.12 in section
8, Bus State Controller (BSC). To ensure that the value written from the CPU to SBYCR is
reliably reflected in the SLEEP instruction, either read SBYCR or else wait for the number of
cycles shown in table 8.12, before executing the SLEEP instruction.
In the software standby state, external bus address/data/bus control signals (except DRAM signals)
go to the high-impedance state, i.e. the bus-released state. In the software standby state, the BREQ
bus release request input signal is ignored. Note that the following two cases apply to the BACK
bus use enable output signal.
1. Transition from bus-released state (BREQ input asserted low) to software standby state
When the bus release request signal (BREQ) is asserted low in the normal state, the BACK pin
is set to low output, indicating that the bus has been released. If the software standby state is
entered in this state, BACK output goes high, but other address, data, and bus control signals
remain in the high-impedance state, i.e. the bus-released state. If the software standby state is
Rev. 5.00 Sep 11, 2006 page 150 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
exited while BREQ input is still asserted, BACK output goes low and the bus-released state is
maintained. If software standby is exited while BREQ input is negated, BACK output goes
high and the chip returns to the normal state (in which the bus is not released).
2. Transition from normal state (BREQ input negated high) to software standby state
When a transition is made from the normal state to the software standby state, BACK output
goes to the Z (high-impedance) state, and the external bus goes to the high-impedance state,
i.e. the bus-released state. If this state is exited while BREQ input is negated, BACK output
returns to the high level. If BREQ input is in the asserted state when software standby is
exited, BACK is output high for 1.5 external clock (CKE) cycles, and then returns to the low
level, i.e. the bus-released state.
Table 4.15 State of Registers in Software Standby Mode
Module
Initialized Registers
Registers Retaining
Contents
Interrupt controller (INTC)
—
All registers
User break controller (UBC)
—
All registers
Bus state controller (BSC)
—
All registers
Clock pulse generator (CPG)
—
All registers
Direct memory access controller
(DMAC)
All registers
—
Timer pulse unit (TPU)
All registers
—
Motor management timer (MMT)
All registers
—
Watchdog timer (WDT)
• OVF, WT/IT, and TME
bits in TCSR register
• Bits CKS2 to CKS0 in
TCSR register
• RSTCSR register
• TCNT registers
All registers
—
Serial communication interface (SCI)
A/D converter (A/D)
All registers
—
D/A converter (D/A)
All registers
—
Compare match timer (CMT)
All registers
—
Pin function controller (PFC)
—
All registers
I/O ports (I/O)
—
All registers
Power-down mode related modules
—
All registers
Rev. 5.00 Sep 11, 2006 page 151 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.11.2
Exit from Software Standby Mode
Software standby mode is exited by means of a power-on reset or the HSTBY pin.
Exit by NMI Interrupt: When a falling edge or rising edge (as selected with the NMI edge select
bit (NMIE) in interrupt control register 1 (ICR1) of the interrupt controller (INTC)) is detected in
the NMI signal, clock oscillation is started. This clock is supplied only to the watchdog timer
(WDT). When the time set in the clock select bits (CKS2 to CKS0) in the WDT’s timer
control/status register (TCSR) before entering software standby mode has elapsed, WDT overflow
occurs. This overflow is taken as an indication that the clock has settled, and the clock is then
supplied to the entire chip. Software standby mode is thus exited and NMI exception handling is
begun.
When exiting software standby mode by means of an NMI interrupt, set bit CKS2 to CKS0 so that
the WDT overflow period is at least as long as the oscillation settling time.
When exiting software standby mode with the NMI pin designated for falling edge detection,
ensure that the NMI pin level goes high when software standby mode is entered (when the clock is
stopped) and low when recovering from software standby mode (when the clock is restarted after
the oscillation settling time). When exiting software standby mode with the NMI pin designated
for rising edge detection, ensure that the NMI pin level goes low when software standby mode is
entered (when the clock is stopped) and high when recovering from software standby mode (when
the clock is restarted after the oscillation settling time).
Exit by Power-On Reset: When the RES pin is driven low, the SH7065 enters the power-on reset
state and exits software standby mode. The RES pin must be held low until clock oscillation
settles.
Exit by HSTBY Pin: When the HSTBY pin is driven low, the SH7065 enters the hardware
standby mode state and exits software standby mode.
Rev. 5.00 Sep 11, 2006 page 152 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.11.3
Software Standby Mode Application Example
In the following example, software standby mode is entered at a falling edge on the NMI pin, and
exited at a rising edge. The timing for this example is shown in figure 4.7.
When the NMI pin level changes from high to low while the NMI edge select bit (NMIE) is
cleared to 0 (falling edge detection) in the interrupt control register 1 (ICR1), an NMI interrupt is
accepted. When the NMIE bit is set to 1 (rising edge detection), the standby bit (SBY) in the
standby control register is set to 1, and a SLEEP instruction is executed in the NMI exception
service routine, a transition is made to standby mode. When the NMI pin level is subsequently
changed from low to high, software standby mode is exited.
After the NMI pin level is changed to high, keep the high level until the NMI exception handling
starts.
Oscillator
CK
NMI
NMIE
SBY
Oscillation
settling time
Exception
service routine
NMI
exception SBY = 1
handling SLEEP instruction
Standby
mode
WDT set
time
NMI exception
handling
Oscillation
start time
Figure 4.7 NMI Timing in Standby Mode (Application Example)
Rev. 5.00 Sep 11, 2006 page 153 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.12
Hardware Standby Mode
4.12.1
Transition to Hardware Standby Mode
Regardless of its current state, the chip enters hardware standby mode whenever the HSTBY pin is
driven low.
Hardware standby mode reduces power consumption drastically by resetting and halting all
functions. As long as the specified voltage is supplied, on-chip RAM data is retained. However,
on-chip RAM contents may be lost if an access to on-chip RAM has been initiated when the
hardware standby state is entered. To retain RAM contents, the clock supply to RAM should be
halted with the module standby function before entering the hardware standby state. I/O ports are
placed in the high-impedance state.
The level of the mode pins (MD5 to MD0) should not be changed during hardware standby mode.
4.12.2
Exit from Hardware Standby Mode
Hardware standby mode is exited by means of the HSTBY and RES pins.
When HSTBY is driven high while RES is low, the power-on reset state is entered and hardware
standby mode is exited. The RES pin must be held low until clock oscillation settles.
4.12.3
Hardware Standby Mode Timing
Figure 4.8 shows the timing relationships for hardware standby mode.
To enter hardware standby mode, first drive RES low, then drive HSTBY low. To exit hardware
standby mode, first drive HSTBY high, wait for the clock to settle, then bring RES from low to
high.
Rev. 5.00 Sep 11, 2006 page 154 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Oscillator
RES
HSTBY
Oscillation
settling time
Reset exception
handling
Figure 4.8 Hardware Standby Mode Timing
4.13
Module Standby Function
4.13.1
Transition to Module Standby Function
Setting an MSTP bit to 1 in module stop mode control register 1 or 2 (MSTPCR1, MSTPCR2)
enables the clock supply to the corresponding on-chip peripheral module to be halted. Use of this
function allows power consumption to be reduced in normal operation and in sleep mode.
The correspondence between the MSTP bits and on-chip peripheral modules is shown in table
4.16.
In the module standby state, the SCI and A/D registers are initialized. Other registers retain their
states prior to halting of the module.
Registers of modules set to the module standby state cannot be read or written to.
Rev. 5.00 Sep 11, 2006 page 155 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Table 4.16 MSTP Bits and Corresponding On-Chip Peripheral Modules
Bit*
Description
MSTP31
X-RAM and Y-RAM
MSTP30
On-chip ROM
MSTP29
—
MSTP28
User break controller (UBC)
MSTP27
Direct memory access controller (DMAC)
MSTP26
—
MSTP25
—
MSTP24
—
MSTP23
—
MSTP22
—
MSTP21
—
MSTP20
—
MSTP19
—
MSTP18
—
MSTP17
—
MSTP16
—
MSTP15
Serial communication interface (SCI) channel 0
MSTP14
Serial communication interface (SCI) channel 1
MSTP13
Serial communication interface (SCI) channel 2
MSTP12
—
MSTP11
Compare match timer (CMT)
MSTP10
—
MSTP9
Motor management timer (MMT)
MSTP8
Port output enable (POE)
MSTP7
Timer pulse unit (TPU)
MSTP6
A/D converter (A/D)
MSTP5
D/A converter (D/A)
MSTP4
—
MSTP3
—
MSTP2
—
MSTP1
—
MSTP0
—
Note:
*
Bits to which an on-chip peripheral module is not assigned must be written with 0.
Rev. 5.00 Sep 11, 2006 page 156 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.13.2
Exit from Module Standby Function
The module standby function is exited by clearing the MSTP bits to 0, or by a power-on reset.
When the X-RAM/Y-RAM or on-chip ROM module standby function is exited by modification of
the module stop control register (MSTPCR2), following the register modification at least one
MSTPCR2 register read must be performed before the above memory is accessed.
4.14
Module Clock Division Function
4.14.1
Clock Definitions
Definitions of the clocks used by the SH7065 are given in tables 4.17 and 4.18, and figure 4.9.
Table 4.17 Definitions of Internal Clocks
Abbreviation
Name
CKM
Master clock
CKP
Peripheral clock
CKE
External bus clock
Table 4.18 Definitions of Divided Clocks
Abbreviation
Name
Mφ
Clock supplied to modules after division of master clock (CKM)
Pφ
Clock supplied to modules after division of peripheral clock (CKP)
Rev. 5.00 Sep 11, 2006 page 157 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
CKM
CKP
×1
×1/8
×1/64
×1
×1/2
×1/3
×1/5
×1/8
×1/64
Mφ
(CPU)
(WDT)
(DMAC)
(ROM)
(X-RAM)
(Y-RAM)
(UBC)
Pφ
(SCI0)
(SCI1)
(SCI2)
(CMT)
(MMT)
(POE)
(TPU)
(A/D)
(D/A)
Figure 4.9 Divided Clocks and Corresponding Modules
4.14.2
Transition to Module Clock Division Function
Setting MCLK bits in module clock control registers 1 to 5 (MCLKCR1 to MCLKCR5) supplies a
clock obtained by further division of the master clock (CKM) or peripheral clock (CKP) set in the
frequency control register (FRQCR) of the clock pulse generator (CPG) to the corresponding
module. Use of this function allows power consumption to be reduced during normal operation.
The correspondence between the MCLK bits and on-chip peripheral modules is shown in table
4.19.
Rev. 5.00 Sep 11, 2006 page 158 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Table 4.19 MCLK Bits and Corresponding On-Chip Peripheral Modules
Bit*
Description
Maximum Operating
Frequency
MCLK191–190
2
CPU*
60 MHz
MCLK181–180
—
—
MCLK171–170
—
—
MCLK161–160
—
—
MCLK152–150
Serial communication interface (SCI) channel 0
30 MHz
MCLK142–140
Serial communication interface (SCI) channel 1
30 MHz
MCLK132–130
Serial communication interface (SCI) channel 2
30 MHz
MCLK122–120
—
—
MCLK112–110
Compare match timer (CMT)
30 MHz
MCLK102–100
—
—
MCLK092–090
Motor management timer (MMT)
30 MHz
MCLK082–080
Port output enable (POE)
30 MHz
MCLK072–070
Timer pulse unit (TPU)
30 MHz
MCLK062–060
A/D converter (A/D)
20 MHz
(clock select CKS = 1)
1
30 MHz
(clock select CKS = 0)
MCLK052–050
D/A converter (D/A)
30 MHz
MCLK042–040
—
—
MCLK032–030
—
—
MCLK022–020
—
—
MCLK012–010
—
—
MCLK002–000
—
—
Notes: 1. Bits to which a module is not assigned must be written with their initial value.
2. Including the DMAC, ROM, X-RAM, Y-RAM, UBC, and WDT.
Rev. 5.00 Sep 11, 2006 page 159 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.14.3
Exit from Module Clock Division Function
The module clock division function is exited by setting the MCLK bits.
4.14.4
Notes on Use of Module Clock Division Function
1. The module clock division ratio is changed by writing the required value in the MCLK bits in
the MCLKCR register.
The write to MCLKCR must be executed by a program in on-chip RAM or on-chip ROM.
Also note that the DMAC must not be used to access MCLKCR.
If the frequency ratio of Mφ (the clock resulting from master clock (CKM) division) to CKE
(the external bus clock) changes as a result of the frequency change, after the change the
MCLKCR5 register must be read before
•
an external space access, or
•
a transition to sleep mode.
(The MCLKCR5 register value read at this time will be undefined.)
When changing Pφ (the clock resulting from peripheral clock (CKP) division), after the change
a register in the module corresponding to the changed Pφ must be read before
•
accessing a register in the module corresponding to the changed Pφ,
•
entering the module standby state for the module corresponding to the changed Pφ,
•
changing the changed Pφ again, or
•
entering software standby mode.
(The register value read at this time will be undefined.)
2. Ensure that CKM, CKP, CKE, and Mφ and Pφ supplied to the modules, do not exceed their
maximum frequency while the setting is being made.
3. Immediately after the value of the MCLK bits is changed, the module corresponding to the
changed Mφ or Pφ will temporarily enter the module standby state. Therefore, when an MCLK
bit value corresponding to the SCI or A/D converter is changed, the SCI or A/D converter
registers are initialized. However, there is no temporary transition to the module standby state
if the same value is written to the MCLK bits.
4. Do not set a combination that gives a division ratio of Mφ:CKE = 1/8:1/4 (taking the clock
input to dividers 1 to 4 in the CPG as 1); that is, a combination giving a CPG division setting
of CKM:CKE = 1:1/4, and a module clock division setting of CKM:Mφ = 1:1/8.
Rev. 5.00 Sep 11, 2006 page 160 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
4.15
Note on Initialization
To reduce current dissipation, the following instructions should be executed in application
software initialization.
PCLR A0
; Clear A0 register to 0
PSHA #5, A0
; Left-shift 5 bits
As there are nodes that are not initialized by a power-on reset after powering on, current
dissipation may increase by approximately 30 mA if the above instructions are not executed.
Rev. 5.00 Sep 11, 2006 page 161 of 916
REJ09B0332-0500
Section 4 Clock Pulse Generator (CPG) and Power-Down Modes
Rev. 5.00 Sep 11, 2006 page 162 of 916
REJ09B0332-0500
Section 5 Exception Handling
Section 5 Exception Handling
5.1
Overview
5.1.1
Exception Handling Types and Priority
As table 5.1 indicates, exception handling may be caused by a reset, address error, interrupt, or
instruction. Exception handling is prioritized as shown in table 5.1. If two or more exceptions
occur simultaneously, they are accepted and processed in order of priority.
Table 5.1
Exception Types and Priority
Exception Handling
Priority
Reset
Power-on reset
High
Address errors
CPU address error
DMAC address error
Interrupts
NMI
User break
External interrupt (IRQ/IRL)
On-chip peripheral
modules
Direct memory access controller (DMAC)
Bus state controller (BSC)
Watchdog timer (WDT)
Timer pulse unit (TPU)
Serial communication interface (SCI)
Compare match timer (CMT)
A/D converter (A/D)
Motor management timer (MMT)
Instructions
Trap instruction (TRAPA instruction)
General illegal instruction (undefined code)
Slot illegal instruction (undefined code or instruction that modifies
1
2
PC* located immediately after delayed branch instruction* )
Low
Notes: 1. Instructions that modify PC: JMP, JSR, BRA, BSR, RTS, RTE, BT, BF, TRAPA, BF/S,
BT/S, BSRF, BRAF
2. Delayed branch instructions: JMP, JSR, BRA, BSR, RTS, RTE, BF/S, BT/S, BSRF,
BRAF
Rev. 5.00 Sep 11, 2006 page 163 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.1.2
Timing of Exception Source Detection and Start of Exception Handling
Table 5.2 shows the timing of detection and the start of exception handling for each exception
source.
Table 5.2
Exception Source Detection and Exception Handling Start Timing
Exception Type
Reset
Source Detection and Start of Exception Handling
Power-on reset
Address error
Detected when instruction is decoded; exception handling
is started after completion of currently executing instruction
Interrupt
Instruction
Started immediately after low-to-high transition at RES pin
Trap instruction
Started by execution of TRAPA instruction
General illegal
instruction
Started when undefined code not in a delayed branch
instruction (delay slot) is decoded
Slot illegal
instruction
Started when undefined code or instruction that modifies
PC located in a delayed branch instruction (delay slot) is
decoded
When exception handling is initiated, the CPU operates as follows.
Power-On Reset Exception Handling: The initial values of the program counter (PC) and stack
pointer (SP) are fetched from exception vector table addresses H'00000000 and H'00000004,
respectively. See section 5.1.3, Exception Vector Table, for details of the exception vector table.
Next, the vector base register (VBR) is cleared to 0 and the interrupt mask bits (I3 to I0) in the
status register (SR) are set to 1111. Program execution starts from the PC address fetched from the
exception vector table.
Address Error, Interrupt, or Instruction Exception Handling: SR and PC are saved on the
stack indicated by R15. In the case of interrupt exception handling, the interrupt priority level is
written to the interrupt mask bits (I3 to I0) in SR. In address error and instruction exception
handling, bits I3 to I0 are not affected. Next, the start address is fetched from the exception vector
table and program execution starts from that address.
5.1.3
Exception Vector Table
Before exception handling is executed, the exception vector table must have been set up in
memory. The exception vector table holds the start addresses of the exception service routines (the
reset exception handling table holds the initial values of PC and SP.
A different vector number and vector table address offset are assigned to each exception source.
The vector table address is calculated from the corresponding vector number and vector table
Rev. 5.00 Sep 11, 2006 page 164 of 916
REJ09B0332-0500
Section 5 Exception Handling
address offset. In exception handling, the start address of the exception service routine is fetched
from the exception vector table entry indicated by this vector table address.
The vector numbers and vector table address offsets are shown in table 5.3, and the method of
calculating the vector table address in table 5.4.
Table 5.3
Exception Vector Table
Vector
Number
Vector Table Address Offset
PC
0
H'00000000–H'00000003
SP
1
H'00000004–H'00000007
PC
2
H'00000008–H'0000000B
SP
3
H'0000000C–H'0000000F
General illegal instruction
4
H'00000010–H'00000013
(Reserved for system)
5
H'00000014–H'00000017
Slot illegal instruction
6
H'00000018–H'0000001B
(Reserved for system)
7
H'0000001C–H'0000001F
8
H'00000020–H'00000023
CPU address error
9
H'00000024–H'00000027
DMAC address error
10
H'00000028–H'0000002B
(Reserved for system)
11
H'0000002C–H'0000002F
NMI
12
H'00000030–H'00000033
Exception Source
Power-on reset
(Reserved for system)
Interrupt
13
H'00000034–H'00000037
(Reserved for system)
User break
14
to
31
H'00000038–H'0000003B
to
H'0000007C–H'0000007F
Trap instruction (user vector)
32
to
63
H'00000080–H'00000083
to
H'000000FC–H'000000FF
Rev. 5.00 Sep 11, 2006 page 165 of 916
REJ09B0332-0500
Section 5 Exception Handling
Exception Source
Interrupt
IRQ0
Vector
Number
Vector Table Address Offset
64
H'00000100–H'00000103
IRQ1, IRL1
65
H'00000104–H'00000107
IRQ2, IRL2
66
H'00000108–H'0000010B
IRQ3, IRL3
67
H'0000010C–H'0000010F
IRQ4
80
H'00000140–H'00000143
IRQ5
81
H'00000144–H'00000147
IRQ6
82
H'00000148–H'0000014B
IRQ7
83
H'0000014C–H'0000014F
(Reserved for system)
84
H'00000150–H'00000153
85
H'00000154–H'00000157
86
H'00000158–H'0000015B
87
H'0000015C–H'0000015F
88
H'00000160–H'00000163
89
H'00000164–H'00000167
90
H'00000168–H'0000016B
91
H'0000016C–H'0000016F
68
to
79
H'00000110–H'00000113
to
H'0000013C–H'0000013F
92
to
127
H'00000170–H'00000173
to
H'000001FC–H'000001FF
128
to
255
H'00000200–H'00000203
to
H'000003FC–H'000003FF
1
IRL4 to IRL15*
(Reserved for system)
On-chip peripheral module*
2
Notes: 1. For the vector numbers and vector table offsets of external interrupts IRL4 and IRL5,
see table 6.3, IRL Interrupt Priority Levels and Vector Numbers, in section 6, Interrupt
Controller (INTC).
2. For the vector numbers and vector table offsets of on-chip peripheral module interrupts,
see table 6.6, On-Chip Peripheral Module Interrupt Exception Vectors and Priority
Order, in section 6, Interrupt Controller (INTC).
Rev. 5.00 Sep 11, 2006 page 166 of 916
REJ09B0332-0500
Section 5 Exception Handling
Table 5.4
Exception Vector Table Address Calculation
Exception Source
Vector Table Address Calculation
Reset
Vector table address = (vector table address offset) = (vector number) × 4
Address error,
interrupt, instruction
Vector table address = VBR + (vector table address offset) = VBR +
(vector number) × 4
Notes: VBR: Vector base register
Vector table address offset: See table 5.3.
Vector number: See table 5.3.
5.2
Power-on Reset
When the RES pin is driven low, the SH7065 enters the power-on reset state. To ensure that the
SH7065 is properly reset, the RES pin must be held low for at least the oscillation settling time
when powering on or when in standby mode (when the clock is stopped), or at least 40 tcyc (of the
slowest module clock) when the clock is running. In the power-on reset state, the internal state of
the CPU and all on-chip peripheral module registers are initialized. See appendix B, Pin States, for
the pin states in the power-on reset state.
When the RES pin is driven high after being held low for the necessary time in the power-on reset
state, power-on reset exception handling is started. CPU operations are as follows.
1. The initial value of the program counter (PC) (i.e. the execution start address) is fetched from
the exception vector table.
2. The initial value of the stack pointer (SP) is fetched from the exception vector table.
3. The vector base register (VBR) is cleared to H'00000000, and the interrupt mask bits (I3 to I0)
in the status register (SR) are set to H'F (1111).
4. The values fetched from the exception vector table are set in the program counter (PC) and
stack pointer (SP), and program execution is started.
Power-on reset processing must always be executed when the system is powered on.
Rev. 5.00 Sep 11, 2006 page 167 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.3
Address Errors
5.3.1
Address Error Sources
Address errors occur in instruction fetches and data read/write accesses, as shown in table 5.5.
Table 5.5
Bus Cycles and Address Errors
Bus Cycle
Type
Bus Master
Bus Cycle Operation
Address Error
Occurrence
Instruction
fetch
CPU
Instruction fetched from even address
No error (normal)
Instruction fetched from odd address
Address error
Instruction fetched from other than on-chip
peripheral module space*
No error (normal)
Instruction fetched from on-chip peripheral
module space*
Address error
Instruction fetched from external memory
space in single-chip mode
Address error
Word data accessed from even address
No error (normal)
Word data accessed from odd address
Address error
Longword data accessed from longword
boundary
No error (normal)
Longword data accessed from other than
longword boundary
Address error
Word data or byte data accessed in on-chip
peripheral module space*
No error (normal)
Longword data accessed in 16-bit on-chip
peripheral module space*
No error (normal)
Longword data accessed in 8-bit on-chip
peripheral module space*
No error (normal)
External memory space accessed in singlechip mode
Address error
Data
read/write
Note:
*
CPU or
DMAC
For details of the on-chip peripheral module space, see section 8, Bus State Controller
(BSC).
Rev. 5.00 Sep 11, 2006 page 168 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.3.2
Address Error Exception Handling
When an address error occurs, the CPU starts address error exception handling as shown below
after the end of the bus cycle in which the error occurred and completion of the currently
executing instruction.
1. The status register (SR) is saved on the stack.
2. The program counter (PC) is saved on the stack. The PC value saved is the start address of the
instruction following the last instruction executed.
3. The exception service routine start address is fetched from the exception vector table entry
corresponding to the address error, and program execution starts from that address. The jump
in this case is not a delayed branch.
5.4
Interrupts
5.4.1
Interrupt Sources
Interrupt exception handling can be initiated by NMI, a user break, IRQ, or an on-chip peripheral
module, as shown in table 5.6.
Table 5.6
Interrupt Sources
Type
Request Source
NMI
NMI pin (external input)
User break
User break controller
IRQ, IRL
Pins IRQ0 to IRQ7 (external input)
On-chip peripheral module
Direct memory access controller
Timer pulse unit
Compare match timer
A/D converter
Serial communication interface
Watchdog timer
Bus state controller
Motor management timer
Each interrupt source is assigned a different vector number and vector table offset. For details of
vector numbers and vector table address offsets, see section 6.2.5, Interrupt Exception Vectors and
Priority Order.
Rev. 5.00 Sep 11, 2006 page 169 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.4.2
Interrupt Priority
Interrupt sources are assigned priority levels. If a number of interrupts occur simultaneously
(multiple interruption), the priority order is determined by the interrupt controller (INTC) and
exception handling is initiated accordingly.
Interrupt source priority levels are expressed as values from 0 to 16, with 0 representing the lowest
priority level and 16 as the highest. The NMI interrupt is the highest-priority interrupt at level 16;
it cannot be masked and is always accepted. The user break interrupt is assigned priority level 15.
The priority level of IRQ interrupts and on-chip peripheral module interrupts can be set as desired
in the INTC’s interrupt priority registers A to L (IPRA to IPRL) (see table 5.7). Priority levels 0 to
15, but not 16, can be set. For details of IPRA to IPRL, see section 6.3.1, Interrupt Priority
Registers A to L (IPRA to IPRL).
Table 5.7
Interrupt Priority Levels
Type
Priority Level
Notes
NMI
16
Fixed priority level, not maskable
User break
15
Fixed priority level
IRQ, IRL
0 to 15
Can be set in interrupt priority registers A to L
(IPRA to IPRL)
On-chip peripheral module
5.4.3
Interrupt Exception Handling
When an interrupt occurs, its priority is determined by the interrupt controller (INTC). NMI is
always accepted, but other interrupts are only accepted if their priority level is higher than the
priority level set in the interrupt mask bits (I3 to I0) in the status register (SR).
When an interrupt is accepted, interrupt exception handling is started. In interrupt exception
handling, the CPU saves SR and the program counter (PC) on the stack and writes the priority
level of the accepted interrupt to bits I3 to I0 in SR. In the case of NMI, however, although its
priority level is 16, H'F (level 15) is written to bits I3 to I0. Next, the CPU fetches the exception
service routine start address from the exception vector table entry corresponding to the accepted
interrupt, jumps to that address, and starts executing the exception service routine. For details of
interrupt exception handling, see section 6.4, Operation.
Rev. 5.00 Sep 11, 2006 page 170 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.5
Instruction Exceptions
5.5.1
Types of Instruction Exception
There are three kinds of instruction that can initiate exception handling: the TRAP instruction, slot
illegal instructions, and general illegal instructions, These are summarized in table 5.8.
Table 5.8
Instruction Exception Types
Type
Source Instructions
Trap instruction
TRAPA
Slot illegal instruction
Undefined code or instruction
that modifies PC located
immediately after delayed
branch instruction (in delay
slot)
General illegal
instruction
5.5.2
Notes
Delayed branch instructions:
JMP, JSR, BRA, BSR, RTS, RTE,
BF/S, BT/S, BSRF, BRAF
Instructions that modify PC:
JMP, JSR, BRA, BSR, RTS, RTE, BT,
BF, TRAPA, BF/S, BT/S, BSRF, BRAF
Undefined code other than in
delay slot
Trap Instruction
When a TRAPA instruction is executed, trap instruction exception handling is started. The CPU
operates as follows.
1. The status register (SR) is saved on the stack.
2. The program counter (PC) is saved on the stack. The PC value saved is the start address of the
instruction following the trap instruction.
3. The exception service routine start address is fetched from the exception vector table entry
corresponding to the vector number specified by the TRAPA instruction, a jump is made to
that address, and program execution starts from that point. The jump in this case is not a
delayed branch.
Rev. 5.00 Sep 11, 2006 page 171 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.5.3
Slot Illegal Instructions
An instruction located immediately after a delayed branch instruction is said to be located in the
delay slot. If the instruction in the delay slot is undefined code, slot illegal instruction exception
handling is started when that undefined code is decoded. Also, if the instruction in the delay slot is
one that modifies the program counter (PC), slot illegal instruction exception handling is started
when that instruction is decoded. CPU operations in slot illegal instruction exception handling are
as follows.
1. The status register (SR) is saved on the stack.
2. The program counter (PC) is saved on the stack. The PC value saved is the jump destination
address of the delayed branch instruction immediately preceding the undefined code or PCmodifying instruction.
3. The exception service routine start address is fetched from the exception vector table entry
corresponding to the generated exception, a jump is made to that address, and program
execution starts from that point. The jump in this case is not a delayed branch.
5.5.4
General Illegal Instructions
When undefined code located other than immediately after a delayed branch instruction (in a delay
slot) is decoded, general illegal instruction exception handling is started. The CPU follows the
same procedure as in the case of slot illegal instruction exception handling, except that the
program counter (PC) value saved is the start address of the undefined code.
Rev. 5.00 Sep 11, 2006 page 172 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.6
Cases in Which Exceptions Are Not Accepted
There are cases, as shown in table 5.9, in which, if an address error or interrupt occurs after a
delayed branch instruction or an interrupt for which interruption is prohibited, the exception is not
accepted immediately, but is held pending. In such cases, the address error or interrupt will be
accepted when an instruction for which exception acceptance is permitted is decoded.
Table 5.9
Exception Occurrence: Special Cases
Exception Source
Point of Occurrence
Address Error
Interrupt
1
Immediately after a delayed branch instruction*
Not accepted
Not accepted
Immediately after an instruction for which interruption is
2
prohibited*
Accepted
Not accepted
Repeat loop comprising up to three instructions
(instruction fetch cycle not generated)
Not accepted
Not accepted
Accepted
Not accepted
First instruction or last three instructions in a repeat loop
containing four or more instructions
Fourth from last instruction in a repeat loop containing
four or more instructions
Notes: 1. Delayed branch instructions: JMP, JSR, BRA, BSR, RTS, RTE, BF/S, BT/S, BSRF,
BRAF
2. Instructions for which interruption is prohibited: LDC, LDC.L, STC, STC.L, LDS, LDS.L,
STS, STS.L
5.6.1
After a Delayed Branch Instruction
When an instruction located immediately after a delayed branch instruction (i.e. in the delay slot)
is decoded, neither an address error nor an interrupt is accepted. As a delayed branch instruction
and the instruction located immediately after it (in the delay slot) are always executed
consecutively, exception handling is not initiated during this period.
5.6.2
After an Instruction for Which Interruption Is Prohibited
When the instruction immediately following an instruction for which interruption is prohibited is
decoded, an interrupt is not accepted. However, an address error exception is accepted.
Rev. 5.00 Sep 11, 2006 page 173 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.6.3
Instructions in Repeat Loops
If a repeat loop comprises up to three instructions, neither exceptions nor interrupts are accepted.
If a repeat loop contains four or more instructions, neither exceptions nor interrupts are accepted
during the execution cycle of the first instruction or the last three instructions. If a repeat loop
contains four or more instructions, address errors only are accepted during the execution cycle of
the fourth from last instruction. For more information, see the SH-1/SH-2/SH-DSP Software
Manual.
A. All interrupts and address errors are accepted.
B. Address errors only are accepted.
C. No interrupts or address errors are accepted.
When RC > = 1;
Operation depends on the number of instructions in the repeat loop, as follows.
1. One instruction
instr0
Start (End): instr1
instr2
← A
← B
← C
← A
2. Two instructions
←
instr0
←
Start: instr1
←
End: instr2
←
instr3
←
4. Four instructions
instr0
Start: instr1
instr2
instr3
End: instr4
instr5
← A
← A or C*1
← B
← C
← C
← C
← A
A
B
C
C
A
3. Three instructions
← A
instr0
← B
Start: instr1
← C
instr2
← C
End: instr3
← C
instr4
← A
5. Five or more instructions
←
instr0
←
Start: instr1
←
:
:
:
←
instr n-3
←
instr n-2
←
instr n-1
←
End: instr n
←
instr n+1
←
A
A or C*2
A
A
B
C
C
C
A
Notes: 1. On return from instr 4
2. On return from instr n
When RC = 0;
All interrupts and address errors are accepted.
Figure 5.1 Restrictions on Interrupt Acceptance in Repeat Mode
Rev. 5.00 Sep 11, 2006 page 174 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.7
Stack Status after Exception Handling
Table 5.10 shows the stack after completion of exception handling.
Table 5.10 Stack Status after Exception Handling
Type
Stack Status
Address error
SP
Address of instruction
following executed instruction
32 bits
SR
32 bits
Address of instruction
following TRAPA instruction
32 bits
SR
32 bits
Start address of illegal
instruction
32 bits
SR
32 bits
Address of instruction
following executed instruction
32 bits
SR
32 bits
Jump destination address
of delayed branch instruction
32 bits
SR
32 bits
TRAP instruction
SP
General illegal instruction
SP
Interrupt
SP
Slot illegal instruction
SP
Rev. 5.00 Sep 11, 2006 page 175 of 916
REJ09B0332-0500
Section 5 Exception Handling
5.8
Usage Notes
5.8.1
Stack Pointer (SP) Value
Ensure that the stack pointer (SP) value is a multiple of 4. If it is not, an address error will be
caused when the stack is accessed in exception handling.
5.8.2
Vector Base Register (VBR) Value
Ensure that the vector base register (VBR) value is a multiple of 4. If it is not, an address error will
be caused when the stack is accessed in exception handling.
5.8.3
Address Errors Occurring in Address Error Exception Handling Stacking
If the stack pointer (SP) value is not a multiple of 4, an address error will occur in exception
handling (interrupt, etc.) stacking, and after the exception handling is completed, address error
exception handling will be started. An address error will also occur in stacking in the address error
exception handling, but this address error will not be accepted in order to prevent endless stacking
due to address errors. This enables program control to be switched to the address error exception
service routine, and error handling to be carried out.
When an address error occurs in exception handling stacking, the stacking bus cycle (write) is
executed. In status register (SR) and program counter (PC) stacking, SP is decremented by 4 in
each case, and therefore the SP value is not a multiple of 4 after stacking is completed. Also, the
address value output in stacking is the SP value, and the actual address at which the error occurred
is output. In this case, the stacked write data is undefined.
Rev. 5.00 Sep 11, 2006 page 176 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Section 6 Interrupt Controller (INTC)
6.1
Overview
The interrupt controller (INTC) ascertains the priority of interrupt sources and controls interrupt
requests to the CPU. The INTC registers set the order of priority of each interrupt, allowing the
user to handle interrupt requests according to a user-set priority order.
6.1.1
Features
The INTC has the following features.
• Two external interrupt modes
 IRQ mode
Eight external signals comprise independent interrupt sources (IRQ7 to IRQ0). Each
interrupt source has an interrupt vector, and can be assigned a priority level.
 IRL mode
Four external interrupt signals (IRQ3 to IRQ0) can be assigned a priority level from 1 to
15. External interrupt signals IRQ4 to IRQ7 function as independent interrupt sources.
• 16 interrupt priority levels
Using 12 interrupt priority registers, one of 15 priority levels can be assigned to each IRQ
interrupt and on-chip peripheral module interrupt source. Priority level 16 is automatically
assigned to the NMI interrupt.
• NMI noise canceler function
An NMI input level bit is provided to indicate the NMI pin state. The pin state can be checked
by reading this bit in the interrupt exception service routine, enabling it to be used as a noise
canceler.
• Interrupt occurrence can be reported externally (IRQOUT pin)
When the SH7065 has released the bus, for example, this function can be used to report
interrupt generation to an external bus master, and request the bus.
Rev. 5.00 Sep 11, 2006 page 177 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.1.2
Block Diagram
Figure 6.1 shows a block diagram of the INTC.
IRQOUT
NMI
IRQ7–IRQ0
I/O
control
Priority determination
Comparator
UBC
DMAC
TPU
CMT
SCI
WDT
BSC
A/D
MMT
POE (I/O)
ICR1, 2
ISR
Interrupt
request
SR
I3 I2 I1 I0
CPU
IPR
IPRA–IPRL
Bus
interface
Module bus
Peripheral
bus
INTC
Legend:
UBC:
User break controller
DMAC: Direct memory access controller
TPU:
Timer pulse unit
CMT: Compare match timer
SCI:
Serial communication interface
WDT: Watchdog timer
BSC:
Bus state controller
(DRAM refresh control unit)
A/D:
MMT:
ICR1, ICR2:
ISR:
IPRA to IPRL:
SR:
POE (I/O):
A/D converter
Motor management timer
Interrupt control registers 1 and 2
IRQ status register
Interrupt priority registers A to L
Status register
Port output enable
Figure 6.1 Block Diagram of INTC
Rev. 5.00 Sep 11, 2006 page 178 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.1.3
Pin Configuration
Table 6.1 shows the INTC pin configuration.
Table 6.1
INTC Pins
Pin Name
I/O
Function
NMI
Input
Input of nonmaskable interrupt request signal
IRQ7–IRQ0
Input
Input of maskable interrupt request signals
IRQOUT
Output
Output of signal indicating interrupt source occurrence
6.1.4
Register Configuration
The INTC has the 15 registers shown in table 6.2. The functions of these registers include interrupt
priority level setting and control of external interrupt input signal detection.
Table 6.2
INTC Registers
Name
Abbreviation R/W
Initial Value
Address
Access Size
Interrupt priority register A
IPRA
R/W
H'0000
H'FFFF 1050
8, 16, 32
Interrupt priority register B
IPRB
R/W
H'0000
H'FFFF 1052
8, 16, 32
Interrupt priority register C
IPRC
R/W
H'0000
H'FFFF 1054
8, 16, 32
Interrupt priority register D
IPRD
R/W
H'0000
H'FFFF 1056
8, 16, 32
Interrupt priority register E
IPRE
R/W
H'0000
H'FFFF 1058
8, 16, 32
Interrupt priority register F
IPRF
R/W
H'0000
H'FFFF 105A 8, 16, 32
Interrupt priority register G
IPRG
R/W
H'0000
H'FFFF 105C 8, 16, 32
Interrupt priority register H
IPRH
R/W
H'0000
H'FFFF 105E 8, 16, 32
Interrupt priority register I
IPRI
R/W
H'0000
H'FFFF 1060
8, 16, 32
Interrupt priority register J
IPRJ
R/W
H'0000
H'FFFF 1062
8, 16, 32
Interrupt priority register K
IPRK
R/W
H'0000
H'FFFF 1064
8, 16, 32
Interrupt priority register L
IPRL
R/W
H'FFFF 1066
8, 16, 32
Interrupt control register 1
ICR1
R/W
H'0000
*1
Interrupt control register 2
ICR2
R/W
IRQ status register
ISR
H'0000
2
*
R/(W) H'0000
H'FFFF 106E 8, 16, 32
H'FFFF 1070
8, 16, 32
H'FFFF 1072
8, 16, 32
Notes: 1. Bit 15 (NMIL) indicates the level of the signal being input to the NMI pin. For details, see
section 6.3.2, Interrupt Control Register 1 (ICR1).
2. See section 6.3.4, IRQ Status Register (ISR), for details.
Rev. 5.00 Sep 11, 2006 page 179 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.2
Interrupt Sources
There are four types of interrupt sources: NMI, user break, IRQ/IRL, and on-chip peripheral
modules. Each interrupt has a priority level (0 to 16), with level 0 as the lowest and level 16 as the
highest. If level 0 is set, the interrupt is masked.
6.2.1
NMI Interrupt
The NMI interrupt has the highest priority level of 16, and is always accepted. Input from the NMI
pin is edge-detected. The NMI edge select bit (NMIE) in the interrupt control register 1 (ICR1) is
used to select either rising or falling edge detection.
NMI interrupt exception handling sets the interrupt mask bits (I3 to I0) in the status register (SR)
to 15. The NMI pin level is set in the NMIL bit in the interrupt control register 1 (ICR1). Interrupt
requests resulting from erroneous edge detection due to noise can be avoided by referencing the
NMIL bit in the interrupt exception service routine.
6.2.2
User Break Interrupt
The user break interrupt is requested when a break condition set in the user break controller (UBC)
occurs. Its priority level is 15. A user break interrupt is edge-detected, and is retained until
acknowledged. User break exception handling sets the interrupt mask bits (I3 to I0) in the status
register (SR) to 15. For details of user breaks, see section 7, User Break Controller (UBC).
6.2.3
External Interrupts
IRQ interrupt mode (initial setting) or IRL interrupt mode can be selected for external interrupts.
The selection is made with the EXIMD bit in interrupt control register 1 (ICR1).
IRQ Interrupts
IRQ interrupts correspond to pins IRL7 to IRL0. Low-level detection or falling edge detection can
be selected independently for each pin with the IRQ sense select bits (IRQ7S to IRQ0S) in the
interrupt control register 2 (ICR2), and a priority level of 0 to 15 can be selected independently for
each pin by means of interrupt priority registers A and B. IRQ interrupt exception handling sets
the interrupt mask bits (I3 to I0) in SR to the priority level of the accepted IRQ interrupt.
Rev. 5.00 Sep 11, 2006 page 180 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
IRL Interrupts
IRL interrupts are requested by input at external pins IRQ3 to IRQ0. Fifteen interrupts, IRL15 to
IRL1, can be input from an external source by means of pins IRQ3 to IRQ0. Interrupts IRL15 to
IRL1 have priority levels of 15 to 1, respectively, and are assigned vector numbers 79 to 64. In
IRL interrupt mode, external interrupts IRQ4 to IRQ7 are independent interrupt sources. The
priority levels of IRQ4 to IRQ7 can be set in interrupt priority register B (IPRB), as in IRQ
interrupt mode. (An example of interrupt connection is shown in figure 6.2.)
Table 6.3
IRL Interrupt Priority Levels and Vector Numbers
Signals
Interrupt
IRQ3
IRQ2
IRQ1
IRQ1
IRQ0
Priority Level
Vector Number
IRL15
0
0
0
0
15
79
IRL14
0
0
0
1
14
78
IRL13
0
0
1
0
13
77
IRL12
0
0
1
1
12
76
IRL11
0
1
0
0
11
75
IRL10
0
1
0
1
10
74
IRL9
0
1
1
0
9
73
IRL8
0
1
1
1
8
72
IRL7
1
0
0
0
7
71
IRL6
1
0
0
1
6
70
IRL5
1
0
1
0
5
69
IRL4
1
0
1
1
4
68
IRL3
1
1
0
0
3
67
IRL2
1
1
0
1
2
66
IRL1
1
1
1
0
1
65

1
1
1
1
0 (no interrupt)
64
Interrupt
requests
..
.
Priority
encoder
4
SH7065
IRQ3–IRQ0
Figure 6.2 Example of IRL Mode Interrupt Connection
Rev. 5.00 Sep 11, 2006 page 181 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.2.4
On-Chip Peripheral Module Interrupts
On-chip peripheral module interrupts are generated by the following modules:
• Direct memory access controller (DMAC)
• Watchdog timer (WDT)
• Bus state controller (BSC)
• Timer pulse unit (TPU)
• Serial communication interface (SCI)
• Compare match timer (CMT)
• Motor management timer (MMT)
• A/D converter (A/D)
• Port output enable (POE (I/O))
As a different vector number is assigned to each source, it is not necessary to determine the source
in the exception service routine. A priority level in the range 0 to 15 can be set for each module
with interrupt priority registers E to L (IPRE to IPRL). In on-chip peripheral module interrupt
exception handling, the interrupt mask bits (I3 to I0) in the status register (SR) are set to the
priority level of the accepted on-chip peripheral module interrupt.
6.2.5
Interrupt Exception Vectors and Priority Order
Tables 6.4 to 6.6 show interrupt sources, vector numbers, vector table addresses, and default
interrupt priorities.
Each interrupt source is assigned a different vector number and vector table address offset. The
vector table address is calculated from the vector number and vector table address offset. In
interrupt exception handling, the start address of the exception service routine is fetched from the
vector table entry indicated by this vector table address. For the method of calculating the vector
table address, see table 5.4, Exception Vector Table Address Calculation, in section 5, Exception
Handling.
In IRQ mode, an interrupt priority level of 0 to 15 can be assigned to the IRQ interrupts using
interrupt priority registers A and B (IPRA, IPRB).
In IRL mode, IRL interrupts IRL15 to IRL1 are assigned interrupt priority levels 15 to 1,
respectively. The vectors shown in tables 6.3 to 6.5 can be used for the vector numbers of IRQ and
IRL interrupts.
Rev. 5.00 Sep 11, 2006 page 182 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
The priority of on-chip peripheral module interrupts can be set to any level from 0 to 15 for each
module using interrupt priority registers E to L (IPRE to IPRL). The “Priority within IPR Setting”
column in table 6.6 shows the relative priority of interrupts sharing the same IPR field. This
priority order cannot be changed. In a power-on reset, IRQ interrupts and on-chip peripheral
module interrupts are set to priority level 0. If two or more interrupt sources assigned the same
priority level occur simultaneously, they are handled according to the default priority order shown
in tables 6.4 to 6.6.
Table 6.4
IRQ Mode Interrupt Exception Vectors and Priority Order
Vector
Interrupt
Source
Interrupt
Priority
(Initial Value)
IPR
(Bit Numbers)
Vector
Number
Vector
Table Offset
Default
Priority
NMI
16
—
12
H'0000 0030
High
User break
15
—
13
H'0000 0034
IRQ0
0–15 (0)
IPRA (15–12)
64
H'0000 0100
IRQ1
0–15 (0)
IPRA (11–8)
65
H'0000 0104
IRQ2
0–15 (0)
IPRA (7–4)
66
H'0000 0108
IRQ3
0–15 (0)
IPRA (3–0)
67
H'0000 010C
IRQ4
0–15 (0)
IPRB (15–12)
80
H'0000 0140
IRQ5
0–15 (0)
IPRB (11–8)
81
H'0000 0144
IRQ6
0–15 (0)
IPRB (7–4)
82
H'0000 0148
IRQ7
0–15 (0)
IPRB (3–0)
83
H'0000 014C
Low
Rev. 5.00 Sep 11, 2006 page 183 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Table 6.5
IRL Mode Interrupt Exception Vectors and Priority Order
Vector
Interrupt
Source
Interrupt
Priority
(Initial Value)
IPR
(Bit Numbers)
Vector
Number
Vector
Table Offset
Default
Priority
NMI
16
—
12
H'0000 0030
High
User break
15
—
13
H'0000 0034
IRL15
15
—
79
H'0000 013C
IRL14
14
—
78
H'0000 0138
IRL13
13
—
77
H'0000 0134
IRL12
12
—
76
H'0000 0130
IRL11
11
—
75
H'0000 012C
IRL10
10
—
74
H'0000 0128
IRL9
9
—
73
H'0000 0124
IRL8
8
—
72
H'0000 0120
IRL7
7
—
71
H'0000 011C
IRL6
6
—
70
H'0000 0118
IRL5
5
—
69
H'0000 0114
IRL4
4
—
68
H'0000 0110
IRL3
3
—
67
H'0000 010C
IRL2
2
—
66
H'0000 0108
IRL1
1
—
65
H'0000 0104
Rev. 5.00 Sep 11, 2006 page 184 of 916
REJ09B0332-0500
Low
Section 6 Interrupt Controller (INTC)
Table 6.6
On-Chip Peripheral Module Interrupt Exception Vectors and Priority Order
Interrupt Source
Interrupt
Priority
(Initial
Value)
IPR
(Bit
Numbers)
DMAC0
DEI0
0–15 (0)
IPRE (15–12) —
128
H'0000 0200
DMAC1
DEI1
0–15 (0)
IPRE (11–8)
—
129
H'0000 0204
DMAC2
DEI2
0–15 (0)
IPRE (7–4)
—
130
H'0000 0208
DMAC3
DEI3
0–15 (0)
IPRE (3–0)
—
131
H'0000 020C
0–15 (0)
IPRF (15–12) —
132
H'0000 0210
0–15 (0)
IPRF (11–8)
—
133
H'0000 0214
0–15 (0)
IPRF (7–4)
—
134
H'0000 0218
0–15 (0)
IPRF (3–0)
—
135
H'0000 021C
CMI
0–15 (0)
IPRG (15–12) —
136
H'0000 0220
OVI
0–15 (0)
IPRG (11–8)
137
H'0000 0224
Reserved
BSC
WDT
ITI
0–15 (0)
IPRG (7–4)
—
138
H'0000 0228
IPRG (3–0)
—
139
H'0000 022C
0–15 (0)
IPRH (15–12) High
140
H'0000 0230
TGI0B
141
H'0000 0234
TGI0C
142
H'0000 0238
Low
143
H'0000 023C
High
144
H'0000 0240
Reserved
145
H'0000 0244
Reserved
146
H'0000 0248
Low
147
H'0000 024C
High
148
H'0000 0250
TGI0A
TGI0D
TCI0V
0–15 (0)
IPRH (11–8)
Reserved
TPU1
—
0–15 (0)
Reserved
TPU0
Priority
within IPR Vector
Vector
Setting
Number Table Offset
TGI1A
0–15 (0)
IPRH (7–4)
TGI1B
149
H'0000 0254
Reserved
150
H'0000 0258
Low
151
H'0000 025C
High
152
H'0000 0260
153
H'0000 0264
Reserved
TCI1V
0–15 (0)
IPRH (3–0)
TCI1U
Reserved
Reserved
Low
154
H'0000 0268
155
H'0000 026C
Default
Priority
High
Low
Rev. 5.00 Sep 11, 2006 page 185 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Interrupt Source
Interrupt
Priority
(Initial
Value)
IPR
(Bit
Numbers)
Priority
within IPR Vector
Vector
Setting
Number Table Offset
Default
Priority
TPU2
0–15 (0)
IPRI (15–12)
High
High
TGI2A
156
H'0000 0270
TGI2B
157
H'0000 0274
Reserved
158
H'0000 0278
Low
159
H'0000 027C
High
160
H'0000 0280
TCI2U
161
H'0000 0284
Reserved
162
H'0000 0288
Low
163
H'0000 028C
High
164
H'0000 0290
Reserved
TCI2V
0–15 (0)
IPRI (11–8)
Reserved
TPU3
TGI3A
0–15 (0)
IPRI (7–4)
TGI3B
165
H'0000 0294
TGI3C
166
H'0000 0298
Low
167
H'0000 029C
High
168
H'0000 02A0
169
H'0000 02A4
TGI3D
TCI3V
0–15 (0)
IPRI (3–0)
Reserved
Reserved
170
H'0000 02A8
Low
171
H'0000 02AC
High
172
H'0000 02B0
TGI4B
173
H'0000 02B4
Reserved
174
H'0000 02B8
Low
175
H'0000 02BC
High
176
H'0000 02C0
TCI4U
177
H'0000 02C4
Reserved
178
H'0000 02C8
179
H'0000 02CC Low
Reserved
TPU4
TGI4A
0–15 (0)
IPRJ(15–12)
Reserved
TCI4V
0–15 (0)
IPRJ(11–8)
Reserved
Rev. 5.00 Sep 11, 2006 page 186 of 916
REJ09B0332-0500
Low
Section 6 Interrupt Controller (INTC)
Interrupt Source
Interrupt
Priority
(Initial
Value)
IPR
(Bit
Numbers)
Priority
within IPR Vector
Vector
Setting
Number Table Offset
Default
Priority
TPU5
0–15 (0)
IPRJ (7–4)
High
High
TGI5A
180
H'0000 02D0
TGI5B
181
H'0000 02D4
Reserved
182
H'0000 02D8
Low
183
H'0000 02DC
High
184
H'0000 02E0
TCI5U
185
H'0000 02E4
Reserved
186
H'0000 02E8
Low
187
H'0000 02EC
IPRK (15–12) High
188
H'0000 02F0
RXI0
189
H'0000 02F4
TXI0
190
H'0000 02F8
Low
191
H'0000 02FC
High
192
H'0000 0300
193
H'0000 0304
Reserved
TCI5V
0–15 (0)
IPRJ (3–0)
Reserved
SCI0
ERI0
0–15 (0)
TEI0
SCI1
ERI1
0–15 (0)
IPRK (11–8)
RXI1
TXI1
194
H'0000 0308
Low
195
H'0000 030C
High
196
H'0000 0310
RXI2
197
H'0000 0314
TXI2
198
H'0000 0318
TEI1
SCI2
ERI2
0–15 (0)
IPRK (7–4)
TEI2
Reserved
Low
199
H'0000 031C
High
200
H'0000 0320
Reserved
201
H'0000 0324
Reserved
202
H'0000 0328
Low
203
H'0000 032C
IPRL (15–12) High
204
H'0000 0330
Reserved
0–15 (0)
Reserved
CMT
CMI0
0–15 (0)
IPRK (3–0)
CMI1
205
H'0000 0334
Reserved
206
H'0000 0338
207
H'0000 033C
Reserved
Low
Low
Rev. 5.00 Sep 11, 2006 page 187 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Interrupt Source
Interrupt
Priority
(Initial
Value)
IPR
(Bit
Numbers)
Priority
within IPR Vector
Vector
Setting
Number Table Offset
Default
Priority
A/D
0–15 (0)
IPRL (11–8)
High
High
ADI0
208
H'0000 0340
ADI1
209
H'0000 0344
Reserved
210
H'0000 0348
Low
211
H'0000 034C
High
212
H'0000 0350
TGIN
213
H'0000 0354
Reserved
214
H'0000 0358
Low
215
H'0000 035C
High
216
H'0000 0360
Reserved
217
H'0000 0364
Reserved
218
H'0000 0368
219
H'0000 036C
Reserved
MMT
TGIM
0–15 (0)
IPRL (7–4)
Reserved
POE (I/O) OEI
0–15 (0)
IPRL (3–0)
Reserved
Low
6.3
Register Descriptions
6.3.1
Interrupt Priority Registers A to L (IPRA to IPRL)
Low
Bit:
15
14
13
12
11
10
9
8
Initial value:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
Initial value:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W:
R/W:
Interrupt priority registers A to L (IPRA to IPRL) are 16-bit readable/writable registers that set
priority levels from 0 to 15 for IRQ interrupts and on-chip peripheral module interrupts. Table 6.7
shows the relationship between the interrupt request sources and bits in registers IPRA to IPRL.
Rev. 5.00 Sep 11, 2006 page 188 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Table 6.7
Interrupt Request Sources and Registers IPRA to IPRL
Bits
Register
15–12
11–8
7–4
3–0
Interrupt priority register A
IRQ0
IRQ1
IRQ2
IRQ3
Interrupt priority register B
IRQ4
IRQ5
IRQ6
IRQ7
Interrupt priority register C
Reserved
Reserved
Reserved
Reserved
Interrupt priority register D
Reserved
Reserved
Reserved
Reserved
Interrupt priority register E
DMAC0
DMAC1
DMAC2
DMAC3
Interrupt priority register F
Reserved
Reserved
Reserved
Reserved
Interrupt priority register G
BSC
BSC
WDT
Reserved
Interrupt priority register H
TPU0
TPU0
TPU1
TPU1
Interrupt priority register I
TPU2
TPU2
TPU3
TPU3
Interrupt priority register J
TPU4
TPU4
TPU5
TPU5
Interrupt priority register K
SCI0
SCI1
SCI2
Reserved
Interrupt priority register L
CMT
A/D
MMT
POE (I/O)
Four IRQ pins or four on-chip peripheral modules are assigned to one register. Interrupt priority
levels are established by setting a value from H'0 (0000) to H'F (1111) in each of the four-bit
groups: 15 to 12, 11 to 8, 7 to 4, and 3 to 0. Setting H'0 designates priority level 0 (the lowest
level), and setting H'F designates priority level 15 (the highest level).
Registers IPRA to IPRL are initialized to H'0000 by a power-on reset. They are not initialized in
standby mode. Reserved bits are always read as 0, and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 189 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.3.2
Interrupt Control Register 1 (ICR1)
Bit:
15
14
13
12
11
10
9
8
NMIL*
—
—
—
—
EXIMD
—
NMIE
Initial value:
—
0
0
0
0
0
0
0
R/W:
R
—
—
—
—
R/W
—
R/W
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
—
—
—
—
—
—
Note:
*
1 when NMI pin input is high, 0 when low.
Interrupt control register 1 (ICR1) is a 16-bit register that sets the input signal detection mode for
external interrupt input pins NMI and IRQ7 to IRQ0, and indicates the input level at the NMI pin.
ICR1 is initialized to H'0000 or H'8000 by a power-on reset. It is not initialized in standby mode.
Bit 15—NMI Input Level (NMIL): The level of the signal input to the NMI pin is set in this bit.
This bit can be read to determine the NMI pin level. It cannot be modified.
Bit 15: NMIL
Description
0
NMI pin input level is low
1
NMI pin input level is high
Bits 14 to 11—Reserved: These bits are always read as 0 and cannot be modified.
Bit 10—External Interrupt Vector Mode Select (EXIMD): This bit selects IRQ mode or IRL
mode. In IRQ mode, each of signals IRQ7 to IRQ0 functions as a separate interrupt source. In IRL
mode, signals IRQ3 to IRQ0 specify an interrupt priority level from 1 to 15, and each of signals
IRQ7 to IRQ4 functions as a separate interrupt source.
Bit 10: EXIMD
Description
0
IRQ mode
1
IRL mode
Bit 9—Reserved: This bit is always read as 0 and cannot be modified.
Rev. 5.00 Sep 11, 2006 page 190 of 916
REJ09B0332-0500
(Initial value)
Section 6 Interrupt Controller (INTC)
Bit 8—NMI Edge Select (NMIE): Specifies whether an interrupt request is detected at the falling
or rising edge of NMI input.
Bit 8: NMIE
Description
0
Interrupt request detected at falling edge of NMI input
1
Interrupt request detected at rising edge of NMI input
(Initial value)
Bits 7 to 0—Reserved: These bits are always read as 0 and cannot be modified.
6.3.3
Interrupt Control Register 2 (ICR2)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
—
—
—
—
—
—
Bit:
7
6
5
4
3
2
1
0
IRQ7S
IRQ6S
IRQ5S
IRQ4S
IRQ3S
IRQ2S
IRQ1S
IRQ0S
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value:
R/W:
Interrupt control register 2 (ICR2) is a 16-bit register that sets the input signal detection mode for
IRQ7 to IRQ0.
ICR2 is initialized to H'0000 by a power-on reset. It is not initialized in standby mode.
Bits 15 to 8—Reserved: These bits are always read as 0 and cannot be modified.
Bits 7 to 0—IRQ7 to IRQ0 Sense Select (IRQ7S to IRQ0S): These bits set the IRQ detection
mode for IRQ7 to IRQ0 interrupt requests.
Bits 7 to 0:
IRQ7S to IRQ0S
Description
0
Interrupt request detected at low level of IRQ input
1
Interrupt request detected at falling edge of IRQ input
(Initial value)
Rev. 5.00 Sep 11, 2006 page 191 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.3.4
IRQ Status Register (ISR)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
—
—
—
—
—
—
Bit:
7
6
5
4
3
2
1
0
IRQ7F
IRQ6F
IRQ5F
IRQ4F
IRQ3F
IRQ2F
IRQ1F
IRQ0F
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value:
R/W:
The IRQ status register (ISR) is a 16-bit register that indicates the interrupt request status of
external interrupt input pins IRQ7 to IRQ0. When edge detection is set for an IRQ interrupt, an
interrupt request being retained can be cleared by reading IRQnF while set to 1 and then writing 0
to IRQnF.
ISR is initialized to H'0000 by a power-on reset. It is not initialized in standby mode.
Bits 15 to 8—Reserved: These bits are always read as 0 and cannot be modified.
Bits 7 to 0—IRQ0 to IRQ7 Flags (IRQ0F to IRQ7F): These bits indicate the IRQ7 to IRQ0
interrupt request status.
Rev. 5.00 Sep 11, 2006 page 192 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Bits 7 to 0:
IRQ0F to IRQ7F
Detection Setting
Description
0
Level detection
There is no IRQn interrupt request
[Clearing condition]
When IRQn input is high
Edge detection
An IRQn interrupt request has not been detected
[Clearing conditions]
1
Level detection
•
When 0 is written to IRQnF after reading IRQnF = 1
•
When IRQn interrupt exception handling is executed
There is no IRQn interrupt request
[Setting condition]
When IRQn input is low
Edge detection
An IRQn interrupt request has been detected
[Setting condition]
When a falling edge occurs in IRQn input
The edge detection circuit operates at all times, even when level detection is set. Note, therefore,
that IRQnF may be set when a switch is made to edge detection after level detection operation. To
cancel an interrupt request (clear IRQnF) when using edge detection, read IRQnF and then write 0
to it. Figure 6.3 shows the interrupt control circuit.
ISR.IRQnF
IRQnS
(0: level,
1: edge)
IRQ pin
Level
detection
Edge
detection
RESIRQn
Selection
CPU
interrupt
request
S Q
R
(IRQn interrupt acceptance/IRQnF = 0 write after IRQnF = 1 read)
Figure 6.3 External Interrupt Process
Rev. 5.00 Sep 11, 2006 page 193 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.4
Operation
6.4.1
Interrupt Operation Sequence
The sequence of operations when an interrupt is requested is described below. Figure 6.4 shows a
flowchart of the operations.
1. Interrupt request sources send interrupt request signals to the interrupt controller.
2. The interrupt controller selects the highest-priority interrupt from the interrupt requests sent,
according to the priority levels set in interrupt priority registers A to L (IPRA to IPRL).
Lower-priority interrupts are ignored*. If two of these interrupts have the same priority level,
or if multiple interrupts occur within the same module, the interrupt with the highest priority
according to the “Default Priority” and “Priority within IPR Setting” entries in table 6.6 is
selected. An ignored interrupt is accepted after completion of the higher-level interrupt
handling, or can be cleared before the end of the higher-level interrupt handling.
3. The priority level of the interrupt selected by the interrupt controller is compared with the
interrupt mask bits (I3 to I0) in the CPU’s status register (SR). An interrupt with a priority
level equal to or lower than that set in bits I3 to I0 will be ignored. If the interrupt priority level
is higher that the level in bits I3 to I0, the interrupt controller accepts the interrupt and sends an
interrupt request signal to the CPU.
4. When the interrupt controller accepts an interrupt, a low-level signal is output from the
IRQOUT pin.
5. The interrupt request sent from the interrupt controller is detected when the instruction about to
be executed by the CPU is decoded, and execution of that instruction is replaced by interrupt
exception handling (see figure 6.5).
6. The status register (SR) and program counter (PC) are saved to the stack.
7. The priority level of the accepted interrupt is written to bits I3 to I0 in SR.
8. If the accepted interrupt is level-detected, or is from an on-chip peripheral module, a high-level
signal is output from the IRQOUT pin. If the accepted interrupt is edge-detected, a high-level
signal is output from the IRQOUT pin at the point at which the instruction about to be
executed by the CPU is replaced by interrupt exception handling in (5). However, if the
interrupt controller accepts another interrupt of a higher level than the interrupt in the process
of being accepted, the IRQOUT pin remains low.
9. The start address of the exception service routine is fetched form the exception vector table
entry corresponding to the accepted interrupt, a jump is made to that address, and program
execution starts from that point. The jump in this case is not a delayed branch.
Note: * An interrupt request for which edge detection has been set will be held pending until it
can be acknowledged. However, an IRQ interrupt can be cleared by accessing the IRQ
status register (ISR). For details, see section 6.2.3, External Interrupts.
Rev. 5.00 Sep 11, 2006 page 194 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Program execution state
Interrupt
generated?
No
Yes
No
NMI?
Yes
No
User break?
Yes
No
Level 15
interrupt?
Yes
No
Yes
I3 to I0 =
level 14 or lower?
No
IRQOUT = low
Yes
Level 1
interrupt?
No
Yes
I3 to I0 =
level 0?
*1
No
Save SR to stack
Save PC to stack
Copy interrupt level
to I3 to I0
Read vector number
IRQOUT = high
*2
Read exception
vector table
Branch to exception
service routine
Notes: I3 to I0: Interrupt mask bits in the CPU’s status register (SR).
1. IRQOUT is the same signal as the interrupt request signal sent to the CPU (see figure 6.1), and so is output in the
event of an interrupt request with a higher priority level than that set in bits I3 to I0 in SR.
2. If the accepted interrupt is edge-detected, IRQOUT goes high at the point at which the instruction about to be
executed by the CPU is replaced by interrupt exception handling (before SR is saved to the stack). If the interrupt
controller is accepting another interrupt with a higher priority level and an interrupt request is being output to the
CPU, the IRQOUT pin remains low.
Figure 6.4 Interrupt Operation Flowchart
Rev. 5.00 Sep 11, 2006 page 195 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.4.2
Interrupt Response Time
The time from generation of an interrupt request until interrupt exception handling is performed
and fetching of the first instruction of the exception service routine is started (the interrupt
response time) is shown in table 6.8. Figure 6.5 shows an example of pipeline operation when an
IRQ interrupt is accepted.
Table 6.8
Interrupt Response Time
Number of States
NMI, peripheral
Modules
IRQ
Time for priority
decision and SR
mask bit comparison
2
3
Wait time until end
of sequence being
executed by CPU
X (≥ 0)
X (≥ 0)
The longest sequence
is for interrupt or
address error exception
handling (X = 4 + m1 +
m2 + m3 + m4).
However, the sequence
may be even longer if
an interrupt-masking
instruction follows.
Time from interrupt
5 + m1 + m2 + m3
exception handling
until fetch of first
instruction of exception
service routine is
started
5 + m1 + m2 + m3
SR and PC save and
vector address fetch
are performed.
Response
time
Item
Notes
Total
7 + m1 + m2 + m3
8 + m1 + m2 + m3
Minimum
case
10
11
Maximum
case
11 + 2 (m1 + m2 + m3) 12 + 2 (m1 + m2 + m3) At 60-MHz operation:
+ m4
+ m4
0.30 to 0.32 µs*
At 60-MHz operation:
0.17 to 0.18 µs
Legend:
m1 to m4 are the number of states required for the following memory accesses.
m1: SR save (longword write)
m2: PC save (longword write)
m3: Vector address read (longword read)
m4: Fetch of first instruction of interrupt service routine
Note:
When m1 = m2 = m3 = m4 = 1
*
Rev. 5.00 Sep 11, 2006 page 196 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Interrupt acceptance
5 + m1 + m2 + m3
3
3
m1 m2
1
m3
1
M
E
M
E
IRQ
Instruction (instruction replaced
by interrupt exception handling)
Overrun fetch
First instruction of interrupt
service routine
F
D
E
E
M
E
F
F
D
E
Legend:
... Instruction is fetched from memory in which program is stored.
F: Instruction fetch
... Fetched instruction is decoded.
D: Instruction decode
E: Instruction execution ... Data operation and address calculation are performed in
accordance with result of decoding.
... Memory data access is performed.
M: Memory access
Figure 6.5 Example of Pipeline Operations when IRQ Interrupt is Accepted
Rev. 5.00 Sep 11, 2006 page 197 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.4.3
Stack Status after Interrupt Exception Handling
Figure 6.6 shows the stack after completion of interrupt exception handling.
Address
4n – 8
4n – 4
PC*1
32 bits
SR
32 bits
SP*2
4n
Notes: 1. PC: Start address of instruction following executed instruction (i.e. return destination
instruction)
2. Ensure that the SP value is a multiple of 4.
Figure 6.6 Stack Status after Interrupt Exception Handling
6.5
Sampling of Signals IRQ3 to IRQ0 in IRL Mode
In IRL mode, interrupt request signals IRQ3 to IRQ0 pass through a noise canceler before being
sent by the interrupt controller to the CPU as an interrupt request. The noise canceler eliminates
minute width variations in the signals. The CPU samples interrupts between executing
instructions. During this period, the noise canceler varies its output according to the signal level
after noise cancellation, so the signal level must be held until the CPU completes its sampling
operation. Therefore, interrupt source clearing should normally be carried out after making the
transition to the interrupt routine.
Figure 6.7 shows a block diagram of the interrupt response mechanism, and figure 6.8 shows the
interrupt response timing.
Rev. 5.00 Sep 11, 2006 page 198 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
IRQ0
IRQ1
IRQ2
IRQ3
Interrupt
request
Noise
canceler
Interrupt
controller
CPU
Accepted
interrupt
Figure 6.7 Interrupt Response Block Diagram
IRQ3 to IRQ0
signal levels
1111
1011 for one
clock due
to noise
1011
1111
Noise canceler output
1111
Level 2 interrupt
Level 6 interrupt
1101
1001
Cleared when interrupt is
accepted
1101
1001
Interrupt request to CPU
Interrupt acknowledge signal from CPU
Figure 6.8 Interrupt Response Timing Chart
6.6
Data Transfer by Means of Interrupt Request Signal
The DMAC can be activated, and data transfer performed, by means of an interrupt request signal.
Interrupt sources designated as DMAC activation sources are masked, and not input to the INTC.
The mask condition is as follows:
Mask condition = DME · (DE0 · source selection 0 + DE1 · source selection 1 + DE2 · source
selection 2 + DE3 · source selection 3)
A control block diagram is shown in figure 6.9.
Rev. 5.00 Sep 11, 2006 page 199 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
DME is bit 0 of the DMAC’s DMAOR register, and DEn (n = 0 to 3) is bit 0 of DMAC registers
CHR0 to CHR3. For details see section 9, Direct Memory Access Controller (DMAC).
Interrupt source
DMAC
Interrupt source
flag clearing
(by DMAC)
Interrupt source
(not designated as DMAC activation source)
INTC
CPU interrupt request
Figure 6.9 Interrupt Control Block Diagram
6.6.1
To Designate a Source as a DMAC Activation Source, Not a CPU Interrupt Source
1. Select the source in the DMAC, and set DE = 1, DME = 1. The CPU interrupt source is
masked regardless of the interrupt priority register settings.
2. When the interrupt is generated, the activation source is sent to the DMAC.
3. The DMAC clears the activation source when it performs transfer.
6.6.2
To Designate a Source as a CPU Interrupt Source, Not a DMAC Activation Source
1. Do not select the source in the DMAC, or clear the DME bit to 0. If the source has been
selected in the DMAC, clear the DE bit for the relevant DMAC channel to 0.
2. When the interrupt is generated, an interrupt request is sent to the CPU.
3. The CPU clears the interrupt source and performs the necessary processing in the interrupt
service routine.
Rev. 5.00 Sep 11, 2006 page 200 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
6.7
Usage Notes
6.7.1
IRQ3 to IRQ0 Sampling and Interrupt Source Determination in IRL Interrupt
Mode
Low level sensing or falling edge sensing can be set as the sampling method for each of pins IRQ3
to IRQ0 by means of IRQ sense select bits 3 to 0 in interrupt control register 2 (ICR2).
In IRL interrupt mode, the same sampling method must be set for all four pins, IRQ3 to IRQ0.
When low level sensing is set for IRQ3 to IRQ0, on acceptance of an interrupt request the
interrupt source (IRL1 to IRL15) is determined by the levels of IRQ3 to IRQ0.
When falling edge sensing is set for IRQ3 to IRQ0, the falling edge detection results for IRQ3 to
IRQ0 are retained. When an interrupt request is accepted, the interrupt source (IRL1 to IRL15) is
determined by the retained detection results.
For example, if level 3 (IRQ[3:0] = H'1100) input is not accepted, and this is followed by level 4
(IRQ[3:0] = H'1011) input without clearing the retained detection results, a level 7 (IRQ[3:0] =
H'1000) interrupt request will be judged to have been issued on the basis of the detection results
retained up to that point. In this example, in order to end up with a level 4 interrupt request, the
level 3 detection results must be cleared before the level 4 interrupt signal is input. Detection
results can be cleared by reading 1 from bits IRQ3F to IRQ0F in the IRQ status register (ISR),
then writing 0 to these bits.
6.7.2
IRQ Pin Noise Cancellation Function
Signals IRQ7 to IRQ0 are sent to the interrupt controller via a noise canceler that eliminates noise
of one state or less in duration. Therefore, when edge detection is set for the IRQ pins, the IRQ
input must be at least 2.5 states in duration.
Rev. 5.00 Sep 11, 2006 page 201 of 916
REJ09B0332-0500
Section 6 Interrupt Controller (INTC)
Rev. 5.00 Sep 11, 2006 page 202 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
Section 7 User Break Controller (UBC)
7.1
Overview
The user break controller (UBC) provides functions that simplify program debugging. When break
conditions are set in the UBC, a user break interrupt is generated according to the conditions of the
bus cycle generated by the CPU or on-chip DMAC. This function makes it easy to design an
effective self-monitoring debugger, enabling programs to be debugged with the chip alone,
without using a large-scale in-circuit emulator.
7.1.1
Features
The UBC has the following features:
• The following break conditions can be set:
 Address (bit masking possible)
Internal address bus (CAB)/internal address bus (IAB)/X memory address bus (XAB)/Y
memory address bus (YAB)
 Bus master
CPU cycle/DMA cycle
 Bus cycle
Instruction fetch/data access
 Read/write
 Operand size
Byte/word/longword
• User break interrupt generation on occurrence of break condition
A user-written user break interrupt exception routine can be executed.
• When a user break is set for a CPU instruction fetch, the break is effected before execution of
the next instruction (post-execution break).
Rev. 5.00 Sep 11, 2006 page 203 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
7.1.2
Block Diagram
Figure 7.1 shows a block diagram of the UBC.
UBARH
UBAMRL
UBARL
X/Y memory bus
UBAMRH
Internal bus (IAB)
UBBR
Internal bus (CAB)
Module bus
Break condition comparator
User break
interrupt
generator
Interrupt
request
Interrupt controller
Legend:
UBARH, UBARL:
User break address registers H and L
UBAMRH, UBAMRL: User break address mask registers H and L
UBBR:
User break bus cycle register
Figure 7.1 Block Diagram of UBC
Rev. 5.00 Sep 11, 2006 page 204 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
7.1.3
Register Configuration
The UBC has the five registers shown in table 7.1. These registers are used to set the break
conditions.
Table 7.1
UBC Registers
Name
Abbreviation
R/W
Initial
Value
Address
Access
Size
User break address register H
UBARH
R/W
H'0000
H'FFFF0C80
16, 32
User break address register L
UBARL
R/W
H'0000
H'FFFF0C82
16, 32
User break address mask register H
UBAMRH
R/W
H'0000
H'FFFF0C84
16, 32
User break address mask register L
UBAMRL
R/W
H'0000
H'FFFF0C86
16, 32
User break bus cycle register
UBBR
R/W
H'0000
H'FFFF0C88
16, 32
7.2
Register Descriptions
7.2.1
User Break Address Register (UBAR)
UBARH
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
UBA31
UBA30
UBA29
UBA28
UBA27
UBA26
UBA25
UBA24
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
UBA23
UBA22
UBA21
UBA20
UBA19
UBA18
UBA17
UBA16
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 205 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
UBARL
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
UBA15
UBA14
UBA13
UBA12
UBA11
UBA10
UBA9
UBA8
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
UBA7
UBA6
UBA5
UBA4
UBA3
UBA2
UBA1
UBA0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
The user break address register (UBAR) consists of two 16-bit readable/writable registers: user
break address register H (UBARH) and user break address register L (UBARL).
Control bits XYE and XYS in the user break bus cycle register (UBBR) select the break condition
address bus. When XYE is 0, the break address is specified on the CAB internal address bus or
IAB internal address bus. In this case, UBARH specifies the upper half (bits 31 to 16) of the
address used as the break condition, and UBARL specifies the lower half (bits 15 to 0). When
XYE is 1, UBARH specifies the break address on X memory address bus XAB (bits 15 to 1), and
UBARL specifies the break address on Y memory address bus YAB (bits 15 to 1). As XAB and
YAB have only 15 bits, 0 must be set as the least significant bit. When XYE is 1, either XAB or
YAB must be selected with the XYS bit in UBBR.
UBARH and UBARL are initialized to H'0000 by a power-on reset and in hardware standby
mode. They are not initialized by the module standby function or in software standby mode.
XYE
UBARH
UBARL
0
CAB31–CAB16/IAB31–IAB16
CAB15–CAB0/IAB15–IAB0
1
XAB15–XAB1 (XYS = 0)
YAB15–YAB1 (XYS = 1)
Rev. 5.00 Sep 11, 2006 page 206 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
7.2.2
User Break Address Mask Register (UBAMR)
UBAMRH
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
UBM31
UBM30
UBM29
UBM28
UBM27
UBM26
UBM25
UBM24
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
UBM23
UBM22
UBM21
UBM20
UBM19
UBM18
UBM17
UBM16
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
UBAMRL
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
UBM15
UBM14
UBM13
UBM12
UBM11
UBM10
UBM9
UBM8
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
UBM7
UBM6
UBM5
UBM4
UBM3
UBM2
UBM1
UBM0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
The user break address mask register (UBAMR) consists of two 16-bit readable/writable registers:
user break address mask register H (UBAMRH) and user break mask address register L
(UBAMRL).
Control bits XYE and XYS in the user break bus cycle register (UBBR) select the break condition
address bus. When XYE is 0, UBAR specifies a break address on the CAB internal address bus or
IAB internal address bus. In this case, UBAMRH specifies which bits of the break address set in
UBARH are to be masked, and UBAMRL specifies which bits of the break address set in UBARL
are to be masked. When XYE is 1, UBAMRH specifies which bits of the break address on XAB
(bits 15 to 1) set in UBARH are to be masked, and UBAMRL specifies which bits of the break
address on YAB (bits 15 to 1) set in UBARL are to be masked. As XAB and YAB have only 15
Rev. 5.00 Sep 11, 2006 page 207 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
bits, the setting of the least significant bit of UBAMRH and UBAMRL is invalid. When XYE is 1,
either XAB or YAB must be selected with the XYS bit in UBBR.
UBAMRH and UBAMRL are initialized to H'0000 by a power-on reset and in hardware standby
mode. They are not initialized by the module standby function or in software standby mode.
XYE
UBAMRH
UBAMRL
0
CAB31–16/IAB31–16 masked
CAB15–0/IAB15–0 masked
1
XAB15–1 masked (XYS = 0)
YAB15–1 masked (XYS = 1)
Bits 15 to 0:
UBMn
Description
0
User break address UBAn is included in break conditions
1
User break address UBAn is not included in break conditions
(Initial value)
Note: n = 31 to 0
7.2.3
User Break Bus Cycle Register (UBBR)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
UBIE
—
—
—
—
—
XYE
XYS
0
0
0
0
0
0
0
0
R/W
R
R
R
R
R
R/W
R/W
7
6
5
4
3
2
1
0
CP1
CP0
ID1
ID0
RW1
RW0
SZ1
SZ0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
The user break bus cycle register (UBBR) is a 16-bit readable/writable register that sets five
conditions—(1) internal bus (C-bus) or internal bus (I-bus)/X memory bus or Y memory bus, (2)
CPU cycle/DMA cycle, (3) instruction fetch/data access, (4) read/write, and (5) operand size
(byte/word/longword)—and selects whether or not a user break interrupt is to generated when a
condition is matched. UBBR is initialized to H'0000 by a power-on reset and in hardware standby
mode. It is not initialized by the module standby function or in software standby mode.
Rev. 5.00 Sep 11, 2006 page 208 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
Bit 15—User Break Interrupt Enable (UBIE): Specifies whether or not a user break interrupt is
to be generated when the set break condition occurs.
Bit 15: UBIE
Description
0
User break interrupt is not generated when break condition occurs
(Initial value)
1
User break interrupt is generated when break condition occurs
Bits 14 to 10—Reserved: These bits are always read as 0, and should only be written with 0.
Bit 9—X/Y Memory Bus Enable (XYE): Selects the C-bus/I-bus or the X/Y memory bus as the
break condition bus.
Bit 9: XYE
Description
0
C-bus or I-bus is selected as break condition
1
X memory bus or Y memory bus is selected as break condition
(Initial value)
Bit 8—X Memory Bus/Y Memory Bus Select (XYS): Selects the X memory bus or Y memory
bus as the break condition bus.
Bit 8: XYS
Description
0
X memory bus is selected as break condition
1
Y memory bus is selected as break condition
(Initial value)
Note: When XYE = 0, the setting of bit 8 is ignored.
Bits 7 and 6—CPU Cycle/DMA Cycle Select (CP1, CP0): These bits select the CPU or DMA as
the break condition bus master.
Bit 7: CP1
Bit 6: CP0
Description
0
0
User break interrupt is not generated
1
CPU cycle is selected as break condition
1
(Initial value)
0
DMA cycle is selected as break condition
1
Both CPU cycle and DMA cycle are selected as break
conditions
Rev. 5.00 Sep 11, 2006 page 209 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
Bits 5 and 4—Instruction Fetch/Data Access Select (ID1, ID0): These bits select an instruction
fetch cycle or data access cycle as the break condition bus cycle.
Bit 5: ID1
Bit 4: ID0
Description
0
0
User break interrupt is not generated
1
Instruction fetch cycle is selected as break condition
1
(Initial value)
0
Data access cycle is selected as break condition
1
Both instruction fetch cycle and data access cycle are
selected as break conditions
Bits 3 and 2—Read/Write Select (RW1, RW0): These bits select a read cycle or write cycle as
the break condition access.
Bit 3: RW1
Bit 2: RW0
Description
0
0
User break interrupt is not generated
1
Read cycle is selected as break condition
0
Write cycle is selected as break condition
1
Both read cycle and write cycle are selected as break
conditions
1
(Initial value)
Bits 1 and 0—Operand Size Select (SZ1, SZ0): These bits select the operand size of the break
condition bus cycle.
Bit 1: SZ1
Bit 0: SZ0
Description
0
0
Operand size is not included in break conditions
(Initial value)
1
Byte access is selected as break condition
0
Word access is selected as break condition
1
Longword access is selected as break condition
1
Rev. 5.00 Sep 11, 2006 page 210 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
7.3
Operation
7.3.1
User Break Operation Sequence
The sequence of operations from setting of break conditions to user break interrupt exception
handling is described below.
1. As break conditions, set the user break address in the user break address register (UBAR), the
address bits to be masked in the user break address mask register (UBAMR), and the type of
bus cycle on which a break is to be executed in the user break bus cycle register (UBBR). If
any pair of bits from among the CPU cycle/DMA cycle select bits (CP1, CP0), instruction
fetch/data access select bits (ID1, ID0), or read/write select bits (RW1, RW0) in UBBR is set
to 00 (user break interrupt not generated), a user break interrupt will not be generated even if
other conditions are satisfied. If the user break interrupt is to be used, a condition must be set
in all of these bit pairs.
2. If the user break interrupt enable bit (UBIE) in the user break bus cycle register (UBBR) is set
to 1 when a break condition occurs, the UBC sends a user break interrupt request signal to the
interrupt controller (INTC).
3. When the INTC receives the user break interrupt request signal, it determines its priority. As
the priority level of the user break interrupt is 15, it is accepted if the level set in the interrupt
mask bits (I3 to I0) in the status register (SR) is 14 or less. If the level set in bits I3 to I0 is 15,
the user break interrupt is not accepted, but is held pending until it can be. As the setting of bits
I3 to I0 is 15 during NMI exception handling, a user break interrupt is not accepted during
execution of the NMI exception service routine. However, changing the setting of bits I3 to I0
to level 14 or below at the start of the NMI exception service routine will enable subsequent
user break interrupts to be accepted. For details of priority determination, see section 6,
Interrupt Controller (INTC).
4. The INTC sends a user break interrupt request signal to the CPU. On receiving this signal, the
CPU begins user break interrupt exception handling. For details of interrupt exception
handling, see section 5, Exception Handling, and section 6.4, Operation.
Rev. 5.00 Sep 11, 2006 page 211 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
7.3.2
Instruction Fetch Cycle Break
When an internal bus (C-bus)/CPU/instruction fetch/read setting is made in the user break bus
cycle register (UBBR), a CPU instruction fetch cycle can be selected as a user break condition. In
this case, an operand size setting is not necessary.
When a user break condition occurs, the instruction set in the user break conditions is executed,
and an interrupt is generated before execution of the next instruction. Therefore, a user break
cannot be specified for an instruction that is fetched but not executed, such as an overrun fetch
instruction. However, if a user break condition is set for a delayed branch instruction or an
interrupt-disabled instruction such as LDC, an interrupt will be generated before execution of the
next instruction at which the interrupt can be accepted.
When an instruction fetch cycle is set as a user break condition, the start address at which that
instruction is located should be set as the user break address. A user break will not occur if a
different address is set. Therefore, if the address of the lower word of a 32-bit instruction is set as
a user break condition, a user break will not occur.
7.3.3
Data Access Cycle Break
Memory cycles subject to a CPU data access break are memory cycles due to instructions and
stack operations and vector reads when exception handling is executed. Table 7.2 shows the bits of
the user break address register and the address bus that are compared for each operand size to
determine whether a break condition has been matched.
Table 7.2
Data Access Cycle Address and Operand Size Comparison Conditions
Access Size
Compared Address Bits
Longword
Bits 31–2 of break address register compared with bits 31–2 of address bus
Word
Bits 31–1 of break address register compared with bits 31–1 of address bus
Byte
Bits 31–0 of break address register compared with bits 31–0 of address bus
This means, for example, that if address H'00001003 is set without specifying an operand size
condition (i.e. the operand size select bits in the user break bus cycle register are set to 00), bus
cycles that satisfy the break conditions include the following(assuming that all other conditions are
satisfied):
• Longword access at H'00001000
• Word access at H'00001002
• Byte access at H'00001003
Rev. 5.00 Sep 11, 2006 page 212 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
7.3.4
X Memory Bus or Y Memory Bus Cycle Break
When XYE is set to 1 in UBBR, break addresses on the X memory bus or Y memory bus are
selected. Either the X memory bus or the Y memory bus must be selected with the XYS bit in
UBBR; the X and Y memory buses cannot both be included in the break conditions at the same
time. The break conditions are applied to X memory bus cycles or Y memory bus cycles by
specifying the CPU bus master, data access cycle, read or write access, and word operand size or
operand size not included.
When the X memory address bus is selected as a break condition, specify the X memory address
in UBARH and UBAMRH; when the Y memory address bus is selected, specify the Y memory
address in UBARL and UBAMRL.
7.3.5
Program Counter (PC) Value Saved
When Instruction Fetch is Set as User Break Condition
The program counter (PC) value saved in user break interrupt exception handling is the address of
the instruction to be executed after the instruction at which the user break condition was satisfied.
The instruction at which the break condition was satisfied is executed, and a user break interrupt is
generated before execution of the next instruction. However, when a user break condition is set for
a delayed branch instruction, the delay slot instruction is executed, and the user break interrupt is
generated before execution of the branch instruction. In this case, the PC value is the address of
the branch destination instruction.
When Data Access (CPU/DMA) is Set as User Break Condition
The address saved is the start address of the instruction following the instruction for which
execution has been completed at the point at which user break exception handling starts. When a
data access (CPU/DMA) is set as a user break condition, it is not possible to specify where the
break will occur. The break will be effected at an instruction about to be fetched close to where the
break data access occurred.
Rev. 5.00 Sep 11, 2006 page 213 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
7.4
Examples of Use
CPU Instruction Fetch Cycle Break Condition Settings
Example of Valid Settings:
• Register settings
UBARH = H'0000, UBARL = H'0404
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'8054
• Set conditions
Address: H'00000404; address mask: H'00000000
Bus cycle: CPU, instruction fetch, read (operand size not included)
A user break interrupt is generated after execution of the instruction at address H'00000404.
Example of Invalid Settings:
• Register settings
UBARH = H'0015, UBARL = H'389C
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'8058
• Set conditions
Address: H'0015389C; address mask: H'00000000
Bus cycle: CPU, instruction fetch, write (operand size not included)
As an instruction fetch cycle is not a write cycle, a user break interrupt is not generated.
CPU Data Access Cycle (Internal Bus (C-Bus) Cycle) Break Condition Settings
Example of Valid Settings (1):
• Register settings
UBARH = H'0012, UBARL = H'3456
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'806A
• Set conditions
Address: H'00123456; address mask: H'00000000
Bus cycle: CPU, data access, write, word
A user break interrupt is generated when word data is written to address H'00123456.
Rev. 5.00 Sep 11, 2006 page 214 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
Example of Valid Settings (2):
• Register settings
UBARH = H'00A8, UBARL = H'3901
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'8066
• Set conditions
Address: H'00A80391; address mask: H'00000000
Bus cycle: CPU, data access, read, word
As a word access is performed on an even address, user break interrupt exception handling is
performed after address error exception handling.
Example of Invalid Settings:
• Register settings
UBARH = H'0034, UBARL = H'5024
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'8062
• Set conditions
Address: H'00345024; address mask: H'00000000
Bus cycle: CPU, data access, —, word
As the access type has not been set as either read or write, a user break interrupt is not generated.
DMA Cycle Break Condition Settings
Example of Valid Settings:
• Register settings
UBARH = H'0076, UBARL = H'BCDC
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'80A7
• Set conditions
Address: H'0076BCDC; address mask: H'00000000
Bus cycle: DMA, data access, longword
A user break interrupt is generated when longword data is read from address H'0076BCDC.
Rev. 5.00 Sep 11, 2006 page 215 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
Example of Invalid Settings:
• Register settings
UBARH = H'0023, UBARL = H'45C8
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'8094
• Set conditions
Address: H'002345C8; address mask: H'00000000
Bus cycle: DMA, instruction fetch, write (operand size not included)
As an instruction fetch is not performed in a DMA cycle, a user break interrupt is not generated.
CPU Data Access Cycle (X/Y Memory Bus Cycle) Break Condition Settings
Example of Valid Settings:
• Register settings
UBARH = H'8000, UBARL = H'0000
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'826A
• Set conditions
Address: H'FFFF8000; address mask: H'00000000
Bus cycle: CPU, data access (X memory access using X memory bus), write, word
A user break access is generated when word data is written to address H'FFFF8000 in X memory
space using the X memory bus.
Example of Invalid Settings:
• Register settings
UBARH = H'A000, UBARL = H'0000
UBAMRH = H'0000, UBAMRL = H'0000
UBBR = H'826B
• Set conditions
Address: H'FFFFA000; address mask: H'00000000
Bus cycle: CPU, data access (Y memory access using Y memory bus), write, byte
As byte access cannot be performed in a data access cycle using the X/Y memory bus, a user
break interrupt is not generated.
Rev. 5.00 Sep 11, 2006 page 216 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
7.5
Usage Notes
7.5.1
Changes to UBC Register Settings
UBC register reads and writes are executed in the MA (memory access) stage of the instruction
pipeline, and checks are not carried out based on new user break conditions until register changes
have been completed. A user break based on new break conditions will not occur until register
setting changes have been completed. Thus, if the check stage of the succeeding instruction occurs
before new user break conditions are written to the UBC registers, a user break will not occur even
if the checked address matches the user break condition.
7.5.2
Repeat Condition Breaks
If repeated execution of a repeat instruction is included as a break condition, note that a user break
will not occur if a user break condition is set for an instruction being executed repeatedly during
execution of a repeat loop consisting of no more than three instructions.
Rev. 5.00 Sep 11, 2006 page 217 of 916
REJ09B0332-0500
Section 7 User Break Controller (UBC)
Rev. 5.00 Sep 11, 2006 page 218 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Section 8 Bus State Controller (BSC)
8.1
Overview
The functions of the bus state controller (BSC) include division of the address space and output of
control signals for various types of memory. The BSC functions allow DRAM, EDO DRAM,
SRAM, ROM, etc., to be connected directly to the SH7065 without the use of external circuitry.
8.1.1
Features
The BSC has the following features:
• Address space is managed as six independent areas
 CS0 space: Maximum linear 48 Mbytes in on-chip ROM enabled modes, and maximum 64
Mbytes in on-chip ROM disabled modes
 CS1 to CS3 spaces: Maximum linear 64 Mbytes for each
 CS4, CS5 spaces: Dedicated DRAM spaces, maximum linear 64 Mbytes
 Memory types (DRAM, EDO DRAM, SRAM, ROM, etc.) can be specified individually
for each space
 Bus width (8, 16, or 32 bits) can be selected for each space
(Settable by external pin for CS0 space only)
 Wait states can be inserted by software for each space
 Wait states can be inserted by the WAIT pin when accessing external memory space
 Output of appropriate control signals for memory connected to each space
 Automatic wait cycle insertion to prevent data bus collisions in case of consecutive
memory accesses to different CS spaces, or a read access followed by a write access to the
same area
 Big-endian or little-endian mode can be set for each space
• Direct DRAM interface
 Row address/column address multiplexed output according to DRAM capacity
 Burst operation supported (fast page mode, EDO mode, RAS down mode)
 Precharge cycle generated to secure RAS precharge interval
• Access control for various kinds of memory and peripheral chips
 Address/data multiplexing
Rev. 5.00 Sep 11, 2006 page 219 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
• Refresh functions
 Supports CAS-before-RAS refreshing and self-refreshing
 Supports refresh operation immediately after self-refresh operation in low-power DRAM
by means of refresh counter overflow interrupt function
 Up to 8 consecutive CAS-before-RAS refreshes
• Refresh counter can be used as interval timer
 Interrupt request generated by compare match
 Interrupt request generated by refresh counter overflow
Rev. 5.00 Sep 11, 2006 page 220 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.1.2
Block Diagram
Bus
interface
WAIT
Wait
control unit
WCR
CSn
Area
control unit
ACR
Peripheral bus
Interrupt
controller
Memory
control unit
BCR
DCR
Refresh
control unit
Module bus
BS, RD, WR,
RDWR, WRxx,
RASn, CASxxn,
xxBS, OEn, AH
Internal bus
Figure 8.1 shows a block diagram of the BSC.
RFCR
RTCNT
Comparator
RTCOR
RTCSR
BSC
Legend:
WCR: Wait control register
ACR: Area control register
BCR: Bus control register
DCR: DRAM control register
RFCR:
RTCNT:
RTCOR:
RTCSR:
Refresh count register
Refresh timer count register
Refresh time constant register
Refresh timer control/status register
Figure 8.1 Block Diagram of BSC
Rev. 5.00 Sep 11, 2006 page 221 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.1.3
Pin Configuration
Table 8.1 shows the BSC pin configuration.
Table 8.1
BSC Pins
Name
Signals
I/O
Function
Address bus
A25–A0
Output
Address output
Data bus
D31–D0
I/O
Data input/output
Bus cycle start
BS
Output
Signal that indicates the start of a bus cycle. In
burst transfer, asserted each data cycle.
Chip select
CS5–CS0
Output
Chip select signals indicating the area being
accessed
Read
RD
Output
Strobe signal indicating a read cycle
Write LL
WRLL
Output
Strobe signal indicating a D7–D0 write cycle
Write LH
WRLH
Output
Strobe signal indicating a D15–D8 write cycle
Write HL
WRHL
Output
Strobe signal indicating a D23–D16 write cycle
Write HH
WRHH
Output
Strobe signal indicating a D31–D24 write cycle
Write strobe LL
LLBS
Output
Strobe signal indicating access to D7–D0
Write strobe LH
LHBS
Output
Strobe signal indicating access to D15–D8
Write strobe HL
HLBS
Output
Strobe signal indicating access to D23–D16
Write strobe HH
HHBS
Output
Strobe signal indicating access to D31–D24
Write
WR
Output
Data bus input/output direction designation signal.
Used as write designation signal for byte-strobe
memory.
Read/write
RDWR
Output
DRAM/EDO DRAM write designation signal
Row address
strobe
RAS1, RAS0
Output
RAS signals for DRAM connected to areas 5 and 4
Column address
strobe LL
CASLL1,
CASLL0
Output
D7–D0 CAS signals for DRAM connected to areas
5 and 4
Column address
strobe LH
CASLH1,
CASLH0
Output
D15–D8 CAS signals for DRAM connected to
areas 5 and 4
Column address
strobe HL
CASHL1,
CASHL0
Output
D23–D16 CAS signals for DRAM connected to
areas 5 and 4
Column address
strobe HH
CASHH1,
CASHH0
Output
D31–D24 CAS signals for DRAM connected to
areas 5 and 4
Rev. 5.00 Sep 11, 2006 page 222 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Name
Signals
I/O
Function
Output enable
OE1, OE0
Output
Output enable signals for EDO DRAM connected to
areas 5 and 4. Used for access in RAS down
mode.
Address hold
AH
Output
Signal for holding address in address/data
multiplexing
Wait
WAIT
Input
Wait state request signal
Bus release
request
BREQ
Input
Bus release request signal
Bus request
acknowledge
BACK
Output
Signal granting use of the bus
Rev. 5.00 Sep 11, 2006 page 223 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.1.4
Register Configuration
The BSC has the 18 registers shown in table 8.2. The functions of these registers include control
of direct interfaces to various types of memory, wait states, and refreshing.
Table 8.2
BSC Registers
Name
Abbreviation
R/W
Initial
Value
Address
Access
Size
Bus control register
BCR
R/W
H'0000
H'FFFF 0C00
8, 16, 32
Area control register 1 (for area 0)
ACR1_0
R/W
H'07FF
H'FFFF 0C10
8, 16, 32
Area control register 1 (for area 1)
ACR1_1
R/W
H'07FF
H'FFFF 0C12
8, 16, 32
Area control register 1 (for area 2)
ACR1_2
R/W
H'07FF
H'FFFF 0C14
8, 16, 32
Area control register 1 (for area 3)
ACR1_3
R/W
H'07FF
H'FFFF 0C16
8, 16, 32
Area control register 1 (for area 4)
ACR1_4
R/W
H'0000
H'FFFF 0C20
8, 16, 32
Area control register 1 (for area 5)
ACR1_5
R/W
H'0000
H'FFFF 0C22
8, 16, 32
Wait control register (for area 0)
WCR_0
R/W
H'FFFE
H'FFFF 0C30
8, 16, 32
Wait control register (for area 1)
WCR_1
R/W
H'FFFE
H'FFFF 0C32
8, 16, 32
Wait control register (for area 2)
WCR_2
R/W
H'FFFE
H'FFFF 0C34
8, 16, 32
Wait control register (for area 3)
WCR_3
R/W
H'FFFE
H'FFFF 0C36
8, 16, 32
DRAM control register 1
DCR1
R/W
H'0000
H'FFFF 0C40
8, 16, 32
DRAM control register 2
DCR2
R/W
H'1FE0
H'FFFF 0C42
8, 16, 32
DRAM control register 3
DCR3
R/W
H'1800
H'FFFF 0C44
8, 16, 32
Refresh timer control/status register
RTCSR
R/W
H'0000
H'FFFF 0C68
8, 16, 32
Refresh timer counter
RTCNT
R/W
H'0000
H'FFFF 0C6A
8, 16, 32
Refresh time constant counter
RTCOR
R/W
H'0000
H'FFFF 0C6C
8, 16, 32
Refresh count register
RFCR
R/W
H'0000
H'FFFF 0C6E
8, 16, 32
Rev. 5.00 Sep 11, 2006 page 224 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.1.5
Address Format
Figure 8.2 shows the address format used in the SH7065.
A31
A30–A26
A0
A25
Output address: Output from address pins
CS space selection: Decoded, outputs CS0 to CS5
Space selection: Not output externally; used for space type selection
0: CS space
1: XRAM/YRAM space, on-chip peripheral module space
Figure 8.2 Address Format
The SH7065 uses 32-bit addresses.
Bit A31 is used to select the type of space. This signal is not output externally.
Bits A30 to A26 are decoded to provide the chip select signal (CS0 to CS5) for the area, which is
output.
Bits A25 to A0 are output externally.
Table 8.3 shows the address maps when the maximum range is set for each space.
Rev. 5.00 Sep 11, 2006 page 225 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Table 8.3
Address Maps
• In on-chip ROM disabled modes
Addresses
Type of Space
Type of Memory
Size
Bus Width
H'0000 0000 to H'03FF FFFF
CS0 space
Normal space
64 MB
8/16/32 bits
H'0400 0000 to H'07FF FFFF
CS1 space
Normal space/
multiplexed I/O
space
64 MB
8/16/32 bits
64 MB
8/16/32 bits
64 MB
8/16/32 bits
64 MB
8/16/32 bits
64 MB
8/16/32 bits
256 kB
32 bits
5 kB
8/16 bits
4 kB
32 bits
4 kB
32 bits
H'0800 0000 to H'0BFF FFFF
CS2 space
H'0C00 0000 to H'0FFF FFFF
CS3 space
H'1000 0000 to H'3FFF FFFF
Reserved
Reserved
H'4000 0000 to H'43FF FFFF
CS4 space
DRAM
H'4400 0000 to H'47FF FFFF
CS5 space
H'4800 0000 to H'57FF FFFF
Reserved
Reserved
H'5800 0000 to H'5803 FFFF
On-chip ROM*
On-chip ROM*
H'5804 0000 to H'FFFE FFFF
Reserved
Reserved
H'FFFF 0000 to H'FFFF 13FF
On-chip peripheral
module
On-chip peripheral
module
H'FFFF 1400 to H'FFFF 7FFF
Reserved
Reserved
H'FFFF 8000 to H'FFFF 8FFF
XRAM
XRAM
H'FFFF 9000 to H'FFFF 9FFF
Reserved
Reserved
H'FFFF A000 to H'FFFF AFFF
YRAM
YRAM
H'FFFF B000 to H'FFFF FFFF
Reserved
Reserved
Note:
*
In this mode, the power-on reset vector table is located in the CS0 space (external
space). Also, addresses H'5800 0000 to H'5803 FFFF can be used as on-chip ROM.
Rev. 5.00 Sep 11, 2006 page 226 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
• In on-chip ROM enabled modes
Addresses
Type of Space
Type of Memory
Size
Bus Width
H'0000 0000 to H'0003 FFFF
On-chip ROM
On-chip ROM
256 kB
32 bits
H'0004 0000 to H'00FF FFFF
Reserved
Reserved
H'0100 0000 to H'03FF FFFF
CS0 space
Normal space
48 MB
8/16/32 bits
H'0400 0000 to H'07FF FFFF
CS1 space
64 MB
8/16/32 bits
H'0800 0000 to H'0BFF FFFF
CS2 space
64 MB
8/16/32 bits
H'0C00 0000 to H'0FFF FFFF
CS3 space
Normal space/
multiplexed I/O
space
64 MB
8/16/32 bits
H'1000 0000 to H'3FFF FFFF
Reserved
Reserved
H'4000 0000 to H'43FF FFFF
CS4 space
DRAM
64 MB
8/16/32 bits
H'4400 0000 to H'47FF FFFF
CS5 space
64 MB
8/16/32 bits
H'4800 0000 to H'57FF FFFF
Reserved
Reserved
H'5800 0000 to H'5803 FFFF
On-chip ROM*
On-chip ROM*
256 kB
32 bits
H'5804 0000 to H'FFFE FFFF
Reserved
Reserved
H'FFFF 0000 to H'FFFF 13FF
On-chip peripheral
module
On-chip peripheral
module
5 kB
8/16 bits
H'FFFF 1400 to H'FFFF 7FFF
Reserved
Reserved
H'FFFF 8000 to H'FFFF 8FFF
XRAM
XRAM
4 kB
32 bits
H'FFFF 9000 to H'FFFF 9FFF
Reserved
Reserved
H'FFFF A000 to H'FFFF AFFF
YRAM
YRAM
4 kB
32 bits
H'FFFF B000 to H'FFFF FFFF
Reserved
Reserved
Note:
*
The same data as in on-chip ROM addresses H'0000 0000 to H'0003 FFFF can be
read.
Rev. 5.00 Sep 11, 2006 page 227 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.2
Register Descriptions
8.2.1
Bus Control Register (BCR)
The bus control register (BCR) is a 16-bit readable/writable register that specifies bus settings
common to all areas.
BCR is initialized to H'0000 by a power-on reset, but is not initialized in standby mode.
Bit:
Initial value:
R/W:
Bit:
15
14
13
12
11
10
9
8
BRQE
BAS
HIZCNT
—
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R
R
R
R
R
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit 15—BREQ Enable (BRQE): Enables or disables acceptance of the bus release request
(BREQ).
Bit 15: BRQE
Description
0
Bus release request (BREQ) is not accepted
1
Bus release request (BREQ) is accepted
(Initial value)
Bit 14—Byte Access Specification (BAS): Specifies the byte access control signals.
Bit 14: BAS
Description
0
Access by WRHH, WRHL, WRLH, and WRLL signals
1
Access by WR, HHBS, HLBS, LHBS, and LLBS signals
Rev. 5.00 Sep 11, 2006 page 228 of 916
REJ09B0332-0500
(Initial value)
Section 8 Bus State Controller (BSC)
Bit 13—High-Impedance Control (HIZCNT): Specifies the state of the RAS, CAS, and OE
signals (which control the DRAM self-refresh status) in standby mode and when the bus is
released. This enables the DRAM to be kept in the self-refresh state.
Bit 13: HIZCNT
Description
0
The RAS, CAS, and OE signals go to the high-impedance (Hi-Z) state in
standby mode and when the bus is released
(Initial value)
1
The RAS, CAS, and OE signals drive in standby mode and when the bus is
released
Bits 12 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
8.2.2
Area Control Registers 1 (ACR1_0 to ACR1_5)
The ACR1 registers are 16-bit readable/writable registers that specify the type of memory to be
connected to each area, acceptance of external waits, bus width, number of idle cycles, and
number of CS expansion cycles.
The ACR1 registers are initialized to H'07FF (ACR1_0 to ACR1_3 for areas 0 to 3) or H'0000
(ACR1_4 and ACR1_5 for areas 4 and 5) by a power-on reset, but are not initialized in standby
mode.
Registers ACR1_0 to ACR1_3 (forAreas 0 to 3)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
ENDIAN
TP1
TP0
EXWE
—
SZ1
SZ0
IW2
0
0
0
0
0
1
1
1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
IW1
IW0
SWH2
SWH1
SHW0
SWT2
SWT1
SWT0
1
1
1
1
1
1
1
1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 229 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bit 15—Endian Specification (ENDIAN): Specifies the endian mode for each area.
Bit 15: ENDIAN
Description
0
Big-endian mode
1
Little-endian mode
(Initial value)
Bits 14 and 13—Memory Specification (TP1, TP0): These bits specify the type of memory or
I/O connected to each area.
Bit 14: TP1
Bit 13: TP0
Description
0
0
Access as normal space
1
Reserved (Do not set)
0
Access as multiplexed address/data I/O space
1
Reserved (Do not set)
1
(Initial value)
Note: Area 0 is always normal space. For this space, these bits are always read as 0 and should
only be written with 0.
Bit 12—External Wait Enable (EXWE): Specifies for each area whether or not wait requests via
the external WAIT pin are to be accepted.
Bit 12: EXWE
Description
0
External wait requests are accepted
1
External wait requests are not accepted
(Initial value)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Bits 10 and 9—Bus Width Specification (SZ1, SZ0): These bits specify the bus width of each
area.
Bit 10: SZ1
Bit 9: SZ0
Description
0
0
Reserved (Do not set)
1
8 bits
0
16 bits
1
32 bits
1
(Initial value)
Note: In ROMless expanded mode, the bus width of the CS0 space is set by pins MD0 and MD1.
For details, see section 8.3.2, Areas.
Rev. 5.00 Sep 11, 2006 page 230 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bits 8 to 6—Inter-Cycle Idle Specification (IW2 to IW0): These bits specify the number of idle
cycles between bus cycles to be inserted for each area when switching to a different space, or from
read access to write access in the same space. The idle cycle specification for the area accessed
immediately before is valid. When switching to access to a different space, one idle cycle is
inserted automatically in the case of a read cycle, and two idle cycles in the case of a write cycle,
even if “No idle cycles” is set. When switching from read cycle to write cycle in the same space,
two idle cycles are inserted automatically even if “No idle cycles” is set.
Bit 8: IW2
Bit 7: IW1
Bit 6: IW0
Description
0
0
0
No idle cycles
1
1 idle cycle inserted
0
2 idle cycles inserted
1
:
:
:
:
1
1
0
6 idle cycles inserted
1
7 idle cycles inserted
(Initial value)
Bits 5 to 3—Extension Cycles after CS Assertion (SWH2 to SWH0): These bits specify, for
each area, the number of cycles to be inserted between assertion of the CS signal and assertion of
the RD signal or WR signal.
Bit 5: SWH2
Bit 4: SWH1
Bit 3: SWH0
Description
0
0
0
No extension cycles
1
1 extension cycle inserted
0
2 extension cycles inserted
1
:
:
:
:
1
1
0
6 extension cycles inserted
1
7 extension cycles inserted (Initial value)
Bits 2 to 0—Extension Cycles before CS Negation (SWH2 to SWH0): These bits specify, for
each area, the number of cycles to be inserted between negation of the RD signal or WR signal
and negation of the CS signal.
Rev. 5.00 Sep 11, 2006 page 231 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bit 2: SWT2
Bit 1: SWT1
Bit 0: SWT0
Description
0
0
0
No extension cycles
1
1 extension cycle inserted
1
0
2 extension cycles inserted
:
:
:
:
1
1
0
6 extension cycles inserted
1
7 extension cycles inserted (Initial value)
Registers ACR1_4 and ACR1_5 (for Areas 4 and 5)
Bit:
15
14
13
12
11
10
9
8
ENDIAN
—
—
EXWE
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R
R
R/W
R
R
R
R
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Initial value:
R/W:
Bit:
Bit 15—Endian Specification (ENDIAN): Specifies the endian mode for each area.
Bit 15: ENDIAN
Description
0
Big-endian mode
1
Little-endian mode
(Initial value)
Bits 14 and 13—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 12—External Wait Enable (EXWE): Specifies for each area whether or not wait requests via
the external WAIT pin are to be accepted.
Bit 12: EXWE
Description
0
External wait requests are accepted
1
External wait requests are not accepted
(Initial value)
Bits 11 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 232 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.2.3
Wait Control Registers (WCR_0 to WCR_3)
The wait control registers (WCR) are 16-bit readable/writable registers that specify the number of
wait state cycles to be inserted in areas 0 to 3.
The WCR registers are initialized to H'FFFE by a power-on reset, but are not initialized in standby
mode.
Bit:
Initial value:
R/W:
Bit:
15
14
13
12
11
W3
W2
W1
W0
R/W:
9
8
1
1
1
1
1
1
1
1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
HWW2
HWW1
HWW0
—
DSWW3 DSWW2 DSWW1 DSWW0
DSWR3 DSWR2 DSWR1 DSWR0
Initial value:
10
1
1
1
1
1
1
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
Bits 15 to 12—Wait State Insertion Cycle Specification (W3 to W0): These bits specify the
number of wait states to be inserted in areas 0 to 3.
Bit 15: W3
Bit 14: W2
Bit 13: W1
Bit 12: W0
Description
0
0
0
0
No waits
1
1 wait
1
0
2 waits
:
:
:
:
:
1
1
1
0
14 waits
1
15 waits
(Initial value)
Bits 11 to 8—CS0 to CS3 Space DMA Single Address Mode Write Access Wait State
Insertion Cycle Specification (DSWW3 to DSWW0): These bits specify the number of wait
states to be inserted in writes to spaces CS0 to CS3 in DMA single address mode.
Rev. 5.00 Sep 11, 2006 page 233 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bit 11: DSWW3 Bit 10: DSWW2 Bit 9: DSWW1
Bit 8: DSWW0
Description
0
0
No waits
1
1 wait
0
0
1
0
2 waits
:
:
:
:
:
1
1
1
0
14 waits
1
15 waits
(Initial value)
Bits 7 to 4—CS0 to CS3 Space DMA Single Address Mode Read Access Wait State Insertion
Cycle Specification (DSWR3 to DSWR0): These bits specify the number of wait states to be
inserted in reads from spaces CS0 to CS3 in DMA single address mode.
Bit 7: DSWR3
Bit 6: DSWR2
Bit 5: DSWR1
Bit 4: DSWR0
Description
0
0
0
0
No waits
1
1 wait
1
0
2 waits
:
:
:
:
:
1
1
1
0
14 waits
1
15 waits
(Initial value)
Bits 3 to 1—Wait State Insertion Cycles after External WAIT Pin Negation (HWW2 to
HWW0): These bits specify the number of wait states to be inserted after external WAIT pin
negation in areas 0 to 3. This specification is valid only when a hard wait is inserted by means of
the external WAIT pin. If a hard wait is not inserted, the wait states specified by these bits will not
be inserted.
Bit 3: HWW2
Bit 2: HWW1
Bit 1: HWW0
Description
0
0
0
No waits
1
1 wait
1
0
2 waits
:
:
:
:
1
1
0
6 waits
1
7 waits
Bit 0—Reserved: This bit is always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 234 of 916
REJ09B0332-0500
(Initial value)
Section 8 Bus State Controller (BSC)
8.2.4
DRAM Control Register 1 (DCR1)
DRAM control register 1 (DCR1) is a 16-bit readable/writable register that specifies DRAM
control. Control is the same for CS4 and CS5 space accesses.
DCR1 is initialized to H'0000 by a power-on reset, but is not initialized in standby mode.
Bit:
Initial value:
R/W:
Bit:
15
14
13
12
11
10
9
8
TPC1
TPC0
TPCS2
TPCS1
TPCS0
RCD2
RCD1
RCD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
—
—
DWW1
DWW0
DWR1
DWR0
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R/W
R/W
R/W
R/W
R
R
Bits 15 and 14—RAS Precharge Interval Specification (TPC1, TPC0): These bits specify, for
DRAM, the minimum number of cycles before RAS is asserted again after being negated.
Bit 15: TPC1
Bit 14: TPC0
Description
0
0
1 cycle
1
2 cycles
0
3 cycles
1
4 cycles
1
(Initial value)
Bits 13 to 11—RAS Precharge Interval Immediately after Self-Refreshing (TPCS2 to
TPCS0): These bits specify, for DRAM, the RAS precharge interval immediately after selfrefreshing.
Rev. 5.00 Sep 11, 2006 page 235 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bit 13: TPCS2
Bit 12: TPCS1
Bit 11: TPCS0
Description
0
0
0
Cycles specified by TPC + 0 cycles
(Initial value)
1
Cycles specified by TPC + 1 cycle
1
0
Cycles specified by TPC + 2 cycles
:
:
:
:
1
1
0
Cycles specified by TPC + 6 cycles
1
Cycles specified by TPC + 7 cycles
Bits 10 to 8—RAS-CAS Delay specification (RCD2 to RCD0): These bits specify the DRAM
RAS-CAS delay time.
Description
Bit 10: RCD2
Bit 9: RCD1
Bit 8: RCD0
Normal Access
EDO Access
0
0
0
1 cycle (Initial value)
1 cycle (Initial value)
1
2 cycles
Do not set
:
:
:
:
:
1
1
0
7 cycles
Do not set
1
8 cycles
Do not set
Note: Use the one cycle setting for EDO DRAM.
Bits 7 and 6—Reserved: These bits are always read as 0 and should only be written with 0.
Bits 5 and 4—Write Cycle Column Address Output Cycle Interval Specification (DWW1,
DWW0): These bits specify the column address output cycle interval in a DRAM write cycle.
Description
Bit 5: DWW1
Bit 4: DWW0
In Normal
Write Cycle
0
0
2 cycles (no waits)* 2 cycles (no waits)* 1 cycle (no waits)*
1
3 cycles (1 wait)
Do not set
Do not set
0
4 cycles (2 waits)
Do not set
Do not set
1
5 cycles (3 waits)
Do not set
Do not set
1
Note:
* Initial value
Use the no wait setting for EDO DRAM.
Rev. 5.00 Sep 11, 2006 page 236 of 916
REJ09B0332-0500
In EDO
Write Cycle
In EDO Burst
Write Cycle
Section 8 Bus State Controller (BSC)
Bits 3 and 2—Read Cycle Column Address Output Cycle Interval Specification (DWR1,
DWR0): These bits specify the column address output cycle interval in a DRAM read cycle.
Description
Bit 3: DWR1
Bit 2: DWR0
In Normal
Read Cycle
0
0
2 cycles (no waits)* 2 cycles (no waits)* 1 cycle (no waits)*
1
3 cycles (1 wait)
Do not set
Do not set
0
4 cycles (2 waits)
Do not set
Do not set
1
5 cycles (3 waits)
Do not set
Do not set
1
Note:
In EDO
Read Cycle
In EDO Burst
Read Cycle
* Initial value
Use the no wait setting for EDO DRAM.
Bits 1 and 0—Reserved: These bits are always read as 0 and should only be written with 0.
8.2.5
DRAM Control Register 2 (DCR2)
DRAM control register 2 (DCR2) is a 16-bit readable/writable register that specifies DRAM
control. Control is the same for CS4 and CS5 space accesses.
DCR2 is initialized to H'1FE0 by a power-on reset, but is not initialized in standby mode.
Bit:
Initial value:
R/W:
Bit:
15
14
13
DIW2
DIW1
DIW0
0
0
0
1
1
1
1
1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
RDW
TCAS
—
—
—
DDWR2 DDWR1 DDWR0
Initial value:
R/W:
12
11
10
9
8
DDWW3 DDWW2 DDWW1 DDWW0 DDWR3
1
1
1
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R
R
R
Rev. 5.00 Sep 11, 2006 page 237 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bits 15 to 13—Idle Cycles after DRAM Access (DIW2 to DIW0): These bits specify the
number of idle cycles to be inserted between bus cycles when access is switched from the CS4 or
CS5 space to another space, or from read access to write access within the same CS4 or CS5
space. When switching to access to a different space, one idle cycle is inserted automatically in the
case of a read cycle, and two idle cycles in the case of a write cycle, even if “No idle cycles” is set.
When switching from a read cycle to a write cycle within the same space, two idle cycles are
inserted automatically.
Bit 15: DIW2
Bit 14: DIW1
Bit 13: DIW0
Description
0
0
0
No idle cycles
1
1 idle cycle inserted
0
2 idle cycles inserted
1
(Initial value)
:
:
:
:
1
1
0
6 idle cycles inserted
1
7 idle cycles inserted
Bits 12 to 9—DMA Single Address Mode Write Access Wait State Insertion Cycle
Specification (DDWW3 to DDWW0): These bits specify the number of wait states to be inserted
in writes to DRAM in DMA single address mode.
Description
Bit 12:
DDWW3
Bit 11:
DDWW2
Bit 10:
DDWW1
Bit 9:
DDWW0
Normal Access
EDO Access
0
0
0
0
No waits
No waits
1
1 wait
Do not set
0
2 waits
Do not set
1
:
:
:
:
:
:
1
1
1
0
14 waits
Do not set
1
15 waits (Initial value)
Do not set (Initial value)
Note: Use the no wait setting for EDO DRAM.
Rev. 5.00 Sep 11, 2006 page 238 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bits 8 to 5—DMA Single Address Mode Read Access Wait State Insertion Cycle
Specification (DDWR3 to DDWR0): These bits specify the number of wait states to be inserted
in reads from DRAM in DMA single address mode.
Description
Bit 8:
DDWR3
Bit 7:
DDWR2
Bit 6:
DDWR1
Bit 5:
DDWR0
Normal Access
EDO Access
0
0
0
0
No waits
No waits
1
1 wait
Do not set
0
2 waits
Do not set
1
:
:
:
:
:
:
1
1
1
0
14 waits
Do not set
1
15 waits (Initial value)
Do not set (Initial value)
Note: Use the no wait setting for EDO DRAM.
Bit 4—Idle Cycle Insertion before Continuous Burst Operation in DMA Single Transfer in
RAS Down Mode (RDW): Specifies whether one idle cycle is to be inserted before burst
operation when the same DRAM row address is accessed in DMA single mode during RAS down
mode. This cycle is inserted only when access is switched from another space to the CS4 space or
CS5 space, or from read access to write access within the same CS4 or CS5 space.
Bit 4: RDW
Description
0
No idle cycle
1
1 idle cycle inserted
(Initial value)
Bit 3—Write Cycle CAS Assertion Width with Software Wait Setting (TCAS): Specifies the
CAS assertion width in a DRAM write cycle.
Description
Bit 3: TCAS
Normal Access
EDO Access
0
1 cycle
1 cycle
1
2 cycles
(Initial value)
(Initial value)
Do not set
Note: Use the no wait setting for EDO DRAM.
Bits 2 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 239 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.2.6
DRAM Control Register 3 (DCR3)
DRAM control register 3 (DCR3) is a 16-bit readable/writable register that specifies DRAM
control. Control is the same for CS4 and CS5 space accesses.
DCR3 is initialized to H'1800 by a power-on reset, but is not initialized in standby mode.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
BE
RSD
EDO
DSZ1
DSZ0
AMX2
AMX1
AMX0
0
0
0
1
1
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
RFSH
RMD
—
—
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R
R
R
R
R
R
Bit 15—Burst Enable (BE): Specifies whether or not burst access is performed on DRAM.
Bit 15: BE
Description
0
Burst disabled
1
Access in fast page mode
(Initial value)
Bit 14—RAS Down Mode (RSD): Specifies whether or not RAS down mode access is performed
on DRAM.
Bit 14: RSD
Description
0
DRAM accessed in RAS up mode
1
DRAM accessed in RAS down mode
(Initial value)
Bit 13—EDO Mode (EDO): Specifies whether or not EDO mode access is performed on DRAM.
Bit 13: EDO
Description
0
DRAM accessed in normal mode
1
DRAM accessed in EDO mode
Rev. 5.00 Sep 11, 2006 page 240 of 916
REJ09B0332-0500
(Initial value)
Section 8 Bus State Controller (BSC)
Bits 12 and 11—Bus Width Specification (DSZ1, DSZ0): These bits specify the bus width for
DRAM.
Bit 12: DSZ1
Bit 11: DSZ0
Description
0
0
Reserved (Do not set)
1
8 bits
1
0
16 bits
1
32 bits
(Initial value)
Bits 10 to 8—Address Multiplexing Specification (AMX2 to AMX0): These bits specify
DRAM address multiplexing.
Bit 10: AMX2
Bit 9: AMX1
Bit 8: AMX0
Description
0
0
0
9 bits
1
10 bits
0
11 bits
1
12 bits
0
13 bits
1
14 bits
0
15 bits
1
16 bits
1
1
0
1
(Initial value)
Bit 7—Refresh Control (RFSH): Specifies whether or not refreshing is performed for DRAM.
When the refresh function is not used, the refresh request cycle generation timer can be used as an
interval timer.
Bit 7: RFSH
Description
0
Refreshing is not performed
1
Refreshing is performed
(Initial value)
Bit 6—Refresh Mode (RMD): Specifies whether normal refreshing or self-refreshing is
performed for DRAM when the RFSH bit is set to 1. When the RFSH bit is 1 and this bit is
cleared to 0, CAS-before-RAS refreshing is performed using the cycle set with refresh-related
registers RTCNT, RTCOR, and RTCSR. If a refresh request is issued during execution of an
external bus cycle, the refresh cycle is executed when the bus cycle ends. When the RFSH bit is 1
and this bit is set to 1, the self-refresh state is set after waiting for the end of any currently
executing external bus cycle. All refresh requests for memory in the self-refresh state are ignored.
Rev. 5.00 Sep 11, 2006 page 241 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bit 6: RMD
Description
0
CAS-before-RAS refreshing is performed
1
Self-refreshing is performed
(Initial value)
Bits 5 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
8.2.7
Refresh Timer Control/Status Register (RTCSR)
The refresh timer control/status register (RTCSR) is a 16-bit readable/writable register that
specifies the refresh cycle, whether interrupts are to be generated, and if so the interrupt cycle.
RTCSR is initialized to H'0000 by a power-on reset, but is not initialized in standby mode.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
CMF
CMIE
CKS2
CKS1
CKS0
OVF
OVIE
LMTS1
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
LMTS0
BREF2
BREF1
BREF0
TRAS2
TRAS1
TRAS0
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
Bit 15—Compare Match Flag (CMF): Status flag that indicates a match between the refresh
timer counter (RTCNT) and refresh time constant register (RTCOR) values.
Bit 15: CMF
Description
0
RTCNT and RTCOR values do not match
(Initial value)
[Clearing condition]
When 0 is written to CMF after reading RTCSR when CMF = 1, or when
refreshing is performed with RFSH = 1 and RMD = 0 (CBR refreshing
performed)
1
RTCNT and RTCOR values match
[Setting condition]
When RTCNT = RTCOR
Rev. 5.00 Sep 11, 2006 page 242 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bit 14—Compare Match Interrupt Enable (CMIE): Controls generation or suppression of an
interrupt request when the CMF flag is set to 1 in RTCSR. Do not set this bit to 1 when CASbefore-RAS refreshing is used.
Bit 14: CMIE
Description
0
Interrupts initiated by CMF are disabled
1
Interrupts initiated by CMF are enabled
(Initial value)
Bits 13 to 11—Clock Select Bits (CKS2 to CKS0): These bits select the RTCNT input clock.
The base clock is the external bus clock (CKE). The RTCNT count clock is obtained by scaling
CKE by the specified factor.
To change the division ratio (scaling factor), first clear bits CKS0 to CKS2 to 0, then write the
required value in these bits.
Bit 13: CKS2
Bit 12: CKS1
Bit 11: CKS0
Description
0
0
0
Clock input disabled
1
External bus clock (CKE) /4
0
External bus clock (CKE) /16
1
External bus clock (CKE) /64
0
External bus clock (CKE) /256
1
External bus clock (CKE) /1024
0
External bus clock (CKE) /2048
1
External bus clock (CKE) /4096
1
1
0
1
(Initial value)
Bit 10—Refresh Count Overflow Flag (OVF): Status flag that indicates that the number of
refresh requests indicated by the refresh count register (RFCR) has exceeded the number specified
by the LMTS bits in RTCSR.
Bit 10: OVF
Description
0
RFCR has not overflowed the count limit indicated by the LMTS bits
[Clearing condition]
When RTCSR is read while OVF = 1, then 0 is written to OVF
1
(Initial value)
RFCR has overflowed the count limit indicated by the LMTS bits
[Setting condition]
When RFCR overflows the count limit indicated by the LMTS bits
Rev. 5.00 Sep 11, 2006 page 243 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bit 9—Refresh Count Overflow Interrupt Enable (OVIE): Controls generation or suppression
of an interrupt request when the OVF flag is set to 1 in RTCSR.
Bit 9: OVIE
Description
0
Interrupts initiated by OVF are disabled
1
Interrupts initiated by OVF are enabled
(Initial value)
Bits 8 and 7—Refresh Count Overflow Limit Select (LMTS1, LMTS0): These bits specify the
count limit to be compared with the refresh count indicated by the refresh count register (RFCR).
If the RFCR register value exceeds the value specified by the LMTS bits, the OVF flag is set to 1.
Bit 8: LMTS1
Bit 7: LMTS0
Description
0
0
Refresh count limit is 4096
1
Refresh count limit is 2048
0
Refresh count limit is 1024
1
Refresh count limit is 512
1
(Initial value)
Bits 6 to 4—Refresh Request Number Select (BREF2 to BREF0): These bits specify the
number of consecutive refresh requests requested by a single compare match. The number of
CAS-before-RAS refreshes specified by these bits are performed consecutively.
Bit 6:
BREF2
Bit 5:
BREF1
Bit 4:
BREF0
Description
0
0
0
1 CAS-before-RAS refresh is performed
1
2 consecutive CAS-before-RAS refreshes are performed
1
0
3 consecutive CAS-before-RAS refreshes are performed
1
4 consecutive CAS-before-RAS refreshes are performed
0
5 consecutive CAS-before-RAS refreshes are performed
1
6 consecutive CAS-before-RAS refreshes are performed
0
7 consecutive CAS-before-RAS refreshes are performed
1
8 consecutive CAS-before-RAS refreshes are performed
1
0
1
(Initial value)
Bits 3 to 1—Refresh RAS Assertion Interval Specification (TRAS2 to TRAS0): These bits
specify the refresh interval of the DRAM connected to areas 4 and 5. With DRAM, this is the RAS
assertion interval in CAS-before-RAS refreshing.
Rev. 5.00 Sep 11, 2006 page 244 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Bit 3:
TRAS2
Bit 2:
TRAS1
Bit 1:
TRAS0
Description
0
0
0
2 cycles
1
3 cycles
0
4 cycles
1
5 cycles
0
6 cycles
1
7 cycles
1
1
0
1
0
8 cycles
1
9 cycles
(Initial value)
Bit 0—Reserved: This bit is always read as 0 and should only be written with 0.
8.2.8
Refresh Timer Counter (RTCNT)
The refresh timer counter (RTCNT) is an 8-bit readable/writable counter that is incremented by
the input clock selected by bits CKS2 to CKS0 in the RTCSR register. When the RTCNT counter
value matches the RTCOR register value, the CMF bit is set in the RTCSR register and the
RTCNT counter is cleared.
RTCNT bits 15 to 8 are reserved; they are always read as 0 and should only be written with 0.
RTCNT is initialized to H'00 by a power-on reset. In standby mode, RTCNT is not initialized, and
retains its contents.
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
RTCNT7 RTCNT6 RTCNT5 RTCNT4 RTCNT3 RTCNT2 RTCNT1 RTCNT0
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 245 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.2.9
Refresh Time Constant Register (RTCOR)
The refresh time constant register (RTCOR) is a 16-bit readable/writable register that specifies the
upper limit of the RTCNT counter. The RTCOR register and RTCNT counter values (lower 8 bits)
are constantly compared, and when they match the CMF bit is set in the RTCSR register and the
RTCNT counter is cleared to 0. If RFSH has been set to 1 and RMD has been cleared to 0 in
DRAM control register 3 (DCR3), CAS-before-RAS refreshing is performed. If the CMIE bit has
been set to 1 in RTCSR, a compare match interrupt (CMI) is generated.
RTCOR bits 15 to 8 are reserved; they are always read as 0 and should only be written with 0.
RTCOR is initialized to H'0000 by a power-on reset, but is not initialized in standby mode.
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
RTCOR7 RTCOR6 RTCOR5 RTCOR4 RTCOR3 RTCOR2 RTCOR1 RTCOR0
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 246 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.2.10
Refresh Count Register (RFCR)
The refresh count register (RFCR) is a 12-bit readable/writable counter that counts the number of
refreshes by being incremented each time the RTCOR register and RTCNT counter values match.
If the RFCR register value exceeds the count limit specified by bits LMTS1 and LMTS0 in the
RTCSR register, the OVF flag is set in the RTCSR register and the RFCR register is cleared.
RFCR bits 15 to 12 are reserved; they are always read as 0 and should only be written with 0.
RFCR is initialized to H'0000 by a power-on reset. In standby mode, RFCR is not initialized, and
retains its contents.
Bit:
15
14
13
12
—
—
—
—
11
10
9
RFCR11 RFCR10 RFCR9
8
RFCR8
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R/W
R/W
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
RFCR7
RFCR6
RFCR5
RFCR4
RFCR3
RFCR2
RFCR1
RFCR0
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 247 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.3
Operation
8.3.1
Endian/Access Size and Data Alignment
The SH7065 supports both big-endian mode, in which the most significant byte (MSByte) is at the
0 address end in a string of byte data, and little-endian mode, in which the least significant byte
(LSByte) is at the 0 address end. The mode is set by means of the ENDIAN bit in area control
register 1 (ACR1_0 to ACR1_5).
A data bus width of 8, 16, or 32 bits can be selected for normal memory and DRAM. For
multiplexed I/O there is a choice of 8 or 16 bits. Data alignment is carried out according to the
data bus width and endian mode of each device. Thus, four read operations are needed to read
longword data from an 8-bit device. In the SH7065, data alignment and data length conversion
between the different interfaces is performed automatically.
The relationship between the endian mode, device data width, and access unit, is shown in tables
8.4 to 8.9. Instruction codes should be handled as word data. Similarly, with a 32-bit instruction
code, handle the A-field and B-field instruction codes as word data.
Table 8.4
32-Bit External Device/Big-Endian Access and Data Alignment
Data Bus
Strobe Signals
D31–
D24
D23–
D16
D15–
D8
D7–
D0
WRHH, WRHL,
HHBS, HLBS,
CASHH CASHL
Address 0 byte access
Data
7–0
—
—
—
Asserted
Address 1 byte access
—
Data
7–0
—
—
Address 2 byte access
—
—
Data
7–0
—
Address 3 byte access
—
—
—
Data
7–0
Address 0 word access Data
15–8
Data
7–0
—
—
Address 2 word access —
—
Data
15–8
Data
7–0
Asserted Asserted
Data Data Data
31–24 23–16 15–8
Data
7–0
Asserted Asserted Asserted Asserted
Operation
Address 0 longword
access
Rev. 5.00 Sep 11, 2006 page 248 of 916
REJ09B0332-0500
WRLH,
LHBS,
CASLH
WRLL,
LLBS,
CASLL
Asserted
Asserted
Asserted
Asserted Asserted
Section 8 Bus State Controller (BSC)
Table 8.5
16-Bit External Device/Big-Endian Access and Data Alignment
Data Bus
Strobe Signals
WRHH, WRHL,
HHBS, HLBS,
CASHH CASHL
WRLH,
LHBS,
CASLH
WRLL,
LLBS,
CASLL
Operation
D31–
D24
D23–
D16
D15–
D8
D7–
D0
Address 0 byte access
—
—
Data
7–0
—
Address 1 byte access
—
—
—
Data
7–0
Address 2 byte access
—
—
Data
7–0
—
Address 3 byte access
—
—
—
Data
7–0
Asserted
Address 0 word access —
—
Data
15–8
Data
7–0
Asserted Asserted
Address 2 word access —
—
Data
15–8
Data
7–0
Asserted Asserted
Address 0 1st access
longword (address 0)
access
2nd access
(address 2)
—
—
Data Data
31–24 23–16
Asserted Asserted
—
—
Data
15–8
Asserted Asserted
Data
7–0
Asserted
Asserted
Asserted
Rev. 5.00 Sep 11, 2006 page 249 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Table 8.6
8-Bit External Device/Big-Endian Access and Data Alignment
Data Bus
Strobe Signals
WRHH, WRHL,
HHBS, HLBS,
CASHH CASHL
WRLH,
LHBS,
CASLH
WRLL,
LLBS,
CASLL
Operation
D31–
D24
D23–
D16
D15–
D8
D7–
D0
Address 0 byte access
—
—
—
Data
7–0
Asserted
Address 1 byte access
—
—
—
Data
7–0
Asserted
Address 2 byte access
—
—
—
Data
7–0
Asserted
Address 3 byte access
—
—
—
Data
7–0
Asserted
Address
0 word
access
1st access
(address 0)
—
—
—
Data
15–8
Asserted
2nd access
(address 1)
—
—
—
Data
7–0
Asserted
Address
2 word
access
1st access
(address 2)
—
—
—
Data
15–8
Asserted
2nd access
(address 3)
—
—
—
Data
7–0
Asserted
Address 0 1st access
longword (address 0)
access
2nd access
(address 1)
—
—
—
Data
31–24
Asserted
—
—
—
Data
23–16
Asserted
3rd access
(address 2)
—
—
—
Data
15–8
Asserted
4th access
(address 3)
—
—
—
Data
7–0
Asserted
Rev. 5.00 Sep 11, 2006 page 250 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Table 8.7
32-Bit External Device/Little-Endian Access and Data Alignment
Data Bus
Strobe Signals
WRHH, WRHL,
HHBS, HLBS,
CASHH CASHL
WRLH,
LHBS,
CASLH
WRLL,
LLBS,
CASLL
Operation
D31–
D24
D23–
D16
D15–
D8
D7–
D0
Address 0 byte access
—
—
—
Data
7–0
Address 1 byte access
—
—
Data
7–0
—
Address 2 byte access
—
Data
7–0
—
—
Address 3 byte access
Data
7–0
—
—
—
Address 0 word access —
—
Data
15–8
Data
7–0
Address 2 word access Data
15–8
Data
7–0
—
—
Asserted Asserted
Data
7–0
Asserted Asserted Asserted Asserted
Address 0 longword
access
Data Data Data
31–24 23–16 15–8
Asserted
Asserted
Asserted
Asserted
Asserted Asserted
Rev. 5.00 Sep 11, 2006 page 251 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Table 8.8
16-Bit External Device/Little-Endian Access and Data Alignment
Data Bus
Strobe Signals
WRHH, WRHL,
HHBS, HLBS,
CASHH CASHL
WRLH,
LHBS,
CASLH
WRLL,
LLBS,
CASLL
Operation
D31–
D24
D23–
D16
D15–
D8
D7–
D0
Address 0 byte access
—
—
—
Data
7–0
Address 1 byte access
—
—
Data
7–0
—
Address 2 byte access
—
—
—
Data
7–0
Address 3 byte access
—
—
Data
7–0
—
Asserted
Address 0 word access —
—
Data
15–8
Data
7–0
Asserted Asserted
Address 2 word access —
—
Data
15–8
Data
7–0
Asserted Asserted
Address 0 1st access
longword (address 0)
access
2nd access
(address 2)
—
—
Data
15–8
Data
7–0
Asserted Asserted
—
—
Data Data
31–24 23–16
Rev. 5.00 Sep 11, 2006 page 252 of 916
REJ09B0332-0500
Asserted
Asserted
Asserted
Asserted Asserted
Section 8 Bus State Controller (BSC)
Table 8.9
8-Bit External Device/Little-Endian Access and Data Alignment
Data Bus
Strobe Signals
WRHH, WRHL,
HHBS, HLBS,
CASHH CASHL
WRLH,
LHBS,
CASLH
WRLL,
LLBS,
CASLL
Operation
D31–
D24
D23–
D16
D15–
D8
D7–
D0
Address 0 byte access
—
—
—
Data
7–0
Asserted
Address 1 byte access
—
—
—
Data
7–0
Asserted
Address 2 byte access
—
—
—
Data
7–0
Asserted
Address 3 byte access
—
—
—
Data
7–0
Asserted
Address
0 word
access
1st access
(address 0)
—
—
—
Data
7–0
Asserted
2nd access
(address 1)
—
—
—
Data
15–8
Asserted
Address
2 word
access
1st access
(address 2)
—
—
—
Data
7–0
Asserted
2nd access
(address 3)
—
—
—
Data
15–8
Asserted
Address 0 1st access
longword (address 0)
access
2nd access
(address 1)
—
—
—
Data
7–0
Asserted
—
—
—
Data
15–8
Asserted
3rd access
(address 2)
—
—
—
Data
23–16
Asserted
4th access
(address 3)
—
—
—
Data
31–24
Asserted
Rev. 5.00 Sep 11, 2006 page 253 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.3.2
Areas
Area 0
For area 0, address bits A31 to A26 are 000000. However, in the on-chip ROM enabled modes,
the space from H'0000 0000 to H'0003 FFFF is allocated to on-chip ROM. Enabling or disabling
of on-chip ROM is selected in a power-on reset by means of external pins MD2, MD1, and MD0.
Normal memory such as SRAM and ROM can be connected to this space. A value of 0 must
always be written to bits TP1 and TP0 in the ACR1 register. These bits are always read as 0.
A bus width of 8, 16, or 32 bits can be selected in a power-on reset by means of external pins
MD1 and MD0.
When area 0 space is accessed, the CS0 signal is asserted. In addition, the RD signal, which can be
used as the SRAM and ROM OE signal, and write control signals WRHH to WRLL, are asserted.
As regards the number of bus cycles, from 0 to 15 waits can be selected with bits W3 to W0 in the
WCR register. In addition, any number of waits can be inserted in each bus cycle by means of the
external wait pin (WAIT).
Areas 1 to 3
For areas 1 to 3, address bits A31 to A26 are 000001 to 000011.
Normal memory such as SRAM and ROM, and address/data multiplexed I/O devices, can be
connected to this space. The kind of memory control to be performed is set with bits TP1 and TP0
in the ACR1 register provided for each area.
A bus width of 8, 16, or 32 bits can be selected in a power-on reset with bits SZ1 and SZ0 in the
ACR1 register provided for each area. However, when a multiplexed address/data I/O device is
connected, bits SZ1 and SZ0 in the ACR1 register are ignored, and the bus width is 8 bits when
address bit A14 is 0, and 16 bits when 1.
When area 1, 2, or 3 space is accessed, the CS1, CS2, or CS3 signal is asserted, respectively. In
addition, the RD signal, which can be used as the SRAM and ROM OE signal, and write control
signals WRHH to WRLL, are asserted.
As regards the number of bus cycles, from 0 to 15 waits can be selected with bits W3 to W0 in the
WCR register provided for each area. In addition, any number of waits can be inserted in each bus
cycle by means of the external wait pin (WAIT).
Rev. 5.00 Sep 11, 2006 page 254 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Areas 4 and 5
For areas 4 and 5, address bits A31 to A26 are 010000 and 010001, respectively.
A bus width of 8, 16, or 32 bits can be selected in a power-on reset with bits DSZ1 and DSZ0 in
the DCR3 register.
When area 4 or 5 space is accessed, the CS4 or CS5 signal is asserted, respectively. The RAS
signal, the CASHH, CASHL, CASLH, and CASLL signals, and the RDWR signal are asserted,
and address multiplexing is performed. RAS, CAS, and data timing control, and address
multiplexing control, can be set with registers DCR1 to DCR3.
As regards the number of bus cycles, from 0 to 3 waits can be selected with a setting in the DCR1
register. In addition, any number of waits can be inserted in each bus cycle by means of the
external wait pin (WAIT). However, a wait setting should not be made for EDO DRAM.
8.3.3
Normal Space Access
Basic Timing
The SH7065 uses strobe signal output for normal space access in consideration of the fact that
mainly static RAM will be directly connected. Figure 8.3 shows the basic timing of normal space
accesses. A no-wait normal access is completed in two cycles. The BS signal is asserted for one
cycle to indicate the start of a bus cycle.
There is no access size specification when reading. The correct access start address is output in the
least significant bit of the address, but since there is no access size specification, 32 bits are always
read in the case of a 32-bit device, and 16 bits in the case of a 16-bit device, using the necessary
byte value. When writing, only the WRLL to WRHH signal for the byte to be written, or the WR
signal and LLBS to HHBS are asserted, according to the setting of the BAS bit in the BCR
register. For details, see section 8.3.1, Endian/Access Size and Data Alignment.
Rev. 5.00 Sep 11, 2006 page 255 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
T1
T2
CKE*
A25–A0
CSn
WR
HHBS–LLBS
RD
Read
D31–D0
WRHH–WRLL
Write
D31–D0
BS
DACKn
Note: * When the setting CKE = CKIO is made in clock mode 0 to 3, 6, or 7, CKE is identical to
CKIO on the timing chart.
In clock modes 4 and 5, the phases of CKE and CKIO do not coincide, but the relative
relationship of the AC specifications is the same as in the other clock modes.
Figure 8.3 Basic Timing of Normal Space Access
Rev. 5.00 Sep 11, 2006 page 256 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Figures 8.4, 8.5, and 8.6 show examples of connection to 32-, 16-, and 8-bit data width SRAM.
Figures 8.7 and 8.8 show examples of connection to 32- and 16-bit data width byte-strobe SRAM.
SH7065
128k × 8-bit
SRAM
A18
A16
A2
CSn
RD
D31
A0
CS
OE
I/O7
D24
WRHH
D23
I/O0
WE
D16
WRHL
D15
D8
WRLH
D7
D0
WRLL
A16
A0
CS
OE
I/O7
I/O0
WE
A16
A0
CS
OE
I/O7
I/O0
WE
A16
A0
CS
OE
I/O7
I/O0
WE
Figure 8.4 Example of 32-Bit Data Width SRAM Connection
Rev. 5.00 Sep 11, 2006 page 257 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
128k × 8-bit
SRAM
SH7065
A17
A16
A1
CSn
RD
D15
A0
CS
OE
I/O7
D8
WRLH
D7
I/O0
WE
D0
WRLL
A16
A0
CS
OE
I/O7
I/O0
WE
Figure 8.5 Example of 16-Bit Data Width SRAM Connection
128k × 8-bit
SRAM
SH7065
A16
A16
A0
CSn
RD
D7
A0
CS
OE
I/O7
D0
WRLL
I/O0
WE
Figure 8.6 Example of 8-Bit Data Width SRAM Connection
Rev. 5.00 Sep 11, 2006 page 258 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
SH7065
128k × 16-bit
SRAM
A18
A16
A2
CSn
RD
WR
D31
A0
CS
OE
WE
I/O15
D16
HHBS
HLBS
D15
D0
LHBS
LLBS
I/O0
UB
LB
A16
A0
CS
OE
WE
I/O15
I/O0
UB
LB
Figure 8.7 Example of 32-Bit Data Width Byte-Strobe SRAM Connection
SH7065
128k × 16-bit
SRAM
A17
A16
A1
CSn
RD
WR
D15
A0
CS
OE
WE
I/O15
D0
LHBS
LLBS
I/O0
UB
LB
Figure 8.8 Example of 16-Bit Data Width Byte-Strobe SRAM Connection
Rev. 5.00 Sep 11, 2006 page 259 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Wait State Control
Wait state insertion in normal space access can be controlled by means of WCR settings. If the
WCR wait specification bits corresponding to a particular area are not zero, a software wait is
inserted in accordance with that specification. For details, see section 8.2.3, Wait Control
Registers (WCR_0 to WCR_3).
The number of Tw cycles specified in WCR are inserted as wait cycles using the basic interface
wait timing shown in figure 8.9.
T1
Tw
T2
CKE*
A25–A0
CSn
WR
HHBS–LLBS
RD
Read
D31–D0
WRHH–WRLL
Write
D31–D0
BS
DACKn
Note: * When the setting CKE = CKIO is made in clock mode 0 to 3, 6, or 7, CKE is identical to CKIO
on the timing chart.
In clock modes 4 and 5, the phases of CKE and CKIO do not coincide, but the relative
relationship of the AC specifications is the same as in the other clock modes.
Figure 8.9 Wait State Timing for Normal Space Access
(One Software Wait State Inserted)
Rev. 5.00 Sep 11, 2006 page 260 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
The wait input WAIT signal from an external source can be sampled by making the appropriate
setting for the EXWE bit in ACR1. WAIT signal sampling is shown in figure 8.10. The signal is
sampled at the rise of the clock in the T2 cycle.
By making a setting in bits HWW2 to HWW0 in WCR, additional software wait states can be
inserted after the WAIT signal is negated. The specified number of Thww cycles (see figure 8.10)
are inserted as wait cycles after negation of the WAIT signal.
Wait state due to WAIT
signal input
T1
Two
Thww
T2
CKE*
A25–A0
CSn
WR
HHBS–LLBS
RD
Read
D31–D0
WRHH–WRLL
Write
D31–D0
BS
WAIT
DACKn
Note: * When the setting CKE = CKIO is made in clock mode 0 to 3, 6, or 7, CKE is identical to CKIO on the
timing chart.
In clock modes 4 and 5, the phases of CKE and CKIO do not coincide, but the relative relationship of
the AC specifications is the same as in the other clock modes.
Figure 8.10 Wait State Timing for Normal Space Access (One Wait Inserted by WAIT
Signal, and One Software Wait Inserted after Negation of WAIT Signal)
Rev. 5.00 Sep 11, 2006 page 261 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
SH7065F Bus Timing
Timing waveforms when longword access is performed to external word-size memory space are
shown in figure 8.11. The SH7065F performs external accesses consecutively. The CS signal is
asserted during this time, and remains asserted.
T1
T2
T1
T2
CKE
tAD
tAD
A25–A2
tAD
A1
tCSD1
tCSD2
tWSD2
tWSD1
CSn
WR
Read
tRSD1 tOE
tRSD2
tRSD1 tOE
tRDS
RD
tRDH
tACC
tRSD2
tRDS
tRDH
tACC
D15–D0
tWSD1
tWSD2
WR
tAS
Write
tWSD2 tWR
WRxx
tAS
tWSD2 tWR
tWRH
tWRH tWSD1
tWSD1
tWDD
tWDD(min=tWDH)
tWDH
D15–D0
tBSD1
tBSD2
tBSD1
BS
Figure 8.11 SH7065F Bus Timing
Rev. 5.00 Sep 11, 2006 page 262 of 916
REJ09B0332-0500
tBSD2
Section 8 Bus State Controller (BSC)
Extension of CS Assertion Interval
By making settings in bits SWH2 to SWH0 and SWT2 to SWT0 in ACR1, idle cycles can be
inserted to prevent the RD or WR assertion interval from extending beyond the CSn assertion
interval. This allows flexible interfacing to external circuitry. The timing is shown in figure 8.12.
The Th and Tt cycles are added before and after the normal cycles, respectively. The number of
Th cycles is set in bits SWH2 to SWH0, and the number of Tt cycles in bits SWT2 to SWT0. In
these cycles, only CSn is asserted; RD and WR are not. Also, since data is extended up to the Tt
cycle, this feature is useful for devices with slow write operations, for example.
Th
T1
T2
Tt
CKE*
A25–A0
CSn
WR
HHBS–LLBS
RD
Read
D31–D0
WRHH–WRLL
Write
D31–D0
BS
DACKn
Note: * When the setting CKE = CKIO is made in clock mode 0 to 3, 6, or 7, CKE is identical to CKIO on the
timing chart.
In clock modes 4 and 5, the phases of CKE and CKIO do not coincide, but the relative relationship of
the AC specifications is the same as in the other clock modes.
Figure 8.12 CS Assertion Interval Extension (SWH = 1, SWT = 1)
Rev. 5.00 Sep 11, 2006 page 263 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Byte Access Control
Making the appropriate setting for the BAS bit in BCR enables byte-strobe type 16-bit-width
SRAM to be connected directly. When the BAS bit is cleared to 0, access is performed using the
WRHH, WRHL, WRLH, and WRLL signals. When the BAS bit is set to 1, access is performed
using the WR, HHBS, HLBS, LHBS, and LLBS signals. Also, since the HHBS, HLBS, LHBS,
and LLBS signals are also asserted in read accesses, it is always possible to know which byte
position is being accessed.
Figure 8.13 shows the timing for a 32-bit-bus-width, big-endian, no-wait write cycle, and figure
8.14 shows the timing for a read cycle.
Rev. 5.00 Sep 11, 2006 page 264 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Address 0
byte access
T1
T2
Address 1
byte access
T1
T2
Address 2
byte access
T1
T2
Address 3
byte access
T1
T2
CKE*
A25–A0
CSn
WR
WRHH
When
BAS = 0
WRHL
WRLH
WRLL
HHBS
When
BAS = 1
HLBS
LHBS
LLBS
D31–D24
D23–D16
D15–D8
D7–D0
BS
DACKn
Note: * When the setting CKE = CKIO is made in clock mode 0 to 3, 6, or 7, CKE is identical to CKIO on
the timing chart.
In clock modes 4 and 5, the phases of CKE and CKIO do not coincide, but the relative
relationship of the AC specifications is the same as in the other clock modes.
Figure 8.13 Byte Access Control Timing
(32-Bit Bus Width, Big-Endian Mode, No Waits, Write Cycle)
Rev. 5.00 Sep 11, 2006 page 265 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Address 0
byte access
T2
T1
Address 1
byte access
T1
T2
Address 2
byte access
T1
T2
Address 3
byte access
T1
T2
CKE*
A25–A0
CSn
WR
RD
HHBS
Asserted
only when
BAS = 1
HLBS
LHBS
LLBS
D31–D24
D23–D16
D15–D8
D7–D0
BS
DACKn
Note: * When the setting CKE = CKIO is made in clock mode 0 to 3, 6, or 7, CKE is identical to CKIO
on the timing chart.
In clock modes 4 and 5, the phases of CKE and CKIO do not coincide, but the relative
relationship of the AC specifications is the same as in the other clock modes.
Figure 8.14 Byte Access Control Timing
(32-Bit Bus Width, Big-Endian Mode, No Waits, Read Cycle)
Rev. 5.00 Sep 11, 2006 page 266 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.3.4
DRAM Interface
Direct Connection of DRAM
When area 4 or area 5 space is accessed, the target space is 64-Mbyte DRAM space, and the
DRAM interface function can then be used to connect DRAM directly to the SH7065.
As CAS is used to control byte access, 2-CAS type 16-bit-width DRAMs can be connected.
In addition to normal read and write access modes, fast page mode is supported for burst access.
EDO mode is similarly supported, enabling one-cycle access in burst mode, in particular.
Address Multiplexing
Address multiplexing is always performed in accesses to DRAM. This enables DRAM, which
requires row and column address multiplexing, to be connected directly to the SH7065 without
using an external address multiplexer circuit. Any of the eight multiplexing methods shown below
can be selected, by setting bits AMX2 to AMX0 in DCR3. The relationship between bits AMX2
to AMX0 and address multiplexing is shown in table 8.10. The address output pins subject to
address multiplexing are A15 to A0. The original address signals are output to pins A25 to A16.
Rev. 5.00 Sep 11, 2006 page 267 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Table 8.10 Relationship between Bits AMX2 to AMX0 and Address Multiplexing
Number
of Column
Address
AMX2 AMX1 AMX0 Bits
Output Timing
A0–A9
A10 A11 A12 A13 A14 A15
0
Column address
A0–A9
A10 A11 A12 A13 A14 A15
Row address
A9–A18
A19 A20 A21 A22 A23 A24
Column address
A0–A9
A10 A11 A12 A13 A14 A15
Row address
A10–A19 A20 A21 A22 A23 A24 A25
A0–A9
0
0
1
1
1
0
10 bits
0
11 bits
Column address
Row address
A11–A20 A21 A22 A23 A24 A25 A15
1
12 bits
Column address
A0–A9
Row address
A12–A21 A22 A23 A24 A25 A14 A15
Column address
A0–A9
Row address
A13–A22 A23 A24 A25 A13 A14 A15
Column address
A0–A9
Row address
A14–A23 A24 A25 A12 A13 A14 A15
Column address
A0–A9
Row address
A15–A24 A25 A11 A12 A13 A14 A15
Column address
A0–A9
Row address
A16–A25 A10 A11 A12 A13 A14 A15
0
1
1
9 bits
External Address Pins
0
1
13 bits
14 bits
15 bits
16 bits
Rev. 5.00 Sep 11, 2006 page 268 of 916
REJ09B0332-0500
A10 A11 A12 A13 A14 A15
A10 A11 A12 A13 A14 A15
A10 A11 A12 A13 A14 A15
A10 A11 A12 A13 A14 A15
A10 A11 A12 A13 A14 A15
A10 A11 A12 A13 A14 A15
Section 8 Bus State Controller (BSC)
Basic Timing
The basic timing for DRAM access is 3 cycles. This basic timing is shown in figure 8.15. Tr is the
RAS assert cycle, Tc1 the CAS assert cycle, and Tc2 the read data latch cycle.
Tr
Tc1
Tc2
CKE
A25–A0
Row
Column
CSn
RDWR
RASn
CASxxn
D31–D0
(read)
D31–D0
(write)
BS
DACKn
Figure 8.15 DRAM Basic Access Timing
Figures 8.16, 8.17, and 8.18 show examples of connection to 32-, 16-, and 8-bit data width
DRAM.
Rev. 5.00 Sep 11, 2006 page 269 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
SH7065
A14
A2
RASn
RDWR
D31
D16
CASHHn
CASHLn
D15
D0
CASLHn
CASLLn
64M × 16-bit
DRAM
A12
A0
RAS
OE
WE
I/O15
I/O0
UCAS
LCAS
A8
A0
RAS
OE
WE
I/O15
I/O0
UCAS
LCAS
Figure 8.16 Example of 32-Bit Data Width DRAM Connection
SH7065
A13
A1
RASn
RDWR
D15
D0
CASLHn
CASLLn
64M × 16-bit
DRAM
A12
A0
RAS
OE
WE
I/O15
I/O0
UCAS
LCAS
Figure 8.17 Example of 16-Bit Data Width DRAM Connection
Rev. 5.00 Sep 11, 2006 page 270 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
SH7065
64M × 8-bit
DRAM
A12
A12
A0
RASn
RDWR
D7
A0
RAS
OE
WE
I/O7
D0
CASLLn
I/O0
CAS
Figure 8.18 Example of 8-Bit Data Width DRAM Connection
Wait State Control
As the clock frequency increases, it becomes impossible to complete all states in one cycle as in
the basic cycle. Therefore, provision is made for state extension by using setting bits in the DCR1
and DCR2 registers. The timing with state extension using these settings is shown in figure 8.19.
Additional Tpc cycles (used to secure the RAS precharge time) can be inserted by means of the
TPC bits in the DCR1 register; from 1 to 4 cycles can be selected. The number of cycles from
RAS assertion to CAS assertion can be set to between 1 and 8 by inserting Trw cycles by means of
the RCD bits in the DCR1 register. The number of cycles from CAS assertion to the end of the
access can be varied, when reading, between 2 and 5 (1 cycle only in EDO mode) with the DWR
bits in the DCR1 register, enabling CAS negation to be extended, and when writing, between 2
and 5 (1 cycle only in EDO mode) with the DWW bits in the DCR1 register, enabling CAS
assertion to be extended. In a write, a CAS assertion width of 1 or 2 cycles can be set with the
TCAS bit in the DCR2 register. Also, when TCAS = 1, the end of the write is extended by 1 cycle.
As with normal space, the wait input WAIT signal from an external source can be sampled by
making the appropriate setting for the EXWE bit in ACR1. WAIT signal sampling is shown in
figure 8.20. The signal is sampled at the rise of the clock in the Tc1 cycle.
Rev. 5.00 Sep 11, 2006 page 271 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Tr
Trw
Tc1
Tcw
Tcw Tc2
(Tcas)
(Tpc)
CKE
A25–A0
Row
Column
CSn
RDWR
RASn
CASxxn
(read)
CASxxn
(write)
D31–D0
(read)
D31–D0
(write)
BS
DACKn
Figure 8.19 DRAM Wait State Timing
(Normal Mode, RCD = 1, TPC = 1, DWR = 2, DWW/TCAS = 1)
Rev. 5.00 Sep 11, 2006 page 272 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Wait state due to WAIT
signal input
Tr
Two
Tc1
Tc2
CKE
A25–A0
Row
Column
CSn
RDWR
RASn
CASxxn
(read)
CASxxn
(write)
D31–D0
(read)
D31–D0
(write)
BS
WAIT
DACKn
Figure 8.20 DRAM Basic Access Timing
(Wait State Inserted by WAIT Signal)
Rev. 5.00 Sep 11, 2006 page 273 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Burst Access
n addition to the normal DRAM access mode in which a row address is output in each data access,
a fast page mode is also provided for the case where consecutive accesses are made to the same
row. This mode allows fast access to data by outputting the row address only once, then changing
only the column address for each subsequent access. Normal access or burst access using fast page
mode can be selected by means of the BE bit in DCR3. The timing for burst access using fast page
mode is shown in figure 8.21.
Burst transfer is performed when the access width exceeds the bus width, or in single address
transfer in burst mode by the DMAC.
Tr
Tc1
Tc2
Tc1
Tc2
Tc1
Tc2
Tc1
Tc2
CKE
A25–A0
Row
Column
Column
Column
Column
CSn
RDWR
RASn
CASxxn
D31–D0
(read)
D31–D0
(write)
BS
DACKn
Figure 8.21 Basic Timing of DRAM Burst Access
Rev. 5.00 Sep 11, 2006 page 274 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
EDO Mode
With DRAM, in addition to the mode in which data is output to the data bus only while the CAS
signal is asserted in a data read cycle, an EDO mode is also provided in which, once the CAS
signal is asserted while the RAS signal is asserted, even if the CAS signal is negated, data is
output to the data bus until the CAS signal is next asserted. Either normal access/burst access
using fast page mode, or EDO mode normal access/burst access, can be selected for DRAM with
the EDO bit in DCR3. EDO mode normal access is shown in figure 8.22, and burst access in
figure 8.23. In burst access, only one-cycle access is possible only when column addresses are
consecutive. No-wait access must be used for EDO DRAM. No-wait access must be used for EDO
DRAM, and wait state insertion by means of the WAIT pin must not be used.
Rev. 5.00 Sep 11, 2006 page 275 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Tr
Tc1
Tc2
CKE
A25–A0
Row
Column
CSn
RDWR
RASn
CASxxn
(OE)
D31–D0
(read)
D31–D0
(write)
BS
DACKn
Figure 8.22 DRAM Basic Access Timing in EDO Mode
Rev. 5.00 Sep 11, 2006 page 276 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Tr
Tce1
Tce2
Tce2
Column
Column
Column
Tce2
Tce3
CKE
A25–A0
Row
Column
CSn
RDWR
RASn
CASxxn
(OE)
D31–D0
(read)
D31–D0
(write)
BS
DACKn
Figure 8.23 DRAM Burst Access Basic Timing in EDO Mode
RAS Down Mode
Even if burst operation is selected, it may happen that DRAM accesses are not consecutive, but are
interrupted by an access to a different space. With the normal setting, the RAS signal is
temporarily negated while a different space is being accessed, and must be reasserted to restart
burst operation when DRAM is next accessed. This is known as RAS up mode. However, it is
possible to keep the RAS signal asserted while a different space is being accessed, enabling burst
operation to be continued when the same DRAM row address is next accessed. This is known as
RAS down mode.
Rev. 5.00 Sep 11, 2006 page 277 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
To use RAS down mode, set both BE and RASD to 1 in DCR3. When using RAS down mode to
access DRAM in EDO mode, the OE signal must be connected to the SH7065. Figure 8.24 shows
the timing in RAS up mode, and figure 8.25 the timing in RAS down mode
Setting the RDW bit in the DCR2 register enables an idle cycle to be inserted before burst
operation when the same DRAM row address is accessed in DMA single address mode. The
DACK signal is asserted during this idle cycle, facilitating DMA single transfer. Figure 8.26
shows an example of idle cycle insertion in RAS down mode when using EDO mode.
Area 4
DRAM access
Tr
Tc1
Tc2
Area 1
SRAM access
T1
T2
Area 4
DRAM access
Tr
Tc1
Tc2
CKE
A25–A0
Row
Column
Row
Column
CS1
CS4
RDWR
RAS0
CASxx0
D31–D0
BS
Figure 8.24 RAS Up Mode Basic Timing (Read Cycle)
Rev. 5.00 Sep 11, 2006 page 278 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Area 4
DRAM access
Tr
Tc1
Tc2
Area 1
SRAM access
T1
T2
Area 4
DRAM access
Tc1
Tc2
CKE
A25–A0
Row
Column
Column
CS1
CS4
RDWR
RAS0
CASxx0
D31–D0
BS
Figure 8.25 RAS Down Mode Basic Timing (Read Cycle)
Rev. 5.00 Sep 11, 2006 page 279 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Area 4
DRAM access
Tr
Tc1
Tc2
Area 1
SRAM access
T1
T2
Area 4
DRAM access
Trdw
Tc1
Tc2
CKE
A25–A0
Row
Column
Column
CS1
CS4
RDWR
RAS0
CASxx0
OE0
D31–D0
BS
DACKn
Figure 8.26 Example of RAS Down Mode Wait Timing
(EDO Mode, Read Cycle, RDW = 1)
Rev. 5.00 Sep 11, 2006 page 280 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Refresh Timing
The bus state controller includes a function for controlling DRAM refreshing. Distributed
refreshing using CAS-before-RAS refresh cycles can be performed for DRAM by clearing the
RMD bit to 0 and setting the RFSH bit to 1 in DCR3. Self-refresh mode is also supported.
CAS-before-RAS Refreshing: When CAS-before-RAS refresh cycles are executed, refreshing is
performed at intervals determined by the input clock selected by bits CKS2 to CKS0 in RTCSR,
and the value set in RTCOR. The value of bits CKS2 to CKS0 in RTCOR should be set so as to
satisfy the specification for the DRAM refresh interval. To change the input clock, first clear bits
CKS0 to CKS2 to 0, then write the required value in these bits. When the clock is selected by bits
CKS2 to CKS0, RTCNT starts counting up from the value at that time. The RTCNT value is
constantly compared with the RTCOR value, and if the two values are the same, a refresh request
is generated. At the same time, RTCNT is cleared to zero and the count-up is restarted. After
generation of the reference request, if the SH7065’s external bus can be used, CAS-before-RAS
refreshing is performed. A setting can be made in bits BREF2 to BREF0 in RTCSR to specify
execution of from 1 to 8 consecutive CAS-before-RAS refreshes in response to a single refresh
request. Figure 8.27 shows the operation of CAS-before-RAS refreshing, and figure 8.28 shows
the timing of CMF bit setting.
RTCOR value
RTCNT cleared to 0
when RTCNT = RTCOR
RTCNT
H'0000
RTCSR.CKS (2–0)
Time
= 000
≠ 000
CMF
CMF flag cleared by start
of refresh cycle
External bus
CAS-before-RAS refresh cycles
Figure 8.27 CAS-Before-RAS Refresh Operation
Rev. 5.00 Sep 11, 2006 page 281 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Mφ
CKE
RTCNT input
clock
RTCNT value
RTCOR value
N
0
N
CMF
CMI
Refresh request
Figure 8.28 Timing of CMF Bit Setting (when M0: CKE = 1:1/2)
Figure 8.29 shows the timing of the CAS-before-RAS refresh cycle.
The number of RAS assert cycles in the refresh cycle is specified by the TRAS bits in RTCSR.
The specification of the RAS precharge time in the refresh cycle is determined by the setting of
the TPC bits in DCR1.
CAS-before-RAS refreshing is performed in normal operation, in sleep mode.
Rev. 5.00 Sep 11, 2006 page 282 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
TRc
TRr1
TRrw
TRr2
CKE
CSn
RDWR
RASn
CASxxn
Figure 8.29 Basic Timing of DRAM CAS-Before-RAS Refresh Cycle
Self-Refreshing: The self-refreshing supported by the SH7065 is shown in figure 8.30.
A transition to self-refresh mode is made by setting the RFSH bit and RMD bit to 1 in DCR. Selfrefresh mode is exited by clearing the RMD bit to 0 in DCR, than performing CAS-before-RAS
refreshing on all row addresses within the time specified for the DRAM. The RAS precharge time
immediately after the end of self-refreshing can be set with the TPCS bits in DCR. If there is a
delay between clearing self-refreshing and the start of CAS-before-RAS refreshing, this must be
taken into consideration when setting the initial RTCNT value. When the RTCNT value is set to
the same value as RTCOR, a refresh request is issued immediately.
To protect DRAM data, the DRAM should not be accessed during self-refreshing. If DRAM is to
be accessed during self-refreshing, first clear self-refreshing, then perform refreshing of all row
addresses before making the access.
DRAMs include low-power products (L versions) with a long refresh cycle time (for example, the
HM51W4160AL L version has a refresh cycle of 1024 cycles/128 ms compared with 1024
cycles/16 ms for the normal version). With these DRAMs, however, the same refresh cycle as for
the normal version is requested only in the case of refreshing immediately following selfrefreshing. To ensure efficient DRAM refreshing, therefore, processing is needed to generate an
overflow interrupt and restore the refresh cycle to the proper value, after the necessary CASbefore-RAS refreshing has been performed following self-refreshing of an L-version DRAM,
using the OVF, OVIE, and LMTS bits in RTCSR, and the refresh controller’s refresh count
register (RFCR). The necessary procedure is as follows.
Rev. 5.00 Sep 11, 2006 page 283 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
1. Normally, set the refresh counter count cycle to the optimum value for the L version (e.g. 1024
cycles/128 ms).
2. When a transition is made to self-refreshing:
a. Provide an interrupt handler to restore the refresh counter count value to the optimum value
for the L version (e.g. 1024 cycles/128 ms) when a refresh counter overflow interrupt is
generated.
b. Re-set the refresh counter count cycle to the requested short cycle (e.g. 1024 cycles/16 ms),
set refresh controller overflow interruption, and clear the refresh controller’s refresh count
register (RFCR) to 0.
c. Set self-refresh mode.
By using this procedure, the refreshing immediately following a self-refresh will be performed in a
short cycle, and when refreshing ends, an interrupt is generated and the setting can be restored to
the original refresh cycle.
Self-refreshing is performed in normal operation, in sleep mode, and in standby mode.
When the bus has been released in response to a bus arbitration request, or when a transition is
made to standby mode, signals generally become high-impedance, but whether the RAS and CAS
signals for DRAM in the self-refresh state become high-impedance or continue to be output can be
controlled by the HIZCNT bit in BCR. The DRAM can be kept in the self-refresh state when the
bus is released and in standby mode by setting the HIZCNT bit to 1. However, in this case, too,
the DRAM should not be accessed during self-refreshing. Also, after self-refreshing is set, a bus
request, self-refresh clearing, or execution of a SLEEP instruction involving a transition to
software standby mode, should only be performed after another CS space has first been accessed.
Rev. 5.00 Sep 11, 2006 page 284 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
TRc
TRr1 TRrw TSR1 TSR1 TSR2 (Tpc) (Tpc)
CKE
CSn
RDWR
RASn
CASxxn
Figure 8.30 DRAM Self-Refresh Cycle Timing
Relationship between Refresh Requests and Bus Cycle Requests: If a refresh request is
generated during execution of a bus cycle, execution of the refresh is deferred until the bus cycle is
completed. If a refresh request occurs when the bus has been released by the bus arbiter, refresh
execution is deferred until the bus is acquired. If a match between RTCNT and RTCOR occurs
while a refresh is waiting to be executed, so that a new refresh request is generated, the previous
refresh request is eliminated. In order for refreshing to be performed normally, care must be taken
to ensure that no bus cycle or bus mastership occurs that is longer than the refresh interval. When
a refresh request is generated, the IRQOUT pin is asserted (driven low). Therefore, normal
refreshing can be performed by having the IRQOUT pin monitored by a bus master other than the
SH7065 requesting the bus, or the bus arbiter, and returning the bus to the SH7065. When
refreshing is started, and if no other interrupt request has been generated, the IRQOUT pin is
negated (driven high). For details, see section 17.3.27, Function Control Register (FCR).
Power-On Sequence
Regarding use of DRAM after powering on, it is requested that a wait time (at least 100 µs or 200
µs) during which no access can be performed be provided, followed by the prescribed number
(usually 8) or more dummy CAS-before-RAS refresh cycles. As the bus state controller does not
perform any special operations for a power-on reset, the necessary power-on sequence must be
carried out by the initialization program executed after a power-on reset.
Rev. 5.00 Sep 11, 2006 page 285 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.3.5
Multiplexed Address/Data I/O Interface
Basic Timing
A function is provided that performs multiplexed input/output of an address and data on pins D15
to D0 when the appropriate setting is made in bits TP1 and TP0 of the ACR1 registers for areas 1
to 3. This allows a peripheral LSI that requires address/data multiplexing to be connected to the
SH7065.
The bus width of multiplexed address/data I/O space is selected by the A14 bit. When A14 = 0,
the data bus width is 8 bits; the address is output at pins D15 to D0 and data is input/output at pins
D7 to D0. When A14 = 1, the address and data are both 16 bits, and address output and data
input/output is performed at pins D15 to D0.
In multiplexed address/data I/O space access, normal space type access is carried out after address
output has been performed for three cycles (fixed). The basic timing for multiplexed address/data
I/O space is shown in figure 8.31.
Rev. 5.00 Sep 11, 2006 page 286 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Ta1
Ta2
Ta3
Ta4
T1
T2
CKE
A25–A0
CSn
WR
RD
Read
D15–D0
Address
Data
WRHH–WRLL
Write
D15–D0
Address
Data
AH
BS
DACKn
Figure 8.31 Basic Access Timing for Multiplexed Address/Data I/O Space
Wait State Control
Wait control for multiplexed address/data I/O space access is carried out by making the
appropriate setting for bits W3 to W0 in WCR and the EXWE bit in ACR1. Software wait and
external wait insertion timing is the same as for normal space access. Figure 8.32 the timing for
two software wait insertion, and figure 8.33 shows the timing when one external wait is inserted,
Rev. 5.00 Sep 11, 2006 page 287 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
and then an additional software wait state is inserted after negation of the WAIT signal. Figure
8.34 shows the timing when extension of CS assertion has been set.
Ta1
Ta2
Ta3
Ta4
T1
Tw
Tw
T2
CKE
A25–A0
CSn
WR
RD
Read
D15–D0
Address
Data
WRHH–WRLL
Write
D15–D0
Address
Data
AH
BS
DACKn
Figure 8.32 Wait State Timing for Multiplexed Address/Data I/O Space
(Two Software Waits)
Rev. 5.00 Sep 11, 2006 page 288 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Ta1
Ta2
Ta3
Ta4
T1
Two Thww
T2
CKE
A25–A0
CSn
WR
RD
Rread
D15–D0
Address
Data
WRHH–WRLL
Write
D15–D0
Address
Data
WAIT
AH
BS
DACKn
Figure 8.33 Wait State Timing for Multiplexed Address/Data I/O Space
(Insertion of One External Wait + One Software Wait after WAIT Pin Negation)
Rev. 5.00 Sep 11, 2006 page 289 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Ta1
Ta2
Ta3
Ta4
Th
T1
T2
Tt
CKE
A25–A0
CSn
WR
RD
Rread
D15–D0
Address
Data
WRHH–WRLL
Write
D15–D0
Address
Data
AH
BS
DACKn
Figure 8.34 Timing when Extension of CS Assertion is Set (SWH = 1, SWT = 1)
Rev. 5.00 Sep 11, 2006 page 290 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.3.6
Waits between Access Cycles
A problem associated with higher external memory bus operating frequencies is that data buffer
turn-off on completion of a read from a low-speed device may be too slow, causing a collision
with the data in the next access, and so resulting in lower reliability or incorrect operation. To
avoid this problem, a data collision prevention feature has been provided. This memorizes the
preceding access area and the kind of read/write, and if there is a possibility of a bus collision
when the next access is started, inserts a wait cycle before the access cycle to prevent a data
collision.
There are two cases in which wait cycles are inserted: (1) when an access is immediately followed
by an access to a different area, and (2) when a read cycle access is immediately followed by a
write access from the SH7065. When the SH7065 performs consecutive write cycles, the data
transfer direction is fixed (from the SH7065 to other memory) and there is no problem. With read
access to the same area, also, in principle data is assumed to be output from the same data buffer,
and the set wait cycle insertion is not performed. Figure 8.35 shows the timing of waits between
access cycles.
The number of idle cycles to be inserted between access cycles is specified by bits IW2 to IW0 in
ACR1 and bits DIW2 to DIW0 in DCR2. If there is space between accesses to begin with, the
number of idle cycles inserted is the specified number of idle cycles minus the number of empty
cycles. When a write cycle is executed immediately after a read cycle, two wait cycles are inserted
automatically between the cycles even if the inter-cycle wait specification is 0. When switching to
access to a different space, also, one wait cycle is inserted automatically before a read cycle, and
two wait cycles before a write cycle, even if “No idle cycles” is set. In the case of consecutive
accesses to the same space, one wait cycle is inserted automatically in the case of a read cycle, and
two wait cycles in the case of a write cycle, regardless of the inter-cycle wait setting.
When bus arbitration is performed, empty cycles are inserted for arbitration purposes, and so waits
are not inserted between cycles.
Rev. 5.00 Sep 11, 2006 page 291 of 916
REJ09B0332-0500
Rev. 5.00 Sep 11, 2006 page 292 of 916
REJ09B0332-0500
D31–D0
WRxx
RD
WR
BS
CS2
CS1
A25–A0
CKE
T2
Area 1
SRAM
read
T1
Idle cycle
in read
access
Twait
T2
Area 1
SRAM
read
T1
Specification
of idle cycle
insertion after
area 1 access
Twait Twait
T2
Area 2
SRAM
read
T1
Specification
of idle cycle
insertion after
area 2 access
Twait Twait
T2
Area 2
SRAM
write
T1
Idle cycle
in write
access
Twait Twait
T2
Area 2
SRAM
write
T1
Section 8 Bus State Controller (BSC)
Figure 8.35 Example of Timing of Waits between Access Cycles (No Wait)
Section 8 Bus State Controller (BSC)
8.3.7
Bus Arbitration
When the bus release request signal (BREQ) is asserted in accordance with the setting of the
BRQE bit in BCR, the SH7065 releases the bus as soon as the currently executing bus cycle ends,
and outputs the bus request acknowledge signal (BACK). However, bus release is not performed
between a read cycle and write cycle during execution of a TAS instruction (unless the destination
of TAS instruction execution is on-chip RAM). Also, bus arbitration is not performed between bus
cycles generated due to the fact that the data bus width is smaller than the access size, such as
when a longword access is made to 8-bit memory. When BREQ is negated, BACK is negated and
use of the bus is resumed. See Appendix B.1, Pin States in Reset, Power-Down State, and BusReleased State, for the pin states when the bus is released.
Sometimes, the SH7065 may want to take back the bus while in the process of releasing it. This
happens if a memory refresh request is generated internally, or an interrupt is requested, and the
relevant processing must be executed. For this reason, the SH7065 is provided with an IRQOUT
pin to output a bus request signal. If the SH7065 needs to take back the bus, it asserts the IRQOUT
signal. On receiving this IRQOUT signal assertion, the device that asserted the external bus
request negates the BREQ signal in order to release the bus. The bus is thereby returned to the
SH7065, which then carries out the necessary processing. Note that if the device that asserted the
external bus request does not return the bus within the time specified as the DRAM refresh
interval, the SH7065 will not be able to carry out refreshing, and RAM contents may be lost.
There are two cases in which the IRQOUT pin is asserted: (1) when a memory refresh request has
been issued and the refresh cycle has not yet begun, and (2) when an interrupt source occurs and
the interrupt request level is higher than that set in the interrupt mask bits (I3 to I0) in the status
register (SR).
The SH7065 has two internal bus masters: the CPU and the DMAC. When DRAM is connected
and refresh control is performed, refresh requests constitute a third bus master. In addition to these
are bus requests from external devices. If requests occur simultaneously, priority is given, in highto-low order, to a refresh request, a bus request from an external device, the DMAC, and the CPU.
If an external space access request by the CPU or DMAC and a bus request by an external device
occur, in that order, during execution of a refresh cycle, acceptance of the bus request by the
external device will be delayed until the refresh cycle and external space access have been
executed. Similarly, if an external space access request by the CPU or DMAC and a refresh
request occur, in that order, execution of the refresh cycle after the SH7065 acquires the bus will
be delayed until the external space access has been executed.
Bus requests from off-chip are not accepted in sleep mode.
If BREQ is asserted in sleep mode and the DMAC is subsequently activated, external access by
the DMAC is delayed until BREQ is negated.
Rev. 5.00 Sep 11, 2006 page 293 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
In the software standby state, external bus address/data/bus control signals (except DRAM signals)
go to the high-impedance state, that is, the bus-released state. In the software standby state, the
BREQ bus release request input signal is ignored. Note that the following two cases apply to the
BACK bus use enable output signal.
1. Transition from bus-released state (BREQ input asserted low) to software standby state
When the bus release request signal (BREQ) is asserted low in the normal state, the BACK pin
is set to low output, indicating that the bus has been released. If the software standby state is
entered in this state, BACK output goes high, but other address, data, and bus control signals
remain in the high-impedance state, that is, the bus-released state. If the software standby state
is exited while BREQ input is still asserted, BACK output goes low and the bus-released state
is maintained. If software standby is exited while BREQ input is negated, BACK output goes
high and the chip returns to the normal state (in which the bus is not released).
2. Transition from normal state (BREQ input negated high) to software standby state
When a transition is made from the normal state to the software standby state, BACK output
goes to the Z (high-impedance) state, and the external bus goes to the high-impedance state,
that is, the bus-released state. If this state is exited while BREQ input is negated, BACK output
returns to the high level. If BREQ input is in the asserted state when software standby is
exited, BACK is output high for 1.5 external clock (CKE) cycles, and then returns to the low
level, that is, the bus-released state.
When DMAC transfer is specified without regard to transfer space or transfer mode during
execution of a TAS instruction (unless the destination of TAS instruction execution is on-chip
RAM), DMA transfer cycles are inserted between a read and write cycles of the TAS
instruction. In this case, if the bus release request signal BREQ is asserted, bus authority is
released. All of the DMAC channels should be stopped before the execution of a TAS
instruction, when the bus release request can be occurred during execution of the TAS
instruction. (BREQ is not accepted during execution of a TAS instruction unless DMA transfer
cycles occur during the execution of the TAS instruction.)
Rev. 5.00 Sep 11, 2006 page 294 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.4
Number of Access Cycles (SH7065A)
External Memory and External I/O
Table 8.11 shows the number of external access cycles for Mφ:CKE division ratios of 1:1, 1:1/2,
and 1:1/4. The CPU regards an external space write as being executed in one cycle, and performs
the next processing. However, the write actually takes the number of cycles shown in table 8.11.
Therefore, execution of an on-chip register or external access following an external space write by
the CPU is delayed until the end of the external space write.
Table 8.12 shows the number of idle cycles. For the number of accesses on a CKE basis, add this
number of idle cycles to the number of external bus idle cycles.
Table 8.11 Number of External Access Cycles (Mφ
φ Basis)
Bus Master
Mφ
φ:CKE
Division Ratio
Read/Write
1:1
1:1/2
1:1/4
Note:
*
Cycles in Access
from CPU
Cycles in Access
from DMAC
Read
Number of external bus
cycles + 3
Number of external bus
cycles + 1
Write
Number of external bus
cycles + 4
Number of external bus
cycles + 2
Read
(Number of external bus
cycles) × 2 + (4 or 5)*
(Number of external bus
cycles) × 2 + (2 or 3)*
Write
(Number of external bus
cycles) × 2 + (6 or 7)*
(Number of external bus
cycles) × 2 + (4 or 5)*
Read
(Number of external bus
cycles) × 4 + (5 to 8)*
(Number of external bus
cycles) × 4 + (3 to 6)*
Write
(Number of external bus
cycles) × 4 + (9 to 12)*
(Number of external bus
cycles) × 4 + (7 to 10)*
Depends on the phase difference between Mφ and CKE due to frequency division.
Rev. 5.00 Sep 11, 2006 page 295 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Table 8.12 Number of Idle Cycles in Consecutive Accesses to External Space (CKE Basis)
Note:
*
DMAC → CPU
DMAC → DMAC
CPU → CPU
CPU → DMAC
DMAC → CPU
DMAC → DMAC
Write → Write
CPU → DMAC
Write → Read
CPU → CPU
Read → Write
DMAC → DMAC
Write → Read
Write → Write
Read → Read
Invalid
0
1
2
3
4
5
6
7
Invalid
Invalid
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
DMAC → CPU
Consecutive
access to
other CS
space
Read → Read
Read → Write
Mφ
φ:CKE = 1:1/4
CPU → DMAC
Type of
Access
Consecutive
accesses to
same CS
space
Number of
Waits Set
by Idle
Function*
Mφ
φ:CKE = 1:1/2
CPU → CPU
Mφ
φ:CKE = 1:1
3
4
4
4
4
4
5
6
7
2
3
3
3
3
3
4
5
6
7
4
4
4
4
4
5
6
7
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
3
3
3
3
4
5
6
7
2
3
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
3
3
3
3
4
5
6
7
2
3
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
1
2
2
2
3
4
5
6
7
1
2
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
2
3
3
3
3
4
5
6
7
2
3
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
3
3
3
3
4
5
6
7
2
3
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
3
3
3
3
4
5
6
7
2
3
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
1
2
2
2
3
4
5
6
7
1
2
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
2
3
3
3
3
4
5
6
7
1
2
2
2
2
3
4
5
6
7
3
3
3
3
4
5
6
7
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
1
2
2
2
3
4
5
6
7
1
2
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
1
2
2
2
3
4
5
6
7
1
2
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
1
2
2
2
3
4
5
6
7
1
2
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
1
1
2
3
4
5
6
7
2
2
2
3
4
5
6
7
Number set by bits IW2 to IW0 in ACR1 and bits DIW2 to DIW0 in DCR2
Rev. 5.00 Sep 11, 2006 page 296 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
On-Chip Registers
In BSC, UBC, WDT, INTC, CPG, DMAC, PFC, I/O, flash memory related, and power-down
related register access: Table 8.13 shows the number of access cycles. The CPU regards an onchip register write as being executed in one cycle, and performs the next processing. However, the
write actually takes the number of cycles shown in table 8.13. When a value written to an on-chip
register is to be used by a later instruction, either read the written value or else wait for the number
of cycles shown in table 8.13, before executing that later instruction. Execution of an on-chip
register or external access following an on-chip register write by the CPU is delayed until the end
of the on-chip register write.
Table 8.13 Number of Access Cycles in BSC, UBC, WDT, INTC, CPG, DMA, PFC, I/O,
Flash Memory Related, and Power-Down Related Register Access
Bus Master
Operand Size
Read/Write
Cycles in Access
from CPU
Cycles in Access
from DMAC
Word/byte*
Read
5
3
Write
6
4
Read
8
6
Write
9
7
Longword*
Note:
*
Only byte access in the case of flash memory related registers.
Rev. 5.00 Sep 11, 2006 page 297 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
A/D, D/A, TPU, MMT, CMT, POE, and SCI internal register access: Table 8.14 shows the
number of access cycles for Mφ:Pφ division ratios of 1:1, 1:1/2, and 1:1/3. The CPU regards an
on-chip register write as being executed in one cycle, and performs the next processing. However,
the write actually takes the number of cycles shown in table 8.14. When a value written to an onchip register is to be used by a later instruction, either read the written value or else wait for the
number of cycles shown in table 8.14, before executing that later instruction. Execution of an onchip register or external access following an on-chip register write by the CPU is delayed until the
end of the on-chip register write.
Table 8.14 Number of Access Cycles in A/D, D/A, TPU, MMT, CMT, POE, and SCI
Internal Register Access
Bus Master
Mφ
φ:Pφ
φ
Division Ratio
Operand Size
1:1
Word/byte*
1
Longword
1:1/2
*2
1
Word/byte*
Longword
*2
Read/
Write
Cycles in Access
from CPU
Cycles in Access
from DMAC
Read
7
5
Write
7
5
Read
9
7
Write
9
7
Read
3
9, 10*
Write
9, 10*
7, 8*
3
7, 8*
Read
13, 14*
3
13, 14*
3
11, 12*
3
11, 12*
12–14*
3
12–14*
3
10–12*
3
10–12*
18–20*
3
18–20*
16–18*
3
16–18*
Write
1:1/3
Word/byte
*1
Read
Write
2
Longword*
Read
Write
3
3
3
3
3
3
Notes: 1. Only byte access applies in the case of A/D and D/A registers.
2. Only word access applies in the case of A/D and D/A registers.
3. Depends on the phase difference between Mφ and Pφ due to frequency division.
Rev. 5.00 Sep 11, 2006 page 298 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
On-Chip ROM
• In low-speed mode
All 2 cycles
• In high-speed mode
 Consecutive instruction fetch cycles
1 cycle (However, in a branch to address 8n+4 or 8n+6, consecutive instruction fetch
cycles immediately after the branch instruction fetch cycle comprise two cycles.)
 Branch instruction fetch cycle
2 to 3 cycles*
 Data read cycle
2 to 3 cycles*
Note: * The number of cycles depends on the state of the CPU pipeline, and buffering between
the internal 32-bit data bus (CDB) and the 64-bit internal data ROM bus.
Figures 8.36 to 8.43 show the CPU pipeline state and the number of on-chip ROM
access cycles when no on-chip ROM data read cycles are generated.
Address
8n
Pipeline state
<IF
ID
8n + 2
8n + 4
IF
EX
ID
EX
—
ID
8n + 6
8n + 8
IF
—
EX
ID
EX
—
ID
8n + 10
8n + 12
IF
—
EX
ID
EX
—
ID
8n + 14
Access
Number In low-speed mode
of cycles In high-speed mode
EX
ID
EX
fetch fetch fetch
nop
fetch
nop
fetch
nop
fetch
nop
2
2
2
1
2
1
2
1
2
1
2, 3
1
1
1
1
1
1
1
1
1
Figure 8.36 Consecutive Execution of 16-Bit Instructions
(In Case of Branch to Address 8n)
Rev. 5.00 Sep 11, 2006 page 299 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Address
8n + 2
Pipeline state
<IF
8n + 4
—
ID
EX
IF
—
ID
IF
—
8n + 6
8n + 8
EX
ID
EX
—
ID
IF
—
8n + 10
8n + 12
EX
ID
EX
—
ID
8n + 14
Access
fetch fetch fetch
In low-speed mode
2
Number
of cycles In high-speed mode 2, 3
EX
ID
EX
nop
fetch
nop
fetch
nop
fetch
nop
2
2
1
2
1
2
1
2
1
1
1
1
1
1
1
1
1
1
Figure 8.37 Consecutive Execution of 16-Bit Instructions
(In Case of Branch to Address 8n + 2)
Address
8n + 4
Pipeline state
<IF
ID
8n + 6
8n + 8
IF
EX
ID
EX
—
ID
8n + 10
8n + 12
IF
—
EX
ID
EX
—
ID
8n + 14
8n + 16
IF
—
EX
ID
EX
—
ID
8n + 18
Access
fetch fetch fetch
2
Number In low-speed mode
of cycles In high-speed mode 2, 3
EX
ID
EX
nop
fetch
nop
fetch
nop
fetch
nop
2
2
1
2
1
2
1
2
1
2
1
1
1
1
1
1
1
1
Figure 8.38 Consecutive Execution of 16-Bit Instructions
(In Case of Branch to Address 8n + 4)
Rev. 5.00 Sep 11, 2006 page 300 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Address
8n + 6
Pipeline state
<IF
8n + 8
—
ID
EX
IF
—
ID
8n + 10
8n + 12
IF
—
EX
ID
EX
—
ID
8n + 14
8n + 16
IF
—
EX
ID
EX
—
ID
8n + 18
Access
fetch fetch fetch
2
Number In low-speed mode
of cycles In high-speed mode 2, 3
EX
ID
EX
nop
fetch
nop
fetch
nop
fetch
nop
2
2
1
2
1
2
1
2
1
2
1
1
1
1
1
1
1
1
Figure 8.39 Consecutive Execution of 16-Bit Instructions
(In Case of Branch to Address 8n + 6)
Address
8n
Pipeline state
<IF
8n + 4
ID
EX
MA
DSP
IF
ID
EX
MA
DSP
IF
ID
EX
MA
DSP
IF
ID
EX
MA
8n + 8
8n + 12
Access
fetch fetch
2
Number In low-speed mode
of cycles In high-speed mode 2, 3
fetch fetch fetch fetch
DSP
fetch fetch
2
2
2
2
2
2
2
1
1
1
1
1
1
1
Figure 8.40 Consecutive Execution of 32-Bit Instructions
(In Case of Branch to Address 8n)
Rev. 5.00 Sep 11, 2006 page 301 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Address
Pipeline state
8n + 2
<IF
8n + 6
—
ID
EX
MA
DSP
IF
—
ID
EX
MA
DSP
—
ID
EX
MA
DSP
IF
—
ID
EX
MA
8n + 10
IF
8n + 14
Access
fetch fetch fetch fetch fetch fetch
2
Number In low-speed mode
of cycles In high-speed mode 2, 3
DSP
fetch fetch fetch
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
Figure 8.41 Consecutive Execution of 32-Bit Instructions
(In Case of Branch to Address 8n + 2)
Address
8n + 4
Pipeline state
<IF
8n + 8
ID
EX
MA
DSP
IF
ID
EX
MA
DSP
IF
ID
EX
MA
DSP
IF
ID
EX
MA
8n + 12
8n + 16
Access
DSP
fetch fetch fetch fetch fetch fetch fetch fetch
2
Number In low-speed mode
of cycles In high-speed mode 2, 3
2
2
2
2
2
2
2
2
1
1
1
1
1
1
Figure 8.42 Consecutive Execution of 32-Bit Instructions
(In Case of Branch to Address 8n + 4)
Rev. 5.00 Sep 11, 2006 page 302 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
Pipeline state
Address
8n + 6
<IF
—
ID
IF
EX
MA
DSP
—
ID
EX
MA
DSP
IF
—
ID
EX
MA
DSP
IF
—
ID
EX
MA
DSP
fetch fetch fetch fetch fetch fetch fetch fetch
fetch
8n + 10
8n + 14
8n + 18
Access
2
Number In low-speed mode
of cycles In high-speed mode 2, 3
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
Figure 8.43 Consecutive Execution of 32-Bit Instructions
(In Case of Branch to Address 8n + 6)
Rev. 5.00 Sep 11, 2006 page 303 of 916
REJ09B0332-0500
Section 8 Bus State Controller (BSC)
8.5
Usage Notes
1. Even if a CAS assertion width of two cycles is set with the TCAS bit in DRAM control
register 2 (DCR2), the CAS assertion width will be one cycle in the second and subsequent
accesses when the access size exceeds the bus width (for example, accesses to addresses
4n+1/4n+2/4n+3 in the case of longword access to 8-bit-bus-width DRAM).
2. The following restrictions apply when using DRAM/EDO DRAM in RAS down mode.
•
RAS down mode is not supported when Mφ (the clock obtained after frequency division of
the master clock (CKM)) is slower than CKE (the external bus clock).
•
In the event of a row address miss, the CS signal for the next space to be accessed is
asserted for one cycle before external bus cycle generation.
•
If the row address value in a CS4 space access is different from the previously accessed
CS5 space row address value, RAS1 is negated.
•
In DMAC dual address mode, when the transfer source is CS4/5 space and the transfer
destination is CS space or on-chip register space, RAS1 is negated if the bit value
corresponding to the transfer destination row address is different from the transfer source
row address value.
•
When the DMAC is activated in dual address mode immediately after a CS4/5 space access
by the CPU, and the transfer source is a different CS space or on-chip register space, RAS1
is negated if the bit value corresponding to the transfer source row address is different from
the row address value in the preceding CS4/5 space access by the CPU. This negation
occurs only in the case of a transfer immediately after DMAC activation. It does not occur
in the second and subsequent transfers when the DMAC is in burst mode.
•
When the DMAC is activated with a different CS space access in single address mode
immediately after a CS4/5 space access by the CPU, RAS1 is negated if the bit value
corresponding to the different CS space row address is different from the row address value
in the preceding CS4/5 space access by the CPU. This negation occurs only in the case of a
transfer immediately after DMAC activation. It does not occur in the second and
subsequent transfers when the DMAC is in burst mode.
3. If a TAS instruction for the on-chip RAM space is executed while the bus is released, BACK is
first negated, then asserted again after execution is completed.
Rev. 5.00 Sep 11, 2006 page 304 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Section 9 Direct Memory Access Controller (DMAC)
9.1
Overview
The SH7065 includes an on-chip four-channel direct memory access controller (DMAC). The
DMAC can be used in place of the CPU to perform high-speed data transfers among external
devices equipped with DACK (transfer request acknowledge signal), external memories, memorymapped external devices, and on-chip peripheral modules (except the DMAC, BSC, and UBC).
Using the DMAC reduces the burden on the CPU and increases the operating efficiency of the
entire chip.
Certain usage notes apply to this DMAC: see section 9.6, DMAC Restrictions.
9.1.1
Features
The DMAC has the following features.
• Four channels
• Four Gbytes of address space in the architecture
• Choice of 8-bit, 16-bit, or 32-bit transfer data length
• Maximum of 4G (4,294,967,296) transfers
• Choice of single or dual address mode
 Single address mode: Either the transfer source or the transfer destination (peripheral
device) is accessed by a DACK signal while the other is accessed by address. One data
transfer is completed in one bus cycle.
 Dual address mode: Both the transfer source and transfer destination are accessed by
address. Values set in DMAC internal registers indicate the accessed address for both the
transfer source and the transfer destination. Two bus cycles are required for one data
transfer.
• Channel functions: The transfer mode can be set independently for each channel.
• Transfer requests: The following DMAC transfer activation requests are supported.
 External request: From two DREQ pins. Either low level detection or falling edge detection
can be specified. When low level detection is selected, the sampled DREQ signal is stored
in a FIFO. Either a 1-stage or 16-stage FIFO can be selected.
 Internal requests: Transfer requests from on-chip modules such as the TPU and SCI.
• Choice of bus mode: cycle steal mode or burst mode
Rev. 5.00 Sep 11, 2006 page 305 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
• Two types of DMAC channel priority ranking:
 Fixed priority mode: Channel priorities are permanently fixed.
 Round robin mode: Sets the lowest priority for the channel that last received an execution
request.
• An interrupt request can be sent to the CPU on completion of the specified number of
transfers.
• Chain transfer allows a specified block of data to be transferred consecutively without CPU
processing after the end of the current data transfer.
• A transfer end signal (TEND) can be output for each channel at the end of DMA transfer.
Rev. 5.00 Sep 11, 2006 page 306 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.1.2
Block Diagram
Figure 9.1 shows a block diagram of the DMAC.
DMAC module
Chain transfer
registers
X, YRAM
Peripheral bus
Internal bus
Count
control
On-chip
peripheral
module
On-chip
ROM
Register
control
SARn
NSARn
DARn
NDARn
DMATCRn
NDMATCRn
Activation
control
CHNCNTn
DREQn
TPU
SCI0, SCI1, SCI2
A/D converter
MMT
DEIn
DACKn
DRAKn
TENDn
n: 0, 1
CHCRn
Request
priority control
DMAOR
Bus
interface
External
RAM
External I/O
(memorymapped)
External bus
External
ROM
External I/O
(with
acknowledge)
Bus state
controller
Legend:
DMAOR:
SARn:
DARn:
DMATCRn:
CHCRn:
NSARn:
NDARn:
NDMATCRn:
CHNCNTn:
MMT:
DMAC operation register
DMAC source address register
DMAC destination address register
DMAC transfer count register
DMAC channel control register
Next source address register
Next destination address register
Next transfer count register
Chain transfer count register
Motor management timer
Note: n = 0 to 3
Figure 9.1 Block Diagram of DMAC
Rev. 5.00 Sep 11, 2006 page 307 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.1.3
Pin Configuration
Table 9.1 shows the pins provided for each DMAC channel.
Table 9.1
DMAC Pins
Pin Name
Abbreviation
I/O
Function
DMA transfer request
DREQn
Input
DMA transfer request input from external
device to channel 0 or 1
DMA transfer request
acceptance
DRAKn
Output
Output of sampling acceptance signal for
DMA transfer request input to channel 0 or
1 from external device
DMA transfer strobe
DACKn
Output
Strobe output to external I/O in case of
DMA transfer request from external device
to channel 0 or 1
DMA transfer end
TENDn
Output
Output at end of DMA transfer on relevant
channel 0 or 1
9.1.4
Register Configuration
Table 9.2 summarizes the DMAC registers. The DMAC has a total of 33 registers. Eight registers
are allocated to each channel, and an additional control register is shared by all four channels.
Rev. 5.00 Sep 11, 2006 page 308 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Table 9.2
DMAC Registers
Register Access
Size
Size
Abbreviation Name
Chan- Read/
nel
Write
Initial
Value
SAR0
DMA source
address register 0
0
R/W
Undefined H'FFFF1100 32 bits
16, 32
DAR0
DMA destination
address register 0
0
R/W
Undefined H'FFFF1104 32 bits
16, 32
DMATCR0
DMA transfer
count register 0
0
R/W
Undefined H'FFFF1108 32 bits
16, 32
CHCR0
DMA channel
control register 0
0
R/W *
00000000 H'FFFF110C 32 bits
16, 32
NSAR0
Next source
address register 0
0
R/W
Undefined H'FFFF1110 32 bits
16, 32
NDAR0
Next destination
address register 0
0
R/W
Undefined H'FFFF1114 32 bits
16, 32
NDMATCR0
Next transfer
count register 0
0
R/W
Undefined H'FFFF1118 32 bits
16, 32
CHNCNT0
Chain transfer
count register 0
0
R/W
Undefined H'FFFF111C 32 bits
16, 32
SAR1
DMA source
address register 1
1
R/W
Undefined H'FFFF1120 32 bits
16, 32
DAR1
DMA destination
address register 1
1
R/W
Undefined H'FFFF1124 32 bits
16, 32
DMATCR1
DMA transfer
count register 1
1
R/W
Undefined H'FFFF1128 32 bits
16, 32
CHCR1
DMA channel
control register 1
1
R/W *
00000000 H'FFFF112C 32 bits
16, 32
NSAR1
Next source
address register 1
1
R/W
Undefined H'FFFF1130 32 bits
16, 32
NDAR1
Next destination
address register 1
1
R/W
Undefined H'FFFF1134 32 bits
16, 32
NDMATCR1
Next transfer
count register 1
1
R/W
Undefined H'FFFF1138 32 bits
16, 32
CHNCNT1
Chain transfer
count register 1
1
R/W
Undefined H'FFFF113C 32 bits
16, 32
SAR2
DMA source
address register 2
2
R/W
Undefined H'FFFF1140 32 bits
16, 32
1
1
Address
Rev. 5.00 Sep 11, 2006 page 309 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Register Access
2
Size
Size*
Abbreviation Name
Chan- Read/
nel
Write
Initial
Value
DAR2
DMA destination
address register 2
2
R/W
Undefined H'FFFF1144 32 bits
16, 32
DMATCR2
DMA transfer
count register 2
2
R/W
Undefined H'FFFF1148 32 bits
16, 32
CHCR2
DMA channel
control register 2
2
R/W *
00000000 H'FFFF114C 32 bits
16, 32
NSAR2
Next source
address register 2
2
R/W
Undefined H'FFFF1150 32 bits
16, 32
NDAR2
Next destination
address register 2
2
R/W
Undefined H'FFFF1154 32 bits
16, 32
NDMATCR2
Next transfer
count register 2
2
R/W
Undefined H'FFFF1158 32 bits
16, 32
CHNCNT2
Chain transfer
count register 2
2
R/W
Undefined H'FFFF115C 32 bits
16, 32
SAR3
DMA source
address register 3
3
R/W
Undefined H'FFFF1160 32 bits
16, 32
DAR3
DMA destination
address register 3
3
R/W
Undefined H'FFFF1164 32 bits
16, 32
DMATCR3
DMA transfer
count register 3
3
R/W
Undefined H'FFFF1168 32 bits
16, 32
CHCR3
DMA channel
control register 3
3
R/W *
00000000 H'FFFF116C 32 bits
16, 32
NSAR3
Next source
address register 3
3
R/W
Undefined H'FFFF1170 32 bits
16, 32
NDAR3
Next destination
address register 3
3
R/W
Undefined H'FFFF1174 32 bits
16, 32
NDMATCR3
Next transfer
count register 3
3
R/W
Undefined H'FFFF1178 32 bits
16, 32
CHNCNT3
Chain transfer
count register 3
3
R/W
Undefined H'FFFF117C 32 bits
16, 32
DMAOR
DMA operation
register
All
R/W *
0000
16
1
1
1
Address
H'FFFF10F0 16 bits
Notes: 1. Bit 1 of CHCR0 to CHCR3 and bits 1 and 2 of DMAOR can only be written with 0 after
being read as 1, to clear the flags.
2. When 16-bit access is used on SAR0 to SAR3, DAR0 to DAR3, or CHCR0 to CHCR3,
the 16 bits that are not accessed retain their value.
Rev. 5.00 Sep 11, 2006 page 310 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.2
Register Descriptions
9.2.1
DMA Source Address Registers 0 to 3 (SAR0 to SAR3)
Bit:
31
30
29
28
27
26
25
24
23
0
............................
Initial value:
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W
............................
—
. . . . . . . . . . . . . . . . . . . . . . . . . . . . R/W
DMA source address registers 0 to 3 (SAR0 to SAR3) are 32-bit readable/writable registers that
specify the source address of a DMA transfer. These registers have a count function, and during a
DMA transfer they indicate the next source address. In single address mode, the SAR value is
ignored when a device with DACK has been specified as the transfer source.
Specify a 16-bit boundary address in a 16-bit transfer, and a 32-bit boundary address in a 32-bit
transfer. Operation cannot be guaranteed if a different address is set.
The value of these registers is undefined after a power-on reset, and in hardware standby mode
and software standby mode.
9.2.2
DMA Destination Address Registers 0 to 3 (DAR0 to DAR3)
Bit:
31
30
29
28
27
26
25
24
23
0
............................
Initial value:
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W
............................
—
. . . . . . . . . . . . . . . . . . . . . . . . . . . . R/W
DMA destination address registers 0 to 3 (DAR0 to DAR3) are 32-bit readable/writable registers
that specify the destination address of a DMA transfer. These registers have a count function, and
during a DMA transfer they indicate the next destination address. In single address mode, the
DAR value is ignored when a device with DACK has been specified as the transfer destination.
Specify a 16-bit boundary address in a 16-bit transfer, and a 32-bit boundary address in a 32-bit
transfer. Operation cannot be guaranteed if a different address is set.
The value of these registers is undefined after a power-on reset, and in hardware standby mode
and software standby mode.
Rev. 5.00 Sep 11, 2006 page 311 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.2.3
DMA Transfer Count Registers 0 to 3 (DMATCR0 to DMATCR3)
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
DMA transfer count registers 0 to 3 (DMATCR0 to DMATCR3) are 32-bit readable/writable
registers that specify the transfer count for the channel (number of bytes, words, or longwords).
Setting H'00000001 gives a transfer count of 1, while H'00000000 gives the maximum setting of
4,294,967,296 (4G) transfers. During DMAC operation, the remaining number of transfers is
shown.
The value of these registers is undefined after a power-on reset, and in hardware standby mode
and software standby mode.
Rev. 5.00 Sep 11, 2006 page 312 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.2.4
DMA Channel Control Registers 0 to 3 (CHCR0 to CHCR3)
Bit:
31
30
29
28
27
26
25
24
—
—
—
RS4
RS3
RS2
RS1
RS0
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R/W
R/W
R/W
R/W
R/W
Bit:
23
22
21
20
19
18
17
16
—
FIFOS
—
—
NDARE
NSARE
FCS
TES
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R
R/W
R/W
R/W
R/W
Bit:
15
14
13
12
11
10
9
8
DM1
DM0
SM1
SM0
CHNE
RL
AM
AL
Initial value:
R/W:
Bit:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
IE
TE*
DE
TEND
Initial value:
R/W:
Note:
*
DS
TM
TS1
TS0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
The TE bit can only be cleared by writing 0 after it is read as 1.
DMA channel control registers 0 to 3 (CHCR0 to CHCR3) are 32-bit readable/writable registers
that specify the operating mode, transfer method, etc., for each channel.
All bits in these registers are initialized to 0 after a power-on reset, and in hardware standby mode
and software standby mode.
Bits 31 to 29—Reserved: These bits are always read as 0 and cannot be modified.
Rev. 5.00 Sep 11, 2006 page 313 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Bits 28 to 24—Resource Select 4 to 0 (RS4 to RS0): These bits specify the transfer request
source.
Bit 28:
RS4
Bit 27:
RS3
Bit 26:
RS2
Bit 25:
RS1
Bit 24:
RS0
Description
0
0
0
0
0
External request, dual address mode (Initial value)
1
(Reserved)
0
External request, single address mode
1
External address space → external device
1
External request, single address mode
External device → external address space
1
0
1
1
0
0
1
1
0
1
0
Auto-request
1
(Reserved)
0
(Reserved)
1
(Reserved)
0
TPU
TGI1A
0
TGI2A
1
TGI3A
0
TGI4A
1
TGI5A
0
1
1
0
0
0
1
1
0
0
1
0
1
0
A/D
ADI 0
ADI 1
SCI0 TXI0
1
RXI0
0
SCI1 TXI1
1
RXI1
0
SCI2 TXI2
1
1
TGI0A
1
RXI2
0
(Reserved)
1
(Reserved)
0
MMT TGM
1
MMT TGN
1
0
(Reserved)
1
(Reserved)
0
0
(Reserved)
1
(Reserved)
0
(Reserved)
1
(Reserved)
1
Rev. 5.00 Sep 11, 2006 page 314 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Bit 23—Reserved: This bit is always read as 0 and cannot be modified.
Bit 22—FIFO Select (FIFOS): Selects the FIFO to be used for DREQ level detection. This bit is
invalid when DREQ falling edge detection is used.
Bit 22: FIFOS
Description
0
1-stage FIFO is used for DREQ level detection
1
16-stage FIFO is used for DREQ level detection
(Initial value)
Bits 21 and 20—Reserved: These bits are always read as 0 and cannot be modified.
Bit 19—Next Destination Address Register Enable (NDARE): Selects whether or not the next
destination address register value is to be transferred to the destination address register to update
the destination address during chain transfer.
Bit 19: NDARE
Description
0
In chain transfer, next destination address register value is not copied to
destination address register
(Initial value)
1
In chain transfer, next destination address register value is copied to
destination address register
Bit 18—Next Source Address Register Enable (NSARE): Selects whether or not the next
source address register value is to be transferred to the source address register to update the source
address during chain transfer.
Bit 18: NSARE
Description
0
In chain transfer, next source address register value is not copied to source
address register
(Initial value)
1
In chain transfer, next source address register value is copied to source
address register
Bit 17—Flag Clear Timing Select (FCS): When a transfer request by an on-chip module is
accepted, the DMAC outputs a signal to clear the transfer request flag of the on-chip module that
made the transfer request. This bit selects whether this output is to be performed in the bus cycle
in which the transfer count register (DMATCRn) value becomes 0, or in every bus cycle. When
this bit is set to 1, the edge detection setting should be made in bit 6 (DREQ Select: DS).
Rev. 5.00 Sep 11, 2006 page 315 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Bit 17: FCS
Description
0
When an on-chip module is the transfer request source, the DMAC outputs the
flag clearing signal in the bus cycle in which the transfer count register
(DMATCRn) value becomes 0
(Initial value)
1
When an on-chip module is the transfer request source, the DMAC outputs the
flag clearing signal in every last bus cycle
Note: When DREQ is edge-detected, FCS can be used to select the edge clearing timing.
Bit 16—Transfer End Setting Select (TES): Specifies whether the transfer end bit (TE) is to be
set at the end of all the chain transfers specified in the chain count register (CHNCNT), or at the
end of the number of data transfers specified by DMATCRn.
This bit is valid regardless of the setting of bit 11 (Chain Transfer Enable: CHNE). Therefore,
when not performing chain transfer, either set this bit to 1 or else set a value of 0 in the CHNCNT.
When bit 2 (Interrupt Enable: IE) is set to 1, a transfer end interrupt (DEI) is requested when the
transfer end bit is set at the timing specified by this bit.
Bit 16: TES
Description
0
Transfer end bit (TE) is set to 1 when CHNCNTn = 0 and DMATCRn = 0
(Initial value)
1
Transfer end bit (TE) is set to 1 when DMATCRn = 0
Note: With auto-request, this bit is invalid and an interrupt is requested when DMATCRn = 0.
When auto-request is selected, TES = 1 operation is used.
Bits 15 and 14—Destination Address Modes 1 and 0 (DM1, DM0): These bits specify
incrementing/decrementing of the DMA transfer destination address. The specification of these
bits is ignored when data is transferred from address space to an external device in single address
mode.
Bit 15: DM1
Bit 14: DM0
Description
0
0
Destination address fixed
1
Destination address incremented (+1 in 8-bit transfer, +2
in 16-bit transfer, +4 in 32-bit transfer)
0
Destination address decremented (–1 in 8-bit transfer, –2
in 16-bit transfer, –4 in 32-bit transfer)
1
(Use prohibited)
1
Rev. 5.00 Sep 11, 2006 page 316 of 916
REJ09B0332-0500
(Initial value)
Section 9 Direct Memory Access Controller (DMAC)
Bits 13 and 12—Source Address Modes 1 and 0 (SM1, SM0): These bits specify incrementing/
decrementing of the DMA transfer source address. The specification of these bits is ignored when
data is transferred from an external device to address space in single address mode.
Bit 13: SM1
Bit 12: SM0
Description
0
0
Source address fixed
1
Source address incremented (+1 in 8-bit transfer, +2 in 16bit transfer, +4 in 32-bit transfer)
0
Source address decremented (–1 in 8-bit transfer, –2 in
16-bit transfer, –4 in 32-bit transfer)
1
(Use prohibited)
1
(Initial value)
Bit 11—Chain Transfer Enable (CHNE): Selects whether or not chain transfer is performed in
DMAC transfer.
Bit 11: CHNE
Description
0
Chain transfer is not performed
1
Chain transfer is performed
(Initial value)
Bit 10—Request Check Level (RL): Selects whether the DRAK signal (that notifies an external
device of the acceptance of DREQ) is an active-high or active-low output. Note that the initial
value of this bit is the active-high setting.
Bit 10: RL
Description
0
DRAK is an active-high output
1
DRAK is an active-low output
(Initial value)
Bit 9—Acknowledge Mode (AM): In dual address mode, selects whether DACK is output in the
data read cycle or write cycle. In single address mode, DACK is always output regardless of the
setting of this bit.
Bit 9: AM
Description
0
DACK is output in read cycle
1
DACK is output in write cycle
(Initial value)
Rev. 5.00 Sep 11, 2006 page 317 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Bit 8—Acknowledge Level (AL): Specifies the DACK (acknowledge) signal as active-high or
active-low. Note that the initial value of this bit is the active-high setting.
Bit 8: AL
Description
0
Active-high output
1
Active-low output
(Initial value)
Bit 7—TEND Select (TEND): Selects whether or not the TEND signal (notifying an external
device that transfer has ended) is to be output at the end of DMA transfer. When output is selected,
TEND is output in synchronization with DACK assertion at the end of transfer.
Bit 7: TEND
Description
0
TEND is not output at end of DMA transfer
1
TEND is output at end of DMA transfer
(Initial value)
Bit 6—DREQ Select (DS): Specifies either low level detection or falling edge detection as the
sampling method for the DREQ pin and on-chip peripheral module transfer requests used in
external request mode.
If auto-request is specified, the specification of this bit is ignored. Edge detection is not used with
auto-request.
Bit 6: DS
Description
0
Low level detection
1
Falling edge detection
(Initial value)
Bit 5—Transmit Mode (TM): Specifies the bus mode for transfer.
Bit 5: TM
Description
0
Cycle steal mode
1
Burst mode
Rev. 5.00 Sep 11, 2006 page 318 of 916
REJ09B0332-0500
(Initial value)
Section 9 Direct Memory Access Controller (DMAC)
Bits 4 and 3—Transmit Size 1 and 0 (TS1, TS0): These bits specify the transfer data size.
Bit 4: TS1
Bit 3: TS0
Description
0
0
Byte size (8 bits)
1
Word size (16 bits)
1
0
Longword size (32 bits)
1
(Use prohibited)
(Initial value)
Bit 2—Interrupt Enable (IE): When this bit is set to 1, an interrupt request is generated after the
number of data transfers specified in DMATCR, or after all chain transfers are completed.
Bit 2: IE
Description
0
Interrupt request not generated after number of transfers specified in DMATCR
(Initial value)
1
Interrupt request generated after number of transfers specified in DMATCR
Bit 1—Transfer End (TE): This bit is set to 1 on completion of the number of transfers specified
in DMATCR, or on completion of all the chain transfers specified in CHNCNT. The timing of TE
bit setting is specified by bit 16 (TES). If the IE bit is set to 1 at this time, an interrupt request is
generated.
If data transfer ends before TE is set to 1 (for example, due to an NMI interrupt, address error, or
clearing of the DE bit or the DME bit in DMAOR), the TE bit is not set to 1. When this bit is 1,
data transfer is not enabled even if the DE bit is set to 1.
Bit 1: TE
Description
0
Number of transfers specified in DMATCR not completed
(Initial value)
[Clearing conditions]
1
•
When 0 is written to TE after reading TE = 1
•
In a power-on reset, and in standby mode
Number of transfers specified in DMATCR completed, or all chain transfers
specified in CHNCNT completed
Note: Not initialized in module standby mode.
Rev. 5.00 Sep 11, 2006 page 319 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Bit 0—DMAC Enable (DE): Enables operation of the corresponding channel.
Bit 0: DE
Description
0
Operation of corresponding channel is disabled
1
Operation of corresponding channel is enabled
(Initial value)
When auto-request is specified (with RS5 to RS0), transfer is begun when this bit is set to 1. In the
case of an external request or on-chip module request, transfer is begun when a transfer request is
issued after this bit is set to 1. Transfer can be suspended midway by clearing this bit to 0.
Even if the DE bit has been set, transfer is not enabled when TE is 1, when DME in DMAOR is 0,
or when the NMIF or AE bit in DMAOR is 1.
9.2.5
Next Source Address Registers 0 to 3 (NSAR0 to NSAR3)
Bit:
31
30
29
28
27
26
25
24
23
0
............................
Initial value:
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W
............................
—
. . . . . . . . . . . . . . . . . . . . . . . . . . . . R/W
Next source address registers 0 to 3 (NSAR0 to NSAR3) are 32-bit readable/writable registers that
specify the source address for the next transfer when chain transfer is set. In single address mode,
the NSAR value is ignored when a device with DACK has been specified as the transfer
destination.
Specify a 16-bit boundary address in a 16-bit transfer, and a 32-bit boundary address in a 32-bit
transfer. Operation cannot be guaranteed if a different address is set.
The value of these registers is undefined after a power-on reset, and in hardware standby mode
and software standby mode.
Rev. 5.00 Sep 11, 2006 page 320 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.2.6
Next Destination Address Registers 0 to 3 (NDAR0 to NDAR3)
Bit:
31
30
29
28
27
26
25
24
23
0
............................
Initial value:
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W
............................
—
. . . . . . . . . . . . . . . . . . . . . . . . . . . . R/W
Next destination address registers 0 to 3 (NDAR0 to NDAR3) are 32-bit readable/writable
registers that specify the destination address for the next transfer when chain transfer is set. In
single address mode, the NDAR value is ignored when a device with DACK has been specified as
the transfer destination.
Specify a 16-bit boundary address in a 16-bit transfer, and a 32-bit boundary address in a 32-bit
transfer. Operation cannot be guaranteed if a different address is set.
The value of these registers is undefined after a power-on reset, and in hardware standby mode
and software standby mode.
9.2.7
Next Transfer Count Registers 0 to 3 (NDMATCR0 to NDMATCR3)
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Next transfer count registers 0 to 3 (NDMATCR0 to NDMATCR3) are 32-bit readable/writable
registers that specify the transfer count for the next transfer on the channel (number of bytes,
words, or longwords) in chain transfer.
The value of these registers is undefined after a power-on reset, and in hardware standby mode
and software standby mode.
Rev. 5.00 Sep 11, 2006 page 321 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.2.8
Chain Transfer Count Registers 0 to 3 (CHNCNT0 to CHNCNT3)
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Chain transfer count registers 0 to 3 (CHNCNT0 to CHNCNT3) are 32-bit readable/writable
registers that specify the chain transfer count when chain transfer is set.
The value of these registers is undefined after a power-on reset, and in hardware standby mode
and software standby mode. If chain transfer is not to be enabled, either initialize these registers to
0 or set bit 16 (TES) in CHCRn to 1 before enabling transfer.
9.2.9
DMA Operation Register (DMAOR)
Bit:
15
14
13
12
—
—
—
—
Initial value:
0
0
0
0
R/W:
—
—
—
—
11
10
9
8
RC3 RC2 RC1 RC0
0
0
0
0
R/W R/W R/W R/W
7
6
5
4
3
—
—
—
—
—
0
0
0
0
0
R
R
R
R
R
2
1
AE NMIF DME
0
0
The DMA operation register (DMAOR) is a 16-bit readable/writable register that specifies the
DMAC transfer mode.
DMAOR bits are initialized to 0 after a power-on reset, and in hardware standby mode and
software standby mode.
Rev. 5.00 Sep 11, 2006 page 322 of 916
REJ09B0332-0500
0
R/(W) R/(W) R/W
Note: The AE and NMIF bits can only be cleared to 0 after being read as 1.
Bits 15 to 12—Reserved: These bits are always read as 0 and cannot be modified.
0
Section 9 Direct Memory Access Controller (DMAC)
Bits 11 to 8—Round Robin Channel Select 3 to 0 (RC3 to RC0): When there are simultaneous
transfer requests for a number of channels, these bits determine the channel priority order for
executing the transfers. Bits RC3 to RC0 correspond to channels CH3 to CH0. When a bit is set to
1, the priority of the corresponding channel is determined according to the round robin method.
Bits 11 to 8:
RCn
Description
0
The priority order of corresponding channel CHn (n = 0 to 3) is fixed. When all
RC bits are 0, the channel priority order is CH0 > CH1 > CH2 > CH3.
(Initial value)
1
The priority order of corresponding channel CHn (n = 0 to 3) is determined
according to the round robin method.
Note: When the round robin method is set for the priority order, at least two RC bits should be set
to 1. If only one RC bit is set to 1, the inter-channel priority order will be CH0 > CH1 > CH2
> CH3.
When the priority order of two or more channels is determined by the round robin method,
channels with consecutive channel numbers must be set (e.g. CH2 and CH3, or CH1, CH2,
and CH3). Operation cannot be guaranteed if channels with non-consecutive channel
numbers (such as CH0 and CH2) are designated as having their priority order determined
by the round robin method.
If round robin priority is specified for CH1, CH2, and CH3, the channel priority relationship
with the other channel will be as follows:
CH0 > CH1, CH2, CH3.
Round Robin
Bits 7 to 3—Reserved: These bits are always read as 0 and cannot be modified.
Bit 2—Address Error Flag (AE): Flag that indicates the occurrence of an address error during
DMA transfer. If this bit is set during data transfer, transfers on all channels are suspended. The
CPU cannot write a 1 to AE. This bit can only be cleared by writing 0 after reading 1.
Bit 2: AE
Description
0
No address error, DMA transfer enabled
(Initial value)
[Clearing condition]
When 0 is written to AE after reading AE = 1
1
Address error, DMA transfer disabled
[Setting condition]
When an address error is caused by the DMAC
Rev. 5.00 Sep 11, 2006 page 323 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Bit 1—NMI Flag (NMIF): Flag that indicates NMI input. Setting of this bit can be performed
regardless of whether the DMAC is operating or halted. If this bit is set during data transfer,
transfers on all channels are suspended. The CPU cannot write a 1 to NMIF. This bit can only be
cleared by writing 0 after reading 1.
Bit 1: NMIF
Description
0
No NMI input, DMA transfer enabled
(Initial value)
[Clearing condition]
When 0 is written to NMIF after reading NMIF = 1
1
NMI input, DMA transfer disabled
[Setting condition]
When an NMI interrupt is generated
Bit 0—DMAC Master Enable (DME): Enables activation of the entire DMAC. When the DME
bit and the DE bit of the CHCR register for the corresponding channel are set to 1, that channel is
enabled for transfer. If this bit is cleared during data transfer, transfers on all channels are
suspended.
Even if the DME bit has been set, transfer is not enabled when TE is 1 or DE is 0 in CHCR, or
when the NMIF or AE bit in DMAOR is 1.
Bit 0: DME
Description
0
Operation disabled on all channels
1
Operation enabled on all channels
9.3
(Initial value)
Operation
When there is a DMA transfer request, the DMAC starts the transfer according to the
predetermined channel priority order. It ends the transfer when the transfer end conditions are
satisfied. Transfers can be requested in three modes: auto-request, external request, and on-chip
peripheral module request. There are two modes for DMA transfer: single address mode and dual
address mode. Either burst mode or cycle steal mode can be selected as the bus mode.
Rev. 5.00 Sep 11, 2006 page 324 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.3.1
DMA Transfer Procedure
After the desired transfer conditions have been set in the DMA source address register (SAR),
DMA destination address register (DAR), DMA transfer count register (DMATCR), DMA
channel control register (CHCR), DMA operation register (DMAOR), next source address register
(NSAR), next destination address register (NDAR), next transfer count register (NDMATCR), and
chain transfer count register (CHNCNT), the DMAC executes data transfer according to the
following procedure:
1. The DMAC checks to see if transfer is enabled (DE = 1, DME = 1, TE = 0, NMIF = 0, AE =
0).
2. When a transfer request is issued while transfer is enabled, the DMAC transfers one transfer
unit of data (determined by the setting of TS0 and TS1). In auto-request mode, the transfer
begins automatically when the DE bit and DME bit are set to 1. The DMATCR value is
decremented by 1 for each transfer. The actual transfer flow depends on the address mode and
bus mode.
3. When the specified number of transfers have been completed (when the DMATCR value
reaches 0), the transfer ends normally. If the IE bit in CHCR is set to 1 at this time, a DEI
interrupt request is sent to the CPU.*
4. When a DMAC address error or NMI interrupt occurs, the transfer is suspended. Transfer is
also suspended when the DE bit in CHCR or the DME bit in DMAOR is cleared to 0.
5. In the case of auto-request, or when CHNE = 0 and TES = 1, transfer ends when DMATCRn =
0.
When the chain transfer enable bit (CHNE) is set to 1, the values in the next source address
register (NSAR), next destination address register (NDAR), and next transfer count register
(NDMATCR) are copied, respectively, to the DMA source address register (SAR), DMA
destination address register (DAR), and DMA transfer count register (DMATCR), and chain
transfer is started. Chain transfer ends when the value in the chain transfer count register
(CHNCNT) reaches 0.
Note: * If the TES bit in CHCRn is cleared to 0, a DEI interrupt is generated when the
CHNCNTn and DMATCRn values both become 0.
Figure 9.2 shows a flowchart of this procedure.
Rev. 5.00 Sep 11, 2006 page 325 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Start
Initial settings
(SAR, DAR, DMATCR, CHCR,
DMAOR, NSAR, NDAR,
NDMATCR, CHNCNT)
DE, DME = 1 &
NMIF, AE, TE = 0?
No
Yes
*2
Transfer request
issued?*1
No
Bus mode,
transfer request mode,
DREQ detection
method
*3
Yes
Transfer (1 transfer unit)
DMATCR-1 → DMATCR,
SAR, DAR update
No
NMIF or AE = 1 or
DE = 0 or DME = 0?
DMATCR = 0?
No
SAR *4
DAR
DMATCR
CHNCNT
NSAR
NDAR
NDMATCR
CHNCNT-1
Yes
Yes
DEI interrupt request*5
(when IE = 1)
NMIF or AE = 1 or
DE = 0 or DME = 0 ?
Transfer suspended
No
Yes
No
Auto-request
or TES = 1?
Yes
End of transfer
End of transfer
No
CHNE = 0
& TES = 1?
No
TES = 0
& CHNCNT = 0?
*6
Yes
End of transfer
Yes
End of transfer
Notes: 1. In auto-request mode, transfer begins when the NMIF, AE, and TE bits are all 0, and the DE and DME bits are
set to 1.
2. DREQ level detection (external request) in burst mode, or cycle steal mode.
When edge detection and edge clearing every cycle are set.
3. When transfer requests are edge-detected, and edge clearing is performed at the end of all transfers.
4. Whether or not NSAR → SAR and NDAR → DAR transfer is required can be set with the corresponding bits
in CHCR.
5. When the TES bit in CHCR is cleared to 0, the condition for interrupt generation is {CHNCNTn = 0 and
DMATCRn = 0}. When the TES bit in CHCR is set to 1, the condition for interrupt generation is {DMATCRn = 0},
and the value of CHNCNTn is immaterial.
6. When clearing CHNE to 0, either set TES to 1 or clear CHNCNT to 0.
Figure 9.2 DMAC Transfer Flowchart
Rev. 5.00 Sep 11, 2006 page 326 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.3.2
DMA Transfer Requests
Transfer requests are basically generated at either the data transfer source or destination, but they
can also be issued by external devices or on-chip peripheral modules that are neither the source
nor the destination.
Transfers can be requested in three modes: auto-request, external request, and on-chip peripheral
module request. The transfer request mode is selected by means of bits RS4 to RS0 in DMA
channel control registers 0 to 3 (CHCR0 to CHCR3).
Auto Request Mode
When there is no transfer request signal from an external source, as in a memory-to-memory
transfer or a transfer between memory and an on-chip peripheral module unable to request a
transfer, the auto-request mode allows the DMAC to automatically generate a transfer request
signal internally. When the RS bit in CHCR0 to CHCR3 is set to auto-request mode, the DE bit is
set to 1, and the DME bit in the DMA operation register (DMAOR) is set to 1, the transfer begins
(so long as the TE bit in CHCR0 to CHCR3 and the NMIF and AE bits in DMAOR are all 0).
External Request Mode
In this mode a transfer is performed in response to a transfer request signal (DREQ) from an
external device. One of the modes shown in table 9.3 should be chosen according to the
application system. If DMA transfer is enabled (DE = 1, DME = 1, TE = 0, NMIF = 0, AE = 0),
transfer starts when DREQ is input. The DS bit in CHCR0 to CHCR3 is used to select either
falling edge detection or low level detection for the DREQ signal (level detection when DS = 0,
edge detection when DS = 1). When low level detection is used, the FIFO to be used can be
selected with the FIFOS bit. When edge detection is used, the edge clearing timing can be selected
with the FCS bit.
The source of the transfer request does not have to be the data transfer source or destination.
Rev. 5.00 Sep 11, 2006 page 327 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Table 9.3
Selecting External Request Mode with RS Bits
RS4
RS3
RS2
RS1
RS0
Address Mode
Transfer Source
Transfer Destination
0
0
0
0
0
Dual address
mode
Any*
Any*
0
0
0
1
0
Single address
mode
External memory or
memory-mapped
external device
External device with
DACK
0
0
0
1
1
Single address
mode
External device with External memory or
DACK
memory-mapped
external device
Note:
*
External memory, memory-mapped external device, on-chip memory, on-chip
peripheral module (except DMAC, UBC, and BSC)
On-Chip Peripheral Module Request Mode
In this mode a transfer is performed in response to a transfer request signal (interrupt request
signal) from one of the SH7065’s on-chip peripheral modules. As shown in table 9.4, there are a
total of 16 transfer request signals: six compare match interrupts or input capture interrupts from
the timer pulse unit (TPU), receive-data-full interrupts (RXI) and transmit-data-empty interrupts
(TXI) from the three serial communication interface (SCI) channels, A/D conversion end
interrupts (ADI) from the two A/D converter channels, and two interrupts from the motor
management timer (MMT). If DMA transfer is enabled (DE = 1, DME = 1, TE = 0, NMIF = 0, AE
= 0), DMA transfer starts when a transfer request signal is input.
The source of the transfer request does not have to be the data transfer source or destination.
However, when the transfer request is set to RXI (transfer request by SCI receive-data-full
interrupt), the transfer source must be the SCI’s receive FIFO data register (SCFRDR). When the
transfer request is set to TXI (transfer request by SCI transmit-data-empty interrupt), the transfer
destination must be the SCI’s transmit FIFO data register (SCFTDR). When the transfer request is
set to ADIn, the transfer source must be the A/D data register (ADDRn).
To output a transfer request from an on-chip peripheral module, set the interrupt enable bit for the
module and output an interrupt signal.
When an on-chip peripheral module interrupt request signal is used as a DMA transfer request
signal, an interrupt is not issued to the CPU.
The transfer request signals shown in table 9.4 are cleared automatically when the corresponding
DMA transfer is performed. In cycle steal mode the signal is cleared for a single transfer; in burst
mode, there is a choice of clearance each time a transfer is executed or on execution of the last
Rev. 5.00 Sep 11, 2006 page 328 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
transfer. The flag clear timing select bit (FCS) in the channel control register (CHCR) is used to
select the transfer request signal clearing mode.
Table 9.4
Selecting On-Chip Peripheral Module Request Mode with RS Bits
RS4
RS3
RS2
RS1
RS0
DMAC
Transfer
Request
Source
0
1
0
0
0
TPU
TGI0A interrupt
Any*
Any*
Burst/cycle
steal mode
1
TPU
TGI1A interrupt
Any*
Any*
Burst/cycle
steal mode
0
TPU
TGI2A interrupt
Any*
Any*
Burst/cycle
steal mode
1
TPU
TGI3A interrupt
Any*
Any*
Burst/cycle
steal mode
0
TPU
TGI4A interrupt
Any*
Any*
Burst/cycle
steal mode
1
TPU
TGI5A interrupt
Any*
Any*
Burst/cycle
steal mode
0
A/D
converter
ADI0 (A/D conversion end
interrupt)
ADDR0
Any*
Burst/cycle
steal mode
1
A/D
converter
ADI1 (A/D conversion end
interrupt)
ADDR1
Any*
Burst/cycle
steal mode
0
SCI0
TXI0 (SCI0 transmit-datatransmitter empty transfer request)
Any*
TDR0
Burst/cycle
steal mode
1
SCI0
receiver
Any*
Burst/cycle
steal mode
0
SCI1
TXI1 (SCI1 transmit-datatransmitter empty transfer request)
TDR1
Burst/cycle
steal mode
1
SCI1
receiver
Any*
Burst/cycle
steal mode
0
SCI2
TXI2 (SCI2 transmit-datatransmitter empty transfer request)
TDR2
Burst/cycle
steal mode
1
SCI2
receiver
RXI2 (SCI2 receive-data-full RDR2
transfer request)
Any*
Burst/cycle
steal mode
0
MMT
TGM
Any*
Any*
Burst/cycle
steal mode
1
MMT
TGN
Any*
Any*
Burst/cycle
steal mode
1
1
0
1
1
0
0
0
1
1
1
0
0
Legend:
TPU:
SCI0, SCI1, SCI2:
DMAC Transfer Request
Signal
Transfer
Transfer DestinaSource
tion
RXI0 (SCI0 receive-data-full RDR0
transfer request)
Any*
RXI1 (SCI1 receive-data-full RDR1
transfer request)
Any*
Bus Mode
Timer pulse unit
Serial communication interface channels 0 to 2
Rev. 5.00 Sep 11, 2006 page 329 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
ADDR0, ADDR1:
TDRn, RDRn:
MMT:
Note:
9.3.3
*
A/D data registers for A/D converters 0 and 1
SCFTDRn and SCFRDRn for SCI channel n (n = 0 to 2)
Motor management timer
External memory, memory-mapped external device, on-chip memory, on-chip
peripheral module (except DMAC, BSC, and UBC)
Channel Priorities
If the DMAC receives simultaneous transfer requests on two or more channels, it selects a channel
according to a predetermined priority system, either in a fixed mode or round robin mode. The
mode is selected with the round robin channel select bits (RC0 to RC3) in the DMA operation
register (DMAOR). The fixed mode is selected for the channel priority order by clearing the round
robin channel select bits for all channels to 0. When using round robin mode, the round robin bits
for the channels to be used are set to 1. The channels specified in this case must have consecutive
channel numbers.
Fixed Mode
In the fixed mode, the channel priority order does not change. In this mode, the following initial
channel priority order is used.
CH0 > CH1 > CH2 > CH3
To perform fixed mode transfer, the round robin channel select bits (RC0 to RC3) in the DMA
operation register (DMAOR) must all be cleared to 0.
Round Robin Mode
In round robin mode, each time the transfer of one transfer unit (byte, word, or longword) ends on
a given channel, that channel is assigned the lowest priority level. The channels specified by the
round robin channel select bits (RC0 to RC3) in the DMA operation register (DMAOR) are
subject to round robin control. Only channels with consecutive channel numbers can be specified;
operation cannot be guaranteed if non-consecutive channels are specified for round robin priority
control. If only one channel is specified, the channel priority order is the same as in the fixed
mode.
Figure 9.3 illustrates round robin operation for CH0 to CH3. The order of priority in round robin
mode immediately after a reset is the initial priority order: CH0 > CH1 > CH2 > CH3.
Rev. 5.00 Sep 11, 2006 page 330 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
1. Transfer on channel 0
Initial priority order
Channel 0 is given the lowest
priority.
CH0 > CH1 > CH2 > CH3
Priority order after
transfer
CH1 > CH2 > CH3 > CH0
2. Transfer on channel 1
Initial priority order
When channel 1 is given the
lowest priority, the priority of
channel 0, which was higher
than channel 1, is also shifted
simultaneously.
CH0 > CH1 > CH2 > CH3
Priority order after
transfer
CH2 > CH3 > CH0 > CH1
3. Transfer on channel 2
Initial priority order
CH0 > CH1 > CH2 > CH3
Priority order after
transfer
CH3 > CH0 > CH1 > CH2
Priority after transfer due to issuance
of a transfer request for channel 1 only
When channel 2 is given the
lowest priority, the priorities of
channels 0 and 1, which were
higher than channel 2, are also
shifted simultaneously. If there
is a transfer request for channel
1 only immediately afterward,
channel 1 is given the lowest
priority and the priorities of
channels 3 and 0 are
simultaneously shifted down.
CH2 > CH3 > CH0 > CH1
4. Transfer on channel 3
Initial priority order
CH0 > CH1 > CH2 > CH3
Priority order after
transfer
CH0 > CH1 > CH2 > CH3
No change in priority order
Figure 9.3 Round Robin Mode
Rev. 5.00 Sep 11, 2006 page 331 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Figure 9.4 shows the changes in priority levels when transfer requests are issued simultaneously
for channels 0 and 3, and channel 1 receives a transfer request during a transfer on channel 0. The
operation of the DMAC in this case is as follows.
1. Transfer requests are issued simultaneously for channels 0 and 3.
2. Since channel 0 has a higher priority level than channel 3, the channel 0 transfer is executed
first (channel 3 is on transfer standby).
3. A transfer request is issued for channel 1 during the channel 0 transfer (channels 1 and 3 are on
transfer standby).
4. At the end of the channel 0 transfer, channel 0 shifts to the lowest priority level.
5. At this point, channel 1 has a higher priority level than channel 3, so the channel 1 transfer is
started (channel 3 is on transfer standby).
6. At the end of the channel 1 transfer, channel 1 shifts to the lowest priority level.
7. The channel 3 transfer is started.
8. At the end of the channel 3 transfer, the channel 3 and channel 2 priority levels are lowered,
giving channel 3 the lowest priority.
Rev. 5.00 Sep 11, 2006 page 332 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Transfer Request
Channel Waiting
DMAC Operation
Channel Priority
Order
1. Issued for channels
0 and 3
2. Start of channel 0
transfer
3. Issued for channel 1
0>1>2>3
3
1, 3
4. End of channel 0
transfer
Change of
priority order
1>2>3>0
5. Start of channel 1
transfer
3
6. End of channel 1
transfer
Change of
priority order
2>3>0>1
7. Start of channel 3
transfer
None
Change of
priority order
8. End of channel 3
transfer
0>1>2>3
Figure 9.4 Example of Changes in Channel Priority Order in Round Robin Mode
Rev. 5.00 Sep 11, 2006 page 333 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.3.4
Types of DMA Transfer
The DMAC supports the transfers shown in table 9.5. It can operate in single address mode, in
which either the transfer source or the transfer destination is accessed using the acknowledge
signal, or in dual address mode, in which both the transfer source and transfer destination
addresses are output. The actual transfer operation timing depends on the bus mode, which can be
either burst mode or cycle steal mode.
Table 9.5
Supported DMA Transfers
Transfer Destination
Transfer Source
External
Device with
DACK
External
Memory
MemoryMapped
External
Device
On-Chip
Memory
Single address Single address Not available
mode
mode
On-Chip
Peripheral
Module
External device
with DACK
Not available
External memory
Single address Dual address
mode
mode
Dual address
mode
Dual address Dual address
mode
mode
Memory-mapped
external device
Single address Dual address
mode
mode
Dual address
mode
Dual address Dual address
mode
mode
On-chip memory
Not available
Dual address
mode
Dual address
mode
Dual address Dual address
mode
mode
On-chip peripheral Not available
module
Dual address
mode
Dual address
mode
Dual address Dual address
mode
mode
Rev. 5.00 Sep 11, 2006 page 334 of 916
REJ09B0332-0500
Not available
Section 9 Direct Memory Access Controller (DMAC)
Address Modes
Single Address Mode: In single address mode, both the transfer source and the transfer
destination are external; one is accessed by the DACK signal and the other by an address. In this
mode, the DMAC performs a DMA transfer in one bus cycle by simultaneously outputting the
external I/O strobe signal (DACK) to either the transfer source or transfer destination external
device to access it, while outputting an address to the other side of the transfer. Figure 9.5 shows
an example of a transfer between external memory and an external device with DACK in which
the external device outputs data to the data bus while that data is written to external memory in the
same bus cycle.
External address bus
External data bus
SH7065
External memory
DMAC
External device
with DACK
DACK
DREQ
Data flow
Figure 9.5 Data Flow in Single Address Mode
Two types of transfer are possible in single address mode: (1) transfer between an external device
with DACK and a memory-mapped external device, and (2) transfer between an external device
with DACK and external memory. Only the external request signal (DREQ) is used in both these
cases.
Figure 9.6 shows the DMA transfer timing in single address mode.
Rev. 5.00 Sep 11, 2006 page 335 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
Address output to external memory space
A25–A0
CSn
Data output from external device with DACK
D31–D0
DACK
DACK signal (active-low) to external device
with DACK
WRxx
WR signal to external memory space
TEND
TEND output
(a) From external device with DACK to external memory space
CKE
Address output to external memory space
A25–A0
CSn
D31–D0
Data output from external memory space
RD signal to external memory space
RD
DACK
DACK signal (active-low) to external device
with DACK
TEND
TEND output
(b) From external memory space to external device with DACK
Figure 9.6 DMA Transfer Timing in Single Address Mode
Dual Address Mode: Dual address mode is used to access both the transfer source and the
transfer destination by address. The transfer source and destination can be accessed either
internally or externally.
Rev. 5.00 Sep 11, 2006 page 336 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
In dual address mode, data is read from the transfer source in the data read cycle, and written to
the transfer destination in the data write cycle, so that the transfer is executed in two bus cycles.
The transfer data is temporarily stored in the DMAC. In a transfer between external memories
such as that shown in figure 9.7, data is read from external memory into the DMAC in the read
cycle, then written to the other external memory in the write cycle. Figure 9.8 shows the timing for
this operation.
SAR
Data bus
DAR
Address bus
DMAC
Memory
Transfer source
module
Transfer destination
module
Data buffer
Taking the SAR value as the address, data is read from the transfer source module
and stored temporarily in the data buffer in the DMAC.
First bus cycle
SAR
Data bus
DAR
Memory
Address bus
DMAC
Transfer source
module
Transfer destination
module
Data buffer
Taking the DAR value as the address, the data stored in the DMAC is written to
the transfer destination module.
Second bus cycle
Figure 9.7 Direct Address Operation in Dual Address Mode
Rev. 5.00 Sep 11, 2006 page 337 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
A25–A0
Transfer source
address
Transfer destination
address
CSn
D31–D0
RD
WRxx
DACK
TEND
Data read cycle
Data write cycle
(1st)
(2nd)
Transfer from external memory space to external memory space, TEND output enabled,
DACK output in read cycle
Figure 9.8 Example of Dual Address Mode Transfer Timing
Rev. 5.00 Sep 11, 2006 page 338 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Bus Modes
There are two bus modes, cycle steal mode and burst mode, selected with the TM bit in CHCR0 to
CHCR3.
Cycle Steal Mode: In cycle steal mode, the DMAC gives the bus to another bus master at the end
of each transfer-unit (8-bit, 16-bit, or 32-bit) transfer. When the next transfer request is issued, the
DMAC reacquires the bus from the other bus master and carries out another transfer-unit transfer.
At the end of this transfer, the bus is again given to another bus master. This is repeated until the
transfer end condition is satisfied.
Cycle steal mode can be used with all categories of transfer request source, transfer source, and
transfer destination.
Figure 9.9 shows an example of DMA transfer timing in cycle steal mode. The transfer conditions
in this example are dual address mode and DREQ level detection (using the 16-stage FIFO).
DREQ
×
Bus temporarily returned to CPU
Bus cycle
CPU
CPU
CPU
DMAC
DMAC
CPU
Read, write
DMAC
DMAC
CPU
CPU
Read, write
Figure 9.9 Example of DMA Transfer in Cycle Steal Mode
Burst Mode: In burst mode, once the DMAC has acquired the bus it transfers data continuously
until the transfer end condition is satisfied. With DREQ low level detection in external request
mode, however, when DREQ is driven high the bus passes to another bus master after the end of
the DMAC transfer request that has already been accepted, even if the transfer end condition has
not been satisfied.
Figure 9.10 shows an example of DMA transfer timing in burst mode. The transfer conditions in
this example are single address mode and DREQ level detection (using the 16-stage FIFO).
DREQ
Bus cycle
×
CPU
CPU
CPU
DMAC
DMAC
DMAC
DMAC
DMAC
DMAC
CPU
Figure 9.10 Example of DMA Transfer in Burst Mode
Rev. 5.00 Sep 11, 2006 page 339 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Relationship between DMA Transfer Type, Request Mode, and Bus Mode
Table 9.6 shows the relationship between the type of DMA transfer, the request mode, and the bus
mode.
Table 9.6
Address
Mode
Single
Dual
Relationship between DMA Transfer Type, Request Mode, and Bus Mode
Request
Mode
Bus
Mode
Transfer
Size (Bits)
Usable
Channels
External device with DACK and
external memory
External
B/C
8/16/32
0, 1
External device with DACK and
memory-mapped external device
External
B/C
8/16/32
0, 1
External memory and external memory
Any*
1
Any*
B/C
8/16/32
0–3
B/C
8/16/32
0–3
Memory-mapped external device and
memory-mapped external device
1
Any*
B/C
8/16/32
0–3
External memory and on-chip memory
Any*
2
Any*
B/C
0–3
B/C
8/16/32
3
8/16/32*
0–3
Memory-mapped external device and
on-chip memory
1
Any*
B/C
8/16/32
0–3
Memory-mapped external device and
on-chip peripheral module
2
Any*
B/C
8/16/32*
3
0–3
Any*
2
On-chip memory and on-chip peripheral Any*
module
2
On-chip peripheral module and on-chip Any*
peripheral module
B/C
0–3
B/C
8/16/32
3
8/16/32*
0–3
B/C
8/16/32*
0–3
Type of Transfer
External memory and memory-mapped
external device
External memory and on-chip
peripheral module
On-chip memory and on-chip memory
Legend:
1
1
1
3
B: Burst
C: Cycle steal
Notes: 1. External request, auto-request, or on-chip peripheral module request possible. The SCI
or A/D converter cannot be specified as the transfer request source in on-chip
peripheral module request mode.
2. External request, auto-request, or on-chip peripheral module request possible. If the
transfer request source is also the SCI or A/D converter, the transfer source or transfer
destination must be the SCI or A/D converter.
3. Access size permitted for register of on-chip peripheral module that is the transfer
source or transfer destination.
Rev. 5.00 Sep 11, 2006 page 340 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Bus Mode and Channel Priority Order
When, for example, channel 1 is transferring data in burst mode, and a transfer request is issued to
channel 0, which has a higher priority, the channel 0 transfer is started immediately.
If fixed mode has been set for the priority order (CH0 > CH1), or if burst mode is set for channel
0, transfer on channel 1 is continued after transfer on channel 0 is completely finished.
If round robin mode has been set for the priority order, transfer on channel 1 is restarted after one
transfer unit of data is transferred on channel 0, regardless of whether cycle steal mode or burst
mode is set for channel 0. Bus mastership then alternates in the order: channel 1 → channel 0 →
channel 1 → channel 0.
Since channel 1 is in burst mode, the bus is not given to the CPU during this period, regardless of
whether fixed mode or round robin mode is set for the priority order.
An example of round robin mode operation is shown in figure 9.11.
CPU
CPU
DMAC CH1
DMAC CH1
DMAC CH1
Burst mode
DMAC CH0
DMAC CH1
DMAC CH0
DMAC CH0 and CH1
Round robin mode
DMAC CH1
DMAC CH1
DMAC CH1
Burst mode
CPU
CPU
Priority system: Round robin mode
Channel 0:
Cycle steal mode
Channel 1:
Burst mode
Figure 9.11 Bus Handling with Two DMAC Channels Operating
Rev. 5.00 Sep 11, 2006 page 341 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.3.5
Number of Bus Cycle States and DREQ Pin Sampling Timing
Number of Bus Cycle States
When the DMAC is the bus master, the number of bus cycle states is controlled by the bus state
controller (BSC) in the same way as when the CPU is the bus master. For details, see section 8,
Bus State Controller (BSC).
DREQ Pin Sampling and DRAK Signal
In external request mode, the DREQ pin for each channel is sampled using falling edge or low
level detection. The DREQ sampling circuit for each channel comprises a noise canceler and edge
detection circuit, a 16-stage FIFO, and a 1-stage FIFO.
Regardless of whether DREQ pin falling edge detection or low level detection is used, the signal is
sampled via a noise canceler circuit. The noise canceler eliminates noise of one clock cycle or less
in duration by ignoring the first clock cycle of DREQ input.
After passing through the noise canceler, an external request signal is sampled by one of three
DREQ sampling methods, as selected by the relevant register settings: falling edge detection, low
level detection using the 16-stage FIFO, or low level detection using the 1-stage FIFO.
Whichever DREQ sampling method is selected, the DRAK signal is output for one CKE state each
time DREQ is sampled. Regardless of whether cycle steal or burst mode is selected, and of the
DREQ sampling method, the DRAK signal is output when generation of a DMA transfer cycle in
response to the sampled DREQ signal is confirmed. DRAK signal output is synchronized with
CKE, but it is not possible to stipulate the output timing relative to the external bus cycle.
• DREQ falling edge detection
When DREQ falling edge detection is used, DREQ samples are not stored in a FIFO, and
DMA transfer is carried out in response to a single falling edge. Since the noise canceler
function ignores the first state of DREQ input, the DREQ signal must be input for at least two
states. DREQ sampling is performed in the same way regardless of whether single or dual
address mode, or cycle steal or burst mode, is selected.
With DREQ falling edge detection, the number of transfers to be initiated by detection of a
single falling edge can be set, regardless of whether single or dual address mode, or cycle steal
or burst mode, is selected. The following settings can be made with the Flag Clear Timing
Select (FCS) bit in the channel control register (CHCR) for each channel.
Rev. 5.00 Sep 11, 2006 page 342 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
 Execution of one transfer in response to one falling edge
 Execution of the number of transfers set in the DMA transfer count register (DMATCR) in
response to one falling edge
Regardless of the setting of the Flag Clear Timing Select (FCS) bit, while the transfer initiated
by the previously detected falling edge is in progress, there is a period during which the next
DREQ falling edge is ignored. Therefore, the next falling edge should not be input until the
final DRAK signal has been output for the currently executing transfer.
The DRAK signal is output once only for one falling edge. Regardless of the setting of the
Flag Clear Timing Select (FCS) bit, it is output at the same time as, or earlier than, address
output in the first DMA transfer cycle.
Figure 9.12 shows an example of the operation when one DMA transfer is performed in
response to one falling edge. The example in figure 9.12 is for cycle steal mode, but even if
burst mode is selected, the operation still ends after one transfer in response to one falling
edge. Figure 9.13 shows an example of the operation when the number of DMA transfers set in
the DMA transfer count register (DMATCR) are performed in response to one falling edge.
• DREQ low level detection using 16-stage FIFO
When DREQ low level detection is selected, DREQ is sampled in every cycle at the rise of
CKE (figure 9.14). The noise canceler function prevents sampling of DREQ input at the first
rise of CKE. The sampled DREQ signal is stored in the 16-stage FIFO. One DMA transfer is
performed for one stored sampling result, and a number of transfers corresponding to the
number of stored samples are always carried out. If DREQ is input continuously, samples are
taken until the FIFO is full; once the FIFO is full, the DREQ input is no longer sampled (figure
9.15). The FIFO is incremented each time DREQ is sampled, and is decremented when
generation of the next DMA transfer cycle is confirmed. It is not always possible to stipulate
the FIFO decrement timing relative to the external bus cycle, but in the case of a CKE:CKM
frequency division ratio of 1:1, it will be at the start of the bus cycle before the DMA transfer
cycle (timings (A), (B), (C), (D), and (E) in figure 9.14). With the 16-stage FIFO, in the event
of contention between FIFO incrementing and decrementing, both are performed
simultaneously. The FIFO operation in this case is as shown at (A), (B), (C), (D), and (E) in
figure 9.14. The DRAK signal is output one state after the FIFO is decremented, and at the
same time as, or earlier than, address output in the corresponding DMA transfer cycle. The
DRAK signal is output once for each DREQ sample.
With this DREQ sampling method, sampling is carried out in the same way regardless of
whether single or dual address mode, or cycle steal or burst mode, is selected (figures 9.16 to
9.18).
Rev. 5.00 Sep 11, 2006 page 343 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
• DREQ low level detection using 1-stage FIFO
DREQ low level sampling using the 1-stage FIFO should be selected when external bus cycles
are two CKE states or longer in maximum-speed operation. If external bus cycles are two CKE
states or longer in maximum-speed operation, when DREQ input is halted upon DRAK signal
output, one subsequent DMA transfer will always be performed after the DMA transfer cycle
corresponding to this DRAK signal output before transfer is halted (figure 9.19). If low level
detection using the 1-stage FIFO is selected when the external bus cycle is one CKE state in
maximum-speed operation, the amount of DMA cycle overrun cannot be guaranteed.
With the 1-stage FIFO, as with the 16-stage FIFO, DREQ sampling is performed at the rise of
CKE. The noise canceler function prevents sampling of DREQ input at the first rise of CKE.
The sampled DREQ signal is stored in the 1-stage FIFO, and the FIFO is full after one sample
is taken. The DRAK signal is output at the same time as, or earlier than, address output in the
corresponding DMA transfer cycle, and is output once for each DREQ sample.
The sampling conditions for the 1-stage FIFO are different from those for the 16-stage FIFO.
With the 16-stage FIFO, FIFO incrementing and decrementing are performed simultaneously
(see figure 9.19), but with the 1-stage FIFO, after the FIFO is cleared by decrementing, the
next sampling operation is performed. The FIFO decrement timing is the same as the DRAK
signal output timing. Figure 9.19 shows an example of the operation when single/burst mode
DMA transfer is carried out with DREQ sampling by low level detection using the 1-stage
FIFO. In figure 9.19, when DREQ input is halted (B in the figure) at the point at which DRAK
is output (A in the figure), transfer is terminated after execution of the DMA transfer cycle
following the corresponding DMA cycle. With this DREQ sampling method, sampling is
carried out in the same way regardless of whether single or dual address mode, or cycle steal or
burst mode, is selected (figures 9.20 to 9.22).
Rev. 5.00 Sep 11, 2006 page 344 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
DRAK
BUS
CPU
DMAC
read
DMAC
write
CPU
DMAC
read
DMAC
write
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Cycle steal mode/dual address transfer
One transfer is performed for one edge.
DRAK and DACK are active-low.
Figure 9.12 Operation Example:
CKE = CKM, Edge Detection, One Transfer for One Edge
Rev. 5.00 Sep 11, 2006 page 345 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
DRAK
BUS
CPU
DMAC
read
DMAC
write
CPU
DMAC
read
DMAC
write
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Cycle steal mode/dual address transfer
Number of transfers set in DMATCR are performed for one edge.
DRAK and DACK are active-low.
Figure 9.13 Operation Example:
CKE = CKM, Edge Detection, Set Number of Transfers for One Edge
Rev. 5.00 Sep 11, 2006 page 346 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
0
1
1
2
3
3
4
5
5
6
7
7
8
DRAK
BUS
DMA DMA
DMA DMA
DMA DMA
DMA DMA
CPU (R) (W) CPU (R) (W) CPU (R) (W) CPU (R) (W) CPU
(A)
(B)
(C)
(D)
(E)
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Cycle steal mode/dual address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.14 Operation Example:
CKE = CKM, Low Level Detection, 16-Stage FIFO Used (1)
(Maximum-Speed Operation In Dual Address/Cycle Steal Mode)
Rev. 5.00 Sep 11, 2006 page 347 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
14
15
16
16
16
16
16
15
15
15
14
14
14
13
13
DRAK
BUS
CPU CPU CPU CPU CPU CPU CPU
DMA DMA
DMA DMA
DMA DMA
(R) (W) CPU (R) (W) CPU (R) (W) CPU
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Cycle steal mode/dual address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.15 Operation Example:
CKE = CKM, Low Level Detection, 16-Stage FIFO Used (2)
Sampling Operation when FIFO = FULL
(Dual Address/Cycle Steal Mode)
Rev. 5.00 Sep 11, 2006 page 348 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
0
1
1
2
2
3
3
4
4
5
5
6
6
DRAK
BUS
DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA
CPU CPU CPU (R) (W) (R) (W) (R) (W) (R) (W) (R) (W) (R) (W)
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Burst mode/dual address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.16 Operation Example:
CKE = CKM, Low Level Detection, 16-Stage FIFO Used (3)
(Dual Address/Burst Mode)
Rev. 5.00 Sep 11, 2006 page 349 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
0
1
1
2
2
3
3
4
4
5
5
6
6
DRAK
BUS
CPU CPU CPU DMA CPU DMA CPU DMA CPU DMA CPU DMA CPU DMA CPU
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Cycle steal mode/single address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.17 Operation Example:
CKE = CKM, Low Level Detection, 16-Stage FIFO Used (4)
(Single Address/Cycle Steal Mode)
Rev. 5.00 Sep 11, 2006 page 350 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
0
1
1
1
1
1
1
1
1
1
1
1
1
DRAK
BUS
CPU CPU CPU DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Burst mode/single address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.18 Operation Example:
CKE = CKM, Low Level Detection, 16-Stage FIFO Used (5)
(Single Address/Burst Mode)
Rev. 5.00 Sep 11, 2006 page 351 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
B
0
1
1
0
1
0
DRAK
BUS
1
0
1
0
0
0
A
CPU
CPU
DMA
DMA
DMA
DMA
DACK
Notes: 1.
2.
3.
4.
0
CKE:CKM = 1:1
Burst mode/single address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.19 Operation Example:
CKE = CKM, Low Level Detection, 1-Stage FIFO Used (1)
(Single Address/Burst Mode/Maximum-Speed Operation)
Rev. 5.00 Sep 11, 2006 page 352 of 916
REJ09B0332-0500
CPU
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
B
0
1
1
0
1
DRAK
BUS
1
0
1
1
0
0
0
0
A
CPU
CPU
DMA
CPU
DMA
CPU
DMA
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Cycle steal mode/single address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.20 Operation Example:
CKE = CKM, Low Level Detection, 1-Stage FIFO Used (2)
(Single Address/Cycle Steal Mode)
Rev. 5.00 Sep 11, 2006 page 353 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
B
0
1
DRAK
BUS
1
0
1
1
0
0
0
0
0
0
A
CPU
CPU
DMA(R)
DMA(W)
DMA(R)
DMA(W)
DACK
Notes: 1.
2.
3.
4.
0
CKE:CKM = 1:1
Burst mode/dual address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.21 Operation Example:
CKE = CKM, Low Level Detection, 1-Stage FIFO Used (3)
(Dual Address/Burst Mode)
Rev. 5.00 Sep 11, 2006 page 354 of 916
REJ09B0332-0500
CPU
Section 9 Direct Memory Access Controller (DMAC)
CKE
DREQ
FIFO
B
0
1
1
DRAK
BUS
0
1
1
1
1
0
0
0
0
0
A
CPU
CPU
DMA(R)
DMA(W)
CPU
DMA(R)
DMA(W)
DACK
Notes: 1.
2.
3.
4.
CKE:CKM = 1:1
Cycle steal mode/dual address transfer
Low level detection using 16-stage FIFO
DRAK and DACK are active-low.
Figure 9.22 Operation Example:
CKE = CKM, Low Level Detection, 1-Stage FIFO Used (4)
(Dual Address/Cycle Steal Mode)
Clock Frequency Division Restrictions Relating to DREQ Sampling
In the SH7065, the frequency of the master clock (CKM) and the external bus clock (CKE) can be
set independently by means of settings in the frequency control register (FRQCR) in the clock
pulse generator (CPG). When the DMAC is activated by an external request, the frequency of the
master clock (CKM) must be set as equal to or higher than that of the external bus clock (CKE). If
the master clock (CKM) frequency is set to a value lower than the external bus clock (CKE)
frequency, sampling will not be performed correctly with either falling edge detection or low level
detection, and it will not be possible to stipulate the number of DMA transfers performed in
response to an external request. For details of clock frequency settings, see section 4, Clock Pulse
Generator (CPG) and Power-Down Modes.
Rev. 5.00 Sep 11, 2006 page 355 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.3.6
Parallel Operation of DMA and CPU
The SH7065 has two 32-bit internal buses, the C-bus and I-bus. DMA is never the master on the
C-bus, so the CPU can access mask ROM and on-chip flash memory from the C-bus during DMA
transfer. However, when the DMA controller is accessing X-RAM or Y-RAM, the CPU cannot
simultaneously access the same RAM.
The combinations of access spaces for which parallel DMA and CPU operation is possible are
shown in table 9.7.
9.3.7
DMA Transfer When External Bus Is Released
If the DMA transfer source and transfer destination are both on-chip memory or on-chip peripheral
modules, DMA transfer cannot be performed while the external bus is released. The combinations
of transfer source and transfer destination for which DMA transfer is possible while the external
bus is released are shpown in table 9.8.
Rev. 5.00 Sep 11, 2006 page 356 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Table 9.7
Contention between DMA and CPU
On-Chip
Memory
On-Chip
Peripheral
Module
Mode
DMA Transfer
External
On-Chip
ROM/Flash
Single
External device with DACK and
external memory
X
O
O
X
External device with DACK and
memory-mapped external device
X
O
O
X
External memory and external
memory
X
O
O
X
External memory and memorymapped external device
X
O
O
X
External memory and on-chip
memory
X
O
∆
X
External memory and on-chip
peripheral module
X
O
O
X
Memory-mapped external device
and memory-mapped external
device
X
O
O
X
Memory-mapped external device
and on-chip memory
X
O
O
X
Memory-mapped external device
and on-chip peripheral module
X
O
O
X
On-chip memory and on-chip
memory
X
O
∆
X
On-chip memory and on-chip
peripheral module
X
O
∆
X
On-chip peripheral module and onchip peripheral module
X
O
O
X
Dual
Legend:
O: Parallel DMA and CPU operation possible
X: Parallel DMA and CPU operation not possible because of bus contention
∆: On-chip memory consists of X-RAM and Y-RAM. As X-RAM and Y-RAM can be accessed
independently, parallel operation is possible when different RAM is accessed by DMA and by
the CPU.
Rev. 5.00 Sep 11, 2006 page 357 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Table 9.8
Contention between DMA and External Bus Release
Transfer Destination
External
Device with
DACK
Transfer
source
External
Memory
MemoryMapped
External
Device
On-Chip
Memory
On-Chip
Peripheral
Module
External
device with
DACK
DMA transfer
not possible
X
X
DMA transfer
not possible
DMA transfer
not possible
External
memory
X
X
X
X
X
Memorymapped
external
device
X
X
X
X
X
On-chip
memory
DMA transfer
not possible
X
X
O
O
On-chip
peripheral
module
DMA transfer
not possible
X
X
O
O
Legend:
O: DMA transfer possible while external bus is released
X: DMA transfer not possible while external bus is released
9.3.8
Chain Transfer
Use of chain transfer allows a specified block of data to be transferred consecutively without CPU
processing after the end of the current data transfer.
To perform chain transfer, it is necessary to set the registers used for chain transfer—the next
source address register (NSAR), next destination address register (NDAR), next transfer count
register (NDMATCR), and chain transfer count register (CHNCNT)—and to set the chain transfer
enable bit (CHNE) to 1 in the channel control register (CHCR). When the number of chain
transfers set in the transfer count register (DMATCR) are completed while chain transfer is
enabled, in the state following the end of transfer the set values are copied from NSAR into SAR,
from NDAR into DAR, and from NDMATCR into DMATCR, and the DMAC waits for the next
transfer request (figure 9.2). However, whether or not copying of NSAR and NDAR is necessary
can be specified by means of the next source address register enable bit (NSARE) and next
destination address register enable bit (NDARE) in CHCR. Register copying is performed the
number of times set in the chain transfer count register (CHNCNT), and chain transfer ends when
Rev. 5.00 Sep 11, 2006 page 358 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
the value in CHNCNT reaches 0. There is no auto-request chain transfer, and transfer always ends
on completion of the first transfer.
As an example of chain transfer, table 9.9 shows the settings when the data stored in external
memory addresses H'04000000 to H'04001000 is transferred in eight 512-byte transfers to the
same address space in XRAM. In this example, DMAC channel 0 is used and the transfer request
source is DREQ0 falling edge detection.
Table 9.9
Sample Chain Transfer Settings
Transfer Conditions
Register
Set Value
Transfer source: External memory
SAR0
H'04000000
Transfer destination: XRAM
DAR0
H'FFFF8000
Number of transfers: 128
DMATCR0
H'00000080
Transfer source and destination addresses: Incremented
CHCR0
H'000858F5
Transfer source address in chain transfer: Setting unnecessary
NSAR0
Setting
unnecessary
Transfer destination address in chain transfer: XRAM
NDAR0
H'FFFF8000
Number of transfers in chain transfer: 128
NDMATCR0
H'00000080
Number of chain transfers: 7
CHNCNT0
H'00000007
Channel priority order: 0 > 1 > 2 > 3
DMA0R
H'0001
Transfer request source: DREQ0 (dual address)
DREQ0 detection mode: Falling edge detection
Edge clear timing: End of transfer
Bus mode: Burst
Transfer unit: Longword
Chain transfer enabled
Transfer source address copying in chain transfer disabled
Transfer destination address copying in chain transfer enabled
Interrupt request generated at end of chain transfer
Rev. 5.00 Sep 11, 2006 page 359 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.4
Example of Use
9.4.1
Example of DMA Transfer between On-Chip SCI and External Memory
In the example considered here, on-chip serial communication interface channel 2 (SCI2) receive
data is transferred to external memory using DMAC channel 3. DMAC settings must be
completed and transfer enabled before inputting a transfer request from the serial communication
interface.
Table 9.10 shows the transfer conditions and register set values in this case.
Table 9.10 Example of Use
Transfer Conditions
Register
Set Value
Transfer source: RDR0 of on-chip SCI0
SAR3
H'FFFF0546
Transfer destination: External memory
DAR3
H'04000000
Number of transfers: 8
DMATCR3
H'00000008
Transfer source address: Fixed
CHCR3
H'13024045
DMAOR
H'0001
Transfer destination address: Incremented
Transfer request source: SCI0 (RX0)
Bus mode: Cycle steal
Transfer unit: Byte
Interrupt requested at end of transfer
Channel priority order: 0 > 1 > 2 > 3
9.5
Usage Notes
1. Only word (16-bit) access can be used on the DMA operation register (DMAOR). Word (16bit) or longword (32-bit) access can be used on all other registers.
2. When modifying bits RS0 to RS4 in CHCR0 to CHCR3, first clear the DE bit to 0 (when
modifying CHCR, clear the DE bit to 0 beforehand).
3. The NMIF bit in DMAOR is set when an NMI interrupt is input even if the DMAC is not
operating.
4. When setting standby mode, first clear the DME bit in DMAOR to 0 and wait until the DMAC
has completed processing of all accepted transfer requests.
5. Do not access the DMAC, BSC, or UBC on-chip peripheral modules.
Rev. 5.00 Sep 11, 2006 page 360 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
6. When activating the DMAC, make the CHCR setting as the final step. The DMAC may not
operate normally if any other register setting is made last.
7. After the DMATCR count reaches 0 and DMA transfer ends normally, always write 0 to
DMATCR even when executing the maximum number of transfers on the same channel. The
DMAC may not operate normally if this is not done.
8. When using the round robin method to determine the priority order, more than one channel
must be specified, and consecutive channel numbers must be specified (e.g. CH1, CH2, CH3).
Operation cannot be guaranteed if non-consecutive channel numbers are specified. To change
the specified channel, change the DMA operation register (DMAOR) setting when the channel
priority order is the initial priority order.
9. When falling edge detection is used for external requests, keep the external request pin high
when making DMAC settings.
10. When using the DMAC in single address mode, set an external address as the address. The
DMAC may not operate normally if an internal address is set.
11. On-chip ROM space cannot be accessed.
12. The same internal request cannot be set for more than one channel. If it is, the request will only
be valid for the channel with the highest default priority.
13. When a transfer request is accepted from an on-chip peripheral module, the relevant interrupt
request signal is masked and not input to the INTC. For details of the masking conditions, see
section 6, Interrupt Controller (INTC).
14. The DMAC internal registers cannot be accessed while the DMAC is operating. However, it is
possible to perform access to DMAOR and CHCRn, and change the DME bit in DMAOR and
the TE and DE bits in CHCRn to control DMAC operation. If any other bit in DMAOR or
CHCRn is changed, the change of setting may not be reflected in DMA transfer following the
change.
15. When performing chain transfer initiated by an on-chip module, the DS bit in CHCRn must be
set to 1.
16. When chain transfer is disabled by means of the CHNE bit in CHCRn, either clear CHNCNTn
to 0 or set the TES bit to 1 in CHCRn.
17. A transfer request should not be made until the DMAC register settings are completed
(figure 9.2).
Rev. 5.00 Sep 11, 2006 page 361 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
9.6
DMAC Restrictions
9.6.1
TEND Output
In on-chip DMAC channels 0 and 1 (channels 2 and 3 have no TEND pin and so are not affected),
TEND output may not be asserted at the end of DMA transfer.
If a setting is made for a channel using TEND to output TEND in dual address mode write cycles
(AM = 1 and TEND = 1), TEND is asserted normally.
9.6.2
Notes on Suspension of Transfer
The following bug occurs regarding transfer suspension in dual address mode.
1. Conditions for occurrence
(1) The last transfer before suspension when transfer is suspended by DME bit clearance in the
CHCR register or DME bit clearance in the DMAOR register of a channel set to dual
address mode before that channel completes transfer
(2) Transfer before suspension due to exception handling when an address error occurs in a
write access on a channel set to dual address mode and burst mode
(3) The last transfer before suspension due to exception handling when an NMI interrupt
occurs during transfer on a channel set to dual address mode
2. Description of bug
In a dual address mode transfer, “read --> write” should be performed, but the operation is
“repeated read --> read”.
3. Countermeasures
In the case of condition (1) above, the problem can be avoided by using the following
procedure to perform suspension.
a. Clear channel transfer requests for all channels set to dual address mode.
b. Clear the DE bit of all channels set to single address mode.
c. Perform a dummy read (in external space or on-chip peripheral space) for each channel
used.
d. Clear the DE bit or DME bit of the channel to be suspended.
(The order of (a) and (b) is immaterial.)
There is no way of avoiding this problem in the case of above conditions (2) and (3).
Rev. 5.00 Sep 11, 2006 page 362 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
4. Detection and corrective measures for transfer restart
If a channel’s settings conform to the following conditions, bug occurrence can be detected.
(1) With settings to increment/decrement the transfer destination address and
increment/decrement the transfer source address
If the DAR and DMATCR registers are read and there is a discrepancy between the amount
of decrement of DMATCR and the amount of change of DAR from the initial setting, or if
the DAR and SAR registers are read and there is a discrepancy between the amount of
change of SAR and the amount of change of DAR from the initial setting, the bug has
occurred.
Before restarting transfer, write the value of one transfer back to DMATCR and SAR.
(2) With settings to increment/decrement the transfer destination address and leave the transfer
source address unchanged
If the DAR and DMATCR registers are read and there is a discrepancy between the amount
of decrement of DMATCR and the amount of change of DAR from the initial setting, the
bug has occurred.
Before restarting transfer, write the value of one transfer back to DMATCR.
Rev. 5.00 Sep 11, 2006 page 363 of 916
REJ09B0332-0500
Section 9 Direct Memory Access Controller (DMAC)
Rev. 5.00 Sep 11, 2006 page 364 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Section 10 16-Bit Timer Pulse Unit (TPU)
10.1
Overview
The SH7065 has an on-chip 16-bit timer pulse unit (TPU) that comprises six 16-bit timer channels.
10.1.1
Features
The TPU has the following features:
• Maximum 16-pulse input/output
 A total of 16 timer general registers (TGRs) are provided (four each for channels 0 and 3,
and two each for channels 1, 2, 4, and 5), each of which can be set independently as an
output compare/input capture register
 TGRC and TGRD for channels 0 and 3 can also be used as buffer registers
• Selection of 8 counter input clocks for each channel
• The following operations can be set for each channel:
 Waveform output at compare match: Selection of 0, 1, or toggle output
 Input capture function: Selection of rising edge, falling edge, or both edge detection
 Counter clear operation: Counter clearing possible by compare match or input capture
 Synchronous operation: Multiple timer counters (TCNT) can be written to simultaneously
Simultaneous clearing by compare match and input capture possible
Register simultaneous input/output possible by counter synchronous operation
 PWM mode: Any PWM output duty can be set
 Maximum of 15-phase PWM output possible by combination with synchronous operation
• Buffer operation settable for channels 0 and 3
 Input capture register double-buffering possible
 Automatic rewriting of output compare register possible
• Phase counting mode settable independently for each of channels 1, 2, 4, and 5
 Two-phase encoder pulse up/down-count possible
• Cascaded operation
 Channel 1 (channel 4) input clock operates as 32-bit counter by setting channel 2 (channel
5) overflow/underflow
• Fast access via internal 16-bit bus
 Fast access is possible via a 16-bit bus interface
Rev. 5.00 Sep 11, 2006 page 365 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
• 26 interrupt sources
 For channels 0 and 3, four compare match/input capture dual-function interrupts and one
overflow interrupt can be requested independently
 For channels 1, 2, 4, and 5, two compare match/input capture dual-function interrupts, one
overflow interrupt, and one underflow interrupt can be requested independently
• Automatic transfer of register data
 Block transfer, 1-word transfer, and 1-byte transfer possible by DMA controller (DMAC)
activation
• A/D converter conversion start trigger can be generated
 Channel 0 to 5 compare match A/input capture A signal can be used as A/D converter
conversion start trigger
Rev. 5.00 Sep 11, 2006 page 366 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Table 10.1 lists the functions of the TPU.
Table 10.1 TPU Functions
Item
Channel 0 Channel 1 Channel 2 Channel 3 Channel 4 Channel 5
Count clock
Pφ/1
Pφ/1
Pφ/1
Pφ/1
Pφ/1
Pφ/1
Pφ/4
Pφ/4
Pφ/4
Pφ/4
Pφ/4
Pφ/4
Pφ/16
Pφ/16
Pφ/16
Pφ/16
Pφ/16
Pφ/16
Pφ/64
Pφ/64
Pφ/64
Pφ/64
Pφ/64
Pφ/64
TCLKA
Pφ/256
Pφ/1024
Pφ/256
Pφ/1024
Pφ/256
TCLKB
TCLKA
TCLKA
Pφ/1024
TCLKA
TCLKA
TCLKC
TCLKB
TCLKB
Pφ/4096
TCLKC
TCLKC
TCLKC
TCLKA
TCLKD
General registers
TCLKD
TGR0A
TGR1A
TGR2A
TGR3A
TGR4A
TGR5A
TGR0B
TGR1B
TGR2B
TGR3B
TGR4B
TGR5B
General registers/
buffer registers
TGR0C
—
—
TGR3C
—
—
I/O pins
TIOC0A
TIOC1A
TIOC2A
TIOC3A
TIOC4A
TIOC5A
TIOC0B
TIOC1B
TIOC2B
TIOC3B
TIOC4B
TIOC5B
TGR0D
TGR3D
TIOC0C
TIOC3C
TIOC0D
TIOC3D
Counter clear function TGR
compare
match or
input
capture
TGR
compare
match or
input
capture
TGR
compare
match or
input
capture
TGR
compare
match or
input
capture
TGR
compare
match or
input
capture
TGR
compare
match or
input
capture
Compare
match
output
0 output
O
O
O
O
O
O
1 output
O
O
O
O
O
O
Toggle
output
O
O
O
O
O
O
Input capture function O
O
O
O
O
O
Synchronous
operation
O
O
O
O
O
O
PWM mode
O
O
O
O
O
O
Phase counting mode —
O
O
—
O
O
Buffer operation
—
—
O
—
—
O
Rev. 5.00 Sep 11, 2006 page 367 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Item
Channel 0 Channel 1 Channel 2 Channel 3 Channel 4 Channel 5
DMAC activation
TGR0A
compare
match or
input
capture
TGR1A
compare
match or
input
capture
TGR2A
compare
match or
input
capture
TGR3A
compare
match or
input
capture
TGR4A
compare
match or
input
capture
TGR5A
compare
match or
input
capture
A/D conversion start
trigger
TGR0A
compare
match or
input
capture
TGR1A
compare
match or
input
capture
TGR2A
compare
match or
input
capture
TGR3A
compare
match or
input
capture
TGR4A
compare
match or
input
capture
TGR5A
compare
match or
input
capture
5 sources
4 sources
4 sources
5 sources
4 sources
4 sources
Interrupt sources
• Compare • Compare • Compare • Compare • Compare • Compare
match/
match/
match/
match/
match/
match/
input
input
input
input
input
input
capture
capture
capture
capture
capture
capture
5A
4A
3A
2A
1A
0A
• Compare • Compare • Compare • Compare • Compare • Compare
match/
match/
match/
match/
match/
match/
input
input
input
input
input
input
capture
capture
capture
capture
capture
capture
5B
4B
3B
2B
1B
0B
• Compare • Overflow • Overflow • Compare • Overflow • Overflow
match/
• Underflow • Underflow
• Underflow • Underflow match/
input
input
capture
capture
3C
0C
• Compare
match/
input
capture
0D
• Compare
match/
input
capture
3D
• Overflow
• Overflow
Legend:
O: Possible
—: Not possible
Rev. 5.00 Sep 11, 2006 page 368 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.1.2
Block Diagram
TGRD
TGRC
TGRB
TGRB
TGRB
TCNT
TGRA
TCNT
TGRA
TCNT
TGRA
Module data bus
Bus
interface
TGRB
TGRD
TGRB
TGRB
TCNT
TCNT
TGRA
TCNT
TGRA
A/D conversion start
request signal
TGRC
TSR
TSYR
TSTR
TSR
TSR
TIER
TIER
TSR
TIOR
[Interrupt request signals]
Channel 3: TGI3A
TGI3B
TGI3C
TGI3D
TCI3V
Channel 4: TGI4A
TGI4B
TCI4V
TCI4U
Channel 5: TGI5A
TGI5B
TCI5V
TCI5U
Internal data bus
TGRA
TSR
TIER
TIER
TIER
TSR
TIOR
TIOR
Control logic
TIOR
TIER
TMDR
TIORH TIORL
TCR
TMDR
Channel 4
TCR
TMDR
Channel 5
Common
TCR
TMDR
Channel 2
TCR
TMDR
Channel 1
TIORH TIORL
Channel 2:
TCR
Channel 1:
[I/O pins]
TIOC0A
TIOC0B
TIOC0C
TIOC0D
TIOC1A
TIOC1B
TIOC2A
TIOC2B
TMDR
Channel 0:
Channel 0
[Clock input]
Internal clock: Pφ/1
Pφ/4
Pφ/16
Pφ/64
Pφ/256
Pφ/1024
Pφ/4096
External clock: TCLKA
TCLKB
TCLKC
TCLKD
TCR
Channel 5:
Control logic for channels
3 to 5
Channel 4:
[I/O pins]
TIOC3A
TIOC3B
TIOC3C
TIOC3D
TIOC4A
TIOC4B
TIOC5A
TIOC5B
Control logic for channels
0 to 2
Channel 3:
Channel 3
Figure 10.1 shows a block diagram of the TPU.
[Interrupt request signals]
Channel 0: TGI0A
TGI0B
TGI0C
TGI0D
TCI0V
Channel 1: TGI1A
TGI1B
TCI1V
TCI1U
Channel 2: TGI2A
TGI2B
TCI2V
TCI2U
Figure 10.1 Block Diagram of TPU
Rev. 5.00 Sep 11, 2006 page 369 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.1.3
Pin Configuration
Table 10.2 shows the pin configuration of the TPU.
Table 10.2 TPU Pins
Channel
Name
Abbreviation
I/O
Function
All
Clock input A
TCLKA
Input
External clock A input pin (Channel 1 and 5
phase counting mode A phase input)
Clock input B
TCLKB
Input
External clock B input pin (Channel 1 and 5
phase counting mode B phase input)
Clock input C
TCLKC
Input
External clock C input pin (Channel 2 and 4
phase counting mode A phase input)
Clock input D
TCLKD
Input
External clock D input pin (Channel 2 and 4
phase counting mode B phase input)
Input capture/out
compare match 0A
TIOC0A
I/O
TGR0A input capture input/output compare
output/PWM output pin
Input capture/out
compare match 0B
TIOC0B
I/O
TGR0B input capture input/output compare
output/PWM output pin
Input capture/out
compare match 0C
TIOC0C
I/O
TGR0C input capture input/output compare
output/PWM output pin
Input capture/out
compare match 0D
TIOC0D
I/O
TGR0D input capture input/output compare
output/PWM output pin
Input capture/out
compare match 1A
TIOC1A
I/O
TGR1A input capture input/output compare
output/PWM output pin
Input capture/out
compare match 1B
TIOC1B
I/O
TGR1B input capture input/output compare
output/PWM output pin
Input capture/out
compare match 2A
TIOC2A
I/O
TGR2A input capture input/output compare
output/PWM output pin
Input capture/out
compare match 2B
TIOC2B
I/O
TGR2B input capture input/output compare
output/PWM output pin
Input capture/out
compare match 3A
TIOCA3
I/O
TGR3A input capture input/output compare
output/PWM output pin
Input capture/out
compare match 3B
TIOC3B
I/O
TGR3B input capture input/output compare
output/PWM output pin
Input capture/out
compare match 3C
TIOC3C
I/O
TGR3C input capture input/output compare
output/PWM output pin
Input capture/out
compare match 3D
TIOC3D
I/O
TGR3D input capture input/output compare
output/PWM output pin
0
1
2
3
Rev. 5.00 Sep 11, 2006 page 370 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Abbreviation
I/O
Function
Input capture/out
compare match 4A
TIOC4A
I/O
TGR4A input capture input/output compare
output/PWM output pin
Input capture/out
compare match 4B
TIOC4B
I/O
TGR4B input capture input/output compare
output/PWM output pin
Input capture/out
compare match 5A
TIOC5A
I/O
TGR5A input capture input/output compare
output/PWM output pin
Input capture/out
compare match 5B
TIOC5B
I/O
TGR5B input capture input/output compare
output/PWM output pin
Channel
Name
4
5
Rev. 5.00 Sep 11, 2006 page 371 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.1.4
Register Configuration
Table 10.3 summarizes the TPU registers.
Table 10.3 TPU Registers
Channel
Name
Abbreviation
R/W
Initial
Value
Address
Access
Size
0
Timer control register 0
TCR0
R/W
H'00
H'FFFF0410
8, 16, 32
Timer mode register 0
TMDR0
R/W
H'C0
H'FFFF0411
8, 16, 32
1
2
Timer I/O control register 0H
TIOR0H
R/W
H'00
H'FFFF0412
8, 16, 32
Timer I/O control register 0L
TIOR0L
R/W
H'00
H'FFFF0413
8, 16, 32
Timer interrupt enable register 0
TIER0
R/W
H'40
H'FFFF0414
8, 16, 32
Timer status register 0
TSR0
R/(W)* H'C0
H'FFFF0415
8, 16, 32
Timer counter 0
TCNT0
R/W
H'FFFF0416
16, 32
16, 32
H'0000
Timer general register 0A
TGR0A
R/W
H'FFFF
H'FFFF0418
Timer general register 0B
TGR0B
R/W
H'FFFF
H'FFFF041A 16, 32
Timer general register 0C
TGR0C
R/W
H'FFFF
H'FFFF041C 16, 32
Timer general register 0D
TGR0D
R/W
H'FFFF
H'FFFF041E 16, 32
Timer control register 1
TCR1
R/W
H'00
H'FFFF0420
8, 16, 32
Timer mode register 1
TMDR1
R/W
H'C0
H'FFFF0421
8, 16, 32
Timer I/O control register 1
TIOR1
R/W
H'00
H'FFFF0422
8, 16, 32
Timer interrupt enable register 1
TIER1
R/W
H'40
H'FFFF0424
8, 16, 32
Timer status register 1
TSR1
R/(W)* H'C0
H'FFFF0425
8, 16, 32
Timer counter 1
TCNT1
R/W
H'0000
H'FFFF0426
16, 32
Timer general register 1A
TGR1A
R/W
H'FFFF
H'FFFF0428
16, 32
Timer general register 1B
TGR1B
R/W
H'FFFF
H'FFFF042A 16, 32
Timer control register 2
TCR2
R/W
H'00
H'FFFF0430
8, 16, 32
Timer mode register 2
TMDR2
R/W
H'C0
H'FFFF0431
8, 16, 32
Timer I/O control register 2
TIOR2
R/W
H'00
H'FFFF0432
8, 16, 32
Timer interrupt enable register 2
TIER2
R/W
H'FFFF0434
8, 16, 32
Timer status register 2
TSR2
H'40
*
R/(W) H'C0
H'FFFF0435
8, 16, 32
Timer counter 2
TCNT2
R/W
H'0000
H'FFFF0436
16, 32
Timer general register 2A
TGR2A
R/W
H'FFFF
H'FFFF0438
16, 32
Timer general register 2B
TGR2B
R/W
H'FFFF
H'FFFF043A 16, 32
Rev. 5.00 Sep 11, 2006 page 372 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Name
Abbreviation
R/W
Initial
Value
Address
Access
Size
3
Timer control register 3
TCR3
R/W
H'00
H'FFFF0440
8, 16, 32
4
5
All
Note:
*
Timer mode register 3
TMDR3
R/W
H'C0
H'FFFF0441
8, 16, 32
Timer I/O control register 3H
TIOR3H
R/W
H'00
H'FFFF0442
8, 16, 32
Timer I/O control register 3L
TIOR3L
R/W
H'00
H'FFFF0443
8, 16, 32
Timer interrupt enable register 3
TIER3
R/W
H'FFFF0444
8, 16, 32
Timer status register 3
TSR3
H'40
*
R/(W) H'C0
H'FFFF0445
8, 16, 32
Timer counter 3
TCNT3
R/W
H'0000
H'FFFF0446
16, 32
Timer general register 3A
TGR3A
R/W
H'FFFF
H'FFFF0448
16, 32
Timer general register 3B
TGR3B
R/W
H'FFFF
H'FFFF044A 16, 32
Timer general register 3C
TGR3C
R/W
H'FFFF
H'FFFF044C 16, 32
Timer general register 3D
TGR3D
R/W
H'FFFF
H'FFFF044E 16, 32
Timer control register 4
TCR4
R/W
H'00
H'FFFF0450
8, 16, 32
Timer mode register 4
TMDR4
R/W
H'C0
H'FFFF0451
8, 16, 32
Timer I/O control register 4
TIOR4
R/W
H'00
H'FFFF0452
8, 16, 32
Timer interrupt enable register 4
TIER4
R/W
H'FFFF0454
8, 16, 32
Timer status register 4
TSR4
H'40
*
R/(W) H'C0
H'FFFF0455
8, 16, 32
Timer counter 4
TCNT4
R/W
H'FFFF0456
16, 32
16, 32
H'0000
Timer general register 4A
TGR4A
R/W
H'FFFF
H'FFFF0458
Timer general register 4B
TGR4B
R/W
H'FFFF
H'FFFF045A 16, 32
Timer control register 5
TCR5
R/W
H'00
H'FFFF0460
8, 16, 32
Timer mode register 5
TMDR5
R/W
H'C0
H'FFFF0461
8, 16, 32
Timer I/O control register 5
TIOR5
R/W
H'00
H'FFFF0462
8, 16, 32
Timer interrupt enable register 5
TIER5
R/W
H'40
H'FFFF0464
8, 16, 32
Timer status register 5
TSR5
R/(W)* H'C0
H'FFFF0465
8, 16, 32
Timer counter 5
TCNT5
R/W
H'0000
H'FFFF0466
16, 32
Timer general register 5A
TGR5A
R/W
H'FFFF
H'FFFF0468
16, 32
Timer general register 5B
TGR5B
R/W
H'FFFF
H'FFFF046A 16, 32
Timer start register
TSTR
R/W
H'00
H'FFFF0400
8, 16, 32
Timer sync register
TSYR
R/W
H'00
H'FFFF0401
8, 16, 32
Can only be written with 0 for flag clearing.
Rev. 5.00 Sep 11, 2006 page 373 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.2
Register Descriptions
10.2.1
Timer Control Registers (TCR)
Channel 0: TCR0
Channel 3: TCR3
Bit:
Initial value:
7
6
5
4
3
2
1
0
CCLR2
CCLR1
CCLR0
CKEG1
CKEG0
TPSC2
TPSC1
TPSC0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
—
CCLR1
CCLR0
CKEG1
CKEG0
TPSC2
TPSC1
TPSC0
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W:
Channel 1: TCR1
Channel 2: TCR2
Channel 4: TCR4
Channel 5: TCR5
Bit:
The TCR registers are 8-bit registers that control the TCNT channels. The TPU has six TCR
registers, one for each of channels 0 to 5. The TCR registers are initialized to H'00 by a reset, and
in hardware standby mode and software standby mode. They are not initialized by the module
standby function.
TCR settings should only be made when TCNT operation is halted.
Rev. 5.00 Sep 11, 2006 page 374 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bits 7, 6, and 5—Counter Clear 2 to 0 (CCLR2 to CCLR0): These bits select the TCNT
counter clearing source.
Channel
Bit 7:
CCLR2
Bit 6:
CCLR1
Bit 5:
CCLR0
Description
0, 3
0
0
0
TCNT clearing disabled
1
TCNT cleared by TGRA compare
match/input capture
0
TCNT cleared by TGRB compare
match/input capture
1
TCNT cleared by counter clearing for
another channel performing synchronous
1
clearing/synchronous operation*
0
TCNT clearing disabled
1
TCNT cleared by TGRC compare
2
match/input capture*
0
TCNT cleared by TGRD compare
2
match/input capture*
1
TCNT cleared by counter clearing for
another channel performing synchronous
1
clearing/synchronous operation*
1
1
0
1
(Initial value)
Channel
Bit 7:
Bit 6:
3
Reserved* CCLR1
Bit 5:
CCLR0
Description
1, 2, 4, 5
0
0
TCNT clearing disabled
1
TCNT cleared by TGRA compare match/
input capture
0
TCNT cleared by TGRB compare match/
input capture
1
TCNT cleared by counter clearing for
another channel performing synchronous
1
clearing/synchronous operation*
0
1
(Initial value)
Notes: 1. Synchronous operation setting is performed by setting the SYNC bit in TSYR to 1.
2. When TGRC or TGRD is used as a buffer register, TCNT is not cleared because the
buffer register setting has priority, and compare match/input capture does not occur.
3. Bit 7 is reserved in channels 1, 2, 4, and 5. It is always read as 0 and cannot be
modified.
Rev. 5.00 Sep 11, 2006 page 375 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bits 4 and 3—Clock Edge 1 and 0 (CKEG1, CKEG0): These bits select the input clock edge.
When the internal clock is counted using both edges, the input clock period is halved (e.g. Pφ/4
both edges = Pφ/2 rising edge). If phase counting mode is used on channels 1, 2, 4, and 5, this
setting is ignored and the phase counting mode setting has priority.
Bit 4: CKEG1
Bit 3: CKEG0
Description
0
0
Count at rising edge
1
Count at falling edge
—
Count at both edges
1
(Initial value)
Note: Internal clock edge selection is valid when the input clock is Pφ/4 or slower. This setting is
ignored if the input clock is Pφ/1, or when overflow/underflow of another channel is selected.
Bits 2, 1, and 0—Time Prescaler 2 to 0 (TPSC2 to TPSC0): These bits select the TCNT counter
clock. The clock source can be selected independently for each channel. Table 10.4 shows the
clock sources that can be set for each channel.
Table 10.4 TPU Clock Sources
Internal Clock
Channel
Pφ
φ/1
Pφ
φ/4
Pφ
φ/
16
Pφ
φ/
64
0
O
O
O
O
1
O
O
O
O
2
O
O
O
O
3
O
O
O
O
4
O
O
O
O
5
O
O
O
O
Pφ
φ/
256
External Clock
Pφ
φ/
1024
O
O
O
O
O
O
Legend:
O:
Pφ
φ/
4096
Setting available
Blank: No setting
Rev. 5.00 Sep 11, 2006 page 376 of 916
REJ09B0332-0500
O
Overflow/
Underflow
TCLKA TCLKB TCLKC TCLKD on Another
Channel
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 2:
TPSC2
Bit 1:
TPSC1
Bit 0:
TPSC0
Description
0
0
0
0
Internal clock: Counts on Pφ/1
1
Internal clock: Counts on Pφ/4
1
0
Internal clock: Counts on Pφ/16
1
Internal clock: Counts on Pφ/64
0
External clock: Counts on TCLKA pin input
1
External clock: Counts on TCLKB pin input
0
External clock: Counts on TCLKC pin input
1
External clock: Counts on TCLKD pin input
1
0
1
(Initial value)
Channel
Bit 2:
TPSC2
Bit 1:
TPSC1
Bit 0:
TPSC0
Description
1
0
0
0
Internal clock: Counts on Pφ/1
1
Internal clock: Counts on Pφ/4
1
0
Internal clock: Counts on Pφ/16
1
Internal clock: Counts on Pφ/64
0
External clock: Counts on TCLKA pin input
1
External clock: Counts on TCLKB pin input
1
0
1
(Initial value)
0
Internal clock: Counts on Pφ/256
1
Counts on TCNT2 overflow/underflow
Note: This setting is invalid when channel 1 is in phase counting mode.
Channel
Bit 2:
TPSC2
Bit 1:
TPSC1
Bit 0:
TPSC0
Description
2
0
0
0
Internal clock: Counts on Pφ/1
1
Internal clock: Counts on Pφ/4
1
0
Internal clock: Counts on Pφ/16
1
Internal clock: Counts on Pφ/64
0
0
External clock: Counts on TCLKA pin input
1
External clock: Counts on TCLKB pin input
0
External clock: Counts on TCLKC pin input
1
Internal clock: Counts on Pφ/1024
1
1
(Initial value)
Note: This setting is invalid when channel 2 is in phase counting mode.
Rev. 5.00 Sep 11, 2006 page 377 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 2:
TPSC2
Bit 1:
TPSC1
Bit 0:
TPSC0
Description
3
0
0
0
Internal clock: Counts on Pφ/1
1
Internal clock: Counts on Pφ/4
1
0
Internal clock: Counts on Pφ/16
1
Internal clock: Counts on Pφ/64
0
External clock: Counts on TCLKA pin input
1
Internal clock: Counts on Pφ/1024
0
Internal clock: Counts on Pφ/256
1
Internal clock: Counts on Pφ/4096
1
0
1
(Initial value)
Channel
Bit 2:
TPSC2
Bit 1:
TPSC1
Bit 0:
TPSC0
Description
4
0
0
0
Internal clock: Counts on Pφ/1
1
Internal clock: Counts on Pφ/4
1
0
Internal clock: Counts on Pφ/16
1
Internal clock: Counts on Pφ/64
0
External clock: Counts on TCLKA pin input
1
External clock: Counts on TCLKC pin input
1
0
1
(Initial value)
0
Internal clock: Counts on Pφ/1024
1
Counts on TCNT5 overflow/underflow
Note: This setting is invalid when channel 4 is in phase counting mode.
Channel
Bit 2:
TPSC2
Bit 1:
TPSC1
Bit 0:
TPSC0
Description
5
0
0
0
Internal clock: Counts on Pφ/1
1
Internal clock: Counts on Pφ/4
1
0
Internal clock: Counts on Pφ/16
1
Internal clock: Counts on Pφ/64
0
0
External clock: Counts on TCLKA pin input
1
External clock: Counts on TCLKC pin input
0
Internal clock: Counts on Pφ/256
1
External clock: Counts on TCLKD pin input
1
1
Note: This setting is invalid when channel 5 is in phase counting mode.
Rev. 5.00 Sep 11, 2006 page 378 of 916
REJ09B0332-0500
(Initial value)
Section 10 16-Bit Timer Pulse Unit (TPU)
10.2.2
Timer Mode Registers (TMDR)
Channel 0: TMDR0
Channel 3: TMDR3
Bit:
7
6
5
4
3
2
1
0
—
—
BFB
BFA
MD3
MD2
MD1
MD0
Initial value:
1
1
0
0
0
0
0
0
R/W:
—
—
R/W
R/W
R/W
R/W
R/W
R/W
Channel 1: TMDR1
Channel 2: TMDR2
Channel 4: TMDR4
Channel 5: TMDR5
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
MD3
MD2
MD1
MD0
Initial value:
1
1
0
0
0
0
0
0
R/W:
—
—
—
—
R/W
R/W
R/W
R/W
The TMDR registers are 8-bit readable/writable registers that are used to set the operating mode
for each channel. The TPU has six TMDR registers, one for each channel. The TMDR registers
are initialized to H'C0 by a reset, and in hardware standby mode and software standby mode. They
are not initialized by the module standby function.
TMDR settings should only be made when TCNT operation is halted.
Bits 7 and 6—Reserved: These bits are always read as 1 and cannot be modified.
Bit 5—Buffer Operation B (BFB): Specifies whether TGRB is to operate in the normal way, or
TGRB and TGRD are to be used together for buffer operation. When TGRD is used as a buffer
register, TGRD input capture/output compare is not generated.
In channels 1, 2, 4, and 5, which have no TGRD, bit 5 is reserved. It is always read as 0 and
cannot be modified.
Bit 5: BFB
Description
0
TGRB operates normally
1
TGRB and TGRD are used together for buffer operation
(Initial value)
Rev. 5.00 Sep 11, 2006 page 379 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bit 4—Buffer Operation A (BFA): Specifies whether TGRA is to operate in the normal way, or
TGRA and TGRC are to be used together for buffer operation. When TGRC is used as a buffer
register, TGRC input capture/output compare is not generated.
In channels 1, 2, 4, and 5, which have no TGRC, bit 4 is reserved. It is always read as 0 and cannot
be modified.
Bit 4: BFA
Description
0
TGRA operates normally
1
TGRA and TGRC are used together for buffer operation
(Initial value)
Bit 3 to 0—Mode 3 to 0 (MD3 to MD0): These bits are used to set the timer operating mode.
Bit 3: MD3*
Bit 2: MD2*
Bit 1: MD1
Bit 0: MD0
Description
0
0
0
0
Normal operation
1
Reserved
0
PWM mode 1
1
PWM mode 2
0
Phase counting mode 1
1
Phase counting mode 2
0
Phase counting mode 3
1
Phase counting mode 4
*
—
1
2
1
1
0
1
1
*
*
(Initial value)
Legend:
*: Don’t care
Notes: 1. MD3 is a reserved bit. In a write, it should always be written with 0.
2. Phase counting mode cannot be set for channels 0 and 3. In these channels, 0 should
always be written to MD2.
Rev. 5.00 Sep 11, 2006 page 380 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.2.3
Timer I/O Control Registers (TIOR)
Channel 0: TIOR0H
Channel 1: TIOR1
Channel 2: TIOR2
Channel 3: TIOR3H
Channel 4: TIOR4
Channel 5: TIOR5
Bit:
7
6
5
4
3
2
1
0
IOB3
IOB2
IOB1
IOB0
IOA3
IOA2
IOA1
IOA0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
IOD3
IOD2
IOD1
IOD0
IOC3
IOC2
IOC1
IOC0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value:
R/W:
Channel 0: TIOR0L
Channel 3: TIOR3L
Bit:
Initial value:
R/W:
Note: When TGRC or TGRD is designated for buffer operation, this setting is invalid and the
register operates as a buffer register.
The TIOR registers are 8-bit registers that control the TGR registers. The TPU has eight TIOR
registers, two each for channels 0 and 3, and one each for channels 1, 2, 4, and 5. The TIOR
registers are initialized to H'00 by a reset, and in hardware standby mode and software standby
mode. They are not initialized by the module standby function.
Note that the TIOR registers are affected by the TMDR settings.
The initial output specified by TIOR becomes valid when the counter is halted (the CST bit is
cleared to 0 in TSTR). In PWM mode 2, the output at the point at which the counter is cleared to 0
is specified.
Rev. 5.00 Sep 11, 2006 page 381 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bits 7 to 4— I/O Control B3 to B0 (IOB3 to IOB0)
I/O Control D3 to D0 (IOD3 to IOD0):
IOB3 to IOB0 specify the function of TGRB.
IOD3 to IOD0 specify the function of TGRD.
Channel
Bit 7:
IOB3
Bit 6:
IOB2
Bit 5:
IOB1
Bit 4:
IOB0
0
0
0
0
0
1
1
0
Description
TGR0B is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 382 of 916
REJ09B0332-0500
TGR0B is
Capture input
input capture source is
register
TIOC0B pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
channel
1/count clock
Input capture at
TCNT1 countup/count-down
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 7:
IOD3
Bit 6:
IOD2
Bit 5:
IOD1
Bit 4:
IOD0
0
0
0
0
0
1
1
0
Description
TGR0D is
output
compare
2
register*
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
TGR0D is
Capture input
input capture source is
2
register*
TIOC0D pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
channel
1/count clock
Input capture at
TCNT1 count1
up/count-down*
Legend:
*: Don’t care
Notes: 1. When bits TPSC2 to TPSC0 in TCR1 are set to B'000 and Pφ/1 is used as the TCNT1
count clock, this setting is invalid and input capture is not generated.
2. When the BFB bit in TMDR0 is set to 1 and TGR0D is used as a buffer register, this
setting is invalid and input capture/output compare is not generated.
Rev. 5.00 Sep 11, 2006 page 383 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 7:
IOB3
Bit 6:
IOB2
Bit 5:
IOB1
Bit 4:
IOB0
1
0
0
0
0
1
1
0
Description
TGR1B is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output is 0 output at
compare match
1 output
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 384 of 916
REJ09B0332-0500
TGR1B is
Capture input
input capture source is
register
TIOC1B pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
TGR0C
compare
match/input
capture
Input capture at
TGR0C compare
match/input
capture
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 7:
IOB3
Bit 6:
IOB2
Bit 5:
IOB1
Bit 4:
IOB0
2
0
0
0
0
1
1
0
Description
TGR2B is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
*
0
Toggle output at
compare match
0
Output disabled
1
Initial output is 0 output at
compare match
1 output
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
*
TGR2B is
Capture input
input capture source is
register
TIOC2B pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 385 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 7:
IOB3
Bit 6:
IOB2
Bit 5:
IOB1
Bit 4:
IOB0
3
0
0
0
0
1
1
0
Description
TGR3B is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 386 of 916
REJ09B0332-0500
TGR3B is
Capture input
input capture source is
register
TIOC3B pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
channel
4/count clock
Input capture at
TCNT4 countup/count-down
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 7:
IOD3
Bit 6:
IOD2
Bit 5:
IOD1
Bit 4:
IOD0
3
0
0
0
0
1
1
0
Description
TGR3D is
output
compare
2
register*
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
TGR3D is
Capture input
input capture source is
2
register*
TIOC3D pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
channel
4/count clock
Input capture at
TCNT4 count1
up/count-down*
Legend:
*: Don’t care
Notes: 1. When bits TPSC2 to TPSC0 in TCR4 are set to B'000 and Pφ/1 is used as the TCNT4
count clock, this setting is invalid and input capture is not generated.
2. When the BFB bit in TMDR3 is set to 1 and TGR3D is used as a buffer register, this
setting is invalid and input capture/output compare is not generated.
Rev. 5.00 Sep 11, 2006 page 387 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 7:
IOB3
Bit 6:
IOB2
Bit 5:
IOB1
Bit 4:
IOB0
4
0
0
0
0
1
1
0
Description
TGR4B is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 388 of 916
REJ09B0332-0500
TGR4B is
Capture input
input capture source is
register
TIOC4B pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
TGR3C
compare
match/input
capture
Input capture at
generation of
TGR3C compare
match/input
capture
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 7:
IOB3
Bit 6:
IOB2
Bit 5:
IOB1
Bit 4:
IOB0
5
0
0
0
0
1
1
0
Description
TGR5B is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
*
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
*
TGR5B is
Capture input
input capture source is
register
TIOC5B pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 389 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bits 3 to 0— I/O Control A3 to A0 (IOA3 to IOA0)
I/O Control C3 to C0 (IOC3 to IOC0):
IOA3 to IOA0 specify the function of TGRA.
IOC3 to IOC0 specify the function of TGRC.
Channel
Bit 3:
IOA3
Bit 2:
IOA2
Bit 1:
IOA1
Bit 0:
IOA0
0
0
0
0
0
1
1
0
Description
TGR0A is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output is 0 output at
1 output
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 390 of 916
REJ09B0332-0500
TGR0A is
Capture input
input capture source is
register
TIOC0A pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
channel
1/count clock
Input capture at
TCNT1 countup/count-down
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 3:
IOC3
Bit 2:
IOC2
Bit 1:
IOC1
Bit 0:
IOC0
0
0
0
0
0
1
1
0
Description
TGR0C is
output
compare
1
register*
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
TGR0C is
Capture input
input capture source is
1
register*
TIOC0C pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
channel
1/count clock
Input capture at
TCNT1 countup/count-down
Legend:
*: Don’t care
Note:
1. When the BFA bit in TMDR0 is set to 1 and TGR0C is used as a buffer register, this
setting is invalid and input capture/output compare is not generated.
Rev. 5.00 Sep 11, 2006 page 391 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 3:
IOA3
Bit 2:
IOA2
Bit 1:
IOA1
Bit 0:
IOA0
1
0
0
0
0
1
1
0
Description
TGR1A is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 392 of 916
REJ09B0332-0500
TGR1A is
Capture input
input capture source is
register
TIOC1A pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
TGR0A
compare
match/input
capture
Input capture at
generation of
channel 0/TGR0A
compare
match/input
capture
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 3:
IOA3
Bit 2:
IOA2
Bit 1:
IOA1
Bit 0:
IOA0
2
0
0
0
0
1
1
0
Description
TGR2A is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
*
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
*
TGR2A is
Capture input
input capture source is
register
TIOC2A pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 393 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 3:
IOA3
Bit 2:
IOA2
Bit 1:
IOA1
Bit 0:
IOA0
3
0
0
0
0
1
1
0
Description
TGR3A is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 394 of 916
REJ09B0332-0500
TGR3A is
Capture input
input capture source is
register
TIOC3A pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
channel
4/count clock
Input capture at
TCNT4 countup/count-down
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 3:
IOC3
Bit 2:
IOC2
Bit 1:
IOC1
Bit 0:
IOC0
3
0
0
0
0
1
1
0
Description
TGR3C is
output
compare
1
register*
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
TGR3C is
Capture input
input capture source is
1
register*
TIOC3C pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Capture input
source is
channel
4/count clock
Input capture at
TCNT4 countup/count-down
Legend:
*: Don’t care
Note:
1. When the BFA bit in TMDR3 is set to 1 and TGR3C is used as a buffer register, this
setting is invalid and input capture/output compare is not generated.
Rev. 5.00 Sep 11, 2006 page 395 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 3:
IOA3
Bit 2:
IOA2
Bit 1:
IOA1
Bit 0:
IOA0
4
0
0
0
0
1
1
0
Description
TGR4A is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
0
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
1
*
*
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 396 of 916
REJ09B0332-0500
TGR4A is
Capture input
input capture source is
register
TIOC4A pin
Input capture at
rising edge
Input capture at
rising edge
Input capture at
both edges
Capture input
source is
TGR3A
compare
match/input
capture
Input capture at
generation of
TGR3A compare
match/input
capture
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel
Bit 3:
IOA3
Bit 2:
IOA2
Bit 1:
IOA1
Bit 0:
IOA0
5
0
0
0
0
1
1
0
Description
TGR5A is
output
compare
register
Output disabled
Initial output
is 0 output
0
1
1
*
0
Toggle output at
compare match
0
Output disabled
1
Initial output
is 1 output
0 output at
compare match
0
1 output at
compare match
1
Toggle output at
compare match
0
1
1
0 output at
compare match
1 output at
compare match
1
1
(Initial value)
*
TGR5A is
Capture input
input capture source is
register
TIOC5A pin
Input capture at
rising edge
Input capture at
falling edge
Input capture at
both edges
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 397 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.2.4
Timer Interrupt Enable Registers (TIER)
Channel 0: TIER0
Channel 3: TIER3
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
TTGE
—
—
TCIEV
TGIED
TGIEC
TGIEB
TGIEA
0
1
0
0
0
0
0
0
R/W
—
—
R/W
R/W
R/W
R/W
R/W
Channel 1: TIER1
Channel 2: TIER2
Channel 4: TIER4
Channel 5: TIER5
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
TTGE
—
TCIEU
TCIEV
—
—
TGIEB
TGIEA
0
1
0
0
0
0
0
0
R/W
—
R/W
R/W
—
—
R/W
R/W
The TIER registers are 8-bit registers that control enabling or disabling of interrupt requests for
each channel. The TPU has six TIER registers, one for each channel. The TIER registers are
initialized to H'40 by a reset, and in hardware standby mode and software standby mode. They are
not initialized by the module standby function.
Bit 7—A/D Conversion Start Request Enable (TTGE): Enables or disables generation of A/D
conversion start requests by TGRA input capture/compare match.
Bit 7: TTGE
Description
0
A/D conversion start request generation disabled
1
A/D conversion start request generation enabled
(Initial value)
Bit 6—Reserved: This bit is always read as 1 and cannot be modified.
Bit 5—Underflow Interrupt Enable (TCIEU): Enables or disables interrupt requests (TCIU) by
the TCFU flag in TSR when TCFU is set to 1 in channels 1, 2, 4, and 5.
In channels 0 and 3, bit 5 is reserved. It is always read as 0 and cannot be modified.
Rev. 5.00 Sep 11, 2006 page 398 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bit 5: TCIEU
Description
0
Interrupt requests (TCIU) by TCFU disabled
1
Interrupt requests (TCIU) by TCFU enabled
(Initial value)
Bit 4—Overflow Interrupt Enable (TCIEV): Enables or disables interrupt requests (TCIV) by
the TCFV flag in TSR when TCFV is set to 1.
Bit 4: TCIEV
Description
0
Interrupt requests (TCIV) by TCFV disabled
1
Interrupt requests (TCIV) by TCFV enabled
(Initial value)
Bit 3—TGR Interrupt Enable D (TGIED): Enables or disables interrupt requests (TGID) by the
TGFD bit in TSR when TGFD is set to 1 in channels 0 and 3.
In channels 1, 2, 4, and 5, bit 3 is reserved. It is always read as 0 and cannot be modified.
Bit 3: TGIED
Description
0
Interrupt requests (TGID) by TGFD bit disabled
1
Interrupt requests (TGID) by TGFD bit enabled
(Initial value)
Bit 2—TGR Interrupt Enable C (TGIEC): Enables or disables interrupt requests (TGIC) by the
TGFC bit in TSR when TGFC is set to 1 in channels 0 and 3.
In channels 1, 2, 4, and 5, bit 2 is reserved. It is always read as 0 and cannot be modified.
Bit 2: TGIEC
Description
0
Interrupt requests (TGIC) by TGFC bit disabled
1
Interrupt requests (TGIC) by TGFC bit enabled
(Initial value)
Bit 1—TGR Interrupt Enable B (TGIEB): Enables or disables interrupt requests (TGIB) by the
TGFB bit in TSR when TGFB is set to 1.
Bit 1: TGIEB
Description
0
Interrupt requests (TGIB) by TGFB bit disabled
1
Interrupt requests (TGIB) by TGFB bit enabled
(Initial value)
Rev. 5.00 Sep 11, 2006 page 399 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bit 0—TGR Interrupt Enable A (TGIEA): Enables or disables interrupt requests (TGIA) by the
TGFA bit in TSR when TGFA is set to 1.
Bit 0: TGIEA
Description
0
Interrupt requests (TGIA) by TGFA bit disabled
1
Interrupt requests (TGIA) by TGFA bit enabled
10.2.5
(Initial value)
Timer Status Registers (TSR)
Channel 0: TSR0
Channel 3: TSR3
Bit:
Initial value:
R/W:
Note:
*
7
6
5
4
3
2
1
0
—
—
—
TCFV
TGFD
TGFC
TGFB
TGFA
1
1
0
0
0
0
0
0
—
R/(W)*
R/(W)*
R/(W)*
R/(W)*
R/(W)*
—
—
Can only be written with 0 for flag clearing.
Channel 1: TSR1
Channel 2: TSR2
Channel 4: TSR4
Channel 5: TSR5
Bit:
7
6
5
4
3
2
1
0
TCFD
—
TCFU
TCFV
—
—
TGFB
TGFA
Initial value:
1
1
0
0
0
0
0
0
R/W:
R
—
R/(W)*
R/(W)*
—
—
R/(W)*
R/(W)*
Note:
*
Can only be written with 0 for flag clearing.
The TSR registers are 8-bit registers that indicate the status of each channel. The TPU has six TSR
registers, one for each channel. The TSR registers are initialized to H'C0 by a reset, and in
hardware standby mode and software standby mode. They are not initialized by the module
standby function.
Rev. 5.00 Sep 11, 2006 page 400 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bit 7—Count Direction Flag (TCFD): Status flag that shows the direction in which TCNT
counts in channels 1, 2, 4, and 5.
In channels 0 and 3, bit 7 is reserved. It is always read as 1 and cannot be modified.
Bit 7: TCFD
Description
0
TCNT counts down
1
TCNT counts up
(Initial value)
Bit 6—Reserved: This bit is always read as 1 and cannot be modified.
Bit 5—Underflow Flag (TCFU): Status flag that indicates that TCNT underflow has occurred in
channels 1, 2, 4, and 5.
In channels 0 and 3, bit 5 is reserved. It is always read as 0 and cannot be modified.
Bit 5: TCFU
Description
0
[Clearing condition]
(Initial value)
When 0 is written to TCFU after reading TCFU = 1
1
[Setting condition]
When the TCNT value underflows (changes from H'0000 to H'FFFF)
Bit 4—Overflow Flag (TCFV): Status flag that indicates that TCNT overflow has occurred.
Bit 4: TCFV
Description
0
[Clearing condition]
(Initial value)
When 0 is written to TCFV after reading TCFV = 1
1
[Setting condition]
When the TCNT value overflows (changes from H'FFFF to H'0000 )
Bit 3—Input Capture/Output Compare Flag D (TGFD): Status flag that indicates the
occurrence of TGRD input capture or compare match in channels 0 and 3.
In channels 1, 2, 4, and 5, bit 3 is reserved. It is always read as 0 and cannot be modified.
Rev. 5.00 Sep 11, 2006 page 401 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bit 3: TGFD
Description
0
[Clearing condition]
(Initial value)
When 0 is written to TGFD after reading TGFD = 1
1
[Setting conditions]
•
When TCNT = TGRD while TGRD is functioning as output compare
register
•
When TCNT value is transferred to TGRD by input capture signal while
TGRD is functioning as input capture register
Bit 2—Input Capture/Output Compare Flag C (TGFC): Status flag that indicates the
occurrence of TGRC input capture or compare match in channels 0 and 3.
In channels 1, 2, 4, and 5, bit 2 is reserved. It is always read as 0 and cannot be modified.
Bit 2: TGFC
Description
0
[Clearing condition]
1
[Setting conditions]
(Initial value)
When 0 is written to TGFC after reading TGFC = 1
•
When TCNT = TGRC while TGRC is functioning as output compare
register
•
When TCNT value is transferred to TGRC by input capture signal while
TGRC is functioning as input capture register
Bit 1—Input Capture/Output Compare Flag B (TGFB): Status flag that indicates the
occurrence of TGRB input capture or compare match.
Bit 1: TGFB
Description
0
[Clearing condition]
(Initial value)
When 0 is written to TGFB after reading TGFB = 1
1
[Setting conditions]
•
When TCNT = TGRB while TGRB is functioning as output compare
register
•
When TCNT value is transferred to TGRB by input capture signal while
TGRB is functioning as input capture register
Rev. 5.00 Sep 11, 2006 page 402 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bit 0—Input Capture/Output Compare Flag A (TGFA): Status flag that indicates the
occurrence of TGRA input capture or compare match.
Bit 0: TGFA
Description
0
[Clearing condition]
(Initial value)
When 0 is written to TGFA after reading TGFA = 1
1
[Setting conditions]
•
When TCNT = TGRA while TGRA is functioning as output compare
register
•
When TCNT value is transferred to TGRA by input capture signal while
TGRA is functioning as input capture register
Note: Cleared by DMAC transfer initiated by TGFA.
10.2.6
Timer Counters (TCNT)
Channel 0: TCNT0 (up-counter)
Channel 1: TCNT1 (up/down-counter*)
Channel 2: TCNT2 (up/down-counter*)
Channel 3: TCNT3 (up-counter)
Channel 4: TCNT4 (up/down-counter*)
Channel 5: TCNT5 (up/down-counter*)
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Note: * These counters can be used as up/down-counters only in phase counting mode (or
when counting overflows/underflows on another channel in phase counting mode). In
other cases they function as up-counters.
The TCNT registers are 16-bit counters. The TPU has six TCNT counters, one for each channel.
The TCNT counters are initialized to H'0000 by a reset, and in hardware standby mode and
software standby mode. They are not initialized by the module standby function.
The TCNT counters cannot be accessed in 8-bit units; they must always be accessed as a 16-bit
unit.
Rev. 5.00 Sep 11, 2006 page 403 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.2.7
Timer General Registers (TGR)
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
The TGR registers are 16-bit registers with a dual function as output compare and input capture
registers. The TPU has 16 general registers, four each for channels 0 and 3 and two each for
channels 1, 2, 4, and 5. TGRC and TGRD for channels 0 and 3 can also be designated for
operation as buffer registers*. The TGR registers are initialized to H'FFFF by a reset, and in
hardware standby mode and software standby mode. They are not initialized by the module
standby function.
The TGR registers cannot be accessed in 8-bit units; they must always be accessed as a 16-bit unit.
Note: * TGR buffer register combinations are TGRA–TGRC and TGRB–TGRD.
10.2.8
Timer Start Register (TSTR)
Bit:
7
6
5
4
3
2
1
0
—
—
CST5
CST4
CST3
CST2
CST1
CST0
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
R/W
R/W
R/W
R/W
R/W
R/W
TSTR is an 8-bit readable/writable register that selects operation/stoppage for channels 0 to 5.
TSTR is initialized to H'00 by a reset, and in hardware standby mode and software standby mode.
It is not initialized by the module standby function.
Bits 7 and 6—Reserved: These bits are always read as 0 and cannot be modified.
Bits 5 to 0—Counter Start 5 to 0 (CST5 to CST0): These bits select operation or stoppage of the
TCNT counters.
Rev. 5.00 Sep 11, 2006 page 404 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bit n: CSTn
Description
0
TCNTn count operation is stopped
1
TCNTn performs count operation
(Initial value)
Notes: n = 0 to 5
If 0 is written to the CST bit during operation with the TIOC pin designated for output, the
counter stops but the TIOC pin output compare output level is retained. If TIOR is written to
when the CST bit is cleared to 0, the pin output level will be changed to the set initial output
value.
10.2.9
Timer Sync Register (TSYR)
Bit:
7
6
5
4
3
2
1
0
—
—
SYNC5
SYNC4
SYNC3
SYNC2
SYNC1
SYNC0
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
R/W
R/W
R/W
R/W
R/W
R/W
TSYR is an 8-bit readable/writable register that selects independent operation or synchronous
operation for the channel 0 to 5 TCNT counters. A channel performs synchronous operation when
the corresponding bit in TSYR is set to 1.
TSYR is initialized to H'00 by a reset, and in hardware standby mode and software standby mode.
It is not initialized by the module standby function.
Bits 7 and 6—Reserved: These bits must always be written with 0.
Bits 5 to 0—Timer Sync 5 to 0 (SYNC5 to SYNC0): These bits select whether operation is
independent of or synchronized with other channels.
When synchronous operation is selected, synchronous presetting*1 of multiple TCNT counters or
synchronous clearing*2 by counter clearing on another channel is possible.
Notes: 1. To set synchronous operation, the SYNC bits for at least two channels must be set to 1.
2. To set synchronous clearing, in addition to the SYNC bit, the TCNT clearing source
must also be set by means of bits CCLR2 to CCLR0 in TCR.
Rev. 5.00 Sep 11, 2006 page 405 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Bit n: SYNCn
Description
0
TCNTn operates independently (TCNT presetting/clearing is unrelated to other
channels)
(Initial value)
1
TCNTn performs synchronous operation
TCNT synchronous presetting/synchronous clearing is possible
Note: n = 5 to 0
10.3
Interface to Bus Master
10.3.1
16-Bit Registers
TCNT and TGR are 16-bit registers. As the data bus to the bus master is 16 bits wide, these
registers can be read and written to in 16-bit units.
These registers cannot be read or written to in 8-bit units; 16-bit access must always be used.
An example of 16-bit register access operation is shown in figure 10.2.
Internal data bus
H
Bus master
L
Module
data bus
Bus
interface
TCNTH
TCNTL
Figure 10.2 16-Bit Register Access Operation (Bus Master ↔ TCNT (16 Bits))
10.3.2
8-Bit Registers
Registers other than TCNT and TGR are 8-bit registers. As the data bus to the CPU is 16 bits
wide, these registers can be read and written to in 16-bit units. They can also be written to in 8-bit
units.
Examples of 8-bit register access operation are shown in figures 10.3, 10.4, and 10.5.
Rev. 5.00 Sep 11, 2006 page 406 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Internal data bus
H
Bus master
Module
data bus
Bus
interface
L
TCR
Figure 10.3 8-Bit Register Access Operation
(Bus Master ↔ TCR (Upper 8 Bits))
Internal data bus
H
Bus master
Module
data bus
Bus
interface
L
TMDR
Figure 10.4 8-Bit Register Access Operation
(Bus Master ↔ TMDR (Lower 8 Bits))
Internal data bus
H
Bus master
L
Module
data bus
Bus
interface
TCR
TMDR
Figure 10.5 8-Bit Register Access Operation
(Bus Master ↔ TCR and TMDR (16 Bits))
Rev. 5.00 Sep 11, 2006 page 407 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.4
Operation
10.4.1
Overview
Operation in each mode is outlined below.
Normal Operation: Each channel has a TCNT and TGR register. TCNT performs up-counting,
and is also capable of free-running operation, synchronous counting, and external event counting.
Each TGR can be used as an input capture register or output compare register.
Synchronous Operation: When synchronous operation is designated for a channel, TCNT for
that channel performs synchronous presetting. That is, when TCNT for a channel designated for
synchronous operation is rewritten, the TCNT counters for the other channels are also rewritten at
the same time. Synchronous clearing of the TCNT counters is also possible by setting the timer
synchronization bits in TSYR for channels designated for synchronous operation.
Buffer Operation:
• When TGR is an output compare register
When a compare match occurs, the value in the buffer register for the relevant channel is
transferred to TGR.
• When TGR is an input capture register
When input capture occurs, the value in TCNT is transfer to TGR and the value previously
held in TGR is transferred to the buffer register.
Cascaded Operation: The channel 1 counter (TCNT1) and channel 2 counter (TCNT2), or the
channel 4 counter (TCNT4) and channel 5 counter (TCNT5), can be connected together to operate
as a 32-bit counter.
PWM Mode: In this mode, a PWM waveform is output. The output level can be set in TIOR. A
PWM waveform with a duty of between 0% and 100% can be output, according to the setting of
each TGR register.
Phase Counting Mode: In this mode, TCNT is incremented or decremented by detecting the
phases of two clocks input from the external clock input pins in channels 1, 2, 4, and 5. When
phase counting mode is set, the corresponding TCLK pin functions as the clock pin, and TCNT
performs up- or down-counting.
This mode can be used for two-phase encoder pulse input.
Rev. 5.00 Sep 11, 2006 page 408 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.4.2
Basic Functions
Counter Operation
When one of bits CST0 to CST5 is set to 1 in TSTR, the TCNT counter for the corresponding
channel starts counting. TCNT can operate as a free-running counter, a cyclic counter, and so on.
Example of count operation setting procedure: Figure 10.6 shows an example of the count
operation setting procedure.
1. Select the counter clock with
bits TPSC2 to TPSC0 in
TCR. At the same time,
select the input clock edge
with bits CKEG1 and CKEG0
in TCR.
Operation selection
Select counter clock
1
Free-running counter
Cyclic counter
Select counter clearing
source
Select output compare
register
Set cycle
2. For cyclic counter operation,
select the TGR to be used as
the TCNT clearing source
with bits CCLR2 to CCLR0 in
TCR.
2
3. Designate the TGR selected
in 2 as an output compare
register by means of TIOR.
3
4. Set the cyclic counter cycle
in the TGR selected in 2.
5. Set the external pin function
with the pin function
controller (PFC).
4
6. Set the CST bit in TSTR to 1
to start the count operation.
Set external pin function
5
Set external pin function
5
Start count operation
6
Start count operation
6
<Cyclic counter>
<Free-running counter>
Figure 10.6 Example of Counter Operation Setting Procedure
Free-running count operation and cyclic count operation: Immediately after a reset, the TPU’s
TCNT counters are all designated as free-running counters. When the relevant bit in TSTR is set
to 1 the corresponding TCNT counter starts up-count operation as a free-running counter. When
TCNT overflows (from H'FFFF to H'0000), the TCFV bit in TSR is set to 1. If the value of the
corresponding TCIEV bit in TIER is 1 at this point, the TPU requests an interrupt. After overflow,
TCNT starts counting up again from H'0000.
Rev. 5.00 Sep 11, 2006 page 409 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Figure 10.7 illustrates free-running counter operation.
TCNT value
H'FFFF
H'0000
Time
CST bit
TCFV
Figure 10.7 Free-Running Counter Operation
When compare match is selected as the TCNT clearing source, the TCNT counter for the relevant
channel performs cyclic count operation. The TGR register for setting the cycle is designated as an
output compare register, and counter clearing by compare match is selected by means of bits
CCLR2 to CCLR0 in TCR. After the settings have been made, TCNT starts up-count operation as
a cyclic counter when the corresponding bit in TSTR is set to 1. When the count value matches the
value in TGR, the TGF bit in TSR is set to 1 and TCNT is cleared to H'0000.
If the value of the corresponding TGIE bit in TIER is 1 at this point, the TPU requests an interrupt.
After a compare match, TCNT starts counting up again from H'0000.
Figure 10.8 illustrates cyclic counter operation.
Counter cleared by TGR
compare match
TCNT value
TGR
H'0000
Time
CST bit
Flag cleared by software
or DMAC activation
TGF
Figure 10.8 Cyclic Counter Operation
Rev. 5.00 Sep 11, 2006 page 410 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Waveform Output by Compare Match
The TPU can perform 0, 1, or toggle output from the corresponding output pin using compare
matches.
Example of setting procedure for waveform output by compare match: Figure 10.9 shows an
example of the setting procedure for waveform output by compare match.
Output selection
Select waveform output mode
Set output timing
1
2
1. Select initial value 0 output or 1 output
and compare match output value 0
output, 1 output, or toggle output by
means of TIOR. The set initial value is
output at the TIOC pin until the first
compare match occurs.
2. Set the timing for compare match
generation in TGR.
3. Set the external pin function with the pin
function controller (PFC).
Set external pin function
3
Start count operation
4
4. Set the CST bit in TSTR to 1 to start the
count operation.
<Waveform output>
Figure 10.9 Example of Setting Procedure for Waveform Output by Compare Match
Rev. 5.00 Sep 11, 2006 page 411 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Examples of waveform output operation: Figure 10.10 shows an example of 0 output/1 output.
In this example TCNT has been designated as a free-running counter, and settings have been made
so that 1 is output by compare match A, and 0 is output by compare match B. When the set level
and the pin level coincide, the pin level does not change.
TCNT value
H'FFFF
TGRA
TGRB
H'0000
Does not change
Time
Does not change
1 output
TIOCA
Does not change
TIOCB
Does not change 0 output
Figure 10.10 Example of 0 Output/1 Output Operation
Figure 10.11 shows an example of toggle output.
In this example TCNT has been designated as a cyclic counter (with counter clearing performed
by compare match B), and settings have been made so that output is toggled by both by compare
match A and compare match B.
TCNT value
Counter cleared by TGRB compare match
H'FFFF
TGRB
TGRA
Time
H'0000
TIOCB
Toggle output
TIOCA
Toggle output
Figure 10.11 Example of Toggle Output Operation
Rev. 5.00 Sep 11, 2006 page 412 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Input Capture Function
The TCNT value can be transferred to TGR on detection of the TIOC pin input edge.
Rising edge, falling edge, or both edges can be selected as the detected edge. For channels 0, 1, 3,
and 4, it is also possible to specify another channel’s counter input clock or compare match signal
as the input capture source.
Note: When another channel’s counter input clock is specified as the input capture source in
channel 0 or 3, Pφ/1 must not be selected as the counter input clock used for input capture
input. Input capture will not occur if Pφ/1 is selected.
Example of input capture operation setting procedure: Figure 10.12 shows an example of the
input capture operation setting procedure.
Input selection
Select input capture input
1
Set external pin function
2
Start count operation
3
1. Designate TGR as an input capture
register by means of TIOR, and
select the input signal rising edge,
falling edge, or both edges as the
input capture source.
2. Set the external pin function with
the pin function controller (PFC).
3. Set the CST bit in TSTR to 1 to
start the count operation.
<Input capture operation>
Figure 10.12 Example of Input Capture Operation Setting Procedure
Rev. 5.00 Sep 11, 2006 page 413 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Example of input capture operation: Figure 10.13 shows an example of input capture operation.
In this example both rising and falling edges have been selected as the TIOCA pin input capture
input edge, falling edge has been selected as the TIOCB pin input capture input edge, and counter
clearing by TGRB input capture has been designated for TCNT.
Counter cleared by TIOCB
input (falling edge)
TCNT value
H'0180
H'0160
H'0010
H'0005
Time
H'0000
TIOCA
TGRA
H'0005
H'0160
H'0010
TIOCB
TGRB
H'0180
Figure 10.13 Example of Input Capture Operation
10.4.3
Synchronous Operation
In synchronous operation, the values in a number of TCNT counters can be rewritten
simultaneously (synchronous presetting). Also, a number of TCNT counters can be cleared
simultaneously by making the appropriate setting in TCR (synchronous clearing).
Synchronous operation enables TGR to be incremented with respect to a single time base.
Channels 0 to 5 can all be designated for synchronous operation.
Rev. 5.00 Sep 11, 2006 page 414 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Example of Synchronous Operation Setting Procedure
Figure 10.14 shows an example of the synchronous operation setting procedure.
Synchronous operation
selection
Set synchronous
operation
1
Synchronous presetting
Set TCNT
Synchronous clearing
2
Clearing
source generation
channel?
No
Yes
<Synchronous presetting>
Select counter clearing
source
3
Start count operation
5
<Counter clearing>
Set synchronous counter 4
clearing
Start count operation
5
<Synchronous clearing>
1. Set to 1 the SYNC bits in TSYR corresponding to the channels to be designated for
synchronous operation.
2. When the TCNT counter of any of the channels designated for synchronous operation is
written to, the same value is simultaneously written to the other TCNT counters.
3. Use bits CCLR2 to CCLR0 in TCR to specify TCNT clearing by input capture/output compare,
etc.
4. Use bits CCLR2 to CCLR0 in TCR to designate synchronous clearing for the counter clearing
source.
5. Set to 1 the CST bits in TSTR for the relevant channels, to start the count operation.
Figure 10.14 Example of Synchronous Operation Setting Procedure
Rev. 5.00 Sep 11, 2006 page 415 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Example of Synchronous Operation
Figure 10.15 shows an example of synchronous operation.
In this example, synchronous operation and PWM mode 1 have been designated for channels 0 to
2, TGR0B compare match has been set as the channel 0 counter clearing source, and synchronous
clearing has been set for the channel 1 and 2 counter clearing source.
Three-phase PWM waveforms are output from pins TIOC0A, TIOC1A, and TIOC2A.
Synchronous presetting and synchronous clearing by TGR0B compare match is performed for the
channel 0 to 2 TCNT counters, and the data set in TGR0B is the PWM cycle.
For details of PWM modes, see section 10.4.6, PWM Modes.
TCNT0 to TCNT2
values
Synchronous clearing by TGR0B compare match
TGR0B
TGR1B
TGR0A
TGR2B
TGR1A
TGR2A
Time
H'0000
TIOC0A
TIOC1A
TIOC2A
Figure 10.15 Example of Synchronous Operation
Rev. 5.00 Sep 11, 2006 page 416 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.4.4
Buffer Operation
Buffer operation, provided for channels 0 and 3, enables TGRC and TGRD to be used as buffer
registers.
Buffer operation differs depending on whether TGR has been designated as an input capture
register or as a compare match register.
Table 10.5 shows the register combinations used in buffer operation.
Table 10.5 Register Combinations in Buffer Operation
Channel
Timer General Register
Buffer Register
0
TGR0A
TGR0C
TGR0B
TGR0D
TGR3A
TGR3C
TGR3B
TGR3D
3
• When TGR is an output compare register
When a compare match occurs, the value in the buffer register for the corresponding channel is
transferred to the timer general register.
This operation is illustrated in figure 10.16.
Compare match signal
Buffer
register
Timer general
register
Comparator
TCNT
Figure 10.16 Compare Match Buffer Operation
Rev. 5.00 Sep 11, 2006 page 417 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
• When TGR is an input capture register
When input capture occurs, the value in TCNT is transferred to TGR and the value previously
held in the timer general register is transferred to the buffer register.
This operation is illustrated in figure 10.17.
Input capture
signal
Buffer
register
Timer general
register
TCNT
Figure 10.17 Input Capture Buffer Operation
Example of Buffer Operation Setting Procedure
Figure 10.18 shows an example of the buffer operation setting procedure.
1. Designate TGR as an input capture
register or output compare register
by means of TIOR.
Buffer operation
Select TGR function
1
2. Designate TGR for buffer operation
with bits BFA and BFB in TMDR.
3. Set the external pin function with the
pin function controller (PFC).
Set buffer operation
2
Set external pin function
3
Start count operation
4
4. Set the CST bit in TSTR to 1 to start
the count operation.
<Buffer operation>
Figure 10.18 Example of Buffer Operation Setting Procedure
Rev. 5.00 Sep 11, 2006 page 418 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Examples of Buffer Operation
When TGR is an output compare register: Figure 10.19 shows an operation example in which
PWM mode 1 has been designated for channel 0, and buffer operation has been designated for
TGRA and TGRC. The settings used in this example are TCNT clearing by compare match B, 1
output at compare match A, and 0 output at compare match B.
As buffer operation has been set, when compare match A occurs the output changes and the value
in buffer register TGRC is simultaneously transferred to timer general register TGRA. This
operation is repeated each time compare match A occurs.
For details of PWM modes, see section 10.4.6, PWM Modes.
TCNT value
TGR0B
H'0520
H'0450
H'0200
TGR0A
Time
H'0000
TGR0C H'0200
H'0450
H'0520
Transfer
TGR0A
H'0200
H'0450
TIOCA
Figure 10.19 Example of Buffer Operation (1)
Rev. 5.00 Sep 11, 2006 page 419 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
When TGR is an input capture register: Figure 10.20 shows an operation example in which
TGRA has been designated as an input capture register, and buffer operation has been designated
for TGRA and TGRC.
Counter clearing by input capture has been set for TCNT, and both rising and falling edges have
been selected as the TIOCA pin input capture input edge.
As buffer operation has been set, when the TCNT value is stored in TGRA upon occurrence of
input capture A, the value previously stored in TGRA is simultaneously transferred to TGRC.
TCNT value
H'0F07
H'09FB
H'0532
H'0000
Time
TIOCA
TGRA
H'0532
TGRC
H'0F07
H'09FB
H'0532
H'0F07
Figure 10.20 Example of Buffer Operation (2)
Rev. 5.00 Sep 11, 2006 page 420 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.4.5
Cascaded Operation
In cascaded operation, two 16-bit counters for different channels are used together as a 32-bit
counter.
This function works by counting the channel 1 (channel 4) counter clock upon overflow/underflow
of TCNT2 (TCNT5) as set in bits TPSC2 to TPSC0 in TCR.
Underflow occurs only when the lower-16-bit TCNT is in phase counting mode.
Table 10.6 shows the register combinations used in cascaded operation.
Note: When phase counting mode is set for channel 1 or 4, the counter clock setting is invalid
and the counter operates independently in phase counting mode.
Table 10.6 Cascading Combinations
Combination
Upper 16 Bits
Lower 16 Bits
Channels 1 and 2
TCNT1
TCNT2
Channels 4 and 5
TCNT4
TCNT5
Example of Cascaded Operation Setting Procedure
Figure 10.21 shows an example of the setting procedure for cascaded operation.
1. Set bits TPSC2 to TPSC0 in the
channel 1 (channel 4) TCR to B'111 to
select TCNT2 (TCNT5)
overflow/underflow counting.
Cascaded operation
Set cascading
1
Set external pin function
2
Start count operation
3
2. Set the external pin function with the pin
function controller (PFC).
3. Set the CST bit in TSTR for the upper
and lower channel to 1 to start the count
operation.
<Cascaded operation>
Figure 10.21 Cascaded Operation Setting Procedure
Rev. 5.00 Sep 11, 2006 page 421 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Examples of Cascaded Operation
Figure 10.22 illustrates the operation when counting upon TCNT2 overflow/underflow has been
set for TCNT1, and phase counting mode has been designated for channel 2.
TCNT1 is incremented by TCNT2 overflow and decremented by TCNT2 underflow.
TCLKA
TCLKB
TCNT2
FFFD
TCNT1
FFFE
FFFF
0000
0000
0001
0002
0001
0001
0000
FFFF
0000
Figure 10.22 Example of Cascaded Operation
10.4.6
PWM Modes
In PWM mode, PWM waveforms are output from the output pins. 0, 1, or toggle output can be
selected as the output level in response to compare match of each TGR.
Designating TGR compare match as the counter clearing source enables the cycle to be set in that
register. All channels can be designated for PWM mode independently. Synchronous operation is
also possible.
There are two PWM modes, as described below.
• PWM mode 1
PWM output is generated from the TIOCA and TIOCC pins by pairing TGRA with TGRB and
TGRC with TGRD. The output specified by TIOR bits IOA3 to IOA0 or IOC3 to IOC0 is
performed from the TIOCA or TIOCC pin upon compare match A or C. Also, the output
specified by TIOR bits IOB3 to IOB0 or IOD3 to IOD0 is performed upon compare match B
or D. The initial output value is the value set in TGRA or TGRC. If the set values of the paired
TGR registers are identical, the output value does not change when a compare match occurs.
In PWM mode 1, a maximum 8-phase PWM output is possible.
Rev. 5.00 Sep 11, 2006 page 422 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
• PWM mode 2
PWM output is generated using one TGR register as the cycle register and the others as duty
registers. The output specified by TIOR is performed upon compare match. Upon counter
clearing by a cycle register compare match, the output value of each pin is the initial value set
in TIOR. If the set values of the cycle and duty registers are identical, the output value does not
change when a compare match occurs.
In PWM mode 2, a maximum 15-phase PWM output is possible by combined use with
synchronous operation.
The correspondence between PWM output pins and registers is shown in table 10.7.
Table 10.7 PWM Output Registers and Output Pins
Output Pins
Channel
Registers
PWM Mode 1
PWM Mode 2
0
TGR0A
TIOC0A
TIOC0A
TGR0B
TGR0C
TIOC0B
TIOC0C
TGR0D
1
TGR1A
TIOC0D
TIOC1A
TGR1B
2
TGR2A
TGR3A
TIOC2A
TIOC3A
TGR4A
TIOC3C
TGR5A
TGR5B
TIOC3C
TIOC3D
TIOC4A
TGR4B
5
TIOC3A
TIOC3B
TGR3D
4
TIOC2A
TIOC2B
TGR3B
TGR3C
TIOC1A
TIOC1B
TGR2B
3
TIOC0C
TIOC4A
TIOC4B
TIOC5A
TIOC5A
TIOC5B
Note: In PWM mode 2, PWM output is not possible for the TGR register in which the cycle is set.
Rev. 5.00 Sep 11, 2006 page 423 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Example of PWM Mode Setting Procedure
Figure 10.23 shows an example of the PWM mode setting procedure.
PWM mode
Select counter clock
1
Select counter clearing source 2
Select waveform output level
Set TGR
1. Select the counter clock with bits
TPSC2 to TPSC0 in TCR. At the
same time, select the input clock edge
with bits CKEG1 and CKEG0 in TCR.
2. Use bits CCLR2 to CCLR0 in TCR to
select the TGR register to be used as
the TCNT clearing source.
3
3. Use TIOR to designate the output
compare register, and select the initial
value and output value.
4
4. Set the cycle in the TGR register
selected in 2, and set the duty in the
other TGR registers.
5. Select the PWM mode with bits MD3
to MD0 in TMDR.
Set PWM mode
5
Set external pin function
6
Start count operation
7
6. Set the external pin function with the
pin function controller (PFC).
7. Set the CST bit in TSTR to 1 to start
the count operation.
<PWM mode>
Figure 10.23 Example of PWM Mode Setting Procedure
Examples of PWM Mode Operation
Figure 10.24 shows an example of PWM mode 1 operation.
In this example, TGRA compare match is set as the TCNT clearing source, 0 is set for the TGRA
initial output value and output value, and 1 output is set as the TGRB output value.
In this case, the value set in TGRA is used as the cycle, and the value set in TGRB as the duty.
Rev. 5.00 Sep 11, 2006 page 424 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
TCNT value
Counter cleared by TGRA
compare match
TGRA
TGRB
H'0000
Time
TIOCA
Figure 10.24 Example of PWM Mode Operation (1)
Figure 10.25 shows an example of PWM mode 2 operation.
In this example, synchronous operation is designated for channels 0 and 1, TGR1B compare match
is set as the TCNT clearing source, and 0 is set for the initial output value and 1 for the output
value of the other TGR registers, to output a 5-phase PWM waveform.
In this case, the value set in TGR1B is used as the cycle, and the values set in the other TGR
registers as the duty.
Counter cleared by TGR1B
compare match
TCNT value
TGR1B
TGR1A
TGR0D
TGR0C
TGR0B
TGR0A
H'0000
Time
TIOC0A
TIOC0B
TIOC0C
TIOC0D
TIOC1A
Figure 10.25 Example of PWM Mode Operation (2)
Rev. 5.00 Sep 11, 2006 page 425 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Figure 10.26 shows examples of PWM waveform output with 0% duty and 100% duty in PWM
mode.
TCNT value
TGRB rewritten
TGRA
TGRB rewritten
TGRB
TGRB rewritten
H'0000
Time
0% duty
TIOCA
Output does not change when cycle register and duty
register compare matches occur simultaneously
TCNT value
TGRA
TGRB rewritten
TGRB rewritten
TGRB rewritten
TGRB
H'0000
Time
100% duty
TIOCA
Output does not change when cycle register and duty
register compare matches occur simultaneously
TCNT value
TGRA
TGRB rewritten
TGRB rewritten
TGRB
TGRB rewritten
Time
H'0000
100% duty
TIOCA
0% duty
Figure 10.26 Example of PWM Mode Operation (3)
Rev. 5.00 Sep 11, 2006 page 426 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.4.7
Phase Counting Mode
In phase counting mode, the phase difference between two external clock inputs is detected and
TCNT is incremented/decremented accordingly. This mode can be set for channels 1, 2, 4, and 5.
When phase counting mode is set, an external clock is selected as the counter input clock and
TCNT operates as an up/down-counter regardless of the setting of bits TPSC2 to TPSC0 and bits
CKEG1 and CKEG0 in TCR. However, the functions of bits CCLR1 and CCLR0 in TCR, and of
TIOR, TIER, and TGR are valid, and input capture/compare match and interrupt functions can be
used.
When overflow occurs while TCNT is counting up, the TCFV flag in TSR is set; when underflow
occurs while TCNT is counting down, the TCFU flag is set.
The TCFD bit in TSR is the count direction flag. By reading the TCFD flag it is possible to check
whether TCNT is counting up or down.
Table 10.8 shows the correspondence between external clock pins and channels.
Table 10.8 Phase Counting Mode Clock Input Pins
External Clock Pins
Channel
A-Phase
B-Phase
When channel 1 or 5 is set to phase counting mode
TCLKA
TCLKB
When channel 2 or 4 is set to phase counting mode
TCLKC
TCLKD
Rev. 5.00 Sep 11, 2006 page 427 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Example of Phase Counting Mode Setting Procedure
Figure 10.27 shows an example of the phase counting mode setting procedure.
1. Select phase counting mode with bits
MD3 to MD0 in TMDR.
Phase counting mode
Select phase counting mode
1
2. Set the external pin function with the
pin function controller (PFC).
3. Set the CST bit in TSTR to 1 to start
the count operation.
Set external pin function
2
Start count operation
3
<Phase counting mode>
Figure 10.27 Example of Phase Counting Mode Setting Procedure
Rev. 5.00 Sep 11, 2006 page 428 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Examples of Phase Counting Mode Operation
In phase counting mode, TCNT counts up or down according to the phase difference between two
external clocks. There are four modes, according to the count conditions.
Phase counting mode 1: Figure 10.28 shows an example of phase counting mode 1 operation,
and table 10.9 summarizes the TCNT up/down-count conditions.
TCLKA (channels 1 and 5)
TCLKC (channels 2 and 4)
TCLKB (channels 1 and 5)
TCLKD (channels 2 and 4)
TCNT value
Up-count
Down-count
Time
Figure 10.28 Example of Phase Counting Mode 1 Operation
Table 10.9 Up/Down-Count Conditions in Phase Counting Mode 1
TCLKA (Channels 1 and 5)
TCLKC (Channels 2 and 4)
TCLKB (Channels 1 and 5)
TCLKD (Channels 2 and 4)
High level
Operation
Up-count
Low level
Low level
High level
High level
Down-count
Low level
High level
Low level
Legend:
: Rising edge
: Falling edge
Rev. 5.00 Sep 11, 2006 page 429 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Phase counting mode 2: Figure 10.29 shows an example of phase counting mode 2 operation,
and table 10.10 summarizes the TCNT up/down-count conditions.
TCLKA (channels 1 and 5)
TCLKC (channels 2 and 4)
TCLKB (channels 1 and 5)
TCLKD (channels 2 and 4)
TCNT value
Up-count
Down-count
Time
Figure 10.29 Example of Phase Counting Mode 2 Operation
Table 10.10 Up/Down-Count Conditions in Phase Counting Mode 2
TCLKA (Channels 1 and 5)
TCLKC (Channels 2 and 4)
TCLKB (Channels 1 and 5)
TCLKD (Channels 2 and 4)
Operation
High level
Don’t care
Low level
Don’t care
Low level
Don’t care
High level
Up-count
High level
Don’t care
Low level
Don’t care
High level
Don’t care
Low level
Down-count
Legend:
: Rising edge
: Falling edge
Rev. 5.00 Sep 11, 2006 page 430 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Phase counting mode 3: Figure 10.30 shows an example of phase counting mode 3 operation,
and table 10.11 summarizes the TCNT up/down-count conditions.
TCLKA (channels 1 and 5)
TCLKC (channels 2 and 4)
TCLKB (channels 1 and 5)
TCLKD (channels 2 and 4)
TCNT value
Down-count
Up-count
Time
Figure 10.30 Example of Phase Counting Mode 3 Operation
Table 10.11 Up/Down-Count Conditions in Phase Counting Mode 3
TCLKA (Channels 1 and 5)
TCLKC (Channels 2 and 4)
TCLKB (Channels 1 and 5)
TCLKD (Channels 2 and 4)
Operation
High level
Don’t care
Low level
Don’t care
Low level
Don’t care
High level
Up-count
High level
Down-count
Low level
Don’t care
High level
Don’t care
Low level
Don’t care
Legend:
: Rising edge
: Falling edge
Rev. 5.00 Sep 11, 2006 page 431 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Phase counting mode 4: Figure 10.31 shows an example of phase counting mode 4 operation,
and table 10.12 summarizes the TCNT up/down-count conditions.
TCLKA (channels 1 and 5)
TCLKC (channels 2 and 4)
TCLKB (channels 1 and 5)
TCLKD (channels 2 and 4)
TCNT value
Down-count
Up-count
Time
Figure 10.31 Example of Phase Counting Mode 4 Operation
Table 10.12 Up/Down-Count Conditions in Phase Counting Mode 4
TCLKA (Channels 1 and 5)
TCLKC (Channels 2 and 4)
TCLKB (Channels 1 and 5)
TCLKD (Channels 2 and 4)
High level
Operation
Up-count
Low level
Low level
Don’t care
High level
High level
Down-count
Low level
High level
Low level
Legend:
: Rising edge
: Falling edge
Rev. 5.00 Sep 11, 2006 page 432 of 916
REJ09B0332-0500
Don’t care
Section 10 16-Bit Timer Pulse Unit (TPU)
Phase Counting Mode Application Example
Figure 10.32 shows an example in which phase counting mode is designated for channel 1, and
channel 1 is coupled with channel 0 to input servo motor 2-phase encoder pulses in order to detect
the position or speed.
Channel 1 is set to phase counting mode 1, and the encoder pulse A-phase and B-phase are input
to TCLKA and TCLKB.
Channel 0 operates with TCNT counter clearing by TGR0C compare match; TGR0A and TGR0C
are used for the compare match function, and are set with the speed control period and position
control period. TGR0B is used for input capture, with TGR0B and TGR0D operating in buffer
mode. The channel 1 counter input clock is designated as the TGR0B input capture source, and
detection of the pulse width of 2-phase encoder 4-multiplication pulses is performed.
TGR1A and TGR1B for channel 1 are designated for input capture, channel 0 TGR0A and
TGR0C compare matches are selected as the input capture source, and these registers store the
up/down-counter values for the respective control periods.
This procedure enables accurate position/speed detection to be achieved.
Rev. 5.00 Sep 11, 2006 page 433 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Channel 1
TCLKA
TCLKB
Edge
detection
circuit
TCNT1
TGR1A
(speed period capture)
TGR1B
(position period capture)
TCNT0
TGR0A
(speed control period)
TGR0C
(position control period)
+
–
+
–
TGR0B
(pulse width capture)
TGR0D
(buffer operation)
Channel 0
Figure 10.32 Phase Counting Mode Application Example
10.5
Interrupts
10.5.1
Interrupt Sources and Priorities
There are three kinds of TPU interrupt source: TGR input capture/compare match, TCNT
overflow, and TCNT underflow. Each interrupt source has its own status flag and enable/disable
bit, allowing generation of internal reset signals to be enabled or disabled individually.
When an interrupt request is generated, the corresponding status flag in TSR is set to 1. If the
corresponding enable/disable bit in TIER is set to 1 at this time, an interrupt is requested. The
interrupt request is cleared by clearing the status flag to 0.
Relative channel priorities can be changed by the interrupt controller, but the priority order within
a channel is fixed. For details, see section 6, Interrupt Controller (INTC).
Rev. 5.00 Sep 11, 2006 page 434 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Table 10.13 lists the TPU interrupt sources.
Table 10.13 TPU Interrupts
Channel
Interrupt
Source
Description
DMAC
Activation
Priority
0
TGI0A
TGR0A input capture/compare match
Possible
High
TGI0B
TGR0B input capture/compare match
Not possible
TGI0C
TGR0C input capture/compare match
Not possible
TGI0D
TGR0D input capture/compare match
Not possible
TCI0V
TCNT0 overflow
Not possible
TGI1A
TGR1A input capture/compare match
Possible
1
2
3
4
5
TGI1B
TGR1B input capture/compare match
Not possible
TCI1V
TCNT1 overflow
Not possible
TCI1U
TCNT1 underflow
Not possible
TGI2A
TGR2A input capture/compare match
Possible
TGI2B
TGR2B input capture/compare match
Not possible
TCI2V
TCNT2 overflow
Not possible
TCI2U
TCNT2 underflow
Not possible
TGI3A
TGR3A input capture/compare match
Possible
TGI3B
TGR3B input capture/compare match
Not possible
TGI3C
TGR3C input capture/compare match
Not possible
TGI3D
TGR3D input capture/compare match
Not possible
TCI3V
TCNT3 overflow
Not possible
TGI4A
TGR4A input capture/compare match
Possible
TGI4B
TGR4B input capture/compare match
Not possible
TCI4V
TCNT4 overflow
Not possible
TCI4U
TCNT4 underflow
Not possible
TGI5A
TGR5A input capture/compare match
Possible
TGI5B
TGR5B input capture/compare match
Not possible
TCI5V
TCNT5 overflow
Not possible
TCI5U
TCNT5 underflow
Not possible
Low
Note: This table shows the initial state immediately after a reset. The relative channel priorities
can be changed by the interrupt controller.
Rev. 5.00 Sep 11, 2006 page 435 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Input Capture/Compare Match Interrupts
An interrupt is requested if the TGIE bit in TIER is set to 1 when the TGF flag in TSR is set to 1
by the occurrence of a TGR input capture/compare match on a particular channel. The interrupt
request is cleared by clearing the TGF flag to 0. The TPU has 16 input capture/compare match
interrupts, four each for channels 0 and 3, and two each for channels 1, 2, 4, and 5.
Overflow Interrupts
An interrupt is requested if the TCIEV bit in TIER is set to 1 when the TCFV flag in TSR is set to
1 by the occurrence of TCNT overflow on a particular channel. The interrupt request is cleared by
clearing the TCFV flag to 0. The TPU has six overflow interrupts, one for each channel.
Underflow Interrupts
An interrupt is requested if the TCIEU bit in TIER is set to 1 when the TCFU flag in TSR is set to
1 by the occurrence of TCNT underflow on a particular channel. The interrupt request is cleared
by clearing the TCFU flag to 0. The TPU has four overflow interrupts, one each for channels 1, 2,
4, and 5.
10.5.2
DMAC Activation
The TGRA input capture/compare match interrupt for a channel can be used as a DMAC
activation source. For details, see section 9, Direct Memory Access Controller (DMAC).
In the TPU, a total of six TGRA input capture/compare match interrupts can be used as DMAC
activation sources, one for each channel.
10.5.3
A/D Converter Activation
The A/D converter can be activated by the TGRA input capture/compare match interrupt for a
channel.
If the TTGE bit in TIER is set to 1 when the TFGA flag in TSR is set to 1 by the occurrence of a
TGRA input capture/compare match interrupt on a particular channel, a request to start A/D
conversion is sent to the A/D converter. If the TPU conversion start trigger has been selected on
the A/D converter side at this time, A/D conversion is started.
In the TPU, a total of six TGRA input capture/compare match interrupts can be used as A/D
converter conversion start sources, one for each channel.
Rev. 5.00 Sep 11, 2006 page 436 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.6
Operation Timing
10.6.1
Input/Output Timing
TCNT Count Timing
Figure 10.33 shows TCNT count timing in input clock operation, and figure 10.34 shows TCNT
count timing in external clock operation.
Pφ
Internal clock
Rising edge
Falling edge
TCNT input
clock
TCNT
N–1
N
N+1
N+2
Figure 10.33 Count Timing in Internal Clock Operation
Pφ
External clock
Falling edge
Rising edge
Falling edge
TCNT input
clock
TCNT
N–1
N
N+1
N+2
Figure 10.34 Count Timing in External Clock Operation
Output Compare Output Timing
A compare match signal is generated in the final state in which TCNT and TGR match (the point
at which the count value matched by TCNT is updated). When a compare match signal is
generated, the output value set in TIOR is output at the output compare output pin (the TIOC pin).
Rev. 5.00 Sep 11, 2006 page 437 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
After a match between TCNT and TGR, the compare match signal is not generated until the
TCNT input clock is generated.
Figure 10.35 shows output compare output timing.
Pφ
TCNT input
clock
TCNT
N
TGR
N
N+1
Compare match
signal
TIOC pin
Figure 10.35 Output Compare Output Timing
Input Capture Signal Timing
Figure 10.36 shows input capture signal timing.
Pφ
Input capture
input
Input capture
signal
TCNT
N
N+1
N+2
N
TGR
Figure 10.36 Input Capture Input Signal Timing
Rev. 5.00 Sep 11, 2006 page 438 of 916
REJ09B0332-0500
N+2
Section 10 16-Bit Timer Pulse Unit (TPU)
Timing of Counter Clearing by Compare Match/Input Capture
Figure 10.37 shows the timing when counter clearing by compare match occurrence is specified,
and figure 10.38 shows the timing when counter clearing by input capture occurrence is specified.
Pφ
Compare match
signal
Counter clear
signal
TCNT
N
TGR
N
H'0000
Figure 10.37 Counter Clear Timing (Compare Match)
Pφ
Input capture
signal
Counter clear
signal
TCNT
TGR
N
H'0000
N
Figure 10.38 Counter Clear Timing (Input Capture)
Rev. 5.00 Sep 11, 2006 page 439 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Buffer Operation Timing
Figures 10.39 and 10.40 show the timing in buffer operation.
Pφ
n
TCNT
n+1
Compare match
signal
TGRA, TGRB
n
TGRC, TGRD
N
N
Figure 10.39 Buffer Operation Timing (Compare Match)
Pφ
Input capture
signal
TCNT
N
TGRA, TGRB
n
TGRC, TGRD
N+1
N
N+1
n
N
Figure 10.40 Buffer Operation Timing (Input Capture)
Rev. 5.00 Sep 11, 2006 page 440 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.6.2
Interrupt Signal Timing
TGF Flag Setting Timing in Case of Compare Match
Figure 10.41 shows the timing of setting of the TGF flag in TSR by compare match occurrence,
and the TGI interrupt request signal timing.
Pφ
TCNT input
clock
TCNT
N
TGR
N
N+1
Compare match
signal
TGF flag
TGI interrupt
Figure 10.41 TGI Interrupt Timing (Compare Match)
Rev. 5.00 Sep 11, 2006 page 441 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
TGF Flag Setting Timing in Case of Input Capture
Figure 10.42 shows the timing of setting of the TGF flag in TSR by input capture occurrence, and
the TGI interrupt request signal timing.
Pφ
Input capture
signal
TCNT
N
TGR
N
TGF flag
TGI interrupt
Figure 10.42 TGI Interrupt Timing (Input Capture)
Rev. 5.00 Sep 11, 2006 page 442 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
TCFV Flag/TCFU Flag Setting Timing
Figure 10.43 shows the timing of setting of the TCFV flag in TSR by overflow occurrence, and
the TCIV interrupt request signal timing.
Figure 10.44 shows the timing of setting of the TCFU flag in TSR by underflow occurrence, and
the TCIU interrupt request signal timing.
Pφ
TCNT input
clock
TCNT
(overflow)
H'FFFF
H'0000
Overflow
signal
TCFV flag
TCIV interrupt
Figure 10.43 TCIV Interrupt Setting Timing
Pφ
TCNT input
clock
TCNT
(underflow)
H'0000
H'FFFF
Underflow
signal
TCFU flag
TCIU interrupt
Figure 10.44 TCIU Interrupt Setting Timing
Rev. 5.00 Sep 11, 2006 page 443 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Status Flag Clearing Timing
After a status flag is read as 1 by the CPU, it is cleared by writing 0 to it. When the DMAC is
activated, the flag is cleared automatically. Figure 10.45 shows the timing of status flag clearing
by the CPU, and figure 10.46 shows the timing of status flag clearing by the DMAC.
TSR write cycle
T1
T2
Pφ
TSR address
Address
Write signal
Status flag
Interrupt
request signal
Figure 10.45 Timing of Status Flag Clearing by CPU
DMAC
read cycle
T1
T2
DMAC
write cycle
T1
T2
Pφ
Address
Source address
Destination address
Status flag
Interrupt
request signal
Figure 10.46 Timing of Status Flag Clearing by DMAC Activation
Rev. 5.00 Sep 11, 2006 page 444 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
10.7
Usage Notes
Note that the kinds of operation and contention described below occur during TPU operation.
Input Clock Restrictions
The input clock pulse width must be at least 1.5 states in the case of single-edge detection, and at
least 2.5 states in the case of both-edge detection. The TPU will not operate properly with a
narrower pulse width.
In phase counting mode, the phase difference and overlap between the two input clocks must be at
least 1.5 states, and the pulse width must be at least 2.5 states. Figure 10.47 shows the input clock
conditions in phase counting mode.
Phase
difference
Overlap
Phase
difference
Overlap
Pulse width
Pulse width
TCLKA
(TCLKC)
TCLKB
(TCLKD)
Pulse width
Pulse width
Notes: Phase difference and overlap: 1.5 states or more
Pulse width:
2.5 states or more
Figure 10.47 Phase Difference, Overlap, and Pulse Width in Phase Counting Mode
Caution on Period Setting
When counter clearing by compare match is set, TCNT is cleared in the final state in which it
matches the TGR value (the point at which the count value matched by TCNT is updated).
Consequently, the actual counter frequency is given by the following formula:
f=
Pφ
(N + 1)
f: Counter frequency
Pφ: Operating frequency
N: TGR set value
Rev. 5.00 Sep 11, 2006 page 445 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between TCNT Write and Clear Operations
If the counter clear signal is generated in the T2 state of a TCNT write cycle, TCNT clearing takes
precedence and the TCNT write is not performed.
Figure 10.48 shows the timing in this case.
TCNT write cycle
T1
T2
Pφ
Address
TCNT address
Write signal
Counter clear
signal
N
TCNT
H'0000
Figure 10.48 Contention between TCNT Write and Clear Operations
Rev. 5.00 Sep 11, 2006 page 446 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between TCNT Write and Increment Operations
If incrementing occurs in the T2 state of a TCNT write cycle, the TCNT write takes precedence
and TCNT is not incremented.
Figure 10.49 shows the timing in this case.
TCNT write cycle
T1
T2
Pφ
Address
TCNT address
Write signal
TCNT input
clock
TCNT
N
M
TCNT write data
Figure 10.49 Contention between TCNT Write and Increment Operations
Rev. 5.00 Sep 11, 2006 page 447 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between TGR Write and Compare Match
If a compare match occurs in the T2 state of a TGR write cycle, the TGR write takes precedence
and the compare match signal is inhibited. A compare match does not occur even if the same value
as before is written.
Figure 10.50 shows the timing in this case.
TGR write cycle
T1
T2
Pφ
TGR address
Address
Write signal
Compare match
signal
Inhibited
TCNT
N
N+1
TGR
N
M
TGR write data
Figure 10.50 Contention between TGR Write and Compare Match
Rev. 5.00 Sep 11, 2006 page 448 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between Buffer Register Write and Compare Match
If a compare match occurs in the T2 state of a TGR write cycle, the data transferred to TGR by the
buffer operation will be the write data.
Figure 10.51 shows the timing in this case.
TGR write cycle
T1
T2
Pφ
Buffer register
address
Address
Write signal
Compare match
signal
Buffer register write data
Buffer register
TGR
N
M
M
Figure 10.51 Contention between Buffer Register Write and Compare Match
Rev. 5.00 Sep 11, 2006 page 449 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between TGR Read and Input Capture
If the input capture signal is generated in the T1 state of a TGR read cycle, the data that is read
will be the data after input capture transfer.
Figure 10.52 shows the timing in this case.
TGR read cycle
T1
T2
Pφ
TGR address
Address
Read signal
Input capture
signal
TGR
X
Internal data
bus
M
M
Figure 10.52 Contention between TGR Read and Input Capture
Rev. 5.00 Sep 11, 2006 page 450 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between TGR Write and Input Capture
If the input capture signal is generated in the T2 state of a TGR write cycle, the input capture
operation takes precedence and the write to TGR is not performed.
Figure 10.53 shows the timing in this case.
TGR write cycle
T1
T2
Pφ
TGR address
Address
Write signal
Input capture
signal
TCNT
TGR
M
M
Figure 10.53 Contention between TGR Write and Input Capture
Rev. 5.00 Sep 11, 2006 page 451 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between Buffer Register Write and Input Capture
If the input capture signal is generated in the T2 state of a buffer write cycle, the buffer operation
takes precedence and the write to the buffer register is not performed.
Figure 10.54 shows the timing in this case.
Buffer register write cycle
T1
T2
Pφ
Buffer register
address
Address
Write signal
Input capture
signal
TCNT
N
M
TGR
Buffer register
N
M
Figure 10.54 Contention between Buffer Register Write and Input Capture
Rev. 5.00 Sep 11, 2006 page 452 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between Overflow/Underflow and Counter Clearing
If overflow/underflow and counter clearing occur simultaneously, TCNT clearing takes
precedence and the TCFV/TCFU flag in TSR is not set.
Figure 10.55 shows the operation timing when a TGR compare match is specified as the clearing
source, and H'FFFF is set in TGR.
Pφ
TCNT input
clock
TCNT
H'FFFF
H'0000
Counter clear
signal
TGF
TCFV
Inhibited
Figure 10.55 Contention between Overflow and Counter Clearing
Rev. 5.00 Sep 11, 2006 page 453 of 916
REJ09B0332-0500
Section 10 16-Bit Timer Pulse Unit (TPU)
Contention between TCNT Write and Overflow/Underflow
If there is an up-count or down-count in the T2 state of a TCNT write cycle, and
overflow/underflow occurs, the TCNT write takes precedence and the TCFV/TCFU flag in TSR is
not set.
Figure 10.56 shows the operation timing in case of contention between a TCNT write and
overflow.
TCNT write cycle
T1
T2
Pφ
TCNT address
Address
Write signal
TCNT
TCNT write data
H'FFFF
M
TCFV flag
Figure 10.56 Contention between TCNT Write and Overflow
Rev. 5.00 Sep 11, 2006 page 454 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Section 11 Motor Management Timer (MMT)
11.1
Overview
The SH7065 has an on-chip motor management timer (MMT) consisting of a 16-bit timer. The
MMT is a single-channel timer capable of outputting 6-phase PWM waveforms with non-overlap
times.
11.1.1
Features
The MMT has the following features:
• Triangular wave comparison type 6-phase PWM waveform output with non-overlap times
 Non-overlap times generated by timer dead time counters
• Toggle output synchronized with PWM period
• Counter clearing can be performed by an external signal
• Provision for data transfer by means of DMAC activation
• A/D converter conversion start trigger can be generated
 Compare match signal used as A/D converter conversion start trigger
• Output-off functions
 PWM output halted by external signal
 PWM output halted when oscillation stops
Rev. 5.00 Sep 11, 2006 page 455 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.1.2
Block Diagram
2Td compare match interrupt
TPBR
TDDR
+2Td
TPDR compare match interrupt
Figure 11.1 shows a block diagram of the MMT. Pφ is obtained by division of CKP according to a
setting in the module clock division setting register.
TDCNT0
×2
Comparators
TPDR
Comparators
Control circuit
PCO
PCI
TCNT
Magnitude comparators
Pφ
PUOA
PUOB
PVOA
PVOB
TGRWD
TGRWU
TGRW
+Td
+2Td
TGRVD
TGRVU
TGRUD
TGRV
+Td
TBRV
TMDR
TCNT
TBRW
Legend:
TGR: Timer general register
TBR: Timer buffer register
TDDR: Timer dead time data register
TPDR: Timer period data register
TPBR: Timer period buffer register
Td:
Dead time
TMDR:
TCNR:
TSR:
TCNT:
TDCNT:
TSR
A/D conversion start request signal
TBRU
+2Td
TGRU
+Td
+2Td
TGRUU
PWOA
PWOB
Timer mode register
Timer control register
Timer status register
Timer counter
Timer dead time counter
Figure 11.1 Block Diagram of MMT
Rev. 5.00 Sep 11, 2006 page 456 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.1.3
Pin Configuration
Table 11.1 shows the pin configuration of the MMT.
Table 11.1 MMT Pins
Pin Name
Signal Name
I/O
Function
Counter clear input
PCI
Input
Counter clear signal input
PWM period output
PCO
Output
Toggle output synchronized with PWM
period
PWMU phase output A
PUOA
Output
PWMU phase output (positive phase)
PWMU phase output B
PUOB
Output
PWMU phase output (negative phase)
PWMV phase output A
PVOA
Output
PWMV phase output (positive phase)
PWMV phase output B
PVOB
Output
PWMV phase output (negative phase)
PWMW phase output A
PWOA
Output
PWMW phase output (positive phase)
PWMW phase output B
PWOB
Output
PWMW phase output (negative phase)
11.1.4
Register Configuration
Table 11.2 summarizes the MMT registers.
Table 11.2 MMT Registers
Name
Abbreviation
R/W
Initial
Value
Address
Access Size
Timer mode register
TMDR
R/W
H'00
H'FFFF 0480
8, 16, 32
Timer control register
TCNR
R/W
H'00
H'FFFF 0482
8, 16, 32
Timer status register
TSR
R/(W)
H'80
H'FFFF 0484
8, 16, 32
Timer counter
TCNT
R/W
H'0000
H'FFFF 0486
16, 32
Timer buffer register U
TBRU
R/W
H'FFFF
H'FFFF 0490,
H'FFFF 049C*
16, 32
Timer buffer register V
TBRV
R/W
H'FFFF
H'FFFF 04A0,
H'FFFF 04AC*
16, 32
Timer buffer register W
TBRW
R/W
H'FFFF
H'FFFF 04B0,
H'FFFF 04BC*
16, 32
Timer general register UU
TGRUU
R/W
H'FFFF
H'FFFF 0492
16, 32
Rev. 5.00 Sep 11, 2006 page 457 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Name
Abbreviation
R/W
Initial
Value
Address
Access Size
Timer general register VU
TGRVU
R/W
H'FFFF
H'FFFF 04A2
16, 32
Timer general register WU
TGRWU
R/W
H'FFFF
H'FFFF 04B2
16, 32
Timer general register U
TGRU
R/W
H'FFFF
H'FFFF 0494
16, 32
Timer general register V
TGRV
R/W
H'FFFF
H'FFFF 04A4
16, 32
Timer general register W
TGRW
R/W
H'FFFF
H'FFFF 04B4
16, 32
Timer general register UD
TGRUD
R/W
H'FFFF
H'FFFF 0496
16, 32
Timer general register VD
TGRVD
R/W
H'FFFF
H'FFFF 04A6
16, 32
Timer general register WD
TGRWD
R/W
H'FFFF
H'FFFF 04B6
16, 32
Timer dead time counter 0
TDCNT0
R
H'0000
H'FFFF 0498
16, 32
Timer dead time counter 1
TDCNT1
R
H'0000
H'FFFF 049A
16, 32
Timer dead time counter 2
TDCNT2
R
H'0000
H'FFFF 04A8
16, 32
Timer dead time counter 3
TDCNT3
R
H'0000
H'FFFF 04AA
16, 32
Timer dead time counter 4
TDCNT4
R
H'0000
H'FFFF 04B8
16, 32
Timer dead time counter 5
TDCNT5
R
H'0000
H'FFFF 04BA
16, 32
Timer dead time data register
TDDR
R/W
H'FFFF
H'FFFF 048C
16, 32
Timer period buffer register
TPBR
R/W
H'FFFF
H'FFFF 048A
16, 32
Timer period data register
TPDR
R/W
H'FFFF
H'FFFF 0488
16, 32
Note: Registers TBRU to TBRW each have two addresses, a buffer operation address (shown
first) and a free operation address (shown second). A value written to the buffer operation
address is transferred to the corresponding TGR at the timing set in bits MD1 and MD0 in
the timer mode register (TMDR). A value set in the free operation address is transferred to
the corresponding TGR immediately.
Rev. 5.00 Sep 11, 2006 page 458 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.2
Register Descriptions
11.2.1
Timer Mode Register (TMDR)
The timer mode register (TMDR) is an 8-bit readable/writable register that sets the operating mode
and selects the PWM output level.
TMDR is initialized to H'00 by a power-on reset and in standby mode. It is not initialized in
module standby mode.
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
OLSN
OLSP
MD1
MD0
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
—
—
R/W
R/W
R/W
R/W
Bits 7 to 4—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 3—Output Level Select N (OLSN): Selects the negative phase output level in the operating
modes.
Bit 3: OLSN
Description
0
Active level is low
1
Active level is high
(Initial value)
Bit 2—Output Level Select P (OLSP): Selects the positive phase output level in the operating
modes.
Bit 2: OLSP
Description
0
Active level is low
1
Active level is high
(Initial value)
Rev. 5.00 Sep 11, 2006 page 459 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Bits 1 and 0—Mode 1 and 0 (MD1, MD0): These bits set the timer operating mode.
Bit 1: MD1
Bit 0: MD0
Description
0
0
Operation halted
1
Operating mode 1 (transfer at crest)
1
0
Operating mode 2 (transfer at trough)
1
Operating mode 3 (transfer at crest and trough)
11.2.2
(Initial value)
Timer Control Register (TCNR)
The timer control register (TCNR) is an 8-bit readable/writable register that controls enabling or
disabling of interrupt requests, selects enabling or disabling of register access, selects counter
operation or halting, and controls enabling or disabling of toggle output synchronized with the
PWM period.
TCNR is initialized to H'00 by a power-on reset and in standby mode. It is not initialized in
module standby mode.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
TTGE
CST
RPRO
—
—
—
TGIEN
TGIEM
0
0
0
0
0
0
0
0
R/W
R/W
R/W
—
—
—
R/W
R/W
Bit 7—A/D Conversion Start Request Enable (TTGE): Enables or disables generation of A/D
conversion start requests by a compare match between TCNT and the TPDR register, and by a
compare match between TCNT and 2Td (Td: dead time).
Bit 7: TTGE
Description
0
A/D conversion start request generation disabled
1
A/D conversion start request generation enabled
The A/D conversion start timing in each operating mode is shown in table 11.3.
Rev. 5.00 Sep 11, 2006 page 460 of 916
REJ09B0332-0500
(Initial value)
Section 11 Motor Management Timer (MMT)
Table 11.3 Conversion Start Timing in Each Operating Mode
Operating Mode
A/D Conversion Start Timing
Operating mode 1 (transfer at crest)
A/D conversion starts at trough
Operating mode 2 (transfer at trough)
A/D conversion starts at crest
Operating mode 3 (transfer at crest and trough)
A/D conversion starts at crest or trough
Bit 6—Timer Counter Start (CST): Selects operation or halting of the timer counter (TCNT)
and timer dead time counter (TDCNT).
Bit 6: CST
Description
0
TCNT and TDCNT operation is halted
1
TCNT and TDCNT perform count operations
(Initial value)
Bit 5—Register Protect (RPRO): Enables or disables reading of registers other than TSR and
writes to registers other than TBRU to TBRW, TPBR, and TSR. Writes to TCNR itself are also
disabled. Note that reset input is necessary in order to write to these registers again.
Bit 5: RPRO
Description
0
Register access enabled
1
Register access disabled
(Initial value)
Bits 4 to 2—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 1—TGR Interrupt Enable N (TGIEN): Enables or disables interrupt requests by the TGFN
bit in the TSR register when TGFN is set to 1.
Bit 1: TGIEN
Description
0
Interrupt requests (TGIN) by TGFN bit disabled
1
Interrupt requests (TGIN) by TGFN bit enabled
(Initial value)
Bit 0—TGR Interrupt Enable M (TGIEM): Enables or disables interrupt requests by the TGFM
bit in the TSR register when TGFM is set to 1.
Bit 0: TGIEM
Description
0
Interrupt requests (TGIM) by TGFM bit disabled
1
Interrupt requests (TGIM) by TGFM bit enabled
(Initial value)
Rev. 5.00 Sep 11, 2006 page 461 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.2.3
Timer Status Register (TSR)
The timer status register (TSR) is an 8-bit register containing status flags.
TSR is initialized to H'80 by a power-on reset and in standby mode. It is not initialized in module
standby mode.
Bit:
7
6
5
4
3
2
1
0
TCFD
—
—
—
—
—
TGFN
TGFM
0
R/(W)*
0
R/(W)*
Initial value:
1
0
0
0
0
0
R/W:
R
—
—
—
—
—
Note:
*
Can only be written with 0 for flag clearing.
Bit 7—Count Direction Flag (TCFD): Status flag that indicates the count direction of the TCNT
counter.
Bit 7: TCFD
Description
0
TCNT counts down
1
TCNT counts up
(Initial value)
Bits 6 to 2—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 1—Output Compare Flag N (TGFN): Status flag that indicates the occurrence of a compare
match between TCNT and 2Td (Td: TDDR value).
Bit 1: TGFN
Description
0
[Clearing condition]
When 0 is written to TGFN after reading TGFN = 1
1
[Setting condition]
When TCNT = 2Td
Rev. 5.00 Sep 11, 2006 page 462 of 916
REJ09B0332-0500
(Initial value)
Section 11 Motor Management Timer (MMT)
Bit 0—Output Compare Flag M (TGFM): Status flag that indicates the occurrence of a compare
match between TCNT and the TPDR register.
Bit 0: TGFM
Description
0
[Clearing condition]
(Initial value)
When 0 is written to TGFM after reading TGFM = 1
1
[Setting condition]
When TCNT = TGRM
11.2.4
Timer Counter (TCNT)
The timer counter (TCNT) is a 16-bit counter.
TCNT is initialized to H'0000 by a power-on reset and in standby mode. It is not initialized in
module standby mode. Only 16-bit access can be used on TCNT; 8-bit access is not possible.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
11.2.5
Timer Buffer Registers (TBR)
The timer buffer registers (TBR) function as 16-bit buffer registers. The MMT has three TBR
registers. The TBR value is transferred to the TGR register at the timing set in the TMDR register
(except in the case of a write to the TBR’s free operation address, in which case the value is
transferred to the TGR register immediately).
The TBR registers are initialized to H'FFFF by a power-on reset and in standby mode. They are
not initialized in module standby mode. Only 16-bit access can be used on the TBR registers; 8-bit
access is not possible.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Rev. 5.00 Sep 11, 2006 page 463 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.2.6
Timer General Registers (TGR)
The timer general registers (TGR) function as 16-bit compare registers. The MMT has nine TGR
registers, which are compared with the TCNT counter in the operating modes.
The TGR registers are initialized to H'FFFF by a power-on reset and in standby mode. They are
not initialized in module standby mode. Only 16-bit access can be used on the TGR registers; 8-bit
access is not possible.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
11.2.7
Timer Dead Time Counters (TDCNT)
The timer dead time counters (TDCNT) are 16-bit read-only counters.
The TDCNT counters are initialized to H'0000 by a power-on reset and in standby mode. They are
not initialized in module standby mode. Only 16-bit access can be used on the TDCNT counters;
8-bit access is not possible.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Rev. 5.00 Sep 11, 2006 page 464 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.2.8
Timer Dead Time Data Register (TDDR)
The timer dead time data register (TDDR) is a 16-bit register that sets the positive phase and
negative phase non-overlap time (dead time).
TDDR is initialized to H'FFFF by a power-on reset and in standby mode. It is not initialized in
module standby mode. Only 16-bit access can be used on TDDR ; 8-bit access is not possible.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
11.2.9
Timer Period Buffer Register (TPBR)
The timer period buffer register (TPBR) is a 16-bit register that functions as a buffer register for
the TPDR register. A value of 1/2 the PWM carrier period should be set as the TPBR value. The
TPBR value is transferred to the TPDR register at the transfer timing set in the TMDR register.
TPBR is initialized to H'FFFF by a power-on reset and in standby mode. It is not initialized in
module standby mode. Only 16-bit access can be used on TPBR ; 8-bit access is not possible.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Rev. 5.00 Sep 11, 2006 page 465 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.2.10 Timer Period Data Register (TPDR)
The timer period data register (TPDR) functions as a 16-bit compare register. In the operating
modes, the TPDR register value is constantly compared with the TCNT counter value, and when
they match the TCNT counter changes its count direction from up to down.
TPDR is initialized to H'FFFF by a power-on reset and in standby mode. It is not initialized in
module standby mode. Only 16-bit access can be used on TPDR ; 8-bit access is not possible.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
11.3
Operation
When the operating mode is selected, 3-phase PWM waveform output is performed with a nonoverlap relationship between the positive and negative phases.
The PUOA, PUOB, PVOA, PVOB, PWOA, and PWOB pins are PWM output pins, and the PCIO
pin functions as a toggle output synchronized with the PWM waveform, or as the counter clear
signal input. The TCNT counter performs up- and down-count operations, while the TDCNT
counters perform up-count operations.
Rev. 5.00 Sep 11, 2006 page 466 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.3.1
Sample Setting Procedure
An example of the operating mode setting procedure is shown in figure 11.2.
Halt count operation
Clear the CST bit to 0 in the timer control register
(TCNR) to halt timer counter operation. Make the
operating mode setting while TCNT is halted.
Set 2Td (Td: dead time) in TCNT.
Set TCNT
Set dead time carrier period
Set dead time Td in the dead time data register
(TDDR), set 1/2 the carrier period in the timer period
buffer register (TPBR), and set {TPBR value + 2Td} in
the timer period data register (TPDR).
Set TBR
Set the output {PWM duty initial value – Td} in the free
operation addresses of the buffer registers (TBRU,
TBRV, TBRW).
Set PWM output level
Set the PWM output level with bits OLSN and OLSP in
the timer mode register (TMDR).
Set operating mode
Set external pin functions
Start count operation
Set the operating mode in the timer mode register
(TMDR). The PUOA, PUOB, PVOA, PVOB, PWOA,
and PWOB pins are output pins.
Set the external pin functions with the pin function
controller (PFC).
Set the CST bit to 1 in TCNR to start the count
operation.
<Operating mode>
Figure 11.2 Sample Operating Mode Setting Procedure
Rev. 5.00 Sep 11, 2006 page 467 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.3.2
Overview of Operation
Count Operation
Set 2Td (Td: value set in TDDR) as the initial value of the TCNT counter when the setting of the
CST bit in TCNR is 0.
When the CST bit is set to 1, TCNT counts up to {value set in TPBR + 2Td}, and then starts
counting down. When TCNT reaches 2Td, it starts counting up again, and continues in this way.
TCNT is constantly compared with TGRU, TGRV, and TGRW. In addition, it is compared with
TGRUU, TGRVU, TGRWU, and TPDR when counting up, and with TGRUD, TGRVD,
TGRWD, and 2Td when counting down.
TDCNT0 to TDCNT5 are read-only counters. It is not necessary to set their initial values.
TDCNT0, TDCNT2, and TDCNT4 start counting up at the falling edge of positive phase compare
match output when TCNT is counting up, and when they match TDDR they are cleared to 0 and
halt.
TDCNT1, TDCNT3, and TDCNT5 start counting up at the falling edge of negative phase compare
match output when TCNT is counting up, and when they match TDDR they are cleared to 0 and
halt.
TDCNT0 to TDCNT5 are compared with TDDR only while a count operation is in progress. No
count operation is performed when the TDDR value is 0.
Figure 11.3 shows an example of the TCNT count operation.
Rev. 5.00 Sep 11, 2006 page 468 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
H'FFFF
2Td
TPDR
TCNT
TGRUU
Td
TGRU
TGRUD
Td
1/2 period
(TPBR)
2Td
2Td
Td
H'0000
Figure 11.3 Example of TCNT Count Operation
Register Operation
In the operating modes, four buffer registers and ten compare registers are used.
The registers constantly compared with the TCNT counter are TGRU, TGRV, and TGRW. In
addition, TGRUU, TGRVU, TGRWU, and TPDR are compared with TCNT when it is when
counting up, and TGRUD, TGRVD, TGRWD are compared with TCNT when it is counting
down. The buffer register for TPDR is TPBR; the buffer register for TGRUU, TGRU, and
TGRUD is TBRU; the buffer register for TGRVU, TGRV, and TGRVD is TBRV; and the buffer
register for TGRWU, TGRW, and TGRWD is TBRW.
To change compare register data, the new data should be written to the corresponding buffer
register. The buffer registers can be read and written to at all times. Data written to TPBR and to
the buffer operation addresses for and TBRU to TBRW is transferred at the timing specified by
bits MD1 and MD0 in the timer mode register (TMDR). Data written to the free operation
addresses for TBRU to TBRW is transferred immediately.
After data transfer is completed, the relationship between the compare registers and buffer
registers is as follows.
Rev. 5.00 Sep 11, 2006 page 469 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
TGRU (TGRV, TGRW) value = TBRU (TBRV, TBRW) value + Td (Td: value set in TDDR)
TGRUU (TGRVU, TGRWU) value = TBRU (TBRV, TBRW) value + 2Td
TGRUD (TGRVD, TGRWD) value = TBRU (TBRV, TBRW) value
TPDR value = TPBR value + 2Td
The values of TBRU to TBRW should always be set in the range H'0000 to H'FFFF – 2Td, and the
value of TPBR should always be set in the range H'0000 to H'FFFF – 4Td.
Figure 11.4 shows examples of counter and register operations.
×2
+
+
TDDR
(Td)
TGRUU
TGRVU
(TBR + 2Td)
TGRWU
Compared during
up-count
TGRU
TGRV
TGRW
Constantly
compared
(TBR + Td)
TCNT
TBRU
TBRV
TBRW
TGRUD
TGRVD
TGRWD (TBR)
Compared during
down-count
(TBR)
(1/2 period + 2Td)
+
TPBR
TPDR
(1/2 period)
Compared during
up-count
Up-count → compare
match → down-count
Compared during
down-count
Down-count → compare
match → up-count
TCNT
TDDR
×2
(2Td)
(Td)
TDDR
(Td)
Up-count → compare match → halt
TDCNT
Figure 11.4 Examples of Counter and Register Operations
Rev. 5.00 Sep 11, 2006 page 470 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Initial Settings
In the operating modes, there are five registers that require initial settings.
Make the following register settings before setting the operating mode with bits MD1 and MD0 in
the timer mode register (TMDR).
Set 1/2 the PWM carrier period in the timer period buffer register (TPBR), dead time Td in the
timer dead time data register (TDDR) (when outputting an ideal waveform, Td = H'0000), and
{TPBR value + 2Td} in the timer period data register (TPDR).
Set {PWM duty initial value – Td} in the free write operation addresses for TBRU to TBRW.
The values of TBRU to TBRW should always be set in the range H'0000 to H'FFFF – 2Td, and the
value of TPBR should always be set in the range H'0000 to H'FFFF – 4Td.
PWM Output Active Level Setting
In the operating modes, the active level of PWM pulses is set with bits OLSN and OLSP in the
timer mode register (TMDR).
The output level can be set for the three positive phases and the three negative phases of 6-phase
output. The operating mode must be exited before setting or changing the output level.
Dead time Setting
In the operating modes, PWM pulses are output with a non-overlap relationship between the
positive and negative phases. This non-overlap time is known as the dead time. The non-overlap
time is set in the timer dead time data register (TDDR). The dead time generation waveform is
generated by comparing the value set in TDDR with the timer dead time counters (TDCNT) for
each phase. The operating mode must be exited before changing the contents of TDDR.
PWM Period Setting
In the operating modes, 1/2 the PWM pulse period is set in the TPBR register. The TPBR value
should always be set in the range H'0000 to H'FFFF – 4Td. The value set in TPBR is transferred to
TPDR at the timing selected with bits MD1 and MD0 in the timer mode register (TMDR). After
the transfer, the value in TPDR is {TPBR value + 2Td}.
The new PWM period is effective from the next period when data updating is performed at the
TCNT counter crest, and from the same period when data updating is performed at the trough.
Rev. 5.00 Sep 11, 2006 page 471 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Register Updating
In the operating modes, buffer registers are used to update compare register data. Update data can
be written to a buffer register at all times. The buffer register value is transferred to the compare
register at the timing set by bits MD1 and MD0 in the timer mode register (TMDR) (except in the
case of a write to the free operation address for TBRU to TBRW, in which case the value is
transferred to the compare register immediately).
Initial Output in Operating Modes
The initial output in the operating modes is determined by the initial value of TBRU to TBRW.
Table 11.4 shows the relationship between the initial value of TBRU to TBRW and the initial
output.
Table 11.4 Initial Values of TBRU to TBRW and Initial Output
Initial Output
Initial Value of TBRU to TBRW
OLSP = 1, OLSN = 1
OLSP = 0, OLSN = 0
TBR = H'0000
Positive phase: 1
Positive phase: 0
Negative phase: 0
Negative phase: 1
H'0000 < TBR ≤ Td
Td < TBR ≤ H'FFFF – 2Td
Positive phase: 0
Positive phase: 1
Negative phase: 0
Negative phase: 1
Positive phase: 0
Positive phase: 1
Negative phase: 1
Negative phase: 0
PWM Output Generation in Operating Modes
In the operating modes, 3-phase PWM waveform output is performed with a non-overlap
relationship between the positive and negative phases. This non-overlap time is called the dead
time.
The PWM waveform is generated from an output generation waveform generated by ANDing the
compare output waveform with the dead time generation waveform. Waveform generation for one
phase (the U-phase) is shown here. The V-phase and W-phase waveforms are generated in the
same way.
Rev. 5.00 Sep 11, 2006 page 472 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Compare Output Waveform: The compare output waveform is generated by comparing the
values in the TCNT counter and the TGR registers.
For compare output waveform U phase A (CMOUA), 0 is output if TGRUU > TCNT in the T1
interval (when TCNT is counting up), and 1 is output if TGRUU ≤ TCNT. In the T2 interval
(when TCNT is counting down), 0 is output if TGRU > TCNT, and 1 is output if TGRU ≤ TCNT.
For compare output waveform U phase B (CMOUB), 1 is output if TGRU > TCNT in the T1
interval, and 0 is output if TGRU ≤ TCNT. In the T2 interval, 1 is output if TGRUD > TCNT, and
0 is output if TGRUD ≤ TCNT.
Dead Time Generation Waveform: For dead time generation waveform U phase A (DTGUA)
and B (DTGUB), 1 is output as the initial value.
TDCNT0 starts counting at the falling edge of CMOUA. DTGUA outputs 0 while TDCNT0 is
counting, and 1 otherwise.
TDCNT1 starts counting at the falling edge of CMOUB. DTGUB outputs 0 while TDCNT1 is
counting, and 1 otherwise.
Output Generation Waveform: Output generation waveform U phase A (OGUA) is generated
by ANDing CMOUA and DTGUB, and output generation waveform U phase B (OGUB) is
generated by ANDing CMOUB and DTGUA.
PWM Waveform: The PWM waveform is generated by converting the output generation
waveform to the output level set in bits OLSN and OLSP in the timer mode register (TMDR).
Figure 11.5 shows an example of PWM waveform generation (operating mode 3, OLSN = 1,
OLSP = 1).
Rev. 5.00 Sep 11, 2006 page 473 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
When writing to free
operation address
TPDR
2Td
Compare output
waveform
Dead time generation
waveform
Output generation
waveform
PWM waveform
Figure 11.5 Example of PWM Waveform Generation
0% to 100% Duty Output
In the operating modes, PWM waveforms with any duty from 0% to 100% can be output. The
output PWM duty is set by means of the buffer registers (TBRU to TBRW).
100% duty output is performed when the buffer register (TBRU to TBRW) value is set to H'0000.
The waveform in this case has the positive phase in the 100% on state. 0% duty output is
performed when a value greater than the TPDR value is set as the buffer register (TBRU to
TBRW) value. The waveform in this case has the positive phase in the 100% off state.
External Counter Clear Function
In the operating modes, the TCNT counter can be cleared from an external source. When using the
counter clear function, the PCIO pin function should be set to input with the pin function
controller (PFC).
At the falling edge of PCIO, the TCNT counter is cleared to 2Td (initial set value), counts up until
it reaches the TPDR value, and then starts counting down. When the count reaches 2Td, TCNT
starts counting up again, and this sequence is repeated. An example of counter clearing is shown in
figure 11.6.
Rev. 5.00 Sep 11, 2006 page 474 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
TPDR
TCNT
2Td
H'0000
PCIO pin
(counter clear input)
Figure 11.6 Example of TCNT Counter Clearing
Toggle Output Synchronized with PWM Period
In the operating modes, output can be toggled in synchronization with the PWM carrier period.
When outputting the PWM period, the PCIO pin function should be set to output with the pin
function controller (PFC). An example of the toggle output waveform is shown in figure 11.7.
PWM output is toggled according to the TCNT count direction. The toggle output pin is PCIO.
PCIO outputs 1 when TCNT is counting up, and 0 when counting down.
TPDR
TCNT
2Td
H'0000
PCIO pin
(toggle output)
Figure 11.7 Example of Toggle Output Waveform Synchronized with PWM Period
Rev. 5.00 Sep 11, 2006 page 475 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
A/D Conversion Start Request Setting
An A/D conversion start request can be made using a compare match between TCNT and TPDR
or between TCNT and 2Td. When a start request using a compare match between TCNT and
TPDR is set, A/D conversion can be started in the middle of a PWM pulse (at the TCNT counter
crest). When a start request using a compare match between TCNT and 2Td is set, A/D conversion
can be started at the edge of a PWM pulse (at the TCNT counter trough).
A/D conversion start requests can be set by setting the TTGE bit to 1 in the timer control register
(TCNR).
11.3.3
Output Protection Functions
Operating mode output has the following protection functions.
• Halting PWM output by external signal
The 6-phase PWM output pins can be placed in the high-impedance state automatically by
inputting a specified external signal. There are four external signal input pins. For details, see
section 11.7, Port Output Enable (POE).
• Halting PWM output when oscillation stops
The 6-phase PWM output pins are placed in the high-impedance state automatically when
stoppage of the clock input to the SH7065 is detected. However, pin states are not guaranteed
when the clock is restarted.
11.4
Interrupts
11.4.1
Compare Match Interrupts
When the TGFM (TGFN) flag is set to 1 in the timer status register (TSR) by a compare match
between TCNT and the TPDR register (2Td), if the setting of the TGIEM (TGIEN) bit in the timer
control register (TCNR) is 1 an interrupt is requested. The interrupt request is cleared by clearing
the TGF flag to 0.
11.4.2
DMA Controller Activation
The on-chip DMA controller can be activated by a compare match between TCNT and TPDR or
between TCNT and 2Td.
Rev. 5.00 Sep 11, 2006 page 476 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.4.3
A/D Converter Activation
The on-chip A/D converter can be activated by a compare match between TCNT and TPDR or
between TCNT and 2Td. When the TGF flag is set to 1 in the timer status register (TSR) by either
of these compare matches, an A/D conversion start request is sent to the A/D converter. If the
MMT start trigger has been selected on the A/D converter side, A/D conversion begins.
11.5
Operation Timing
11.5.1
Input/Output Timing
TCNT and TDCNT Count Timing
Figure 11.8 shows the TCNT and TDCNT count timing.
Pφ
TCNT, TDCNT
N–3
N–2
N–1
N
N+1
N+2
N+3
N+4
Figure 11.8 TCNT and TDCNT Count Timing
TCNT Counter Clearing Timing
Figure 11.9 shows the timing of TCNT counter clearing by an external signal.
Pφ
Counter clear
signal
TCNT
TDDR
N–3
N–2
N–1
N
N+1
2Td
2Td + 1 2Td + 2
Td
Figure 11.9 TCNT Counter Clearing Timing
Rev. 5.00 Sep 11, 2006 page 477 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
TDCNT Operation Timing
Figure 11.10 shows the TDCNT operation timing.
Pφ
CMO
TDCNT
H'0000
TDDR
H'0001
....
Td – 1
Td
Compare match
signal
DTG
TDCNT clear
signal
Figure 11.10 TDCNT Operation Timing
Rev. 5.00 Sep 11, 2006 page 478 of 916
REJ09B0332-0500
Td
H'0000
Section 11 Motor Management Timer (MMT)
Buffer Operation Timing
Figure 11.11 shows the compare match buffer operation timing.
Pφ
Compare match
signal
TCNT
N–1
TPDR
M0 + 2Td
TPBR
M0
N
N–1
....
2Td + 1
2Td
2Td + 1 2Td + 2
M1 + 2Td
M1
TDDR
M2 + 2Td
M2
Td
TGRUU, TGRVU,
TGRWU
L0 + 2Td
L1 + 2Td
L2 + 2Td
TGRU, TGRV,
TGRW
L0 + Td
L1 + Td
L2 + Td
L0
L1
L2
TGRUD, TGRVD,
TGRWD
TBRU, TBRV,
TBRW
L0
L1
L2
Figure 11.11 Buffer Operation Timing
Rev. 5.00 Sep 11, 2006 page 479 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.5.2
Interrupt Signal Timing
Timing of TGF Flag Setting by Compare Match
Figure 11.12 shows the timing of setting of the TGF flag in the timer status register (TSR) by a
compare match between TCNT and TPDR, and the timing of the TGI interrupt request signal. The
timing is the same for a compare match between TCNT and 2Td.
Pφ
TCNT
N–3
N–2
TPDR
N–1
N
N+1
N+2
N+3
N+4
N
Compare match
signal
TGF flag
TGI interrupt
Figure 11.12 TGI Interrupt Timing
Status Flag Clearing Timing
A status flag is cleared when the CPU reads 1 from the flag, then writes 0 to it. When the DMA
controller is activated, the flag is cleared automatically. Figure 11.13 shows the timing of status
flag clearing by the CPU, and figure 11.14 shows the timing of status flag clearing by the DMA
controller.
Rev. 5.00 Sep 11, 2006 page 480 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
TSR write cycle
T1
T2
Pφ
TSR address
Address
Write signal
Status flag
Interrupt
request signal
Figure 11.13 Timing of Status Flag Clearing by CPU
DMAC
read cycle
DMAC
write cycle
T1
T1
T2
T2
Pφ
Address
Source address
Destination
address
Status flag
Interrupt
request signal
Figure 11.14 Timing of Status Flag Clearing by DMA Controller
Rev. 5.00 Sep 11, 2006 page 481 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.6
Usage Notes
Note that the kinds of operation and contention described below occur during MMT operation.
Contention between Buffer Register Write and Compare Match
If a compare match occurs in the T2 state of a buffer register (TBRU, TBRV, TBRW, or TPBR)
write cycle, data is transferred from the buffer register to the compare register (TGR or TPDR) by
means of a buffer operation. The data transferred is the buffer register write data.
Figure 11.15 shows the timing in this case.
Buffer register
write cycle
T1
T2
Pφ
Address
Buffer register
address
Write signal
Compare match
signal
Interrupt request
signal
Buffer register write data
Buffer register
Compare register
N
M
M
Figure 11.15 Contention between Buffer Register Write and Compare Match
Rev. 5.00 Sep 11, 2006 page 482 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Contention between Compare Register Write and Compare Match
If a compare match occurs in the T2 state of a compare register (TGR or TPDR) write cycle, the
compare register write is not performed, and data is transferred from the buffer register (TBRU,
TBRV, TBRW, or TPBR) to the compare register (TGR or TPDR) by means of a buffer operation.
Figure 11.16 shows the timing in this case.
Compare register
write cycle
T1
T2
Pφ
Address
Compare register
address
Write signal
Compare match
signal
Interrupt request
signal
Buffer register
Compare register
N
N
Figure 11.16 Contention between Compare Register Write and Compare Match
Rev. 5.00 Sep 11, 2006 page 483 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Pay Attention to the Notices Below, When a Value Is Written into the Timer General
Register U (TGRU), Timer General Register V (TGRV), Timer General Register W
(TGRW), and in Case of Written into Free Operation Address (*):
• In case of counting up: Do not write a value {Previous value of TGRU + Td} into TGRU.
• In case of counting down: Do not write a value {Previous value of TGRU – Td} into TGRU.
In the same manner to TGRV and TGRW. When a value {Previous value of TGRU + Td} is
written (in case of counting down {Previous value of TGRU – Td}), the output of PUOA/PUOB,
PVOA/PVOB, PWOA/PWOB (corresponding to U, V, W phase) may not be output for 1 cycle.
Figure 11.17 shows the error case. When writing into the buffer operation address, these notes are
not relevant.
Note: * When addresses, H'FFFF049C, H'FFFF04AC, H'FFFF04BC are used as register
address for TBRU, TBRV, TBRW, respectively.
TGRU
Previous TGRU
Td
Td
Previous TGRU
TGRU
2Td
2Td
Count-up
Count down
Figure 11.17 Writing into Timer General Registers (When One Cycle Is Not Output)
Writing Operation into Timer Period Data Register (TPDR) and Timer Dead Time Data
Register (TDDR) When MMT Is Operating:
• Do not revise TPDR register when MMT is operating. Always use a buffer-write operation
through TPBR register.
• Do not revise TDDR register once an operation of MMT is invoked. When TDDR is revised, a
wave may not be output for as much as 1 cycle (full count period of 16 bits in TDCNT),
because a value cannot be written into TDCNT, which is compared to a value set in TDDR.
Rev. 5.00 Sep 11, 2006 page 484 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Notes on Halting TCNT Counter Operation: If TCNT counter operation is halted, a PCM
waveform may be output with dead time (non-overlap time) shorter than the value set in the timer
dead time register (MMT_TDDR) or no dead time at all (value of 0). To prevent this, use one of
the following methods.
• Set the CST bit in the timer control register (TCNR) to 1 and do not clear it to 0 after MMT
counter operation starts. If the CST bit is cleared to 0, do not set it to 1 again.
• When setting, clearing, and then resetting the CST bit, use the following procedure for clearing
and then resetting.
(1) Use the pin function controller (PFC) to set the PWM output pin as a general input port.
(2) Set the free operation addresses for all the buffer registers (TBRU, TBRV, and TBRW) to
H'0000.
(3) After the specified dead time duration has elapsed, set TCNR to H'00 and clear the CST bit
to 0.
(4) Once again, set the CST bit to 1.
• When setting, clearing, and then resetting the CST bit, use the following procedure for clearing
and then resetting.
(1) Clear the CST bit in TCNR to 0 to halt counter operation.
(2) Use the pin function controller to set the PWM output pin as a general input port.
(3) Clear the MSTP9 bit in module standby control register 1 (MSTCR1) to 0 to transition to
module standby mode, and initialize the internal status of MMT.
(4) Immediately set the MSTP9 bit to 1 to transition back from module standby mode, and
reset MMT and the pin to their initial settings.
(5) Set the CST bit in TCNR to 1 to restart counter operation.
Rev. 5.00 Sep 11, 2006 page 485 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
11.7
Port Output Enable (POE)
11.7.1
Overview
The port output enable (POE) circuit enables the MMT’s 6-phase output pins (POUA, POUB,
POVA, POVB, POWA, and POWB) to be placed in the high-impedance state by varying the input
at pins POE0 to POE3. An interrupt can also be requested at the same time.
Separately from this function, the MMT’s 6-phase output pins go to the high-impedance state
when the oscillator halts. For details, see section 4, Clock Pulse Generator (CPG) and PowerDown Modes.
Features
The POE circuit has the following features:
• Falling edge, Pφ/8 × 16 times, Pφ/16 × 16 times, or Pφ/128 × 16 times low-level sampling
settings can be made for each of input pins POE0 to POE3.
• The MMT’s 6-phase output pins can be placed in the high-impedance state on sampling of a
falling edge or low level at pins POE0 to POE3.
• An interrupt request can be initiated by input level sampling.
Rev. 5.00 Sep 11, 2006 page 486 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Block Diagram
Figure 11.17 shows a block diagram of the POE circuit.
High impedance request
control signal
Interrupt request
ICSR
Input level detection circuit
POE3
POE2
POE1
POE0
Falling edge
detection circuit
Low level
detection circuit
Pφ/8
Pφ/16
Pφ/128
Frequency divider
Pφ
Figure 11.17 Block Diagram of POE
Pin Configuration
Table 11.5 shows the pin configuration of the POE circuit.
Table 11.5 POE Pins
Name
Abbreviation
I/O
Function
Port output enable input pins
POE0–POE3
Input
Input request signals for placing MMT’s
6-phase output pins in high-impedance
state
Rev. 5.00 Sep 11, 2006 page 487 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Register Configuration
The POE circuit has the single register summarized in table 11.6. The input level control/status
register (ICSR) controls detection of the input signals on pins POE0 to POE3, and interrupt
requests.
Table 11.6 POE Register
Name
Input level control/status register
Abbreviation
R/W
Initial
Value
Address
Access Size
ICSR
R/(W)*
H'0000
H'FFFF 04E0
8, 16, 32
H'FFFF 04E1
Note:
*
11.7.2
Bits 15 to 12 can only be written with 0, to clear the flags.
Register Description
Input Level Control/Status Register (ICSR)
The input level control/status register (ICSR) is a 16-bit readable/writable register that selects the
input mode for pins POE0 to POE3, controls enabling or disabling of interrupts, and gives status
indications.
ICSR is initialized to H'0000 by an external power-on reset, but is not initialized, and retains its
prior data, in a WDT reset, in standby mode, and in sleep mode.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
Note:
*
15
14
13
12
11
10
9
8
POE3F
POE2F
POE1F
POE0F
—
—
—
PIE
0
0
0
0
0
0
0
0
R/(W)*
R/(W)*
R/(W)*
R/(W)*
—
—
—
R/W
7
6
5
4
3
2
1
0
POE3
M1
POE3
M0
POE2
M1
POE2
M0
POE1
M1
POE1
M0
POE0
M1
POE0
M0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Only 0 can be written, for flag clearing.
Rev. 5.00 Sep 11, 2006 page 488 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Bit 15—POE3 Flag (POE3F): Indicates that a high impedance request has been input to the
POE3 pin.
Bit 15: POE3F
Description
0
[Clearing condition]
(Initial value)
When 0 is written to POE3F after reading POE3F = 1
1
[Setting condition]
When the input set by bits 7 and 6 of ICSR occurs at the POE3 pin
Bit 14—POE2 Flag (POE2F): Indicates that a high impedance request has been input to the
POE2 pin.
Bit 14: POE2F
Description
0
[Clearing condition]
1
[Setting condition]
(Initial value)
When 0 is written to POE2F after reading POE2F = 1
When the input set by bits 5 and 4 of ICSR occurs at the POE2 pin
Bit 13—POE1 Flag (POE1F): Indicates that a high impedance request has been input to the
POE1 pin.
Bit 13: POE1F
Description
0
[Clearing condition]
1
[Setting condition]
(Initial value)
When 0 is written to POE1F after reading POE1F = 1
When the input set by bits 3 and 2 of ICSR occurs at the POE1 pin
Bit 12—POE0 Flag (POE0F): Indicates that a high impedance request has been input to the
POE0 pin.
Bit 12: POE0F
Description
0
[Clearing condition]
1
[Setting condition]
(Initial value)
When 0 is written to POE0F after reading POE0F = 1
When the input set by bits 1 and 0 of ICSR occurs at the POE0 pin
Bits 11 to 9—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 489 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Bit 8—Port Interrupt Enable (PIE): Enables or disables an interrupt request when 1 is set in any
of bits POE0F to POE3F in ICSR.
Bit 8: PIE
Description
0
Interrupt request disabled
1
Interrupt request enabled
(Initial value)
Bits 7 and 6—POE3 Mode 1 and 0 (POE3M1, POE3M0): These bits select the input mode of
the POE3 pin.
Bit 7: POE3M1
Bit 6: POE3M0
Description
0
0
Request accepted at falling edge of POE3 input
(Initial value)
1
POE3 input is sampled for low level 16 times every Pφ/8
clock, and request is accepted when all samples are low
level
0
POE3 input is sampled for low level 16 times every Pφ/16
clock, and request is accepted when all samples are low
level
1
POE3 input is sampled for low level 16 times every Pφ/128
clock, and request is accepted when all samples are low
level
1
Bits 5 and 4—POE2 Mode 1 and 0 (POE2M1, POE2M0): These bits select the input mode of
the POE2 pin.
Bit 5: POE2M1
Bit 4: POE2M0
Description
0
0
Request accepted at falling edge of POE2 input
(Initial value)
1
POE2 input is sampled for low level 16 times every Pφ/8
clock, and request is accepted when all samples are low
level
0
POE2 input is sampled for low level 16 times every Pφ/16
clock, and request is accepted when all samples are low
level
1
POE2 input is sampled for low level 16 times every Pφ/128
clock, and request is accepted when all samples are low
level
1
Rev. 5.00 Sep 11, 2006 page 490 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
Bits 3 and 2—POE1 Mode 1 and 0 (POE1M1, POE1M0): These bits select the input mode of
the POE1 pin.
Bit 3: POE1M1
Bit 2: POE1M0
Description
0
0
Request accepted at falling edge of POE1 input
(Initial value)
1
POE1 input is sampled for low level 16 times every Pφ/8
clock, and request is accepted when all samples are low
level
0
POE1 input is sampled for low level 16 times every Pφ/16
clock, and request is accepted when all samples are low
level
1
POE1 input is sampled for low level 16 times every Pφ/128
clock, and request is accepted when all samples are low
level
1
Bits 1 and 0—POE0 Mode 1 and 0 (POE0M1, POE0M0): These bits select the input mode of
the POE0 pin.
Bit 1: POE0M1
Bit 0: POE0M0
Description
0
0
Request accepted at falling edge of POE0 input
(Initial value)
1
POE0 input is sampled for low level 16 times every Pφ/8
clock, and request is accepted when all samples are low
level
0
POE0 input is sampled for low level 16 times every Pφ/16
clock, and request is accepted when all samples are low
level
1
POE0 input is sampled for low level 16 times every Pφ/128
clock, and request is accepted when all samples are low
level
1
11.7.3
Operation
Input Level Detection
When the input condition set in ICSR occurs on any one of the POE pins, the MMT’s 6-phase
output pins go to the high-impedance state.
Rev. 5.00 Sep 11, 2006 page 491 of 916
REJ09B0332-0500
Section 11 Motor Management Timer (MMT)
• Pins placed in high-impedance state (MMT 6-phase output pins)
The 12 MMT (motor management timer) pins PD26/D26/PWOB/RxD3,
PD25/D25/PVOB/TxD3, PD24/D24/PUOB/SCK3, PD22/D22/PWOA/SCK0,
PD21/D21/PVOA/IRQ7, PD20/D20/PUOA/IRQ6, PE23/IRQ7/PWOB, PE22/IRQ6/PVOB,
PE21/IRQ5/PUOB, PE19/IRQ3/PWOA, PE18/IRQ2/PVOA, and PE17/IRQ1/PUOA/SCK0
are placed in the high-impedance state.
Falling edge detection: When a translation from high-to low-level input occurs on a POE pin.
Low level detection: Figure 11.18 shows the low level detection operation. Low level sampling is
performed 16 times in succession using the sampling clock set in ICSR. The input is not accepted
if a high level is detected even once among these samples.
The timing of entry of the MMT’s 6-phase output pins into the high-impedance state from the
sampling clock is the same for falling edge detection and low level detection.
8, 16, or
128 clocks
Pφ
Sampling clock
POE input
PUOA
High-impedance state
All samples low-level
[1]
[2]
At least one high-level
sample
[1]
[2]
[3]
[16] Flag set (POE accepted)
[13]
Flag not set
Note: The other MMT 6-phase output pins also go to the high-impedance state at the same timing.
Figure 11.18 Low Level Detection Operation
Exiting High-Impedance State
MMT 6-phase output pins that have entered the high-impedance state as the result of input level
detection are released from this state by restoring them to their initial states by means of a poweron reset, or by clearing all the POE flags in ICSR (POE0F to POE3F: bits 12 to 15).
Rev. 5.00 Sep 11, 2006 page 492 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
Section 12 Compare Match Timer (CMT)
12.1
Overview
The SH7065 has an on-chip compare match timer (CMT) consisting of a two-channel 16-bit timer.
The CMT has a 16-bit counter, and can generate interrupts at set intervals.
12.1.1
Features
The CMT has the following features:
• Choice of four counter input clocks
Any of four internal clocks (Pφ/8, Pφ/32, Pφ/128, Pφ/512) can be selected independently for
each channel (where Pφ is the clock input to the CMT). The CMT’s input clock is obtained by
frequency division of an external clock.
• Interrupt sources
A compare match interrupt can be requested independently for each channel.
Rev. 5.00 Sep 11, 2006 page 493 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
12.1.2
Block Diagram
Figure 12.1 shows a block diagram of the CMT.
Pφ/32 Pφ/512
Pφ/8 Pφ/128
Channel 0
CMCNT1
Comparator
Channel 1
Module bus
Bus
interface
CMT
Legend:
CMSTR:
CMCSR:
CMCOR:
CMCNT:
CMI:
Internal bus
Compare match timer start register
Compare match timer control/status register
Compare match timer constant register
Compare match timer counter
Compare match interrupt
Figure 12.1 Block Diagram of CMT
Rev. 5.00 Sep 11, 2006 page 494 of 916
REJ09B0332-0500
Pφ/512
Pφ/128
Clock selection
Control circuit
CMCSR1
CMCNT0
Comparator
CMCOR0
CMCSR0
CMSTR
Pφ/8
Clock selection
Control circuit
Pφ/32
CMI1
CMCOR1
CMI0
Section 12 Compare Match Timer (CMT)
12.1.3
Register Configuration
Table 12.1 summarizes the CMT registers.
Table 12.1 CMT Registers
Abbreviation
R/W
Initial
Value
Address
Access
Size
Compare match timer start
register
CMSTR
R/W
H'0000
H'FFFF04C0
8, 16, 32
Compare match timer
control/status register 0
CMCSR0
R/(W)* H'0000
H'FFFF04C2
8, 16, 32
Compare match timer
counter 0
CMCNT0
R/W
H'0000
H'FFFF04C4
8, 16, 32
Compare match timer
constant register 0
CMCOR0
R/W
H'FFFF
H'FFFF04C6
8, 16, 32
Compare match timer
control/status register 1
CMCSR1
R/(W)* H'0000
H'FFFF04C8
8, 16, 32
Compare match timer
counter 1
CMCNT1
R/W
H'0000
H'FFFF04CA
8, 16, 32
Compare match timer
constant register 1
CMCOR1
R/W
H'FFFF
H'FFFF04CC 8, 16, 32
Channel
Name
Both
0
1
Note:
*
The CMF bit in CMCSR0 and CMCSR1 can only be written with 0, to clear the flag.
Rev. 5.00 Sep 11, 2006 page 495 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
12.2
Register Descriptions
12.2.1
Compare Match Timer Start Register (CMSTR)
The compare match timer start register (CMSTR) is a 16-bit register that specifies operation or
stoppage of the counters (CMCNT) in channels 0 and 1.
CMSTR is initialized by a power-on reset, and in hardware standby mode and software standby
mode. It is not initialized in module standby mode.
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
—
—
—
—
—
—
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
STR1
STR0
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
—
—
—
—
R/W
R/W
Bits 15 to 2—Reserved: These bits are always read as 0 and cannot be modified.
Bit 1—Count Start 1 (STR1): Selects operation or stoppage of compare match timer counter 1.
Bit 1: STR1
Description
0
CMCNT1 count operation is stopped
1
CMCNT1 performs count operation
(Initial value)
Bit 0—Count Start 0 (STR0): Selects operation or stoppage of compare match timer counter 0.
Bit 0: STR0
Description
0
CMCNT0 count operation is stopped
1
CMCNT0 performs count operation
Rev. 5.00 Sep 11, 2006 page 496 of 916
REJ09B0332-0500
(Initial value)
Section 12 Compare Match Timer (CMT)
12.2.2
Compare Match Timer Control/Status Registers 0 and 1 (CMCSR0, CMCSR1)
The compare match timer control/status registers (CMCSR0, CMCSR1) are 16-bit registers that
indicate compare match occurrence, enable or disable interrupts, and select the clock to be used
for the up-count.
The CMCSR registers are initialized by a power-on reset, and in hardware standby mode and
software standby mode. They are not initialized in module standby mode.
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
—
—
—
—
—
—
—
—
Bit:
7
6
5
4
3
2
1
0
CMF
CMIE
—
—
—
—
CKS1
CKS0
0
0
0
0
0
0
0
0
R/(W)*
R/W
—
—
—
—
R/W
R/W
Initial value:
R/W:
Note:
*
Only 0 can be written, to clear the flag.
Bits 15 to 8—Reserved: These bits are always read as 0 and cannot be modified.
Bit 7—Compare Match Flag (CMF): Indicates a match between the values of CMCNT and
CMCOR.
Bit 7: CMF
Description
0
CMCNT and CMCOR values do not match
(Initial value)
[Clearing condition]
When 0 is written to CMF after reading CMF = 1
1
CMCNT and CMCOR values match
Bit 6—Compare Match Interrupt Enable (CMIE): Enables or disables generation of a compare
match interrupt (CMTI) when the CMCNT and CMCOR values match (CMF = 1).
Bit 6: CMIE
Description
0
Compare match interrupt (CMI) is disabled
1
Compare match interrupt (CMI) is enabled
(Initial value)
Rev. 5.00 Sep 11, 2006 page 497 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
Bits 5 to 2—Reserved: These bits are always read as 0 and cannot be modified.
Bits 1 and 0—Clock Select 1 and 0 (CKS1, CKS0): These bits select the clock to be input to
CMCNT from four internal clocks obtained by frequency division of Pφ. When the STR bit is set
to 1 in CMSTR, CMCNT starts counting up on the clock selected by CKS1 and CKS0.
Bit 1: CKS1
Bit 0: CKS0
Description
0
0
Pφ/8
1
Pφ/32
0
Pφ/128
1
Pφ/512
1
12.2.3
(Initial value)
Compare Match Counters 0 and 1 (CMCNT0, CMCNT1)
The compare match counters (CMCNT0, CMCNT1) are 16-bit registers used as up-counters to
generate interrupt requests.
When an internal clock is selected with bits CKS1 and CKS0 in CMCSR, CMCNT starts counting
up on that clock. When the CMCNT value matches the value in the compare match constant
register (CMCOR), CMCNT is cleared to H'0000 and the CMF flag is set to 1 in CMCSR. If the
setting of the CMIE bit in CMCSR is 1 at this time, a compare match interrupt (CMI0 or CMI1) is
requested.
The CMCNT registers are initialized by a power-on reset, and in hardware standby mode and
software standby mode.
Bit:
15
14
13
12
11
10
9
8
Initial value:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
Initial value:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W:
R/W:
Rev. 5.00 Sep 11, 2006 page 498 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
12.2.4
Compare Match Constant Registers 0 and 1 (CMCOR0, CMCOR1)
The compare match constant registers (CMCOR0, CMCOR1) are 16-bit registers that set the
compare match cycle.
The CMCOR registers are initialized by a power-on reset, and in hardware standby mode and
software standby mode.
Bit:
15
14
13
12
11
10
9
8
Initial value:
1
1
1
1
1
1
1
1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
Initial value:
1
1
1
1
1
1
1
1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W:
R/W:
12.3
Operation
12.3.1
Cyclic Count Operation
When an internal clock is selected with bits CKS1 and CKS0 in CMCSR, and the STR bit is set to
1 in CMSTR, CMCNT starts counting up on that clock. When the CMCNT value matches the
value in the compare match constant register (CMCOR), CMCNT is cleared to H'0000 and the
CMF flag is set to 1 in CMCSR. If the setting of the CMIE bit in CMCSR is 1 at this time, a
compare match interrupt (CMT1) is requested. CMCNT then starts counting up from H'0000
again.
Figure 12.2 shows the operation of the compare match counter.
Rev. 5.00 Sep 11, 2006 page 499 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
CMCNT value
Counter cleared by CMCOR
compare match
CMCOR
H'0000
Time
Figure 12.2 Counter Operation
12.3.2
CMCNT Count Timing
One of four clocks (Pφ/8, Pφ/32, Pφ/128, or Pφ/512) scaled from Pφ can be selected with bits
CKS1 and CKS0 in CMCSR.
Figure 12.3 shows the count timing.
Pφ
Internal clock
CMCNT input clock
CMCNT
N–1
N
Figure 12.3 Count Timing
Rev. 5.00 Sep 11, 2006 page 500 of 916
REJ09B0332-0500
N+1
Section 12 Compare Match Timer (CMT)
12.4
Interrupts
12.4.1
Interrupt Sources
The CMT has a compare match interrupt for each channel, each assigned a different vector
address. When interrupt request flag CMF is set to 1, and of interrupt enable bit CMIE is also 1,
the corresponding interrupt request is output.
When a CPU interrupt is initiated by an interrupt request, the relative channel priorities can be
changed by means of an interrupt controller setting. For details, see section 6, Interrupt Controller
(INTC).
12.4.2
Timing of Compare Match Flag Setting
The CMF bit is CMCSR is set to 1 by a compare match signal generated when the CMCOR and
CMCNT values match. The compare match signal is generated in the last state in which the match
is true (when the value at which the CMCNT match occurred is about to be updated). Therefore,
after a match between CMCNT and CMCOR, the compare match signal is not generated until the
next CMCNT counter input clock pulse.
Figure 12.4 shows the timing of CMF bit setting.
Pφ
CMCNT input clock
CMCNT
N
CMCOR
N
0
Compare match signal
CMF
CMI0, 1
Figure 12.4 Timing of CMF Setting
Rev. 5.00 Sep 11, 2006 page 501 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
12.4.3
Timing of Compare Match Flag Clearing
The CMF bit in CMCSR is cleared by reading the bit when it is set to 1, then writing 0 to it.
Figure 12.5 shows the timing of CMF bit clearing.
CMCSR write cycle
T1
T2
Pφ
CMF
Figure 12.5 Timing of CMF Clearing
12.5
Usage Notes
Note that the kinds of operation and contention described below occur during CMT operation.
Contention between CMCNT Write and Compare Match
If a compare match occurs in the T2 state of a CMCNT write cycle, the CMCNT clearing takes
precedence and the write to CMCNT is not performed.
Figure 12.6 shows the timing in this case.
CMCNT write cycle
T2
T1
Pφ
CMCNT
Address
Internal write signal
Counter clear signal
CMCNT
N
H'0000
Figure 12.6 Contention between CMCNT Write and Compare Match
Rev. 5.00 Sep 11, 2006 page 502 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
Contention between CMCNT Word Write and Increment
If an increment pulse occurs in the T2 state of a CMCNT word write cycle, the counter write takes
precedence and counter is not incremented.
Figure 12.7 shows the timing in this case.
CMCNT write cycle
T2
T1
Pφ
CMCNT
Address
Internal write signal
CMCNT input clock
CMCNT
N
M
CMCNT write data
Figure 12.7 Contention between CMCNT Word Write and Increment
Rev. 5.00 Sep 11, 2006 page 503 of 916
REJ09B0332-0500
Section 12 Compare Match Timer (CMT)
Contention between CMCNT Byte Write and Increment
If an increment pulse occurs in the T2 state of a CMCNT byte write cycle, the counter write takes
precedence and the byte data for which the write was performed is not incremented. The byte data
for which a write was not performed is not incremented either, and retains its previous value.
Figure 12.8 shows the timing when an increment pulse occurs in the T2 state of a CMCNTH write
cycle.
CMCNT write cycle
T1
T2
Pφ
CMCNTH
Address
Internal write signal
CMCNT input clock
CMCNTH
N
M
CMCNTL
X
X
CMCNTH write data
Figure 12.8 Contention between CMCNT Byte Write and Increment
Rev. 5.00 Sep 11, 2006 page 504 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
Section 13 Watchdog Timer
13.1
Overview
The SH7065 has a single-channel on-chip watchdog timer (WDT) for monitoring system
operation. The WDT outputs an overflow signal (WDTOVF) externally if a system crash prevents
the CPU from writing to the timer counter, allowing it to overflow. At the same time, the WDT
can also generate an internal reset signal for the SH7065.
When this watchdog function is not needed, the WDT can be used as an interval timer. In interval
timer operation, an interval timer interrupt is requested each time the counter overflows. The WDT
is also in exiting software standby mode.
13.1.1
Features
The WDT has the following features:
• Switchable between watchdog timer mode and interval timer mode
• WDTOVF output when in watchdog timer mode
If the counter overflows, the WDT outputs WDTOVF externally. It is possible to select
whether or not the SH7065 is reset internally at the same time.
• Interrupt generation when in interval timer mode
If the counter overflows, the WDT generates an interval timer interrupt.
• Used when exiting software standby mode
• Choice of eight counter input clocks
Rev. 5.00 Sep 11, 2006 page 505 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
13.1.2
Block Diagram
Figure 13.1 shows a block diagram of the WDT.
Standby
release
Standby
control
Internal
reset
request
Interrupt
control
Standby
mode
Mφ
Overflow
Frequency divider
Interrupt
request
Clock
Clock selector
Reset
control
Clock
selection
RSTCSR
TCNT
TCSR
Bus interface
WDT
Internal bus
Legend:
TCSR:
TCNT:
RSTCSR:
Mφ:
Timer control/status register
Timer counter
Reset control/status register
Clock further scaled from the fastest master clock by means of the module clock control register
(see section 4, Clock Pulse Generator (CPG ) and Power-Down Modes).
Figure 13.1 Block Diagram of WDT
Rev. 5.00 Sep 11, 2006 page 506 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
13.1.3
Pin Configuration
Table 13.1 shows details of the WDT output pin.
Table 13.1 WDT Pin
Name
Abbreviation
I/O
Function
Watchdog timer overflow
WDTOVF
Output
Outputs counter overflow signal in
watchdog timer mode
13.1.4
Register Configuration
The WDT has the three registers shown in table 13.2. These registers control clock selection,
WDT mode switching, and the reset signal.
Table 13.2 WDT Registers
Initial
Value
Address
Name
Abbreviation
R/W
Timer control/status register
TCSR
R/(W)*
H'18
H'FFFF 1000
H'FFFF 1000
Timer counter
TCNT
R/W
H'00
H'FFFF 1000
H'FFFF 1001
Reset control/status register
RSTCSR
R/(W)*
H'1F
H'FFFF 1002
H'FFFF 1003
3
3
1
Write*
Read*
2
Notes: 1. Use word writes; byte and longword writes cannot be used.
2. Use byte reads; a word or longword read will not return the correct value.
3. Only 0 can be written to bit 7, to clear the flag.
Rev. 5.00 Sep 11, 2006 page 507 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
13.2
Register Descriptions
13.2.1
Timer Counter (TCNT)
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
TCNT7
TCNT6
TCNT5
TCNT4
TCNT3
TCNT2
TCNT1
TCNT0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
The timer counter (TCNT) is an 8-bit readable/writable up-counter. When the timer enable bit
(TME) bit is set to 1 in the timer control/status register (TCSR), TCNT starts counting up on the
internal clock selected with bits CKS2 to CKS0 in TCSR. When the count overflows (changes
from H'FF to H'00), either the watchdog timer overflow signal (WDTOVF) or an interval timer
interrupt (ITI) is generated, depending on the mode selected with the WT/IT bit in TCSR.
TCNT is initialized to H'00 by a power-on reset, or when the TME bit is cleared to 0. It is not
initialized in standby mode.
Note: The method of writing to TCNT is different from that for general registers to prevent
inadvertent overwriting. For details see section 13.2.4, Notes on Register Access.
13.2.2
Timer Control/Status Register (TCSR)
Bit:
Initial value:
R/W:
Note:
*
7
6
5
4
3
2
1
0
OVF
WT/IT
TME
—
—
CKS2
CKS1
CKS0
0
0
0
1
1
0
0
0
R/(W)*
R/W
R/W
R
R
R/W
R/W
R/W
Only 0 can be written to bit 7, to clear the flag.
The timer control/status register (TCSR) is an 8-bit readable/writable register whose functions
include selecting the clock source to be input to the timer counter (TCNT), and the timer mode.
Bits 7 to 5 are initialized to 000 by a power-on reset and in standby mode. Bits 2 to 0 are
initialized to 000 by a power-on reset, but are not initialized in standby mode.
Note: The method of writing to TCSR is different from that for general registers to prevent
inadvertent overwriting. For details see section 13.2.4, Notes on Register Access.
Rev. 5.00 Sep 11, 2006 page 508 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
Bit 7—Overflow Flag (OVF): Indicates that TCNT has overflowed from H'FF to H'00 when in
interval timer mode. This flag is not set in watchdog timer (WDT) mode.
Bit 7: OVF
Description
0
No TCNT overflow in interval timer mode
1
TCNT overflow has occurred in interval timer mode
(Initial value)
[Clearing condition]
Cleared by reading OVF, then writing 0 to OVF
Bit 6—Timer Mode Select (WT/IT
IT):
IT Selects whether the WDT is used as a watchdog timer or
interval timer. If used as an interval timer, the WDT generates an interval timer interrupt request
(ITI) when TCNT overflows. If used as a watchdog timer, the WDT generates the WDTOVF
signal when TCNT overflows.
Bit 6: WT/IT
IT
Description
0
Interval timer mode: Interval timer interrupt (ITI) request is sent to CPU when
TCNT overflows
(Initial value)
1
Watchdog timer mode: WDTOVF signal is output externally when TCNT
overflows
Note: For details of what happens when TCNT overflows during watchdog timer operation, see
section 13.2.3, Reset Control/Status Register (RSTCSR).
Bit 5—Timer Enable (TME): Selects whether the timer runs or is halted.
Bit 5: TME
Description
0
Timer disable: TCNT is initialized to H'00 and halted
1
Timer enable: TCNT counts up
(Initial value)
Bits 4 and 3—Reserved: These bits are always read as 1 and should only be written with 1.
Rev. 5.00 Sep 11, 2006 page 509 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
Bits 2 to 0—Clock Select 2 to 0 (CKS2 to CKS0): These bits select one of eight clocks, obtained
by dividing the Mφ clock, for input to TCNT.
Description
Bit 2: CKS2
Bit 1: CKS1
Bit 0: CKS0
Clock Division Ratio
Overflow Period
(When Mφ
φ = 60 MHz)
0
0
0
1/2
8.5 µs
1
1/4
17.1 µs
0
1/8
34.1 µs
1
1/32
136.5 µs
0
1/256
1.1 ms
1
1/1024
4.4 ms
0
1/2048
8.7 ms
1
1/4096
17.5 ms
1
1
0
1
(Initial value)
Note: The overflow period is the time from when TCNT starts counting up from H'00 until overflow
occurs. Mφ is a clock further scaled from the master clock by means of the module clock
control register. For details see section 4, Clock Pulse Generator (CPG) and Power-Down
Modes.
13.2.3
Reset Control/Status Register (RSTCSR)
Bit:
Initial value:
R/W:
Note:
*
7
6
5
4
3
2
1
0
WOVF
RSTE
—
—
—
—
—
—
0
0
0
1
1
1
1
1
R/(W)*
R/W
R
R
R
R
R
R
Only 0 can be written to bit 7, to clear the flag.
The reset control/status register (RSTCSR) is an 8-bit readable/writable register that controls
generation of the internal reset signal when the timer counter (TCNT) overflows.
RSTCSR is initialized to H'1F by a reset signal from the RES pin, but is not initialized by the
internal reset signal caused by WDT overflow. It is also initialized to H'1F in standby mode.
Note: The method of writing to RSTCSR is different from that for general registers to prevent
inadvertent overwriting. For details see section 13.2.4, Notes on Register Access.
Rev. 5.00 Sep 11, 2006 page 510 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
Bit 7—Watchdog Overflow Flag (WOVF): Indicates that TCNT has overflowed (changed from
H'FF to H'00) in watchdog timer mode. This bit is not set in interval timer mode.
Bit 7: WOVF
Description
0
No TCNT overflow in watchdog timer mode
1
TCNT overflow has occurred in watchdog timer mode
(Initial value)
[Clearing condition]
Cleared by reading WOVF, then writing 0 to WOVF
Bit 6—Reset Enable (RSTE): Specifies whether or not a reset signal is to be generated in the
SH7065 if TCNT overflows in watchdog timer mode.
Bit 6: RSTE
Description
0
Internal reset is not performed if TCNT overflows
1
Internal reset is performed if TCNT overflows
(Initial value)
Note: The modules in the SH7065 are not reset, but TCNT and TCSR within the WDT are reset.
Bit 5—Reserved: This bit is always read as 0 and should only be written with 0.
Bits 4 to 0—Reserved: These bits are always read as 1 and should only be written with 1.
13.2.4
Notes on Register Access
The method of writing to the watchdog timer’s timer counter (TCNT), timer control/status register
(TCSR), and reset control/status register (RSTCSR) differs from that for other registers to prevent
inadvertent overwriting. The procedures for writing to and reading these registers are given below.
Writing to TCNT and TCSR
A word transfer instruction must be used to write to TCNT and TCSR. They cannot be written to
with a byte transfer instruction.
Figure 13.2 shows the format of data written to TCNT and TCSR. TCNT and TCSR both have the
same write address. For a write to TCNT, the upper byte of the written word must contain H'5A
and the lower byte must contain the write data. For a write to TCSR, the upper byte of the written
word must contain H'A5 and the lower byte must contain the write data. This transfers the write
data from the lower byte to TCNT or TCSR.
Rev. 5.00 Sep 11, 2006 page 511 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
TCNT write
15
Address: H'FFFF 1000
87
H'5A
0
Write data
TCSR write
15
Address: H'FFFF 1000
87
H'A5
0
Write data
Figure 13.2 Writing to TCNT and TCSR
Writing to RSTCSR
To write to RSTCSR, a word transfer must be made to address H'FFFF1002. RSTCSR cannot be
written to with a byte transfer instruction.
Figure 13.3 shows the format of data written to RSTCSR. The method of writing 0 to the WOVF
bit (bit 7) differs from that for writing to the RSTE bit (bit 6).
To write 0 to the WOVF bit, the write data must have H'A5 in the upper byte and H'00 in the
lower byte. This clears the WOVF bit to 0, but has no effect on the RSTE bit. To write to the
RSTE bit, the upper byte must contain H'5A and the lower byte must contain the write data. This
writes the value in bit 6 of the lower byte into the RSTE bit, but has no effect on the WOVF bit.
Writing 0 to WOVF bit
15
Address: H'FFFF 1002
87
H'A5
0
Write data
Writing to RSTE bit
15
Address: H'FFFF 1002
87
H'5A
0
Write data
Figure 13.3 Writing to RSTCSR
Reading TCNT, TCSR, and RSTCSR
These registers are read in the same way as other registers. The read addresses are H'FFFF1000 for
TCSR, H'FFFF1001 for TCNT, and H'FFFF1003 for RSTCSR. Byte transfer instructions must be
used to read these registers.
Rev. 5.00 Sep 11, 2006 page 512 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
13.3
Operation
13.3.1
Operation in Watchdog Timer Mode
Figure 13.4 illustrates WDT operation in watchdog timer mode. To use the WDT as a watchdog
timer, set the WT/IT and TME bits to 1 in the timer control/status register (TCSR). Software must
prevent TCNT overflows by rewriting the TCNT value (normally be writing H'00) before
overflows occurs. This ensures that TCNT does not overflow while the system is operating
normally. If TCNT overflows without being rewritten because of a system crash or other error, the
WDTOVF signal is output. This WDTOVF signal can be used to reset the system.
The WDTOVF signal is output for 128 (WDT) clock cycles. This (WDT) clock is a clock further
scaled from the internal clock by means of the module clock control register (see section 4, Clock
Pulse Generator (CPG) and Power-Down Modes).
If TCNT overflows when 1 is set in the RSTE bit in the reset control/status register (RSTCSR), a
signal that resets the SH7065 internally is generated at the same time as the WDTOVF signal. The
internal reset signal is output for 512 (WDT) clock cycles.
If a reset caused by a signal input to the RES pin occurs at the same time as a reset caused by a
WDT overflow, the RES pin reset has priority and the WOVF bit in RSTCSR is cleared to 0.
The following registers are not initialized by the WDT reset signal: (1) the MMT’s POE (port
output enable) function registers, (2) pin function controller (PFC) registers, (3) I/O port registers.
These registers are initialized only by a power-on reset from off-chip.
Rev. 5.00 Sep 11, 2006 page 513 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
TCNT value
Overflow
H'FF
H'00
Time
WT/IT = 1
TME = 1
H'00 written
to TCNT
WOVF = 1
WT/IT = 1
TME = 1
WDTOVF and internal
reset are generated
WDTOVF
signal
128 (WDT) clocks
Internal reset
signal*
512 (WDT) clocks
Legend:
WT/IT: Timer mode select bit
TME: Timer enable bit
Note: * The internal reset signal is generated only if the RSTE bit is set to 1.
Figure 13.4 Operation in Watchdog Timer Mode
Rev. 5.00 Sep 11, 2006 page 514 of 916
REJ09B0332-0500
H'00 written
to TCNT
Section 13 Watchdog Timer
13.3.2
Operation in Interval Timer Mode
Figure 13.5 illustrates WDT operation in interval timer mode. To use the WDT as an interval
timer, clear the WT/IT bit in TCSR to 0 and set the TME bit to 1. When the WDT is operating as
an interval timer, an interval timer interrupt (ITI) is generated each time TCNT overflows. This
function can be used to generate interrupt requests at regular intervals.
TCNT value
Overflow
H'FF
Overflow
Overflow
Overflow
H'00
Time
WT/IT = 0
TME = 1
ITI
ITI
ITI
ITI
Legend:
ITI: Interval timer interrupt request generation
Figure 13.5 Operation in Interval Timer Mode
13.3.3
Operation When Clearing Software Standby Mode
The WDT is used when software standby mode is cleared by an NMI interrupt. When software
standby mode is used, the WDT should be set as described in 1 below.
1. Settings before transition to software standby mode
Before making a transition to software standby mode, the WDT must be halted by clearing the
TME bit to 0 in the timer control/status register (TCSR). A transition to software standby mode
cannot be made while the TME bit is set to 1. Also set bits CKS2 to CKS0 in TCSR so that the
timer counter (TCNT) overflow period is at least as long as the oscillation settling time (see
section 22.3, AC Characteristics Test Conditions).
2. Operation when software standby mode is cleared
When an NMI interrupt is generated in software standby mode, the oscillator starts operating
and TCNT begins counting up on the clock selected with bits CKS2 to CKS0 prior to the
transition to software standby mode.
When TCNT overflows (from H'FF to H'00), the clock is judged to be stable and ready for use,
and clocks are supplied throughout the chip. This clears software standby mode.
Rev. 5.00 Sep 11, 2006 page 515 of 916
REJ09B0332-0500
Section 13 Watchdog Timer
Rev. 5.00 Sep 11, 2006 page 516 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Section 14 Serial Communication Interface (SCI)
14.1
Overview
The SH7065 is equipped with a three-channel serial communication interface with built-in FIFO
buffers (SCI: SCI with FIFO). The SCI can handle both asynchronous and synchronous serial
communication. A function is also provided for serial communication between processors
(multiprocessor communication function).
An on-chip Infrared Data Association (IrDA) interface based on the IrDA 1.0 system is also
provided, enabling infrared communication.
Sixteen-stage FIFO registers are provided for both transmission and reception, enabling fast,
efficient, and continuous communication.
14.1.1
Features
The SCI has the following features:
• Choice of synchronous or asynchronous serial communication mode
 Asynchronous mode
Serial data communication is executed using an asynchronous system in which
synchronization is achieved character by character. Serial data communication can be
carried out with standard asynchronous communication chips such as a Universal
Asynchronous Receiver/Transmitter (UART) or Asynchronous Communication Interface
Adapter (ACIA). A multiprocessor communication function is also provided that enables
serial data communication with a number of processors.
There is a choice of 12 serial data transfer formats.
• Data length: 7 or 8 bits
• Stop bit length: 1 or 2 bits
• Parity: Even/odd/none
• Multiprocessor bit: 1 or 0
• Receive error detection: Parity, overrun, and framing errors
• Auto break detection: A break can be detected automatically.
 Synchronous mode
Serial data communication is synchronized with a clock. Serial data communication can be
carried out with other chips that have a synchronous communication function.
There is a single serial data transfer format.
Rev. 5.00 Sep 11, 2006 page 517 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
• Data length: 8 bits
• Receive error detection: Overrun errors
• IrDA 1.0 compliance
• Full-duplex communication capability
The transmitter and receiver are mutually independent, enabling transmission and reception to
be executed simultaneously. Double-buffering is used in both the transmitter and the receiver,
enabling continuous transmission and continuous reception of serial data.
In addition, the transmitter and receiver both have a 16-stage FIFO buffer structure, enabling
continuous serial data transmission and reception.
(However, IrDA communication is carried out in half-duplex mode.)
• Built-in baud rate generator allows any bit rate to be selected.
• Choice of serial clock source: internal clock from baud rate generator or external clock from
SCK pin
• Four interrupt sources
There are four interrupt sources—transmit-FIFO-data-empty, transmit-end, receive-FIFO-datafull, and receive-error—that can issue requests independently. The transmit-FIFO-data-empty
and receive-FIFO-data-full interrupts can activate the on-chip DMAC to execute data transfer
• When not in use, the SCI can be stopped by halting its clock supply to reduce power
consumption.
• Choice of LSB-first or MSB-first mode
• In asynchronous mode, operation can be selected on a base clock of 4, 8, or 16 times the bit
rate.
Rev. 5.00 Sep 11, 2006 page 518 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.1.2
Block Diagrams
Bus interface
A block diagram of the SCI is shown in figure 14.1, and a diagram of the IrDA block in figure
14.2.
Module data bus
SCFRDR
(16-stage)
SCFTDR
(16-stage)
SCFDR
SCBRR
SCFCR
Pφ
SC1SSR
SC2SSR
RxD
SCRSR
Internal
data bus
SCTSR
Baud rate
generator
SCSCR
SCSMR
SCFER
Pφ/4
Pφ/16
Pφ/64
SCIMR
Transmission/
reception control
TxD
Parity generation
Clock
Parity check
External clock
SCK
TEI
TxI
RxI
ERI
SCI
Legend:
SCRSR:
SCFRDR:
SCTSR:
SCFTDR:
SCSMR:
SCSCR:
Receive shift register
Receive FIFO data register
Transmit shift register
Transmit FIFO data register
Serial mode register
Serial control register
SC1SSR:
SC2SSR:
SCBRR:
SCFCR:
SCFDR:
SCFER:
SCIMR:
IrDA/SCI switchover (to IrDA block)
Serial status 1 register
Serial status 2 register
Bit rate register
FIFO control register
FIFO data count register
FIFO error register
IrDA mode register
Figure 14.1 Block Diagram of SCI
Rev. 5.00 Sep 11, 2006 page 519 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Clock input
SCK
TxD
TxD
Modulation unit
Transmit clock
SCI
RxD
Demodulation unit
RxD
IrDA
IrDA/SCI switchover
Figure 14.2 Diagram of IrDA Block
14.1.3
Pin Configuration
The SCI has the serial pins shown in table 14.1 for each channel.
Table 14.1 SCI Pins
Channel
Name
Abbreviation
I/O
Function
0–2
Serial clock pin
SCK0–2
I/O
Clock input/output
Receive data pin
RxD0–2
Input
Receive data input
Transmit data pin
TxD0–2
Output
Transmit data output
Rev. 5.00 Sep 11, 2006 page 520 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.1.4
Register Configuration
The SCI has the internal registers shown in table 14.2. These registers are used to specify
asynchronous mode/synchronous mode and the IrDA communication mode, the data format and
the bit rate, and to perform transmitter/receiver control.
Table 14.2 SCI Registers
Access
Size
Channel
Name
Abbreviation
R/W
Initial
Value
Address
0
Serial mode register
SCSMR0
R/W
H'00
H'FFFF0500 8
Bit rate register
SCBRR0
R/W
H'FF
H'FFFF0502 8
Serial control register
SCSCR0
R/W
H'00
H'FFFF0504 8
Transmit FIFO data register
SCFTDR0
W
H'FFFF0506 8
Serial status 1 register
SC1SSR0
Serial status 2 register
SC2SSR0
—
*
R/(W) H'84
R/(W)* H'20
Receive FIFO data register
SCFRDR0
R
Undefined H'FFFF050C 8
FIFO control register
SCFCR0
R/W
H'00
H'FFFF050E 8
FIFO data count register
SCFDR0
R
H'00
H'FFFF0510 16
FIFO error register
SCFER0
R
H'00
H'FFFF0512 16
1
H'FFFF0508 16
H'FFFF050A 8
IrDA mode register
SCIMR0
R/W
H'00
H'FFFF0514 8
Serial mode register
SCSMR1
R/W
H'00
H'FFFF0520 8
Bit rate register
SCBRR1
R/W
H'FF
H'FFFF0522 8
Serial control register
SCSCR1
R/W
H'00
H'FFFF0524 8
Transmit FIFO data register
SCFTDR1
W
H'FFFF0526 8
Serial status 1 register
SC1SSR1
Serial status 2 register
SC2SSR1
—
*
R/(W) H'84
R/(W)* H'20
Receive FIFO data register
SCFRDR1
R
Undefined H'FFFF052C 8
FIFO control register
SCFCR1
R/W
H'00
H'FFFF052E 8
FIFO data count register
SCFDR1
R
H'00
H'FFFF0530 16
FIFO error register
SCFER1
R
H'00
H'FFFF0532 16
IrDA mode register
SCIMR1
R/W
H'00
H'FFFF0534 8
H'FFFF0528 16
H'FFFF052A 8
Rev. 5.00 Sep 11, 2006 page 521 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Access
Size
Channel
Name
Abbreviation
R/W
Initial
Value
Address
2
Serial mode register
SCSMR2
R/W
H'00
H'FFFF0540 8
Note:
14.2
*
Bit rate register
SCBRR2
R/W
H'FF
H'FFFF0542 8
Serial control register
SCSCR2
R/W
H'00
H'FFFF0544 8
Transmit FIFO data register
SCFTDR2
W
H'FFFF0546 8
Serial status 1 register
SC1SSR2
Serial status 2 register
SC2SSR2
—
*
R/(W) H'84
R/(W)* H'20
Receive FIFO data register
SCFRDR2
R
Undefined H'FFFF054C 8
FIFO control register
SCFCR2
R/W
H'00
H'FFFF054E 8
FIFO data count register
SCFDR2
R
H'00
H'FFFF0550 16
FIFO error register
SCFER2
R
H'00
H'FFFF0552 16
IrDA mode register
SCIMR2
R/W
H'00
H'FFFF0554 8
H'FFFF0548 16
H'FFFF054A 8
Only 0 can be written, to clear flags. Use byte access on registers with an access size
of 8, and word access on registers with an access size of 16.
Register Descriptions
With the exception of the IrDA mode register (SCIMR) and bits 6 to 3 (ICK3 to ICK0) of the
serial mode register (SCSMR), IrDA communication mode settings are the same as for
asynchronous mode.
14.2.1
Receive Shift Register (SCRSR)
Bit:
7
6
5
4
3
2
1
0
R/W:
—
—
—
—
—
—
—
—
The receive shift register (SCRSR) is the register used to receive serial data.
The SCI sets serial data input from the RxD pin in SCRSR in the order received, starting with the
LSB (bit 0) or MSB (bit 7), and converts it to parallel data. When one byte of data has been
received, it is transferred to the receive FIFO data register, SCFRDR, automatically.
SCRSR cannot be read or written to directly.
Rev. 5.00 Sep 11, 2006 page 522 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.2.2
Receive FIFO Data Register (SCFRDR)
Bit:
7
6
5
4
3
2
1
0
R/W:
R
R
R
R
R
R
R
R
The receive FIFO data register (SCFRDR) is a 16-stage FIFO register (8 bits per stage) that stores
received serial data.
When the SCI has received one byte of serial data, it transfers the received data from SCRSR to
SCFRDR where it is stored, and completes the receive operation. SCRSR is then enabled for
reception, and consecutive receive operations can be performed until the receive FIFO data
register is full (16 data bytes).
SCFRDR is a read-only register, and cannot be written to.
If a read is performed when there is no receive data in the receive FIFO data register, an undefined
value will be returned. When the receive FIFO data register is full of receive data, subsequent
receive data is lost.
14.2.3
Transmit Shift Register (SCTSR)
Bit:
7
6
5
4
3
2
1
0
R/W:
—
—
—
—
—
—
—
—
The transmit shift register (SCTSR) is the register used to transmit serial data.
To perform serial data transmission, the SCI first transfers transmit data from SCFTDR to SCTSR,
then sends the data to the TxD pin starting with the LSB (bit 0) or MSB (bit 7).
When transmission of one byte is completed, the next transmit data is transferred from SCFTDR
to SCTSR, and transmission started, automatically.
SCTSR cannot be read or written to directly.
Rev. 5.00 Sep 11, 2006 page 523 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.2.4
Transmit FIFO Data Register (SCFTDR)
Bit:
7
6
5
4
3
2
1
0
R/W:
W
W
W
W
W
W
W
W
The transmit FIFO data register (SCFTDR) is a 16-stage FIFO register (8 bits per stage) that stores
data for serial transmission.
If SCTSR is empty when transmit data has been written to SCFTDR, the SCI transfers the transmit
data written in SCFTDR to SCTSR and starts serial transmission.
SCFTDR is a write-only register, and cannot be read.
The next data cannot be written when SCFTDR is filled with 16 bytes of transmit data. Data
written in this case is ignored.
14.2.5
Serial Mode Register (SCSMR)
Bit:
Initial value:
R/W:
7
6
5
4
C/A
CHR/
ICK3
0
0
0
0
R/W
R/W
R/W
R/W
3
2
1
0
MP
CKS1
CKS0
0
0
0
0
R/W
R/W
R/W
R/W
PE/ICK2 O/E/ICK1 STOP/
ICK0
The serial mode register (SCSMR) is an 8-bit register used to set the SCI’s serial transfer format
and select the baud rate generator clock source. In IrDA communication mode, it is used to select
the output pulse width.
SCSMR can be read or written to by the CPU at all times.
SCSMR is initialized to H'00 by a reset, by the module standby function, and in standby mode.
Bit 7—Communication Mode (C/A
A): Selects asynchronous mode or synchronous mode as the
SCI operating mode. In IrDA communication mode, this bit must be cleared to 0.
Bit 7: C/A
A
Description
0
Asynchronous mode
1
Synchronous mode
Rev. 5.00 Sep 11, 2006 page 524 of 916
REJ09B0332-0500
(Initial value)
Section 14 Serial Communication Interface (SCI)
Bit 6—Character Length (CHR)/IrDA Clock Select 3 (ICK3): Selects 7 or 8 bits as the data
length in asynchronous mode. In synchronous mode, a fixed data length of 8 bits is used regardless
of the CHR setting,
Bit 6: CHR
Description
0
8-bit data
1
7-bit data*
Note:
*
(Initial value)
When 7-bit data is selected, some bits of the transmit FIFO data register (SCFTDR) are
not transmitted according to the selection of either LSB-first or MSB-first mode in data
transmission by the TLM (bit 7) of the serial status 2 register (SC2SSR):
(1) When TLM = 0 (transmission in LSB-first mode): MSB (bit 7) is not transmitted.
(2) When TLM = 1 (transmission in MSB-first mode): LSB (bit 0) is not transmitted.
In IrDA communication mode, bit 6 is the IrDA clock select 3 (ICK3) bit, enabling appropriate
clock pulses to be generated according to its setting. See, Pulse Width Selection, in section 14.3.6,
Operation in IrDA Mode, for details.
Bit 5—Parity Enable (PE)/IrDA Clock Select 2 (ICK2): In asynchronous mode, selects whether
or not parity bit addition is performed in transmission, and parity bit checking in reception. In
synchronous mode, parity bit addition and checking is not performed, regardless of the PE bit
setting.
Bit 5: PE
Description
0
Parity bit addition and checking disabled
Parity bit addition and checking enabled*
1
Note:
*
(Initial value)
When the PE bit is set to 1, the parity (even or odd) specified by the O/E bit is added to
transmit data before transmission. In reception, the parity bit is checked for the parity
(even or odd) specified by the O/E bit.
In IrDA communication mode, bit 5 is the IrDA clock select 2 (ICK2) bit, enabling appropriate
clock pulses to be generated according to its setting. See, Pulse Width Selection, in section 14.3.6,
Operation in IrDA Mode, for details.
Rev. 5.00 Sep 11, 2006 page 525 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 4—Parity Mode (O/E
E)/IrDA Clock Select 1 (ICK1): Selects either even or odd parity for use
in parity addition and checking. The O/E bit setting is only valid when the PE bit is set to 1,
enabling parity bit addition and checking, in asynchronous mode. The O/E bit setting is invalid in
synchronous mode, and when parity addition and checking is disabled in asynchronous mode.
Bit 4: O/E
E
Description
0
Even parity*
2
Odd parity*
1
1
(Initial value)
Notes: 1. When even parity is set, parity bit addition is performed in transmission so that the total
number of 1-bits in the transmit character plus the parity bit is even. In reception, a
check is performed to see if the total number of 1-bits in the receive character plus the
parity bit is even.
2. When odd parity is set, parity bit addition is performed in transmission so that the total
number of 1-bits in the transmit character plus the parity bit is odd. In reception, a check
is performed to see if the total number of 1-bits in the receive character plus the parity
bit is odd.
In IrDA communication mode, bit 4 is the IrDA clock select 1 (ICK1) bit, enabling appropriate
clock pulses to be generated according to its setting. See, Pulse Width Selection, in section 14.3.6,
Operation in IrDA Mode, for details.
Bit 3—Stop Bit Length (STOP)/IrDA Clock Select 0 (ICK0): Selects 1 or 2 bits as the stop bit
length in asynchronous mode. The STOP bit setting is only valid in asynchronous mode. If
synchronous mode is set, the STOP bit setting is invalid since stop bits are not added.
Bit 3: STOP
Description
0
1 stop bit*
1
1
2 stop bits
(Initial value)
*2
Notes: 1. In transmission, a single 1-bit (stop bit) is added to the end of a transmit character
before it is sent.
2. In transmission, two 1-bits (stop bits) are added to the end of a transmit character
before it is sent.
In reception, only the first stop bit is checked, regardless of the STOP bit setting. If the second
stop bit is 1, it is treated as a stop bit; if it is 0, it is treated as the start bit of the next transmit
character.
In IrDA communication mode, bit 3 is the IrDA clock select 0 (ICK0) bit, enabling appropriate
clock pulses to be generated according to its setting. See, Pulse Width Selection, in section 14.3.6,
Operation in IrDA Mode, for details.
Rev. 5.00 Sep 11, 2006 page 526 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 2—Multiprocessor Mode (MP): Selects a multiprocessor format. When a multiprocessor
format is selected, the PE bit and O/E bit parity settings are invalid. The MP bit setting is only
valid in asynchronous mode; it is invalid in synchronous mode and IrDA mode.
For details of the multiprocessor communication function, see section 14.3.3, Multiprocessor
Communication Function.
Bit 2: MP
Description
0
Multiprocessor function disabled
1
Multiprocessor format selected
(Initial value)
Bits 1 and 0—Clock Select 1 and 0 (CKS1, CKS0): These bits select the clock source for the
built-in baud rate generator. The clock source can be selected from Pφ, Pφ/4, Pφ/16, and Pφ/64,
according to the setting of bits CKS1 and CKS0.
For the relationship between the clock source, the bit rate register setting, and the baud rate, see
section 14.2.9, Bit Rate Register (SCBRR).
Bit 1: CKS1
Bit 0: CKS0
Description
0
0
Pφ clock
1
Pφ/4 clock
0
Pφ/16 clock
1
Pφ/64 clock
1
(Initial value)
Note: Pφ (SCI) is a clock scaled from the CKP peripheral clock according to the setting in the
module clock control register. For details see section 4, Clock Pulse Generator (CPG) and
Power-Down Modes.
14.2.6
Serial Control Register (SCSCR)
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
TIE
RIE
TE
RE
MPIE
TEIE
CKE1
CKE0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
The serial control register (SCSCR) performs enabling or disabling of SCI transmit/receive
operations, and interrupt requests, and selection of the transmit/receive clock source.
SCSCR can be read or written to by the CPU at all times.
Rev. 5.00 Sep 11, 2006 page 527 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
SCSCR is initialized to H'00 by a reset, by the module standby function, and in standby mode.
Bit 7—Transmit Interrupt Enable (TIE): Enables or disables transmit-FIFO-data-empty
interrupt (TXI) request generation when, after serial transmit data is transferred from the transmit
FIFO data register (SCFTDR) to the transmit shift register (SCTSR), the number of data bytes in
SCFTDR falls to or below the transmit trigger set number, and the TDFE flag is set to 1 in the
serial status 1 register (SC1SSR).
Bit 7: TIE
Description
0
Transmit-FIFO-data-empty interrupt (TXI) request disabled*
1
Transmit-FIFO-data-empty interrupt (TXI) request enabled
Note:
*
(Initial value)
TXI interrupt requests can be cleared by writing transmit data exceeding the transmit
trigger set number to SCFTDR, reading 1 from the TDFE flag, then clearing it to 0, or by
clearing the TIE bit to 0. When transmit data is written to SCFTDR using the on-chip
DMAC, the TDFE flag is cleared automatically.
Bit 6—Receive Interrupt Enable (RIE): Enables or disables generation of a receive-FIFO-datafull interrupt (RXI) request and receive-error interrupt (ERI) request when, after serial receive data
is transferred from the receive shift register (SCRSR) to the receive FIFO data register (SCFRDR),
the number of data bytes in SCFRDR reaches or exceeds the receive trigger set number, and the
RDF flag is set to 1 in SC1SSR.
Bit 6: RIE
Description
0
Receive-FIFO-data-full interrupt (RXI) request and receive-error interrupt (ERI)
request disabled*
(Initial value)
1
Receive-FIFO-data-full interrupt (RXI) request and receive-error interrupt (ERI)
request enabled
Note:
*
RXI and ERI interrupt requests can be cleared by reading 1 from the RDF flag, or the
ORER, BRK, DR, or ER flag, then clearing the flag to 0, or by clearing the RIE bit to 0.
When ORER occurs, read at least the receive trigger set number of receive data bytes
from SCFRDR, then read 1 from the ORER flag and clear it to 0.
Rev. 5.00 Sep 11, 2006 page 528 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 5—Transmit Enable (TE): Enables or disables the start of serial transmission by the SCI.
Bit 5: TE
Description
0
Transmission disabled*
2
Transmission enabled*
1
1
(Initial value)
Notes: 1. The TDFE flag in SC1SSR is not affected by clearing TE to 0, and the TxD pin is fixed
high.
2. Serial transmission is started when transmit data is written to SCFTDR in this state.
Serial mode register (SCSMR) and FIFO control register (SCFCR) settings must be
made, the transmission format decided, and the transmit FIFO reset, before the TE bit
is set to 1.
Bit 4—Receive Enable (RE): Enables or disables the start of serial reception by the SCI.
Bit 4: RE
Description
0
Reception disabled*
2
Reception enabled*
1
1
(Initial value)
Notes: 1. Clearing the RE bit to 0 does not affect the RDF, FER, PER, ORER, DR, and BRK
flags, which retain their states.
2. Serial reception is started in this state when a start bit is detected in asynchronous
mode or serial clock input is detected in synchronous mode. When a setting is made to
output a serial clock in synchronous mode, if TE = 0, the serial clock is output and
reception is started as soon as RE is set to 1.
When TE = 1 and RE = 1, serial data is received simultaneously with the transmit
operation.
SCSMR setting must be made to decide the reception format before setting the RE bit
to 1.
Rev. 5.00 Sep 11, 2006 page 529 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 3—Multiprocessor Interrupt Enable (MPIE): Enables or disables multiprocessor interrupts.
The MPIE bit setting is only valid in asynchronous mode when the MP bit in SCSMR is set to 1.
The MPIE bit setting is invalid in synchronous mode and IrDA mode, and when the MP bit is
cleared to 0.
Bit 3: MPIE
Description
0
Multiprocessor interrupts disabled (normal reception performed) (Initial value)
[Clearing conditions]
•
When the MPIE bit is cleared to 0
•
When data with MPB = 1 is received
Multiprocessor interrupts enabled*
1
Receive interrupt (RXI) requests, receive-error interrupt (ERI) requests, and
setting of the RDF, ORER, and FER flags in SC1SSR are disabled until data
with the multiprocessor bit set to 1 is received.
Note:
*
Receive data transfer from SCRSR to SCFRDR, receive error detection, and setting of
the RDF, FER, and ORER flags in SC1SSR, is not performed. When receive data
including MPB = 1 is received, the MPB FLAG in SC1SSR is set to 1, the MPIE bit is
cleared to 0 automatically, and generation of RXI and ERI interrupts (when the RIE bit
in SCSCR are set to 1) and FER and ORER flag setting is enabled.
Bit 2—Transmit-End interrupt Enable (TEIE): Enables or disables transmit-end interrupt
(TEI) request generation when there is no valid transmit data in SCFTDR when the last bit of the
transmit data is sent.
Bit 2: TEIE
Description
0
Transmit-end interrupt (TEI) request disabled*
Transmit-end interrupt (TEI) request enabled*
1
Note:
*
(Initial value)
TEI interrupt requests can be cleared by writing data to SCFTDR and clearing the
TEND flag to 0 in SC1SSR, or by clearing the TEIE bit to 0.
Rev. 5.00 Sep 11, 2006 page 530 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bits 1 and 0—Clock Enable 1 and 0 (CKE1, CKE0): These bits are used to select the SCI clock
source and enable or disable clock output from the SCK pin. The combination of the CKE1 and
CKE0 bits determines whether the SCK pin functions as the serial clock output pin or the serial
clock input pin.
The setting of the CKE0 bit, however, is only valid for internal clock operation (CKE1 = 0) in
asynchronous mode. The CKE0 bit setting is invalid in synchronous mode and in the case of
external clock operation (CKE1 = 1). The CKE1 and CKE0 bits must be set before determining
the SCI’s operating mode with SCSMR.
For details of clock source selection, see table 14.9 in section 14.3, Operation.
Bit 1: CKE1
Bit 0: CKE0
Description
0
0
Asynchronous
mode
Internal clock/SCK pin functions as input
1
pin (input signal ignored)*
Synchronous
mode
Internal clock/SCK pin functions as serial
1
clock output*
Asynchronous
mode
Internal clock/SCK pin functions as clock
2
output*
Synchronous
mode
Internal clock/SCK pin functions as serial
clock output
Asynchronous
mode
External clock/SCK pin functions as
3
clock input*
Synchronous
mode
External clock/SCK pin functions as
serial clock input
1
1
*
Legend:
*: Don’t care
Notes: 1. Initial value
2. Outputs a clock with a frequency of 16/8/4 times the bit rate.
3. Inputs a clock with a frequency 16/8/4 times the bit rate.
4. Don’t care
Rev. 5.00 Sep 11, 2006 page 531 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.2.7
Serial Status 1 Register (SC1SSR)
Bit:
15
14
13
12
11
10
9
8
PER3
PER2
PER1
PER0
FER3
FER2
FER1
FER0
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
TDFE
RDF
ORER
FER
PER
TEND
MPB
MPBT
1
0
0
0
0
1
0
0
R/(W)*
R/(W)*
R/(W)*
R
R
R
R
R/W
Initial value:
R/W:
Note:
*
Only 0 can be written, to clear the flag.
The serial status 1 register (SC1SSR) is a 16-bit register in which the lower 8 bits consist of status
flags that indicate the operating status of the SCI plus the multiprocessor bit, and the upper 8 bits
indicate the number of receive errors in the data in the receive FIFO register.
SC1SSR can be read or written to at all times. However, 1 cannot be written to the TDFE, RDF,
ORER, FER, PER, and TEND flags. Also note that in order to clear the TDFE, RDF, and ORER
flags to 0, they must first be read as 1. The FER, PER, TEND, and MPB flags are read-only and
cannot be modified.
SC1SSR is initialized to H'0084 by a reset, in module standby mode, and in standby mode.
Bits 15 to 12—Number of Parity Errors (PER3 to PER0): These bits indicate the number of
data bytes in which a parity error occurred in the receive data in the receive FIFO data register.
These bits are cleared by reading all the receive data in the receive FIFO data register or setting
the RFRST bit to 1 in SCFCR to reset the receive FIFO data register to the empty state.
Bits 11 to 8—Number of Framing Errors (FER3 to FER0): These bits indicate the number of
data bytes in which a framing error occurred in the receive data in the receive FIFO data register.
These bits are cleared by reading all the receive data in the receive FIFO data register or setting
the RFRST bit to 1 in SCFCR to reset the receive FIFO data register to the empty state.
Rev. 5.00 Sep 11, 2006 page 532 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 7—Transmit FIFO Data Register Empty (TDFE): Indicates that data has been transferred
from the transmit FIFO data register (SCFTDR) to the transmit shift register (SCTSR), the number
of data bytes in SCFTDR has fallen to or below the transmit trigger data number set by bits
TTRG1 and TTRG0 in the FIFO control register (SCFCR), and transmit data can be written to
SCFTDR.
Bit 7: TDFE
Description
0
A number of transmit data bytes exceeding the transmit trigger set number
have been written to SCFTDR
[Clearing conditions]
1
•
When transmit data exceeding the transmit trigger set number is written to
SCFTDR, and 0 is written to TDFE after reading TDFE = 1
•
When transmit data exceeding the transmit trigger set number is written to
SCFTDR by the on-chip DMAC
The number of transmit data bytes in SCFTDR does not exceed the transmit
trigger set number
(Initial value)
[Setting conditions]
Note:
*
•
In a reset, in standby mode
•
When the number of SCFTDR transmit data bytes falls to or below the
transmit trigger set number as the result of a transmit operation*
As SCFTDR is a 16-byte FIFO register, the maximum number of bytes that can be
written when TDFE = 0 is {16 – (transmit trigger set number)}. Data written in excess of
this will be ignored. The number of data bytes in SCFTDR is indicated by the upper 8
bits of SCFDR.
Rev. 5.00 Sep 11, 2006 page 533 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 6—Receive FIFO Data Register Full (RDF): Indicates that the received data has been
transferred to the receive FIFO data register (SCFRDR), and the number of receive data bytes in
SCFRDR is equal to or greater than the receive trigger number set by bits RTRG1 and RTRG0 in
the FIFO control register (SCFCR).
Bit 6: RDF
Description
0
The number of receive data bytes in SCFRDR is less than the receive trigger
set number
(Initial value)
[Clearing conditions]
1
•
In a reset or in standby mode
•
When SCFRDR is read until the number of receive data bytes in SCFRDR
falls below the receive trigger set number, and 0 is written to RDF after
reading RDF = 1
•
When SCFRDR is read by the on-chip DMAC until the number of receive
data bytes in SCFRDR falls below the receive trigger set number
The number of receive data bytes in SCFRDR is equal to or greater than the
receive trigger set number
[Setting condition]
When SCFRDR contains at least the receive trigger set number of receive
data bytes*
Note:
*
SCFRDR is a 16-byte FIFO register. When RDF = 1, at least the receive trigger set
number of data bytes can be read. If all the data in SCFRDR is read and another read
is performed, the data value will be undefined. The number of receive data bytes in
SCFRDR is indicated by the lower 8 bits of SCFDR.
Rev. 5.00 Sep 11, 2006 page 534 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 5—Overrun Error (ORER): Indicates that an overrun error occurred during reception,
causing abnormal termination.
Bit 5: ORER
Description
0
Reception in progress, or reception has ended normally*
1
(Initial value)
[Clearing conditions]
•
In a reset or in standby mode
•
1
When 0 is written to ORER after reading ORER = 1
2
An overrun error occurred during reception*
[Setting condition]
When the next serial receive operation is completed while there are 16 receive
data bytes in SCFRDR
Notes: 1. The ORER flag is not affected and retains its previous state when the RE bit in SCSCR
is cleared to 0.
2. The receive data prior to the overrun error is retained in SCFRDR, and the data
received subsequently is lost. Serial reception cannot be continued while the ORER flag
is set to 1. Also, serial transmission cannot be continued in synchronous mode.
Bit 4—Framing Error (FER): Indicates a framing error in the data read from the receive FIFO
data register (SCFRDR).
Bit 4: FER
Description
0
There is no framing error in the receive data read from SCFRDR (Initial value)
[Clearing conditions]
1
•
In a reset or in standby mode
•
When there is no framing error in SCFRDR read data
There is a framing error in the receive data read from SCFRDR
[Setting condition]
When there is a framing error in SCFRDR read data
Rev. 5.00 Sep 11, 2006 page 535 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 3—Parity Error (PER): In asynchronous mode, indicates a parity error in the data read from
the receive FIFO data register (SCFRDR).
Bit 3: PER
Description
0
There is no parity error in the receive data read from SCFRDR
(Initial value)
[Clearing conditions]
1
•
In a reset or in standby mode
•
When there is no parity error in SCFRDR read data
There is a parity error in the receive data read from SCFRDR
[Setting condition]
When there is a parity error in SCFRDR read data
Bit 2—Transmit End (TEND): Indicates that there is no valid data in SCFTDR when the last bit
of the transmit character is sent, and transmission has been ended.
Bit 2: TEND
Description
0
Transmission is in progress
[Clearing condition]
When data is written to SCFTDR while TE = 1
1
Transmission has been ended
(Initial value)
[Setting conditions]
•
In a reset or in standby mode
•
When the TE bit in SCSCR is 0
•
When there is no transmit data in SCFTDR on transmission of the last bit
of a 1-byte serial transmit character
Bit 1—Multiprocessor bit (MPB): When reception is performed using a multiprocessor format in
asynchronous mode, MPB stores the multiprocessor bit in the receive data.
The MPB flag is read-only and cannot be modified.
Bit 1: MPB
Description
0
Data with a 0 multiprocessor bit has been received*
1
Data with a 1 multiprocessor bit has been received
Note:
*
(Initial value)
Retains its previous state when the RE bit is cleared to 0 while using a multiprocessor
format.
Rev. 5.00 Sep 11, 2006 page 536 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 0—Multiprocessor Bit Transfer (MPBT): When transmission is performed using a
multiprocessor format in asynchronous mode, MPBT stores the multiprocessor bit to be added to
the transmit data.
The MPBT bit setting is invalid in synchronous mode and IrDA mode, when a multiprocessor
format is not used, and when the operation is not transmission.
Bit 0: MPBT
Description
0
Data with a 0 multiprocessor bit is transmitted
1
Data with a 1 multiprocessor bit is transmitted
14.2.8
Serial Status 2 Register (SC2SSR)
Bit:
Initial value:
R/W:
Note:
(Initial value)
*
7
6
5
4
3
2
1
0
TLM
RLM
N1
N0
BRK
DR
EI
ER
0
0
1
0
0
0
0
0
R/W
R/(W)*
R/(W)*
R/W
R/(W)*
R/W
R/W
R/W
Only 0 can be written, to clear the flag.
The serial status 2 register (SC2SSR) is an 8-bit register.
SC2SSR can be read or written to at all times. However, 1 cannot be written to the BRK, DR, and
ER flags. Also note that in order to clear these flags to 0, they must first be read as 1. SC2SSR is
initialized to H'20 by a reset, in module standby mode, and in standby mode.
Bit 7—Transmit LSB/MSB-First Select (TLM): Selects LSB-first or MSB-first mode in data
transmission.
Bit 7: TLM
Description
0
LSB-first transmission
1
MSB-first transmission
(Initial value)
Note: When data is transmitted by 7-bit data length in asynchronous mode, MSB (bit 7) of the
data is not transmitted in LSB-first transmission mode, and LSB (bit 0) of the data is not
transmitted in MSB-first transmission mode.
Rev. 5.00 Sep 11, 2006 page 537 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 6—Receive LSB/MSB-First Select (RLM): Selects LSB-first or MSB-first mode in data
reception.
Bit 6: RLM
Description
0
LSB-first reception
1
MSB-first reception
(Initial value)
Note: When data is received by 7-bit data length in asynchronous mode, MSB (bit 7) of the
received data is 0 in LSB-first reception mode, and LSB (bit 0) of the received data is 0 in
MSB-first reception mode.
Bits 5 and 4—Clock Bit Rate Ratio (N1, N0): These bits select the ratio of the base clock to the
bit rate.
Bit 5: N1
Bit 4: N0
Description
0
0
SCI operates on base clock of 4 times the bit rate
1
SCI operates on base clock of 8 times the bit rate
0
SCI operates on base clock of 16 times the bit rate
(Initial value)
1
Setting prohibited
1
Bit 3—Break Detect (BRK): Indicates that a receive data break signal has been detected.
Bit 3: BRK
Description
0
A break signal has not been received
(Initial value)
[Clearing conditions]
•
In a reset or in standby mode
•
When 0 is written to BRK after reading BRK = 1
A break signal has been received*
1
[Setting condition]
When data with a framing error is received, and a framing error also occurs in
the next receive data (all space “0”)
Note:
*
When a break is detected, the receive data (H'00) following detection is not transferred
to SCFRDR. When the break ends and the receive signal returns to mark “1”, receive
data transfer is resumed.
Rev. 5.00 Sep 11, 2006 page 538 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 2—Receive Data Ready (DR): Indicates that there are fewer than the receive trigger set
number of data bytes in the receive FIFO data register (SCFRDR), and no further data has arrived
for at least 15 etu after the stop bit of the last data received.
Bit 2: DR
Description
0
Reception is in progress or has ended normally and there is no receive data
left in SCFRDR
(Initial value)
[Clearing conditions]
1
•
In a reset or in standby mode
•
When 0 is written to DR after reading all remaining receive data and the
1
state of DR = 1*
No further receive data has arrived, and SCFRDR contains fewer than the
receive trigger set number of data bytes
[Setting condition]
When SCFRDR contains fewer than the receive trigger set number of receive
data bytes, and no further data has arrived for at least 15 etu after the stop bit
2
of the last data received*
Notes: 1. All remaining receive data should be read before clearing the DR flag.
2. Equivalent to 1.5 frames with an 8-bit, 1-stop-bit format.
etu: Elementary time unit = sec/bit
Bit 1—Receive Data Error Ignore Enable (EI): Selects whether or not the receive operation is
to be continued when a framing error or parity error occurs in receive data (ER = 1).
Bit 1: EI
Description
0
Receive operation is halted when framing error or parity error occurs during
reception (ER = 1)
(Initial value)
1
Receive operation is continued when framing error or parity error occurs during
reception (ER = 1)
Note: When EI = 0, only the last data in SCFRDR is treated as data containing an error. When EI
= 1, receive data is sent to SCFRDR even if it contains an error.
Rev. 5.00 Sep 11, 2006 page 539 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 0—Receive Error (ER): Indicates that a framing error, parity error, or overrun error occurred
during reception.
Bit 0: ER
Description
0
Reception in progress, or reception has ended normally*
1
(Initial value)
[Clearing conditions]
1
•
In a reset or in standby mode
•
When 0 is written to ER after reading ER = 1
A framing error, parity error, or overrun error occurred during reception
[Setting conditions]
•
When the SCI checks whether the stop bit at the end of the receive data is
2
1 when reception ends, and the stop bit is 0*
•
When, in reception, the number of 1-bits in the receive data plus the parity
bit does not match the parity setting (even or odd) specified by the O/E bit
in the serial mode register (SCSMR)
•
When the next serial receive operation is completed while there are 16
receive data bytes in SCFRDR
Notes: 1. The ER flag is not affected and retains its previous state when the RE bit in SCSCR is
cleared to 0. When a framing error or parity error occurs, the receive data is still
transferred to SCFRDR, and reception is then halted or continued according to the
setting of the EI bit. When an overrun error occurs, the receive data is not transferred to
SCFRDR and reception cannot be continued.
2. In 2-stop-bit mode, only the first stop bit is checked for a value of 1; the second bit is not
checked.
14.2.9
Bit Rate Register (SCBRR)
Bit:
7
6
5
4
3
2
1
0
Initial value:
1
1
1
1
1
1
1
1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W:
The bit rate register (SCBRR) is an 8-bit register that sets the serial transmit/receive bit rate in
accordance with the baud rate generator operating clock selected by bits CKS1 and CKS0 in the
serial mode register (SCSMR).
SCBRR can be read or written to by the CPU at all times.
Rev. 5.00 Sep 11, 2006 page 540 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
SCBRR is initialized to H'FF by a reset, by the module standby function, and in software standby
mode and hardware standby mode.
The SCBRR setting is found from the following equations.
Asynchronous mode:
N=
N=
N=
Pφ
64 × 22n–1 × B
Pφ
32 × 22n–1 × B
Pφ
16 × 22n–1 × B
× 106 – 1 (When operating on a base clock of 16 times the bit rate)
× 106 – 1 (When operating on a base clock of 8 times the bit rate)
× 106 – 1 (When operating on a base clock of 4 times the bit rate)
Synchronous mode:
N=
Where B:
N:
Pφ:
n:
Pφ
8 × 22n–1 × B
× 106 – 1
Bit rate (bits/s)
SCBRR setting for baud rate generator (0 ≤ N ≤ 255)
Peripheral module operating frequency (MHz)
Baud rate generator input clock (n = 0 to 3)
(See the table below for the relation between n and the clock.)
SCSMR Settings
n
Clock
CKS1
CKS0
0
Pφ
0
0
1
Pφ/4
0
1
2
Pφ/16
1
0
3
Pφ/64
1
1
Rev. 5.00 Sep 11, 2006 page 541 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
The bit rate error in asynchronous mode is found from the following equations:
Error (%) =
Pφ × 106
(N + 1) × B × 64 × 22n–1
– 1 × 100
(When operating on a base clock of 16 times the bit rate)
Error (%) =
Pφ × 106
(N + 1) × B × 32 × 22n–1
– 1 × 100
(When operating on a base clock of 8 times the bit rate)
Error (%) =
Pφ × 106
(N + 1) × B × 16 × 22n–1
– 1 × 100
(When operating on a base clock of 4 times the bit rate)
Table 14.3 shows sample SCBRR settings in asynchronous mode, and table 14.4 shows sample
SCBRR settings in synchronous mode.
Rev. 5.00 Sep 11, 2006 page 542 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.3 Examples of Bit Rates and SCBRR Settings in Asynchronous Mode
Pφ
φ (MHz)
2
2.097152
2.4576
3
Bit Rate
(Bits/s)
n
N
Error
(%)
n
N
Error
(%)
n
N
Error
(%)
n
N
Error
(%)
110
1
141
0.03
1
148
–0.04
1
174
–0.26
1
212
0.03
150
1
103
0.16
1
108
0.21
1
127
0.00
1
155
0.16
300
0
207
0.16
0
217
0.21
0
255
0.00
1
77
0.16
600
0
103
0.16
0
108
0.21
0
127
0.00
0
155
0.16
1200
0
51
0.16
0
54
–0.70
0
63
0.00
0
77
0.16
2400
0
25
0.16
0
26
1.14
0
31
0.00
0
38
0.16
4800
0
12
0.16
0
13
–2.48
0
15
0.00
0
19
–2.34
9600
0
6
–6.99
0
6
–2.48
0
7
0.00
0
9
–2.34
19200
0
2
8.51
0
2
13.78
0
3
0.00
0
4
–2.34
31250
0
1
0.00
0
1
4.86
0
1
22.88
0
2
0.00
38400
0
1
–18.62
0
1
–14.67
0
1
0.00
—
—
—
Pφ
φ (MHz)
3.6864
4
4.9152
Bit Rate
(Bits/s)
n
N
110
2
64
0.70
2
70
0.03
2
86
0.31
2
88
–0.25
150
1
191
0.00
1
207
0.16
1
255
0.00
2
64
0.16
300
1
95
0.00
1
103
0.16
1
127
0.00
1
129
0.16
n
N
Error
(%)
n
5
Error
(%)
N
Error
(%)
n
N
Error
(%)
600
0
191
0.00
0
207
0.16
0
255
0.00
1
64
0.16
1200
0
95
0.00
0
103
0.16
0
127
0.00
0
129
0.16
2400
0
47
0.00
0
51
0.16
0
63
0.00
0
64
0.16
4800
0
23
0.00
0
25
0.16
0
31
0.00
0
32
–1.36
9600
0
11
0.00
0
12
0.16
0
15
0.00
0
15
1.73
19200
0
5
0.00
0
6
–6.99
0
7
0.00
0
7
1.73
31250
—
—
—
0
3
0.00
0
4
–1.70
0
4
0.00
38400
0
2
0.00
0
2
8.51
0
3
0.00
0
3
1.73
Rev. 5.00 Sep 11, 2006 page 543 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Pφ
φ (MHz)
6
6.144
7.37288
8
Bit Rate
(Bits/s)
n
N
Error
(%)
n
N
Error
(%)
n
N
Error
(%)
n
N
Error
(%)
110
2
106
–0.44
2
108
0.08
2
130
–0.07
2
141
0.03
150
2
77
0.16
2
79
0.00
2
95
0.00
2
103
0.16
300
1
155
0.16
1
159
0.00
1
191
0.00
1
207
0.16
600
1
77
0.16
1
79
0.00
1
95
0.00
1
103
0.16
1200
0
155
0.16
0
159
0.00
0
191
0.00
0
207
0.16
2400
0
77
0.16
0
79
0.00
0
95
0.00
0
103
0.16
4800
0
38
0.16
0
39
0.00
0
47
0.00
0
51
0.16
9600
0
19
–2.34
0
19
0.00
0
23
0.00
0
25
0.16
19200
0
9
–2.34
0
9
0.00
0
11
0.00
0
12
0.16
31250
0
5
0.00
0
5
2.40
0
6
5.33
0
7
0.00
38400
0
4
–2.34
0
4
0.00
0
5
0.00
0
6
–6.99
Pφ
φ (MHz)
9.8304
10
12
12.288
Bit Rate
(Bits/s)
n
N
Error
(%)
n
N
Error
(%)
n
N
Error
(%)
n
N
Error
(%)
110
2
174
–0.26
2
177
–0.25
2
212
0.03
2
217
0.08
150
2
127
0.00
2
129
0.16
2
155
0.16
2
159
0.00
300
1
255
0.00
2
64
0.16
2
77
0.16
2
79
0.00
600
1
127
0.00
1
129
0.16
1
155
0.16
1
159
0.00
1200
0
255
0.00
1
64
0.16
1
77
0.16
1
79
0.00
2400
0
127
0.00
0
129
0.16
0
155
0.16
0
159
0.00
4800
0
63
0.00
0
64
0.16
0
77
0.16
0
79
0.00
9600
0
31
0.00
0
32
–1.36
0
38
0.16
0
39
0.00
19200
0
15
0.00
0
15
1.73
0
19
0.16
0
19
0.00
31250
0
9
–1.70
0
9
0.00
0
11
0.00
0
11
2.40
38400
0
7
0.00
0
7
1.73
0
9
–2.34
0
9
0.00
Rev. 5.00 Sep 11, 2006 page 544 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Pφ
φ (MHz)
14.7456
16
30
Error
(%)
n
N
Error
(%)
70
0.03
3
132
0.13
207
0.16
3
97
–0.35
103
0.16
2
194
0.16
1
207
0.16
2
97
–0.35
0.00
1
103
0.16
1
194
0.16
Bit Rate
(Bits/s)
n
N
Error
(%)
n
110
3
64
0.70
3
150
2
191
0.00
2
300
2
95
0.00
2
600
1
191
0.00
1200
1
95
N
2400
0
191
0.00
0
207
0.16
1
97
–0.35
4800
0
95
0.00
0
103
0.16
0
197
0.16
9600
0
47
0.00
0
51
0.16
0
97
–0.35
19200
0
23
0.00
0
25
0.16
0
48
–0.35
31250
0
14
–1.70
0
15
0.00
0
29
0.00
38400
0
11
0.00
0
12
0.16
0
23
1.73
Rev. 5.00 Sep 11, 2006 page 545 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.4 Examples of Bit Rates and SCBRR Settings in Synchronous Mode
Pφ
φ (MHz)
4
8
16
Bit Rate (Bits/s)
n
N
n
N
n
N
110
—
—
—
—
—
—
250
2
249
3
124
3
249
500
2
124
2
249
3
124
1k
1
249
2
124
2
249
2.5 k
1
99
1
199
2
99
5k
0
199
1
99
1
199
10 k
0
99
0
199
1
99
25 k
0
39
0
79
0
159
50 k
0
19
0
39
0
79
100 k
0
9
0
19
0
39
250 k
0
3
0
7
0
15
500 k
0
1
0
3
0
7
0
0*
0
1
0
3
0
0*
0
1
1M
2M
Legend:
Blank: No setting is available.
—:
A setting is available but error occurs.
Notes: As far as possible, the setting should be made so that the error is within 1%.
* Continuous transmission/reception is not possible.
Rev. 5.00 Sep 11, 2006 page 546 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.5 shows the maximum bit rate for various frequencies in asynchronous mode when using
the baud rate generator. Tables 14.6 and 14.7 show the maximum bit rates when using external
clock input.
Table 14.5 Maximum Bit Rate for Various Frequencies with Baud Rate Generator
(Asynchronous Mode)
Settings
Pφ
φ (MHz)
Maximum Bit Rate (Bits/s)
n
N
2
62500
0
0
2.097152
65536
0
0
2.4576
76800
0
0
3
93750
0
0
3.6864
115200
0
0
4
125000
0
0
4.9152
153600
0
0
8
250000
0
0
9.8304
307200
0
0
12
375000
0
0
14.7456
460800
0
0
16
500000
0
0
19.66080
614400
0
0
20
625000
0
0
24
750000
0
0
24.57600
768000
0
0
28
896875
0
0
30
937500
0
0
Rev. 5.00 Sep 11, 2006 page 547 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.6 Maximum Bit Rate with External Clock Input (Asynchronous Mode)
Pφ
φ (MHz)
External Input Clock (MHz)
Maximum Bit Rate (Bits/s)
2
0.5000
31250
2.097152
0.5243
32768
2.4576
0.6144
38400
3
0.7500
46875
3.6864
0.9216
57600
4
1.0000
62500
4.9152
1.2288
76800
8
2.0000
125000
9.8304
2.4576
153600
12
3.0000
187500
14.7456
3.6864
230400
16
4.0000
250000
30
7.5000
468750
Table 14.7 Maximum Bit Rate with External Clock Input (Synchronous Mode)
Pφ
φ (MHz)
External Input Clock (MHz)
Maximum Bit Rate (Bits/s)
8
1.3333
1333333.3
16
2.6667
2666666.7
30
5.0
5000000.0
Rev. 5.00 Sep 11, 2006 page 548 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.2.10 FIFO Control Register (SCFCR)
Bit:
7
6
5
4
3
2
1
0
RTRG1
RTRG0
TTRG1
TTRG0
—
TFRST
RFRST
LOOP
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R
R/W
R/W
R/W
Initial value:
R/W:
The FIFO control register (SCFCR) performs data count resetting and trigger data number setting
for the transmit and receive FIFO registers, and also contains a loopback test enable bit.
SCFCR can be read or written to at all times.
SCFCR is initialized to H'00 by a reset, by the module standby function, and in software standby
mode and hardware standby mode.
Bits 7 and 6—Receive FIFO Data Number Trigger (RTRG1, RTRG0): These bits are used to
set the number of receive data bytes that sets the receive data full (RDF) flag in the serial status 1
register (SC1SSR).
The RDF flag is set when the number of receive data bytes in the receive FIFO data register
(SCFRDR) is equal to or greater than the trigger set number shown in the following table.
Bit 7: RTRG1
Bit 6: RTRG0
Receive Trigger Number
0
0
1
1
4
0
8
1
14
1
(Initial value)
Bits 5 and 4—Transmit FIFO Data Number Trigger (TTRG1, TTRG0): These bits are used
to set the number of remaining transmit data bytes that sets the transmit FIFO data register empty
(TDFE) flag in the serial status 1 register (SC1SSR).
The TDFE flag is set when the number of transmit data bytes in the transmit FIFO data register
(SCFTDR) is equal to or less than the trigger set number shown in the following table.
Rev. 5.00 Sep 11, 2006 page 549 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 5: TTRG1
Bit 4: TTRG0
Transmit Trigger Number
0
0
8 (8)*
1
4 (12)
0
2 (14)
1
1 (15)
1
Note:
*
Initial value. Figures in parentheses are the number of empty bytes in SCFTDR when
the flag is set.
Bit 3—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 2—Transmit FIFO Data Register Reset (TFRST): Invalidates the transmit data in the
transmit FIFO data register and resets it to the empty state.
Bit 2: TFRST
Description
0
Reset operation disabled*
1
Note:
(Initial value)
Reset operation enabled
*
A reset operation is performed in the event of a reset or in standby mode.
Bit 1—Receive FIFO Data Register Reset (RFRST): Invalidates the receive data in the receive
FIFO data register and resets it to the empty state.
Bit 1: RFRST
Description
0
Reset operation disabled*
1
Reset operation enabled
Note:
*
(Initial value)
A reset operation is performed in the event of a reset or in standby mode.
Bit 0—Loopback Test (LOOP): Internally connects the transmit output pin (TxD) and receive
output pin (RxD), enabling loopback testing.
Bit 0: LOOP
Description
0
Loopback test disabled
1
Loopback test enabled
Rev. 5.00 Sep 11, 2006 page 550 of 916
REJ09B0332-0500
(Initial value)
Section 14 Serial Communication Interface (SCI)
14.2.11 FIFO Data Count Register (SCFDR)
The FIFO data count register (SCFDR) is a 16-bit register that indicates the number of data bytes
stored in the transmit FIFO data register (SCFTDR) and receive FIFO data register (SCFRDR).
The upper 8 bits show the number of transmit data bytes in SCFTDR, and the lower 8 bits show
the number of receive data bytes in SCFRDR. SCFDR is initialized to H'00 by a reset, in module
standby mode, and in standby mode. It is also initialized to H'00 by setting the TFRST and RFRST
bits to 1 in SCFCR to reset SCFTDR and SCFRDR to the empty state.
SCFDR can be read by the CPU at all times.
Upper 8 bits:
7
6
5
4
3
2
1
0
—
—
—
T4
T3
T2
T1
T0
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bits 15 to 13—Reserved: These bits are always read as 0 and should only be written with 0.
Bits 12 to 8—Transmit FIFO Data Count (T4 to T0): These bits show the number of
untransmitted data bytes in SCFTDR. A value of H'00 indicates that there is no transmit data, and
a value of H'10 indicates that SCFTDR is full of transmit data. The value is cleared to H'00 by
transmitting all the data, as well as by the above initialization conditions.
Lower 8 bits:
7
6
5
4
3
2
1
0
—
—
—
R4
R3
R2
R1
R0
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bits 7 to 5—Reserved: These bits are always read as 0 and should only be written with 0.
Bits 4 to 0—Receive FIFO Data Count (R4 to R0): These bits show the number of receive data
bytes in SCFRDR. A value of H'00 indicates that there is no receive data, and a value of H'10
indicates that SCFRDR is full of receive data. The value is cleared to H'00 by reading all the
receive data from SCFRDR, as well as by the above initialization conditions.
Rev. 5.00 Sep 11, 2006 page 551 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.2.12 FIFO Error Register (SCFER)
The FIFO error register (SCFER) indicates the data location at which a parity error or framing
error occurred in receive data stored in the receive FIFO data register (SCFRDR).
SCFER can be read at all times.
Upper 8 bits:
15
14
13
12
11
10
9
8
ED15
ED14
ED13
ED12
ED11
ED10
ED9
ED8
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Lower 8 bits:
7
6
5
4
3
2
1
0
ED7
ED6
ED5
ED4
ED3
ED2
ED1
ED0
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bits 15 to 0—Error Data Flags (ED15 to ED0): These flags indicate the data location in the
receive FIFO data register at which an error occurred. When data in the nth stage of the buffer
contains an error, the nth bit is set to 1. Note that this register is not cleared by setting the RFRST
bit to 1 in SCFCR. To clear this register, read all the receive data in which the error occurred from
the SCFRDR register before setting the RFRST bit to 1 in SCFCR to clear SCFRDR.
Bits 15 to 0:
ED15 to ED0
Description
0
No parity or framing error in data in corresponding stage of register FIFO
(Initial value)
1
Parity or framing error present in data in corresponding stage of register FIFO
Note: A reset operation is performed in the event of a reset, when the module standby function is
initiated, or in standby mode. Also, these flags are cleared by reading the data in which the
parity error or framing error occurred from SCFRDR.
Rev. 5.00 Sep 11, 2006 page 552 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.2.13 IrDA Mode Register (SCIMR)
The IrDA mode register (SCIMR) allows selection of the IrDA mode and the IrDA output pulse
width, and inversion of the IrDA receive data polarity.
SCIMR can be read and written to at all times.
SCIMR is initialized to H'00 by a reset, by the module standby function, and in software standby
mode and hardware standby mode.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
IRMOD
PSEL
RIVS
—
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R
R
R
R
R
Bit 7—IrDA Mode (IRMOD): Selects operation as an IrDA serial communication interface.
Bit 7: IRMOD
Description
0
Operation as SCI is selected
1
Operation as IrDA is selected*
Note:
*
(Initial value)
When operation as an IrDA interface is selected, bit 7 (C/A) of the serial mode register
(SCSMR) must be cleared to 0.
Bit 6—Output Pulse Width Select (PSEL): Selects either 3/16 of the bit length set by bits ICK3
to ICK0 in the serial status 1 register (SC1SSR), or 3/16 of the bit length corresponding to the
selected bit rate, as the IrDA output pulse width. The setting is shown together with bits 6 to 3
(ICK3 to ICK0) of the serial mode register (SCSMR).
Serial Mode Register (SCSMR)
SCIMR
Bit 6:
ICK3
Bit 5:
ICK2
BIT 4:
ICK1
Bit 3:
ICK0
Bit 2:
PSEL
ICK3
ICK2
ICK1
ICK0
1
Pulse width: 3/16 of bit length set in bits ICK3 to
ICK0
Don’t
care
Don’t
care
Don’t
care
Don’t
care
0
Pulse width: 3/16 of bit length set in SCBRR
Description
Note: A fixed clock pulse signal, IRCLK, must be generated by multiplying the Pφ clock by 1/(2N +
2) (where N is determined by the value set in ICK3 to ICK0). For details, see Pulse Width
Selection in section 14.3.6, Operation in IrDA Mode.
Rev. 5.00 Sep 11, 2006 page 553 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Bit 5—IrDA Receive Data Inverse (RIVS): Allows inversion of the receive data polarity to be
selected in IrDA communication.
Bit 5: RIVS
Description
0
Receive data polarity inverted in reception
1
Receive data polarity not inverted in reception
(Initial value)
Note: Make the selection according to the characteristics of the IrDA modulation/demodulation
module.
Bits 4 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
14.3
Operation
14.3.1
Overview
The SCI can carry out serial communication in two modes: asynchronous mode in which
synchronization is achieved character by character, and synchronous mode in which
synchronization is achieved with clock pulses.
An IrDA block is also provided, enabling infrared communication conforming to IrDA 1.0 to be
executed by connecting an infrared transmission/reception unit.
Sixteen-stage FIFO buffers are provided for both transmission and reception, reducing the CPU
overhead and enabling fast, continuous communication to be performed.
Selection of asynchronous, synchronous, or IrDA mode and the transmission format is made by
means of the serial mode register (SCSMR) and IrDA mode register (SCIMR) as shown in table
14.8. The SCI clock source is determined by a combination of the C/A bit in SCSMR, the IRMOD
bit in SCIMR, and the CKE1 and CKE0 bits in the serial control register (SCSCR), as shown in
table 14.9.
Rev. 5.00 Sep 11, 2006 page 554 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
• Asynchronous Mode
 Data length: Choice of 7 or 8 bits
 Choice of parity addition, multiprocessor bit addition, and addition of 1 or 2 stop bits (the
combination of these parameters determines the transmit/receive format and character
length)
 Detection of framing, parity, and overrun errors, receive FIFO data full and receive data
ready conditions, and breaks, during reception
 Detection of transmit FIFO data empty condition during transmission
 Choice of internal or external clock as SCI clock source
When internal clock is selected: The SCI operates on a clock with a frequency of 16, 8, or 4
times the bit rate of the baud rate generator, and can output this operating clock.
When external clock is selected: A clock with a frequency of 16, 8, or 4 times the bit rate
must be input (the built-in baud rate generator is not used).
• Synchronous Mode
 Transfer format: Fixed 8-bit data
 Detection of overrun errors during reception
 Choice of internal or external clock as SCI clock source
When internal clock is selected: The SCI operates on the baud rate generator clock and can
output a serial clock to external devices.
When external clock is selected: The on-chip baud rate generator is not used, and the SCI
operates on the input serial clock.
• IrDA Mode
 IrDA 1.0 compliance
 Data length: 8 bits
 Stop bit length: 1 bit
 Protection function to prevent receiver being affected during transmission
 Clock source: Internal clock
Rev. 5.00 Sep 11, 2006 page 555 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.8 SCSMR and SCIMR Settings for Serial Transmit/Receive Format Selection
SCIMR
SCSMR Settings
SCI Transmit/Receive Format
Bit 7:
IRMOD
Bit 7: Bit 6: Bit 2: Bit 5: Bit 3:
C/A
A
CHR MP
PE
STOP Mode
0
0
0
0
0
0
1
1
Data
Length MP Bit
Asynchronous 8-bit
data
mode
Absent
Parity
Bit
Stop Bit
Length
Absent
1 bit
2 bits
0
Present 1 bit
1
1
0
2 bits
7-bit
data
0
1
1
0
*
0
*
1
*
0
*
1
*
Absent
2 bits
Present 1 bit
1
0
1
1
1 bit
2 bits
Asynchronous 8-bit
mode (multi- data
processor
7-bit
format)
data
Present Absent
*
Synchronous
mode
8-bit
data
Absent
Absent
None
1 bit
2 bits
1 bit
2 bits
0
1
*
*
1
0
ICK3
ICK2 ICK1
ICK0
IrDA mode
8-bit
data
Absent
Absent
1 bit
1
*
*
*
Setting
prohibited
—
—
—
—
*
Legend:
*: Don’t care
Rev. 5.00 Sep 11, 2006 page 556 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.9 SCSMR and SCSCR Settings for SCI Clock Source Selection
SCSMR
SCSCR Setting
Bit 7:
C/A
A
Bit 1:
CKE1
Bit 0:
CKE0
0
0
0
1
1
SCI Transmit/Receive Clock
Mode
Asynchronous
mode
0
Clock
Source
SCK Pin Function
Internal
SCI does not use SCK pin
Outputs clock with frequency of
16/8/4 times bit rate
External
Inputs clock with frequency of 16/8/4
times bit rate
Internal
Outputs serial clock
External
Inputs serial clock
1
1
0
0
1
1
Synchronous
mode
0
1
14.3.2
Operation in Asynchronous Mode
In asynchronous mode, characters are sent or received, each preceded by a start bit indicating the
start of communication and followed by one or two stop bits indicating the end of communication.
Serial communication is thus carried out with synchronization established on a character-bycharacter basis.
Inside the SCI, the transmitter and receiver are independent units, enabling full-duplex
communication. Both the transmitter and the receiver also have a 16-stage FIFO buffer structure,
so that data can be read or written during transmission or reception, enabling continuous data
transfer.
Figure 14.3 shows the general format for asynchronous serial communication.
In asynchronous serial communication, the communication line is usually held in the mark state
(high level). The SCI monitors the line, and when it goes to the space state (low level), recognizes
a start bit and starts serial communication.
One serial communication character consists of a start bit (low level), followed by data (LSB-first
or MSB-first order selectable), a parity bit (high or low level), and finally one or two stop bits
(high level).
In asynchronous mode, the SCI performs synchronization at the falling edge of the start bit in
reception. The SCI samples the data on the eighth, fourth, or second pulse of a clock with a
Rev. 5.00 Sep 11, 2006 page 557 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
frequency of 16, 8, or 4 times the length of one bit, so that the transfer data is latched at the center
of each bit.
1
Serial
data
(LSB)
0
D0
Idle state (mark state)
1
(MSB)
D1
Start
bit
1 bit
D2
D3
D4
D5
D6
D7
Transmit/receive data
7 or 8 bits
0/1
1
Parity
bit
Stop
bits
1 bit,
or none
1 or
2 bits
1
One unit of transfer data (character or frame)
Figure 14.3 Data Format in Asynchronous Communication
(Example with 8-Bit Data, Parity, Two Stop Bits, LSB-First Transfer)
Transmit/Receive Format
Table 14.10 shows the transmit/receive formats that can be used in asynchronous mode. Any of 12
transmit/receive formats can be selected by means of settings in the serial mode register
(SCSMR).
Rev. 5.00 Sep 11, 2006 page 558 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.10 Serial Transmit/Receive Formats (Asynchronous Mode)
SCSMR Settings
Serial Transmit/Receive Format and Frame Length
CHR
PE
MP
STOP
1
2
3
4
5
6
7
8
9
10
11
12
0
0
0
0
S
8-bit data
STOP
0
0
0
1
S
8-bit data
STOP STOP
0
1
0
0
S
8-bit data
P
STOP
0
1
0
1
S
8-bit data
P
STOP STOP
1
0
0
0
S
7-bit data
STOP
1
0
0
1
S
7-bit data
STOP STOP
1
1
0
0
S
7-bit data
P
STOP
1
1
0
1
S
7-bit data
P
STOP STOP
0
*
1
0
S
8-bit data
MPB STOP
0
*
1
1
S
8-bit data
MPB STOP STOP
1
*
1
0
S
7-bit data
MPB STOP
1
*
1
1
S
7-bit data
MPB STOP STOP
Legend:
S:
Start bit
STOP: Stop bit
P:
Parity bit
MPB: Multiprocessor bit
*:
Don’t care
Rev. 5.00 Sep 11, 2006 page 559 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Clock
Either an internal clock generated by the built-in baud rate generator or an external clock input at
the SCK pin can be selected as the SCI’s serial clock, according to the setting of the C/A bit in
SCSMR and the CKE1 and CKE0 bits in SCSCR. For details of SCI clock source selection, see
table 14.9.
When an external clock is input at the SCK pin, the clock frequency should be 16, 8, or 4 times the
bit rate used.
When the SCI is operated on an internal clock, the clock can be output from the SCK pin. The
frequency of the clock output in this case is 16, 8, or 4 times the bit rate.
Data Transmit/Receive Operations
SCI Initialization (Asynchronous Mode): Before transmitting and receiving data, it is necessary
to clear the TE and RE bits to 0 in SCSCR, then initialize the SCI as described below.
When the operating mode, communication format, etc., is changed, the TE and RE bits must be
cleared to 0 before making the change using the following procedure. When the TE bit is cleared
to 0, the transmit shift register (SCTSR) is initialized. Note that clearing the TE and RE bits to 0
does not change the contents of the serial status 1 register (SC1SSR), the transmit FIFO data
register (SCFTDR), or the receive FIFO data register (SCFRDR). The TE bit should not be cleared
to 0 until all transmit data has been transmitted and the TEND flag has been set in SC1SSR. It is
possible to clear the TE bit to 0 during transmission, but the data being transmitted will go to the
high-impedance state after TE is cleared. Also, before starting transmission by setting TE again,
the TFRST bit should first be set to 1 in SCFCR to reset SCFTDR.
When an external clock is used the clock should not be stopped during operation, including
initialization, since operation will be unreliable in this case.
Figure 14.4 shows a sample SCI initialization flowchart.
Rev. 5.00 Sep 11, 2006 page 560 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
1. Clear bits TE and RE to 0 before end of
initialization.
Initialization
Clear TE and RE bits to 0
in SCSCR
1
Set TFRST and RFRST bits to 1
in SCFCR, and clear FIFO buffer
3. Set the transmit/receive format in
SCSMR.
When using IrDA mode, also set
SCIMR.
Read BRK, DR, and ER flags
in SC2SSR, then clear them
by writing 0
Set RIE, MPIE, TEIE, CKE1
and CKE0 bits in SCSCR (leaving
TE and RE bits cleared to 0)
2
Set transmit/receive format
in SCSMR
3
Set value in SCBRR
4
4. Write a value corresponding to the bit
rate to the bit rate register (SCBRR).
Not necessary if an external clock is
used. Wait for at least one bit interval
after making this setting.
5. Make PFC settings for the external pins
to be used.
Wait
1-bit interval elapsed?
2. Set disabling/enabling of RXI, and TEI
interrupt requests. When enabling an
interrupt request, also make a setting in
the IPRK register of the INTC.
No
Make a setting for RxD input when
receiving, and for TxD output when
transmitting. Make an SCK input/output
setting according to the setting of bits
CKE1 and CKE0.
An SCK pin setting is not necessary
when CKE1 and CKE0 are cleared to 0
in asynchronous mode.
When serial clock output is set, clock
output from the SCK pin begins at this
point.
Yes
Set RTRG1–0 and TTRG1–0
bits in SCFCR, and clear
TFRST and RFRST bits to 0
PFC setting for external pins
used (SCK, TxD, RxD)
5
Set TIE bit in SCSCR
6
Set the TE and RE bits to 1 in
SCSCR
7
6. When the TXI interrupt is used, first
clear TFRST and RFRST in SCFCR to
0. Even if TE = 0, a TXI interrupt will be
generated as soon as the TIE bit in
SCSCR is set to 1.
7. Set the TE bit or RE bit in SCSCR to 1.
Setting the TE and RE bits enables the
TxD, RxD and SCK pins to be used.
When transmitting, the TxD pin will go
to the mark state; when receiving, RxD
pin will go to the idle state, waiting for a
start bit.
End
Figure 14.4 Sample SCI Initialization Flowchart
Rev. 5.00 Sep 11, 2006 page 561 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Serial Data Transmission (Asynchronous Mode): Figure 14.5 shows a sample flowchart for
serial transmission.
Use the following procedure for serial data transmission after enabling the SCI for transmission.
1
Initialization
1. SCI initialization:
See figure 14.4, Sample SCI Initialization
Flowchart.
Start of transmission
2. SCI status check and transmit data write:
Read TDFE bit in SC1SSR
2
No
TDFE = 1?
Yes
Write {16 – (transmit trigger set
number)} bytes of transmit
data to SCFTDR, and clear
TDFE bit to 0 in SC1SSR after
reading TDFE = 1
3
All data transmitted?
The number of data bytes that can be
written is {16 – (transmit trigger set
number)}.
No
Yes
Read TEND bit in SC1SSR
No
TEND = 1?
Yes
No
Break output?
Yes
Read the serial status 1 register
(SC1SSR) and check that the TDFE bit is
set to 1, then write transmit data to the
transmit FIFO data register (SCFTDR)
and clear the TDFE bit to 0 after reading
TDFE = 1. The TEND bit is cleared
automatically when transmission is
started by writing transmit data.
4
Clear DR to 0
Clear TE bit to 0 in SCSCR,
and set TxD pin as output port
with PFC
End of transmission
3. Serial transmission continuation
procedure:
To continue serial transmission, read 1
from the TDFE bit to confirm that writing
is possible, then write data to SCFTDR,
and then clear the TDFE bit to 0.
(Checking and clearing of the TDFE bit is
automatic when the DMAC is activated by
a transmit-FIFO-data-empty interrupt
(TXI) request, and data is written to
SCFTDR.)
4. Break output at the end of serial
transmission:
To output a break in serial transmission,
clear the port data register (DR) to 0, then
clear the TE bit to 0 in SCSCR, and set
the TxD pin as an output port with the
PFC.
In steps 2 and 3, the number of transmit data
bytes that can be written can be ascertained
from the number of transmit data bytes in
SCFTDR indicated in the upper 8 bits of the
FIFO data count register (SCFTDR).
Figure 14.5 Sample Serial Transmission Flowchart
Rev. 5.00 Sep 11, 2006 page 562 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
In serial transmission, the SCI operates as described below.
1. When data is written to the transmit FIFO data register (SCFTDR), the SCI transfers the data
to the transmit shift register (SCTSR), and starts transmitting. Check that the TDFE flag is set
to 1 in the serial status 1 register (SC1SSR) before writing transmit data to SCFTDR. The
number of data bytes that can be written is at least {16 – (transmit trigger set number)}.
2. When data is transferred from SCFTDR to SCTSR and transmission is started, transmit
operations are performed continually until there is no transmit data left in SCFTDR. If the
number of data bytes in SCFTDR falls to or below the transmit trigger number set in the FIFO
control register (SCFCR) during transmission, the TDFE flag is set. If the TIE bit setting in the
serial control register (SCSCR) is 1 at this time, a transmit-FIFO-data-empty interrupt (TXI) is
requested.
The serial transmit data is sent from the TxD pin in the following order.
a. Start bit: One 0-bit is output.
b. Transmit data: 8-bit or 7-bit data is output in LSB-first or MSB-first order according to the
setting of the TLM bit in SC2SSR.
c. Parity bit or multiprocessor bit: One parity bit (even or odd parity), or one multiprocessor
bit is output. (A format in which neither a parity bit nor a multiprocessor bit is output can
also be selected.)
d. Stop bit(s): One or two 1-bits (stop bits) are output.
e. Mark state: 1 is output continuously until the start bit that starts the next transmission is
sent.
3. The SCI checks for transmit data in SCFTDR at the timing for sending the stop bit. If there is
data in SCFTDR, it is transferred to SCTSR, the stop bit is sent, and then serial transmission of
the next frame is started.
If there is no transmit data in SCFTDR, the TEND flag is set to 1 in the serial status 1 register
(SC1SSR), the stop bit is sent, and then the line goes to the mark state in which 1 is output
continuously. If the TEIE bit setting in SCSCR is 1 at this time, a TEI interrupt is requested.
Figure 14.6 shows an example of the operation for transmission in asynchronous mode.
Rev. 5.00 Sep 11, 2006 page 563 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Start
bit
1
Serial
data
0
D0
Parity Stop Start
bit
bit bit
Data
D1
D7
0/1
1
0
Parity Stop
bit
bit
Data
D0
D1
D7
0/1
1
1
Idle state
(mark state)
TDFE
TEND
TXI interrupt
request
TXI interrupt
request
Data written to SCFTDR and
TDFE flag cleared to 0 by TXI
interrupt handler
TEI interrupt
request
One frame
Figure 14.6 Example of Transmit Operation in Asynchronous Mode
(Example with 8-Bit Data, Parity, One Stop Bit, LSB-First Transfer)
Serial Data Reception (Asynchronous Mode): Figures 14.7 and 14.8 show a sample flowchart
for serial reception.
Use the following procedure for serial data reception after enabling the SCI for reception.
Rev. 5.00 Sep 11, 2006 page 564 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Initialization
1
1. SCI initialization:
See figure 14.4, Sample SCI
Initialization Flowchart.
Start of reception
2. Receive error handling and break
detection:
Read BRK, DR, and ER bits
in SC2SSR
Yes
BRK ∨ DR ∨ ER = 1?
No
Error handling
Read RDF flag in SC1SSR
No
2
3
RDF = 1?
Yes
Read receive data from SCFRDR,
and clear RDF flag to 0
4
in SC1SSR
No
All data received?
Yes
Clear RE bit to 0 in SCSCR
Read the BRK, DR, and ER bits in
SC2SSR to check whether a receive
error has occurred.
If a receive error occurs, read the
ORER, PER3 to 0, and FER3 to 0 flags
in SC1SSR, and the DR and BRK flags
in SC2SSR to identify the error. After
performing the appropriate error
handling, ensure that the ORER, BRK,
DR, and ER bits are all cleared to 0.
Reception cannot be resumed if the
ORER bit is set to 1. The setting of the
EI bit in SC2SSR determines whether
reception is continued or halted when
either PER3 to 0 or FER3 to 0 is set to
1.
In the case of a framing error, a break
can be detected by reading the value of
the RxD pin.
3. SCI status check and receive data read :
Read the serial status 1 register
(SC1SSR) and check that RDF = 1, then
read receive data from the receive FIFO
data register (SCFRDR) and clear the
RDF bit to 0. Transition of the RDF bit
from 0 to 1 can also be identified by
means of an RXI interrupt.
4. Serial reception continuation procedure:
End of reception
To continue serial reception, read at
least the receive trigger set number of
data bytes from SCFRDR, and write 0 to
the RDF flag after reading 1 from it. The
number of receive data bytes in
SCFRDR can be ascertained by reading
the lower 8 bits of the FIFO data count
register (SCFDR). (The RDF bit is
cleared automatically when the DMAC is
activated by an RXI interrupt and the
SCFRDR value is read.)
Figure 14.7 Sample Serial Reception Flowchart (1)
Rev. 5.00 Sep 11, 2006 page 565 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
1. Whether a framing error or parity
error has occurred in the receive
data read from SCFRDR can be
ascertained from the FER and
PER bits in SC1SSR.
Error handling
No
ORER = 1?
2. When a break signal is received,
receive data is not transferred to
SCFRDR while the BRK flag is set.
However, note that the last data in
SCFRDR is H'00 and the break
data in which a framing error
occurred is stored.
Yes
Overrun error handling
No
BRK = 1?
Yes
Clear RE bit to 0 in SCSCR
No
DR = 1?
Yes
Read receive data from SCFRDR
No
1
FER = 1?
Yes
Framing error handling
No
2
PER = 1?
Yes
Parity error handling
No
All data read?
Yes
Clear ORER, BRK, DR, and
ER flags to 0
End
Figure 14.8 Sample Serial Reception Flowchart (2)
Rev. 5.00 Sep 11, 2006 page 566 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
In serial reception, the SCI operates as described below.
1. The SCI monitors the communication line, and if a 0 start bit is detected, performs internal
synchronization and starts reception.
2. The received data is stored in SCRSR in LSB-to-MSB order or MSB-to-LSB order according
to the setting of the RLM bit in SC2SSR.
3. The parity bit and stop bit are received.
After receiving these bits, the SCI carries out the following checks.
a. Parity check: The SCI checks whether the number of 1-bits in the receive data agrees with
the parity (even or odd) set in the O/E bit in the serial mode register (SCSMR).
b. Stop bit check: The SCI checks whether the stop bit is 1. If there are two stop bits, only the
first is checked.
c. Status check: The SCI checks whether receive data can be transferred from the receive shift
register (SCRSR) to SCFRDR.
d. Break check: The SCI checks that the BRK flag is 0, indicating no break.
If all the above checks are passed, the receive data is stored in SCFRDR.
If a receive error is detected in the error check, the operation is as shown in table 14.11.
Note: No further receive operations can be performed when an overrun error has occurred. The
setting of the EI bit in SC2SSR determines whether reception is continued or halted when
a framing error or parity error occurs.
Also, as the RDF flag is not set to 1 when receiving, the error flags must be cleared to 0.
4. If the RIE bit setting in SCSCR is 1 when the RDF flag changes to 1, a receive-FIFO-data-full
interrupt (RXI) is requested.
If the RIE bit setting in SCSCR is 1 when the ORER, PER, FER, or DR flag changes to 1, a
receive-error interrupt (ERI) is requested.
Rev. 5.00 Sep 11, 2006 page 567 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.11 Receive Error Conditions
Receive Error
Abbreviation
Condition
Data Transfer
Overrun error
ORER
Next serial receive operation
is completed while there are
16 receive data bytes in
SCFRDR
Receive data is not transferred
from SCRSR to SCFRDR
Framing error
FER
Stop bit is 0
Receive data is transferred from
SCRSR to SCFRDR
Parity error
PER
Received data parity differs
from that (even or odd) set in
SCSMR
Receive data is transferred from
SCRSR to SCFRDR
Figure 14.9 shows an example of the operation for reception in asynchronous mode.
1
Serial
data
Start
bit
0
Parity Stop Start
bit
bit
bit
Data
D0
D1
D7
0/1
1
0
Parity Stop
bit
bit
Data
D0
D1
D7
0/1
0
1
Idle state
(mark state)
Framing error occurs
because stop bit position
is not “1”
RDF
FER
RXI interrupt
request
Data read and RDF flag
cleared to 0 by RXI
interrupt handler
ERI interrupt request
due to framing error
One frame
Figure 14.9 Example of SCI Receive Operation
(Example with 8-Bit Data, Parity, One Stop Bit, LSB-First Transfer)
14.3.3
Multiprocessor Communication Function
The multiprocessor communication function performs serial communication using a
multiprocessor format, in which a multiprocessor bit is added to the transfer data, in asynchronous
mode. Use of this function enables data transfer to be performed among a number of processors
sharing a serial communication line.
Rev. 5.00 Sep 11, 2006 page 568 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
When multiprocessor communication is carried out, each receiving station is addressed by a
unique ID code.
The serial communication cycle consists of two cycles: an ID transmission cycle which specifies
the receiving station, and a data transmission cycle. The multiprocessor bit is used to differentiate
between the ID transmission cycle and the data transmission cycle.
The transmitting station first sends the ID of the receiving station with which it wants to perform
serial communication as data with a 1 multiprocessor bit added. It then sends transmit data as data
with a 0 multiprocessor bit added.
The receiving stations skip the data until data with a 1 multiprocessor bit is sent. When data with a
1 multiprocessor bit is received, each receiving stations compares that data with its own ID. The
station whose ID matches then receives the data sent next. Stations whose ID does not match
continue to skip the data until data with a 1 multiprocessor bit is again received. In this way, data
communication is carried out among a number of processors.
Figure 14.10 shows an example of inter-processor communication using a multiprocessor format.
Transmitting
station
Serial communication line
Receiving
station A
Receiving
station B
Receiving
station C
Receiving
station D
(ID = 01)
(ID = 02)
(ID = 03)
(ID = 04)
Serial
data
H'01
H'AA
(MPB = 1)
ID transmission cycle:
Receiving station
specification
(MPB = 0)
Data transmission cycle:
Data transmission
to receiving station
specified by ID
Legend:
MPB: Multiprocessor bit
Figure 14.10 Example of Inter-Processor Communication Using Multiprocessor Format
(Transmission of Data H'AA to Receiving Station A)
Rev. 5.00 Sep 11, 2006 page 569 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Transmit/Receive Formats
There are four transmit/receive formats. When the multiprocessor format is specified, the parity bit
specification is invalid. For details, see table 14.10.
Clock
See the section on asynchronous mode.
Data Transmit/Receive Operations
SCI Initialization: See the section on asynchronous mode.
Multiprocessor Serial Data Transmission: Figure 14.11 shows a sample flowchart for
multiprocessor serial data transmission.
Use the following procedure for multiprocessor serial data transmission after enabling the SCI for
transmission.
Rev. 5.00 Sep 11, 2006 page 570 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
1
Initialization
1. SCI initialization:
See figure 14.4, Sample SCI
Initialization Flowchart.
Start of transmission
2. SCI status check and transmit data
write:
Read TDFE bit in SC1SSR
2
No
TDFE = 1?
Yes
Write {16 – (transmit trigger set
number)} bytes of transmit data
to SCFTDR, and set MPBT
in SC1SSR
No
3
Yes
Read TEND bit in SC1SSR
No
TEND = 1?
Yes
No
Break output?
Yes
4
Clear DR to 0
Clear TE bit to 0 in SCSCR,
and set TxD pin as output port
with PFC
End of transmission
Read the serial status 1 register
(SC1SSR) and check that the TDFE bit
is set to 1, then write transmit data to
the transmit FIFO data register
(SCFTDR). Finally, clear the TDFE and
TEND flags to 0 after reading 1 from
them.
The number of data bytes that can be
written is {16 – (transmit trigger set
number)}.
Clear TDFE and TEND flags to 0
End of transmission?
First, set the MPBT bit in SC1SSR to 0
or 1.
3. Serial transmission continuation
procedure:
To continue serial transmission, read 1
from the TDFE bit to confirm that
writing is possible, then write data to
SCFTDR, and then clear the TDFE bit
to 0. (Checking and clearing of the
TDFE bit is automatic when the DMAC
is activated by a transmit-FIFO-dataempty interrupt (TXI) request, and data
is written to SCFTDR.)
4. Break output at the end of serial
transmission:
To output a break in serial
transmission, clear the port data
register (DR) to 0, then clear the TE bit
to 0 in SCSCR, and set the TxD pin as
an output port with the PFC.
In steps 2 and 3, the number of transmit
data bytes that can be written can be
ascertained from the number of transmit
data bytes in SCFTDR indicated in the
upper 8 bits of the FIFO data count register
(SCFDR).
Figure 14.11 Sample Multiprocessor Serial Transmission Flowchart
Rev. 5.00 Sep 11, 2006 page 571 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
In serial transmission, the SCI operates as described below.
1. When data is written to SCFTDR, the SCI transfers the data to SCTSR and starts transmitting.
Check that the TDFE flag is set to 1 in SC1SSR before writing transmit data to SCFTDR. The
number of data bytes that can be written is at least {16 – (transmit trigger set number)}.
2. When data is transferred from SCFTDR to SCTSR and transmission is started, transmit
operations are performed continually until there is no transmit data left in SCFTDR. If the
number of data bytes in SCFTDR falls to or below the transmit trigger number set in SCFCR
during transmission, the TDFE flag is set to 1. If the TIE bit setting in SCSCR is 1 at this time,
a transmit-FIFO-data-empty interrupt (TXI) is requested.
The serial transmit data is sent from the TxD pin in the following order.
a. Start bit: One 0-bit is output.
b. Transmit data: 8-bit or 7-bit data is output in LSB-first or MSB-first order according to the
setting of the TLM bit in SC2SSR.
c. Multiprocessor bit: One multiprocessor bit (MPBT value) is output.
d. Stop bit(s): One or two 1-bits (stop bits) are output.
e. Mark state: 1 is output continuously until the start bit that starts the next transmission is
sent.
3. The SCI checks for transmit data in SCFTDR at the timing for sending the stop bit. If there is
data in SCFTDR, it is transferred to SCTSR, the stop bit is sent, and then serial transmission of
the next frame is started.
If there is no transmit data in SCFTDR, the TEND flag is set to 1 in SC1SSR, the stop bit is
sent, and then the line goes to the mark state in which 1 is output continuously. If the TEIE bit
setting in SCSCR is 1 at this time, a transmit-end interrupt (TEI) is requested.
Figure 14.12 shows an example of SCI operation for transmission using a multiprocessor format.
Rev. 5.00 Sep 11, 2006 page 572 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
1
Serial
data
Start
bit
0
Multiprocessor Stop Start
bit bit
bit
Data
D0
D1
D7
0/1
1
0
Multiprocessor Stop
bit
bit
D0
D1
D7
0/1
1
1
Idle state
(mark state)
TDFE
TEND
TXI interrupt
TXI interrupt
request
request
Data written to SCFTDR and
TDFE flag cleared to 0 by
TXI interrupt handler
TEI interrupt
request
One frame
Figure 14.12 Example of SCI Transmit Operation
(Example with 8-Bit Data, Multiprocessor Bit, One Stop Bit, LSB-First Transfer)
Multiprocessor serial data reception: Figures 14.13 and 14.14 show a sample flowchart for
multiprocessor serial reception.
Use the following procedure for multiprocessor serial data reception after enabling the SCI for
reception.
Rev. 5.00 Sep 11, 2006 page 573 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Initialization
1. SCI initialization:
1
See figure 14.4, Sample SCI
Initialization Flowchart.
Start of reception
2. ID reception cycle: Set the MPIE bit to
1 in SCSCR.
Set MPIE bit to 1 in SCSCR
2
3. SCI status check, ID reception and
comparison:
Read BRK, DR, and
ER bits in SC2SSR
BRK ∨ DR ∨ ER = 1?
Read SC1SSR and check that the
RDF bit is set to 1, then read the
receive data in the receive FIFO data
register (SCFRDR) and compare it
with this station’s ID.
Yes
If the data is not this station’s ID, set
the MPIE bit to 1 again, and clear the
RDF bit to 0. If the data is this
station’s ID, clear the RDF bit to 0.
No
Read RDF flag in SC1SSR
No
RDF = 1?
4. Receive error handling and break
detection:
Yes
Read the BRK, DR, and ER bits in
SC2SSR to check whether a receive
error has occurred.
Read receive data from SCFRDR, and
clear RDF flag to 0 in SC1SSR
No
This station’s ID?
If a receive error occurs, read the
ORER and FER3 to 0 flags in
SC1SSR, and the BRK, DR, and ER
flags in SC2SSR to identify the error.
After performing the appropriate error
handling, ensure that the ORER,
BRK, DR, and ER bits are all cleared
to 0. The setting of the EI bit in
SC2SSR determines whether
reception is continued or halted when
the ORER bit is set to 1. In the case
of a framing error, a break can be
detected by reading the value of the
RxD pin.
3
Yes
Read BRK, DR, and ER bits
in SC2SSR
BRK ∨ DR ∨ ER = 1?
Yes
4
No
Read RDF flag in SC1SSR
RDF = 1?
Yes
No
5
5. SCI status check and receive data
read:
Read receive data from SCFRDR
No
All data received?
Yes
Error handling
Read the serial status 1 register
(SC1SSR) and check that RDF = 1,
then read receive data from the
receive FIFO data register
(SCFRDR).
Clear RE bit to 0 in SCSCR
End of reception
Figure 14.13 Sample Multiprocessor Serial Reception Flowchart (1)
Rev. 5.00 Sep 11, 2006 page 574 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
1. Whether a framing error has occurred
in the receive data read from SCFRDR
can be ascertained from the FER bit in
SC1SSR.
Error handling
No
ORER = 1?
2. When a break signal is received,
receive data is not transferred to
SCFRDR while the BRK flag is set.
However, note that the last data in
SCFRDR is H'00 and the break data in
which a framing error occurred is
stored.
Yes
Overrun error handling
No
BRK = 1?
Yes
Clear RE bit to 0 in SCSCR
No
DR = 1?
Yes
Read receive data from SCFRDR
No
1
FER = 1?
Yes
Framing error handling
No
2
All data read?
Yes
Clear ORER, BRK, DR, and
ER flags to 0
End
Figure 14.14 Sample Multiprocessor Serial Reception Flowchart (2)
Rev. 5.00 Sep 11, 2006 page 575 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Figure 14.15 shows an example of SCI operation for multiprocessor format reception.
Start
bit Data (ID1)
1
Serial
data
0
D0
Stop Start
Data
MPB bit
bit (Data1)
D1
D7
1
1
0
D0
D1
Stop
MPB bit
D7
0
1
1
Idle state
(mark state)
MPIE
RDF
SCFRDR value
ID1
RXI interrupt request
(multiprocessor interrupt)
MPIE = 0
SCFRDR data read
and RDF flag cleared
to 0 by RXI interrupt
handler
As data is not this
station’s ID, MPIE
bit is set to 1 again
RXI interrupt request
is not generated,
and SCFRDR retains
its state
(a) Data does not match station’s ID
Start
bit Data (ID2)
1
Serial
data
0
D0
Stop Start
Data
MPB bit
bit (Data2)
D1
D7
1
1
0
D0
D1
Stop
MPB bit
D7
0
1
1
Idle state
(mark state)
MPIE
RDF
SCFRDR value
ID2
ID1
RXI interrupt request
(multiprocessor interrupt)
MPIE = 0
SCFRDR data read
and RDF flag cleared
to 0 by RXI interrupt
handler
As data matches this
station’s ID, reception
continues and data is
received by RXI interrupt
handler
Data2
MPIE bit set
to 1 again
(b) Data matches station’s ID
Figure 14.15 Example of SCI Receive Operation
(Example with 8-Bit Data, Multiprocessor Bit, One Stop Bit, LSB-First Transfer)
Rev. 5.00 Sep 11, 2006 page 576 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.3.4
Operation in Synchronous Mode
In synchronous mode, data is transmitted or received in synchronization with clock pulses, making
it suitable for high-speed serial communication.
Inside the SCI, the transmitter and receiver are independent units, enabling full-duplex
communication using a common clock. Both the transmitter and the receiver also have a 16-stage
FIFO buffer structure, so that data can be read or written during transmission or reception,
enabling continuous data transfer.
Figure 14.16 shows the general format for synchronous serial communication.
One unit of transfer data (character or frame)
*
*
Serial clock
LSB
Serial data
Don’t care
Bit 0
MSB
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Don’t care
Note: * High except in continuous transmission/reception
Figure 14.16 Data Format in Synchronous Communication
In synchronous serial communication, data on the communication line is output from one fall of
the serial clock to the next. Data is guaranteed valid at the rise of the serial clock.
In serial communication, each character is output starting with the LSB and ending with the MSB,
or vice versa, according to the setting of the TLM bit in the serial status 2 register (SC2SSR).
After the last data is output, the communication line remains in the state of the last data.
In synchronous mode, the SCI receives data in synchronization with the rise of the serial clock.
Transmit/Receive Format
A fixed 8-bit data format is used. No parity or multiprocessor bits are added.
Rev. 5.00 Sep 11, 2006 page 577 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Clock
Either an internal clock generated by the built-in baud rate generator or an external serial clock
input at the SCK pin can be selected, according to the setting of the C/A bit in SCSMR and the
CKE1 and CKE0 bits in SCSCR. For details of SCI clock source selection, see table 14.9.
When the SCI is operated on an internal clock, the serial clock is output from the SCK pin.
Eight serial clock pulses are output in the transfer of one character, and when no
transmission/reception is performed the clock is fixed high. Note that, in receive-only operation,
the serial clock continues to be output and reception continues until the FIFO buffer is full and an
overrun error occurs. In this case, 8 x (16 + 1) = 136 serial clock pulses are output. To perform
reception of n characters, select an external clock as the clock source. If an internal clock is used,
set RE = 1 and TE = 1, and perform reception of n characters simultaneously with transmission of
n characters of dummy data.
Transmit/Receive Operations
SCI Initialization (Synchronous Mode): Before transmitting and receiving data, it is necessary
to clear the TE and RE bits to 0 in the serial control register (SCSCR), then initialize the SCI as
described below.
When the operating mode, communication format, etc., is changed, clear the TE and RE bits to 0
and perform initialization. When the TE bit is cleared to 0, the transmit shift register (SCTSR) is
initialized.
Note that clearing the RE bit to 0 does not change the contents of the RDF, PER, FER, and ORER
flags, or the receive data register (SCRDR).
Figure 14.17 shows a sample SCI initialization flowchart.
Rev. 5.00 Sep 11, 2006 page 578 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
1. Clear bits TE and RE to 0 before
end of initialization.
Initialization
Clear TE and RE bits to 0
in SCSCR
1
Set TFRST and RFRST bits to 1
in SCFCR, and clear FIFO buffer
3. Set the transmit/receive format in
SCSMR.
Read BRK, DR, and ER flags
in SC2SSR, then clear them
by writing 0
When using IrDA mode, also set
SCIMR.
Set RIE, TEIE, CKE1 and
CKE0 bits in SCSCR (leaving
TE and RE bits cleared to 0)
2
Set transmit/receive format
in SCSMR
3
Set value in SCBRR
4
Wait
1-bit interval elapsed?
2. Set disabling/enabling of RXI and
TEI interrupt requests. When
enabling an interrupt request, also
make a setting in the IPRK register
of the INTC.
No
Yes
Set RTRG1 and 0 bits and
TTRG1 and 0 bits in SCFCR,
and clear TFRST and
RFRST bits to 0
PFC setting for external pins
used (SCK, TxD, RxD)
5
Set TIE bit in SCSCR
6
Set the TE and RE bits to 1 in
SCSCR
7
4. Write a value corresponding to the
bit rate to the bit rate register
(SCBRR). Not necessary if an
external clock is used. Wait for at
least one bit interval after making
this setting.
5. Make PFC settings for the external
pins to be used.
Make a setting for RxD input when
receiving, and for TxD output when
transmitting. Make an SCK
input/output setting according to
the setting of bits CKE1 and CKE0.
6. When the TXI interrupt is used, first
clear TFRST and RFRST in
SCFCR to 0. Even if TE = 0, a TXI
interrupt will be generated as soon
as the TIE bit in SCSCR is set to 1.
7. Set the TE bit or RE bit to 1 in
SCSCR. The TxD or RxD pin and
the SCK pin become available for
use at this point. When
transmitting, the TxD pin goes to
the mark state. When receiving in
synchronous mode with serial
clock output (clock master) set,
clock output from the SCK pin
begins at this point.
End
Figure 14.17 Sample SCI Initialization Flowchart
Rev. 5.00 Sep 11, 2006 page 579 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Serial Data Transmission (Synchronous Mode): Figure 14.18 shows a sample flowchart for
serial transmission.
Use the following procedure for serial data transmission after enabling the SCI for transmission.
Initialization
1
1. SCI initialization:
See figure 14.17, Sample SCI
Initialization Flowchart.
Start of transmission
Read TDFE flag in SC1SSR
TDFE = 1?
2. SCI status check and transmit data
write:
2
No
3. Serial transmission continuation
procedure:
Yes
Write transmit data to SCFTDR
and clear TDFE flag to 0
in SC1SSR
All data transmitted?
Read SC1SSR and check that the
TDFE =1, then write transmit data to
the transmit FIFO data register
(SCFTDR) and clear the TDFE flag
to 0.
No
To continue serial transmission, read
1 from the TDFE flag to confirm that
writing is possible, then write data to
SCFTDR, and then clear the TDFE
flag to 0.
3
Yes
Read TEND flag in SC1SSR
TEND = 1?
No
Yes
Clear TE bit to 0 in SCSCR
End
Figure 14.18 Sample Serial Transmission Flowchart
Rev. 5.00 Sep 11, 2006 page 580 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
In serial transmission, the SCI operates as described below.
1. When data is written to the transmit FIFO data register (SCFTDR), the SCI transfers the data
from SCFTDR to the transmit shift register (SCTSR), and starts transmitting. Check that the
TDFE flag is set to 1 in the serial status 1 register (SC1SSR) before writing transmit data to
SCFTDR. The number of data bytes that can be written is at least {16 – (transmit trigger set
number)}.
2. When data is transferred from SCFTDR to SCTSR and transmission is started, transmit
operations are performed continually until there is no transmit data left in SCFTDR. If the
number of data bytes in SCFTDR falls to or below the transmit trigger number set in the FIFO
control register (SCFCR) during transmission, the TDFE flag is set. If the TIE bit setting in the
serial control register (SCSCR) is 1 at this time, a transmit-FIFO-data-empty interrupt (TXI) is
requested.
When clock output mode has been set, the SCI outputs 8 serial clock pulses for one unit of
data.
When use of an external clock has been specified, data is output in synchronization with the
input clock.
The serial transmit data is sent from the TxD pin starting with the LSB (bit 0) or MSB (bit 7)
according to the setting of the TLM bit in the serial status 2 register (SC2SSR).
3. The SCI checks for transmit data in SCFTDR at the timing for sending the last bit. If there is
data in SCFTDR, it is transferred to SCTSR and then serial transmission of the next frame is
started. If there is no transmit data in SCFTDR, the TEND flag is set to 1 in the serial status 1
register (SC1SSR), the last bit is sent, and then the transmit data pin (TxD) holds its state.
If the transmit-end interrupt enable bit (TEIE) setting in SCSCR is 1 at this time, a transmitend interrupt (TEI) is requested.
4. After completion of serial transmission, the SCK pin is fixed high.
Figure 14.19 shows an example of SCI operation in transmission.
Rev. 5.00 Sep 11, 2006 page 581 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Transfer
direction
Serial clock
MSB
LSB
Serial data
Bit 0
Bit 1
Bit 7
Bit 0
Bit 1
Bit 6
Bit 7
TDFE
TEND
TXI interrupt
request
Data written to SCFTDR
and TDFE flag cleared to
0 by TXI interrupt handler
TXI interrupt
request
TEI interrupt
request
One frame
Figure 14.19 Example of SCI Transmit Operation
Serial Data Reception (Synchronous Mode): Figures 14.20 and 14.21 show a sample flowchart
for serial reception.
Use the following procedure for serial data reception after enabling the SCI for reception.
When changing the operating mode from asynchronous to synchronous without resetting
SCFRDR and SCFTDR by means of SCI initialization, be sure to check that the ORER, PER3 to
PER0, and FER3 to FER0 flags are all cleared to 0. The RDF flag will not be set if any of flags
FER3 to FER0 or PER3 to PER0 are set to 1, and neither transmit nor receive operations will be
possible.
Rev. 5.00 Sep 11, 2006 page 582 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Initialization
1. SCI initialization:
1
See figure 14.17, Sample SCI
Initialization Flowchart.
Start of reception
2. Receive error handling:
Read ORER flag in SC1SSR
Yes
ORER = 1?
No
2
Error handling
Read RDF flag in SC1SSR
No
3
RDF = 1?
Yes
Read receive data from SCFRDR,
4
and clear RDF flag to 0
in SC1SSR
No
All data received?
Yes
Clear RE bit to 0 in SCSCR
End of reception
If a receive error occurs, read the
ORER flag in SC1SSR , and after
performing the appropriate error
handling, clear the ORER flag to
0. Transmission/reception cannot
be resumed if the ORER flag is
set to 1.
3. SCI status check and receive data
read:
Read the serial status 1 register
(SC1SSR) and check that the
RDF flag is set to 1, then read
receive data from the receive
FIFO data register (SCFRDR) and
clear the RDF flag to 0. Transition
of the RDF flag from 0 to 1 can
also be identified by an RXI
interrupt.
4. Serial reception continuation
procedure:
To continue serial reception, read
at least the receive trigger set
number of data bytes from
SCFRDR, and write 0 to the RDF
flag after reading 1 from it. The
number of receive data bytes in
SCFRDR can be ascertained by
reading the lower 8 bits of the
FIFO data count register
(SCFDR). (The RDF bit is cleared
automatically when the DMAC is
activated by an RXI interrupt and
the SCFRDR value is read.)
Figure 14.20 Sample Serial Reception Flowchart (1)
Rev. 5.00 Sep 11, 2006 page 583 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Error handling
No
ORER = 1?
Yes
Overrun error handling
Clear ORER flag to 0 in SC1SSR
End
Figure 14.21 Sample Serial Reception Flowchart (2)
In serial reception, the SCI operates as described below.
1. The SCI performs internal initialization in synchronization with serial clock input or output.
2. The received data is stored in the receive shift register (SCRSR) in LSB-to-MSB order or
MSB-to-LSB order according to the setting of the RLM bit in SC2SSR.
After reception, the SCI checks whether the receive data can be transferred from SCRSR to the
receive FIFO data register (SCFRDR). If this check is passed, the receive data is stored in
SCFRDR.
If a receive error is detected in the error check, the operation is as shown in table 14.11.
Neither transmit nor receive operations can be performed subsequently when a receive error
has been found in the error check.
Also, as the RDF flag is not set to 1 when receiving, the ORER flag must be cleared to 0.
3. If the RIE bit setting in the serial control register (SCSCR) is 1 when the RDF flag changes to
1, a receive-FIFO-data-full interrupt (RXI) is requested. If the RIE bit setting in SCRSR is 1
when the ORER flag changes to 1, a receive-error interrupt (ERI) is requested.
Figure 14.22 shows an example of SCI operation in reception.
Rev. 5.00 Sep 11, 2006 page 584 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Transfer
direction
Serial clock
Serial data
Bit 7
Bit 0
Bit 7
Bit 0
Bit 1
Bit 6
Bit 7
RDF
ORER
RXI interrupt
request
Data read from SCFRDR
and RDF flag cleared to
0 by RXI interrupt handler
RXI interrupt
request
ERI interrupt
request due to
overrun error
One frame
Figure 14.22 Example of SCI Receive Operation
Simultaneous Serial Data Transmission and Reception (Synchronous Mode): Figure 14.23
shows a sample flowchart for simultaneous serial transmit and receive operations.
Use the following procedure for simultaneous serial data transmit and receive operations after
enabling the SCI for transmission and reception.
Rev. 5.00 Sep 11, 2006 page 585 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
1. SCI initialization:
1
Initialization
See figure 14.17, Sample SCI
Initialization Flowchart.
Start of transmission/
reception
2. SCI status check and transmit data
write:
Read TDFE flag in SC1SSR
No
Read SC1SSR and check that the
TDFE flag is set to 1, then write
transmit data to SCFTDR and clear the
TDFE flag to 0. Transition of the TDFE
flag from 0 to 1 can also be identified
by a TXI interrupt.
2
TDFE = 1?
Yes
3. Receive error handling:
Write transmit data to SCFTDR
and clear TDFE flag to 0
in SC1SSR
If a receive error occurs, read the
ORER flag in SC1SSR , and after
performing the appropriate error
handling, clear the ORER flag to 0.
Transmission/reception cannot be
resumed if the ORER flag is set to 1.
Read ORER flag in SC1SSR
4. SCI status check and receive data
read:
Yes
ORER = 1?
3
No
Error handling
Read RDF flag in SC1SSR
No
5. Serial transmission/reception
continuation procedure:
RDF = 1?
Yes
No
Read receive data from SCFRDR,
and clear RDF flag to 0
in SC1SSR
4
All data transferred?
5
Yes
Clear TE and RE bits to 0
in SCRSR
End of transmission/
reception
Read SC1SSR and check that the
RDF flag is set to 1, then read receive
data from SCFRDR and clear the RDF
flag to 0. Transition of the RDF flag
from 0 to 1 can also be identified by an
RXI interrupt.
To continue serial transmission/
reception, finish reading the RDF flag,
reading SCFRDR, and clearing the
RDF flag to 0, before the last bit of the
current frame is received. Also, before
the last bit of the current frame is
transmitted, read 1 from the TDFE flag
to confirm that writing is possible, then
write data to SCFTDR and clear the
TDFE flag to 0.
Note: When switching from transmitting
or receiving to simultaneous
transmitting and receiving, first
clear the TE bit and RE bit to 0,
then set the TE bit and RE bit to 1
simultaneously.
Figure 14.23 Sample Flowchart for Serial Transmission and Reception
Rev. 5.00 Sep 11, 2006 page 586 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.3.5
Use of Transmit/Receive FIFO Buffers
The SCI has independent 16-stage FIFO buffers for transmission and reception. The configuration
of these buffers is shown in figure 14.24.
TxD
RxD
SCTSR
SCRSR
P
P F
P/G
SCFTDR
1st stage
2nd stage
3rd stage
SCFRDR
1st stage
2nd stage
3rd stage
Error
counter
SC1SSR
PER3–0
FER3–0
16th stage
16th stage
Data
counter
SCFER
ED15–0
SC1SSR
T4–0
R4–0
Transmit data writes
by CPU or DMAC
Receive data reads
by CPU or DMAC
Figure 14.24 Transmit/Receive FIFO Configuration
Rev. 5.00 Sep 11, 2006 page 587 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
In Serial Data Transmit Operations
In transmission, when transmit data is written to the transmit FIFO by the CPU or DMAC and the
TE bit is set to 1 in the serial control register (SCSCR), the data is first transferred to the transmit
shift register (SCTSR) in the order of writing to the transmit FIFO, a parity bit is added by the
parity generator (P/G), and then serial data is transmitted from the TxD pin.
Each time data is written into the transmit FIFO, the value in bits T4 to T0 in the FIFO data count
register (SCFDR) is incremented, and each time data is transferred to SCTSR the value in bits T4
to T0 is decremented. The current number of data bytes in the transmit FIFO can thus be found by
reading bits T4 to T0 in SCFDR.
A value of H'10 in bits T4 to T0 means that data has been written into all 16 stages of the transmit
FIFO. If additional data is written to the FIFO in this state, bits T4 to T0 will not be incremented
and the written data will be lost.
When the transmit trigger number is set and transmit data is written to the FIFO by the DMAC, if
bit 17 (Flag Clear Timing Select (FCS)) in the DMAC’s DMA channel control register (CHCRn)
is 0 and bit 6 (DREQ Select (DS)) is 1, even though TDFE in serial status register 1 (SCISSR) is
cleared to 0 by execution of the DMAC transfer, the DMAC will continue to transfer data to the
FIFO until the value in the DMA transfer count register reaches 0. In this case, therefore, care
must be taken not to write data exceeding the number of empty bytes in SCFTDR indicated by the
FIFO control register (SCFCR) (see section 14.2.10, FIFO Control Register (SCFCR)).
In Serial Data Receive Operations
In reception, serial data input from the RxD pin is first captured in the receive shift register
(SCRSR) in the order specified by the RLM bit in the serial status 2 register (SC2SSR). A parity
bit check is carried out, and if there is a parity error the P (parity error) flag for that data is set to 1.
A stop bit check is also performed, and if a framing error is found the F (framing error) flag for
that data is set to 1. The receive FIFO buffer has a 10-bit configuration, with the P and F flags for
each 8-bit data unit stored together with that data.
Receive FIFO Control in Normal Operation: Receive data held in the receive FIFO buffer is
read by the CPU or DMAC.
Each time data is transferred from SCRSR to the receive FIFO, the value in bits R4 to R0 in
SCFDR is incremented, and each time the CPU or DMAC reads receive data from the receive
FIFO, the value in bits R4 to R0 is decremented. The current number of data bytes in the receive
FIFO can thus be found by reading bits R4 to R0 in SCFDR.
Rev. 5.00 Sep 11, 2006 page 588 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
A value of H'10 in bits R4 to R0 means that receive data has been transferred to all 16 stages of
the receive FIFO. If the next serial receive operation is completed before the CPU or DMAC reads
data from the FIFO, an overrun error will result and the serial data will be lost. If receive FIFO
data is read when the value of bits R4 to R0 is H'00, an undefined value will be returned.
Receive FIFO Control in Error Data Reception: When data is transferred from SCRSR to the
receive FIFO, the P and F flags are also transferred. If either of these flags is set to 1, the error
counter is incremented and the corresponding bit (PER3 to PER0, FER3 to FER0) is updated in
the serial status 1 register (SC1SSR). The error counter is also incremented if the P or F flag is 1
when data in the receive FIFO is read by the CPU or DMAC. The settings of the P and F flags for
the read receive data are also reflected in the PER and FER flags in SC1SSR. PER and FER are set
when data containing a parity error or framing error is read from the receive FIFO; they are not set
when serial data containing a parity error or framing error is received from the RxD pin. PER and
FER are cleared when data with no parity error or framing error is read from the receive FIFO.
This data is transferred to the receive FIFO even if it contains a parity error or framing error.
Whether or not the receive operation is to be continued at this point can be specified with the EI
bit in SC2SSR. If the EI bit is set to 1, specifying continuation of the receive operation, receive
data is still transferred sequentially to the receive FIFO after an error occurs. The stage of the 16stage FIFO buffer in which the data with the error is located can be determined by reading bits
ED15 to ED0 in the FIFO error register (SCFER).
When the receive trigger number is set and receive data is read from the receive FIFO by the
DMAC, care must be taken not to read data exceeding the receive trigger number indicated by the
FIFO control register (SCFCR) (see section 14.2.10, FIFO Control Register (SCFCR)).
FIFO Control by DR Flag: When a number of data bytes equal to or exceeding the receive
trigger number have been received, a receive data read request is issued to the CPU or DMAC by
means of an RXI interrupt. However, an RXI interrupt is not requested if all reception has been
completed with fewer than the receive trigger number of data bytes having been received. In this
case, the DR flag is set and an ERI interrupt is requested 15 etu after reception of the last data is
completed. The CPU should therefore read bits R4 to R0 in SCFDR to find the number of data
bytes left in the receive FIFO, and read all the data in the FIFO.
Note: etu: Elementary time unit = s/bit
A 15 etu is equivalent to 1.5 frames with an 8-bit, 1-stop-bit format.
Rev. 5.00 Sep 11, 2006 page 589 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
14.3.6
Operation in IrDA Mode
In IrDA mode, the waveform of TxD/RxD transmit/receive data is modified to comply with the
IrDA 1.0 infrared communication specification. This makes it possible to carry out infrared
transmission and reception conforming to the IrDA standard by connecting an infrared
transmission/reception transceiver/receiver.
In the IrDA 1.0 specification, communication is initially executed at 9600 bps, and then the
transfer rate can be changed as required. However, the communication speed is not changed
automatically in this module. When executing communication, therefore, it is necessary to check
the communication speed and have the appropriate speed set in this module by software.
Note: In IrDA mode, reception is not possible when the TE bit is set to 1 (enabling
communication) in the serial control register (SCSCR). When performing reception, the
TE bit in SCSCR must be cleared to 0.
Transmission
In the case of a serial output signal (UART frame) from the SCI, the waveform is corrected and
the signal is converted to an IR frame serial output signal by the IrDA module as shown in figure
14.25.
When the serial data is 0, if the PSEL bit is 0 in the IrDA mode register (SCIMR) a pulse of 3/16
the IR frame bit width is generated and output, and if the PSEL bit is 1 a pulse of 3/16 the bit
width of the bit rate set in bits ICK3 to 0 in the serial mode register (SCSMR) is generated and
output. When the serial data is 1, a pulse is not output.
An infrared LED is driven by a signal demodulated to a 3/16 width.
Rev. 5.00 Sep 11, 2006 page 590 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Reception
Received pulses of 3/16 the IR frame bit width are converted to UART frames after demodulation
as shown in figure 14.25.
When RIVS = 0 in the SCIMR register, demodulation to 0 is executed for pulse output and
demodulation to 1 when there is no pulse output.
UART frame
Start bit
Stop bit
Data
0
1
0
1
0
0
1
1
0
1
Transmission
Reception
IR frame
Start bit
Stop bit
Data
0
1
0
1
0
0
1
1
0
1
3/16 bit cycle pulse
width
Bit cycle
Figure 14.25 IrDA Mode Transmit/Receive Operations
Rev. 5.00 Sep 11, 2006 page 591 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Pulse Width Selection
In transition, the IR frame pulse width can be selected as either 3/16 of the transmission bit rate or
a smaller pulse width by means of the PSEL bit in the IrDA mode register (SCIMR).
The SCI includes a baud rate generator that generates the transmit frame bit rate and a baud rate
generator that generates the IRCLK signal for varying the pulse width.
When the PSEL bit is cleared to 0 in SCIMR, a width of 3/16 the bit rate set in the bit rate register
(SCBRR) is output as the IR frame pulse width. As the pulse width is the direct infrared emission
time; if the user wishes to minimize the pulse width in order to reduce power consumption, the
PSEL bit should be set to 1 in SCIMR and a setting should also be made in bits ICK3 to ICK0 in
the serial mode register (SCSMR) to generate the IRCLK signal, resulting in output with the
minimum settable pulse width.
The minimum IR frame pulse width must be 3/16 of the 115.2 kbps bit rate (= 1.63 µs). With this
minimum pulse width, IRCLK = 921.6 kHz, and so the setting for bits ICK3 to ICK0 to give the
minimum settable pulse width is given by the following equation.
Pφ:
Operating clock frequency
IRCLK: 921.6 kHz (fixed)
N:
Set value of ICK3 to ICK0 (0 ≤ N ≤ 15)
N≥
Pφ
2 × IRCLK
–1
For example, when Pφ = 20 MHz, N = 10.
Table 14.12 shows the settings of bits ICK3 to ICK0 that can be used to obtain the minimum pulse
width for various operating frequencies.
Rev. 5.00 Sep 11, 2006 page 592 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Table 14.12 Bits ICK3 to ICK0 and Operating Frequencies in IrDA mode(When PSEL = 1)
Setting of Bits ICK3 to ICK0
Operating Frequency
Pφ
φ (MHz)
ICK3
ICK2
ICK1
ICK0
2
0
0
0
0
3
1
5
1
0
0
0
6
1
8
1
10
1
12
1
14
16
0
1
1
0
0
18
0
1
20
1
0
21
1
22
1
23
1
0
0
24
1
25
1
26
1
0
27
0
28
1
14.4
SCI Interrupt Sources and the DMAC
The SCI has four interrupt sources: the transmit-end interrupt (TEI) request, receive-error interrupt
(ERI) request, receive-FIFO-data-full interrupt (RXI) request, and transmit-FIFO-data-empty
interrupt (TXI) request.
Table 14.13 shows the interrupt sources and their relative priorities. Individual interrupt sources
can be enabled or disabled with the TIE, RIE, and TEIE bits in SCSCR. Each kind of interrupt
request is sent to the interrupt controller independently.
When the TDFE flag is set to 1 in the serial status register (SC1SSR), a TXI interrupt is requested.
A TXI interrupt request can activate the on-chip DMAC to perform data transfer. The TDFE bit is
Rev. 5.00 Sep 11, 2006 page 593 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
cleared to 0 automatically when all transmit FIFO data register (SCFTDR) writes by the DMAC
are completed.
When the RDF flag is set to 1 in SC1SSR, an RXI interrupt is requested. An RXI interrupt request
can activate the on-chip DMAC to perform data transfer. The RDF bit is cleared to 0 automatically
when all receive FIFO data register (SCFRDR) reads by the DMAC are completed.
When the ER or DR flag is set to 1 in SC2SSR, an ERI interrupt is requested. The on-chip DMAC
cannot be activated by an ERI interrupt request.
When the TEND flag is set to 1 in SC1SSR, a TEI interrupt is requested. The on-chip DMAC
cannot be activated by a TEI interrupt request.
A TXI interrupt indicates that transmit data can be written, and an RXI interrupt indicates that
there is receive data in SCFRDR. The TEI interrupt indicates that the transmit operation has
ended.
Table 14.13 SCI Interrupt Sources
Interrupt Source
Description
DMAC
Activation
Priority on
Reset Release
ERI
Receive error (ER or DR)
Not possible
High
RXI
Receive FIFO data register full (RDF)
Possible
TXI
Transmit FIFO data register empty (TDFE)
Possible
TEI
Transmit end (TEND)
Not possible
14.5
Low
Usage Notes
The following points should be noted when using the SCI.
SCFTDR Writing and the TDFE Flag
The TDFE flag in the serial status 1 register (SC1SSR) is set when the number of transmit data
bytes written in the transmit FIFO data register (SCFTDR) has fallen to or below the transmit
trigger number set by bits TTRG1 and TTRG0 in the FIFO control register (SCFCR). After TDFE
is set, transmit data up to the number of empty bytes in SCFTDR can be written, allowing efficient
continuous transmission.
If the number of data bytes written in SCFTDR is equal to or less than the transmit trigger number,
the TDFE flag will be set to 1 again after being read as 1 and cleared to 0. TDFE clearing should
Rev. 5.00 Sep 11, 2006 page 594 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
therefore be carried out when SCFTDR contains more than the transmit trigger number of transmit
data bytes.
The number of transmit data bytes in SCFTDR can be found from the upper 8 bits of the FIFO
data count register (SCFDR).
Simultaneous Multiple Receive Errors
If a number of receive errors occur at the same time, the state of the status flags in SC1SSR is as
shown in table 14.14. If there is an overrun error, data is not transferred from the receive shift
register (SCRSR) to the receive FIFO data register (SCFRDR), and the receive data is lost.
Table 14.14 SC1SSR Status Flags and Transfer of Receive Data
SC1SSR Status Flags
Receive Errors
RDF
ORER
FER
PER
Receive Data Transfer
SCRSR → SCFRDR
Overrun error
1
1
0
0
×
Framing error
0
0
1
0
O
Parity error
0
0
0
1
O
Overrun error + framing error
1
1
1
0
×
Overrun error + parity error
1
1
0
1
×
Framing error + parity error
0
0
1
1
O
Overrun error + framing error +
parity error
1
1
1
1
×
Legend:
O: Receive data is transferred from SCRSR to SCFRDR.
×: Receive data is not transferred from SCRSR to SCFRDR.
Break Detection and Processing
Break signals can be detected by reading the RxD pin directly when a framing error (FER) is
detected. In the break state the input from the RxD pin consists of all 0s, so the FER flag is set and
the parity error flag (PER) may also be set. Note that although the SCI stops transferring receive
data to SCFRDR after receiving a break, the receive operation continues, so if the FER and BRK
flags are cleared to 0 they will be set to 1 again.
Rev. 5.00 Sep 11, 2006 page 595 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Sending a Break Signal
The TxD pin is a general I/O pin whose input/output direction and level are determined by the I/O
port data register (DR) and the control register (CR) of the pin function controller (PFC). This fact
can be used to send a break signal.
The DR value substitutes for the mark state until the PFC setting is made. The initial setting
should therefore be as an output port outputting 1.
To send a break signal during serial transmission, clear DR to 0, then set the TxD pin as an output
port with the PFC.
When the TE bit is cleared to 0, the transmitter is initialized regardless of the current transmission
state.
Receive Error Flags and Transmit Operations (Synchronous Mode Only)
Transmission cannot be started when a receive error flag (ORER, PER3 to 0, or FER3 to 0) is set
to 1, even if the TE bit is set to 1. Be sure to clear the receive error flags to 0 before starting
transmission.
Note also that the receive error flags are not cleared to 0 by clearing the RE bit to 0.
Receive Data Sampling Timing and Receive Margin in Asynchronous Mode
The SCI operates on a base clock with a frequency of 16, 8, or 4 times the transfer rate.
In reception, the SCI synchronizes internally with the fall of the start bit, which it samples on the
base clock. Receive data is latched at the rising edge of the eighth, fourth, or second base clock
pulse. The timing is shown in figure 14.26.
Rev. 5.00 Sep 11, 2006 page 596 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
16 clocks
8 clocks
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5
Base clock
–7.5 clocks
Receive data
(RxD)
Start bit
+7.5 clocks
D0
D1
Synchronization
sampling timing
Data sampling
timing
Figure 14.26 Receive Data Sampling Timing in Asynchronous Mode
(Using base clock with frequency of 16 times the transfer rate, sampled in 8th clock cycle)
The receive margin in asynchronous mode can therefore be expressed as shown in equation (1).
M = 0.5 –
M:
N:
D:
L:
F:
1
D – 0.5
(1 + F) × 100% ......................... (1)
– (L – 0.5) F –
2N
N
Receive margin (%)
Ratio of clock frequency to bit rate (N = 16, 8, or 4)
Clock duty cycle (D = 0 to 1.0)
Frame length (L = 9 to 12)
Absolute deviation of clock frequency
From equation (1), if F = 0 and D = 0.5, the receive margin is 46.875%, as given by equation (2).
When D = 0.5, F = 0, and N = 16:
M = (0.5 – 1/(2 × 16)) × 100%
= 46.875% ............................................................................................. (2)
This is a theoretical value. A reasonable margin to allow in system designs is 20% to 30%.
Rev. 5.00 Sep 11, 2006 page 597 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
When Using Synchronous External Clock Mode
• Do not set TE or RE to 1 until at least 4 peripheral operating clock cycles after external clock
SCK has changed from 0 to 1.
• Only set both TE and RE to 1 when external clock SCK is 1.
• In reception, note that if RE is cleared to 0 from 2.3 to 3.5 peripheral operating clock cycles
after the rising edge of the RxD D7 bit SCK input, RDF will be set to 1 but copying to
SCFRDR will not be possible.
When Using Synchronous Internal Clock Mode
In reception, note that if RE is cleared to 0 1.5 peripheral operating clock cycles after the rising
edge of the RxD D7 bit SCK output, RDF will be set to 1 but copying to SCFRDR will not be
possible.
When Using the DMAC
When an external clock source is used as the serial clock, the transmit clock should not be input
until at least 5 Pφ clock cycles after SCFTDR is updated by the DMAC. Incorrect operation may
result if the transmit clock is input within 4 Pφ cycles after SCFTDR is updated. (See figure
14.27.)
When performing SCFRDR reads by the DMAC, be sure to set the relevant SCI receive-FIFOdata-full interrupt (RXI) as an activation source.
Also, it is recommended that the FCS bit be set to 1 (flag clearing performed every bus cycle) and
the DS bit be set to 1 (falling edge detection) in the DMAC’s CHCRn register, as in section 9.4.1,
Example of DMA Transfer between On-Chip SCI and External Memory.
SCK
t
TDFE
TXD
D0
D1
D2
D3
D4
D5
Figure 14.27 Example of Synchronous Transmission by DMAC
Rev. 5.00 Sep 11, 2006 page 598 of 916
REJ09B0332-0500
D6
Section 14 Serial Communication Interface (SCI)
SCFRDR Reading and the RDF Flag
The RDF flag in the serial status 1 register (SC1SSR) is set when the number of receive data bytes
in the receive FIFO data register (SCFRDR) has become equal to or greater than the receive
trigger number set by bits RTRG1 and RTRG0 in the FIFO control register (SCFCR). After RDF
is set, receive data equivalent to the trigger number can be read from SCFRDR, allowing efficient
continuous reception.
If the number of data bytes in SCFRDR is equal to or greater than the trigger number, the RDF
flag will be set to 1 again if it is cleared to 0. RDF should therefore be cleared to 0 after being read
as 1 after receive data has been read to reduce the number of data bytes in SCFRDR to less than
the trigger number.
The number of receive data bytes in SCFRDR can be found from the lower 8 bits of the FIFO data
count register (SCFDR).
Rev. 5.00 Sep 11, 2006 page 599 of 916
REJ09B0332-0500
Section 14 Serial Communication Interface (SCI)
Rev. 5.00 Sep 11, 2006 page 600 of 916
REJ09B0332-0500
Section 15 A/D Converter
Section 15 A/D Converter
15.1
Overview
The on-chip A/D converter has 10-bit resolution and allows selection of up to 8 analog input
channels.
The A/D converter is composed of two independent modules, A/D0 and A/D1.
15.1.1
Features
The A/D converter has the following features:
• 10-bit resolution
• Eight input channels (4 channels × 2)
• Conversion time
Minimum conversion time (per channel): 6.7 µs (20 MHz, CKS = 1)
Operating frequency: Pφ > 20 MHz, CKS = 0
Pφ ≤ 20 MHz, CKS = 0, 1
• Choice of conversion mode
Single mode or multi mode can be selected.
Conversion can be carried out simultaneously on two channels.
• Three conversion start methods
Software, timer conversion start trigger (MMT), TPU or ADTRG pin can be selected.
• Eight A/D data registers
Conversion results are held in 16-bit data registers for each channel.
• Sample and hold function
• A/D conversion end interrupt
An A/D conversion end interrupt (ADI) can be requested on completion of A/D conversion.
The DMAC can be activated by ADI0 (A/D0 interrupt request) and ADI1 (A/D1 interrupt
request).
15.1.2
Block Diagram
Figure 15.1 shows a block diagram of the A/D converter.
AVCC and AVSS for both A/D modules are common pins in the chip.
Rev. 5.00 Sep 11, 2006 page 601 of 916
REJ09B0332-0500
Section 15 A/D Converter
A/D0
Bus interface
ADCR0
ADCSR0
ADDRD0
ADDRB0
AVss
ADDRC0
10-bit D/A
ADDRA0
AVcc
Successiveapproximations
register
Module data bus
ADTRG
TPU
MMT signal
trigger trigger trigger
Comparator
Interrupt signal
ADI0
A/D1
AN5
AN6
AN7
Analog multiplexer
AN4
Bus interface
ADCR1
ADDRA1
10-bit D/A
Successiveapproximations
register
Module data bus
AVcc
AVss
Control circuit
Sample-and-hold
circuit
ADCSR1
AN3
–
ADDRD1
AN2
+
ADDRC1
AN1
ADDRB1
AN0
Analog multiplexer
OR circuit
+
–
Control circuit
Comparator
Sample-and-hold
circuit
Legend:
ADCR0:
ADCSR0:
ADDRA0:
ADDRB0:
ADDRC0:
ADDRD0:
A/D0 control register
A/D0 control/status register
A/D0 data register A
A/D0 data register B
A/D0 data register C
A/D0 data register D
Interrupt signal
ADI1
ADCR1:
ADCSR1:
ADDRA1:
ADDRB1:
ADDRC1:
ADDRD1:
A/D1 control register
A/D1 control/status register
A/D1 data register A
A/D1 data register B
A/D1 data register C
A/D1 data register D
Figure 15.1 Block Diagram of A/D Converter
Rev. 5.00 Sep 11, 2006 page 602 of 916
REJ09B0332-0500
Section 15 A/D Converter
15.1.3
Pin Configuration
Figure 15.1 shows the pins used by the A/D converter.
AVCC and AVSS are power supply pins for the analog circuits in the A/D converter.
Table 15.1 A/D Converter Pins
Pin Name
Abbreviation
I/O
Function
Analog power supply
AVCC
Input
Analog circuit power supply and A/D
conversion reference voltage
Analog ground
AVSS
Input
Analog circuit ground and A/D conversion
reference ground
A/D0
Analog input 0
AN0
Input
Analog input channel 0
Analog input 1
AN1
Input
Analog input channel 1
Analog input 2
AN2
Input
Analog input channel 2
Analog input 3
AN3
Input
Analog input channel 3
Analog input 4
AN4
Input
Analog input channel 4
Analog input 5
AN5
Input
Analog input channel 5
Analog input 6
AN6
Input
Analog input channel 6
Analog input 7
AN7
Input
Analog input channel 7
ADTRG
Input
External trigger for starting A/D conversion
A/D1
A/D external trigger input
Rev. 5.00 Sep 11, 2006 page 603 of 916
REJ09B0332-0500
Section 15 A/D Converter
15.1.4
Register Configuration
Table 15.2 summarizes the A/D converter’s registers.
Table 15.2 A/D Converter Registers
Name
Abbreviation R/W
Initial Value Address
Access Size
A/D0 data register AH
ADDRA0H
R
H'00
H'FFFF0080
8, 16
A/D0 data register AL
ADDRA0L
R
H'00
H'FFFF0081
8
A/D0 data register BH
ADDRB0H
R
H'00
H'FFFF0082
8, 16
A/D0 data register BL
ADDRB0L
R
H'00
H'FFFF0083
8
A/D0 data register CH
ADDRC0H
R
H'00
H'FFFF0084
8, 16
A/D0 data register CL
ADDRC0L
R
H'00
H'FFFF0085
8
A/D0 data register DH
ADDRD0H
R
H'00
H'FFFF0086
8, 16
A/D0 data register DL
ADDRD0L
R
H'FFFF0087
8
A/D0 control/status register
ADCSR0
H'00
*
R/(W) H'00
H'FFFF0098
8, 16
A/D0 control register
ADCR0
R/W
H'3F
H'FFFF0099
8
A/D1 data register AH
ADDRA1H
R
H'00
H'FFFF00A0
8, 16
A/D1 data register AL
ADDRA1L
R
H'00
H'FFFF00A1
8
A/D1 data register BH
ADDRB1H
R
H'00
H'FFFF00A2
8, 16
A/D1 data register BL
ADDRB1L
R
H'00
H'FFFF00A3
8
A/D1 data register CH
ADDRC1H
R
H'00
H'FFFF00A4
8, 16
A/D1 data register CL
ADDRC1L
R
H'00
H'FFFF00A5
8
A/D1 data register DH
ADDRD1H
R
H'00
H'FFFF00A6
8, 16
A/D1 data register DL
ADDRD1L
R
H'FFFF00A7
8
A/D1 control/status register
ADCSR1
H'00
*
R/(W) H'00
H'FFFF00B8
8, 16
A/D1 control register
ADCR1
R/W
H'FFFF00B9
8
Note:
*
H'3F
Bit 7 can only be written with 0, to clear the flag.
Rev. 5.00 Sep 11, 2006 page 604 of 916
REJ09B0332-0500
Section 15 A/D Converter
15.2
Register Descriptions
15.2.1
A/D Data Registers A to D (ADDRA0 to ADDRD0, ADDRA1 to ADDRD1)
Bit:
ADDRn
15
14
13
12
11
10
9
8
AD9
AD8
AD7
AD6
AD5
AD4
AD3
AD2
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
AD1
AD0
—
—
—
—
—
—
ADDRn
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Note: n = A to D
The A/D data registers (ADDR) are 16-bit read-only registers that store the results of A/D
conversion. There are eight registers, ADDRA0 to ADDRD0, ADDRA1 to ADDRD1.
The result of A/D conversion is 10-bit data which is transferred to and stored in the ADDR
register for the selected channel. The upper 8 bits of the converted data correspond to the upper
byte of ADDR, and the lower 2 bits correspond to the lower byte. Bits 5 to 0 of the lower byte of
ADDR are reserved, and are always read as 0. Table 15.3 shows the correspondence between the
analog input channels and the A/D data registers.
The ADDR registers can be read by the CPU at all times. The upper byte is read directly, but the
lower byte data is transferred via a temporary register (TEMP). For details, see section 15.3, CPU
Interface.
The ADDR registers are initialized to H'0000 by a power-on reset and in standby mode.
Rev. 5.00 Sep 11, 2006 page 605 of 916
REJ09B0332-0500
Section 15 A/D Converter
Table 15.3 Analog Input Channels and A/D Data Registers
Analog Input Channel
A/D Data Register
Module
AN0
ADDRA0
A/D0
AN1
ADDRB0
AN2
ADDRC0
AN3
ADDRD0
AN4
ADDRA1
AN5
ADDRB1
AN6
ADDRC1
AN7
ADDRD1
15.2.2
A/D Control/Status Registers (ADCSR0, ADCSR1)
Bit:
7
6
5
4
3
2
1
0
ADF
ADIE
ADST
MULTI
CKS
—
CH1
CH0
0
0
0
0
0
0
0
0
R/(W)*
R/W
R/W
R/W
R/W
R
R/W
R/W
Initial value:
R/W:
Note:
A/D1
*
Only 0 can be written, to clear the flag.
The A/D control/status registers (ADCSR0, ADCSR1) are 8-bit readable/writable registers that
perform A/D converter operation control, including selection of the A/D conversion mode.
ADCSR0 is used for A/D0, and ADCSR1 for A/D1.
The ADCSR registers are initialized to H'00 by a power-on reset and in standby mode.
Bit 7—A/D End Flag (ADF): Indicates the end of A/D conversion.
Bit 7: ADF
Description
0
[Clearing conditions]
1
(Initial value)
•
When 0 is written to ADF after reading ADF = 1
•
When the DMAC is activated by and ADI interrupt, and an A/D converter
register is accessed
[Setting conditions]
•
Single mode: When A/D conversion ends
•
Multi mode: When A/D conversion ends on all selected channels
Rev. 5.00 Sep 11, 2006 page 606 of 916
REJ09B0332-0500
Section 15 A/D Converter
Bit 6—A/D Interrupt Enable (ADIE): Enables or disables the interrupt request (ADI) at the end
of A/D conversion.
Bit 6: ADIE
Description
0
A/D end interrupt request (ADI) is disabled
1
A/D end interrupt request (ADI) is enabled
(Initial value)
Bit 5—A/D Start (ADST): Starts or stops A/D conversion. The ADST bit remains set to 1 during
A/D conversion. It can also be set to 1 by a conversion start trigger from a timer (MMT, TPU),
and by means of the A/D conversion trigger input pin (ADTRG).
Bit 5: ADST
Description
0
A/D conversion is stopped
1
•
Single mode: A/D conversion is started. ADST is automatically cleared to 0
when A/D conversion ends on the specified channel.
•
Multi mode: A/D conversion is started. Conversion continues, once on each
channel in turn, until ADST is cleared to 0 by software.
(Initial value)
Bit 4—Multi Mode (MULTI): Selects single mode or multi mode as the A/D conversion mode.
For details of the operation in single mode and multi mode, see section 15.4, Operation. Change
the mode only when ADST = 0.
Bit 4: MULTI
Description
0
Single mode
1
Multi mode
(initial value)
Bit 3—Clock Select (CKS): Sets the A/D conversion time. Change the conversion time only
when ADST = 0.
Bit 3: CKS
Description
0
Conversion time = 266 states (max.)
1
Conversion time = 134 states (max.)
(Initial value)
Bit 2—Reserved: This bit is always read as 0 and should only be written with 0.
Bits 1 and 0—Channel Select 1 and 0 (CH1, CH0): These bits, together with the multi mode bit,
select the analog input channels. Change the channel selection only when ADST = 0.
Rev. 5.00 Sep 11, 2006 page 607 of 916
REJ09B0332-0500
Section 15 A/D Converter
Channel Select Bits
Description
Single Mode
Multi Mode
CH1
CH0
A/D0
A/D1
A/D0
A/D1
0
0
AN0 (Initial value)
AN4 (Initial value)
AN0
AN4
1
AN1
AN5
AN0, AN1
AN4, AN5
1
0
AN2
AN6
AN0–AN2
AN4–AN6
1
AN3
AN7
AN0–AN3
AN4–AN7
15.2.3
A/D Control Registers (ADCR0, ADCR1)
Bit:
7
6
5
4
3
2
1
0
TRGE1
TRGE0
—
—
—
—
—
—
0
0
1
1
1
1
1
1
R/W
R/W
R
R
R
R
R
R
Initial value:
R/W:
The A/D control registers (ADCR0, ADCR1) are 8-bit readable/writable registers that enable or
disable starting of A/D conversion by external trigger input. ADCR0 is used for A/D0, and
ADCR1 for A/D1.
The ADCR registers are initialized to H'3F by a power-on reset and in standby mode.
Bits 7 and 6—Trigger Enable (TRGE1, TRGE0): These bits enable or disable starting of A/D
conversion by input of an ADTRG pin or an MMT or TPU trigger.
Bit 7: TRGE1
Bit 6: TRGE0
Description
0
0
Start of A/D conversion by ADTRG pin or MTT/TPU trigger
input is disabled
(Initial value)
1
A/D conversion is started at MMT or TPU trigger input
0
Start of A/D conversion by ADTRG pin or MTT/TPU trigger
input is enabled
1
A/D conversion is started at falling edge of ADTRG pin
1
The ADTRG pin and the MMT/TPU trigger are shared by A/D0 and A/D1. The settings for A/D0
and A/D1 are ORed.
Bits 5 to 0—Reserved: These bits are always read as 1 and should only be written with 1.
Rev. 5.00 Sep 11, 2006 page 608 of 916
REJ09B0332-0500
Section 15 A/D Converter
15.3
CPU Interface
The A/D data registers (ADDRA0 to ADDRD0, ADDRA1 to ADDRD1) are 16-bit registers, but
they are connected to the CPU by an 8-bit data bus. Therefore, the upper and lower bytes of these
registers must be read separately.
To prevent the data being changed between the reads of the upper and lower bytes of an A/D data
register, the lower byte is read via a temporary register (TEMP). The upper byte can be read
directly.
Data is read from an A/D data register as follows. When the upper byte is read, the upper-byte
value is transferred directly to the CPU and the lower-byte value is transferred into TEMP. Next,
when the lower byte is read, the TEMP contents are transferred to the CPU.
When performing byte-size reads on an A/D data register, always read the upper byte before the
lower byte. It is possible to read only the upper byte, but if only the lower byte is read, incorrect
data may be obtained. If a word-size read is performed on an A/D data register, reading is
performed in upper byte, lower byte order automatically.
Figure 15.2 shows the data flow when reading an A/D data register.
Rev. 5.00 Sep 11, 2006 page 609 of 916
REJ09B0332-0500
Section 15 A/D Converter
Upper-byte read
CPU
(H'AA)
Bus
interface
Module data bus (8 bits)
TEMP
(H'40)
Transfer
ADDRnH
(H'AA)
ADDRnL
(H'40)
Lower-byte read
CPU
(H'40)
Bus
interface
Module data bus (8 bits)
TEMP
(H'40)
ADDRnH
(H'AA)
ADDRnL
(H'40)
Figure 15.2 A/D Data Register Access Operation (Reading H'AA40)
Rev. 5.00 Sep 11, 2006 page 610 of 916
REJ09B0332-0500
Section 15 A/D Converter
15.4
Operation
The A/D converter operates by successive approximations with 10-bit resolution. It has two
operating modes: single mode and multi mode. The operation in these two modes is described
below.
15.4.1
Single Mode (MULTI = 0)
Single mode should be selected for A/D conversion on only one channel. A/D conversion starts
when the ADST bit in the A/D control/status register (ADCSR) is set to 1 by software or external
trigger input. The ADST bit remains set to 1 during A/D conversion, and is automatically cleared
to 0 when conversion ends.
When conversion ends, the ADF bit in ADCSR is set to 1. If the ADIE bit in ADCSR is also 1, an
ADI interrupt is requested. To clear the ADF bit, first read ADF when set to 1, then write 0 to
ADF.
To prevent incorrect operation, A/D conversion should be halted by clearing the ADST bit to 0
before changing the mode or analog input channel. After the change is made, A/D conversion is
restarted by setting the ADST bit to 1 (the mode or channel change and setting of the ADST bit
can be carried out simultaneously).
An example of the operation when channel 1 (AN1) is selected and A/D conversion is performed
in single mode is described below. Figure 15.3 shows a timing diagram for this example (bit
specifications in the operation example refer to the ADCSR0 register).
1. Single mode is selected (MULTI = 0), input channel AN1 is selected (CH1 = 0, CH0 = 1), the
A/D interrupt request is enabled (ADIE = 1), and A/D conversion is started (ADST = 1).
2. When A/D conversion ends, the result is transferred to ADDRB0. At the same time ADF is set
to 1, ADST is cleared to 0, and the A/D converter becomes idle.
3. Since ADF = 1 and ADIE = 1, an ADI interrupt is requested.
4. The A/D interrupt service routine is started.
5. The routine reads ADF set to 1, then writes 0 to ADF.
6. The routine reads and processes the conversion result (ADDRB0).
7. Execution of the A/D interrupt service routine ends. After this, if the ADST bit is set to 1, A/D
conversion starts again and steps (2) to (7) are repeated.
Rev. 5.00 Sep 11, 2006 page 611 of 916
REJ09B0332-0500
Rev. 5.00 Sep 11, 2006 page 612 of 916
REJ09B0332-0500
Idle
Idle
Idle
Channel 1 (AN1)
operating state
Channel 2 (AN2)
operating state
Channel 3 (AN3)
operating state
A/D conversion (1)
Set*
Note: * Vertical arrows ( ) indicate instructions executed by software.
ADDRD
ADDRC
ADDRB
ADDRA
Idle
Start of A/D conversion
Channel 0 (AN0)
operating state
ADF
ADST
ADIE
Set*
A/D conversion (2)
A/D conversion result (1)
Conversion result read
Idle
Clear*
Set*
A/D conversion result (2)
Conversion result read
Idle
Clear*
Section 15 A/D Converter
Figure 15.3 Example of A/D Converter Operation (Single Mode, Channel 1 Selected)
Section 15 A/D Converter
15.4.2
Multi Mode
Multi mode is useful for monitoring analog inputs in a group of one or more channels. When the
ADST bit in the A/D control/status register (ADCSR) is set to 1 by software or external trigger
input, A/D conversion starts on the first channel in the group (AN0 in A/D0, or AN4 in A/D1).
When more than one channel has been selected, A/D conversion starts on the second channel
(AN1 or AN5) as soon as conversion ends on the first channel.
After A/D conversion has been performed once on each of the selected channels, the ADST bit is
cleared to 0 automatically. The conversion results are transferred to and stored in the ADDR
register for each channel.
To prevent incorrect operation, A/D conversion should be halted by clearing the ADST bit to 0
before changing the mode or analog input channels. After the change is made, the first channel is
selected and A/D conversion is restarted by setting the ADST bit to 1 (the mode or channel change
and setting of the ADST bit can be carried out simultaneously).
An example of the A/D conversion operation in multi mode when three channels (AN0 to AN2) in
group 0 are selected is described below. Figure 15.4 shows a timing diagram for this example (bit
specifications in the operation example refer to the ADCSR0 register).
1. Multi mode is selected (MULTI = 1), analog input channels AN0 to AN2 are selected (CH1 =
1, CH0 = 0), and A/D conversion is started (ADST = 1).
2. A/D conversion starts on the first channel (AN0), and when completed, the result is transferred
to ADDRA0. Conversion then starts automatically on the second channel (AN1).
3. Conversion proceeds in the same way through the third channel (AN2).
4. When conversion is completed for all the selected channels (AN0 to AN2), ADF is set to 1
ADST is cleared to 0, and conversion stops.
If the ADIE bit is 1, an ADI interrupt is requested when conversion ends.
When the ADST bit is cleared to 0, A/D conversion stops.
5. ADF is read while set to 1, then written with 0. After this, if the ADST bit is set to 1, A/D
conversion starts again from the first channel (AN0).
Rev. 5.00 Sep 11, 2006 page 613 of 916
REJ09B0332-0500
Rev. 5.00 Sep 11, 2006 page 614 of 916
REJ09B0332-0500
Figure 15.4 Example of A/D Converter Operation
(Multi Mode, Channels AN0 to AN2 Selected)
Idle
Idle
Idle
A/D conversion (1)
Transfer
A/D conversion result (1)
Idle
A/D conversion (3)
Idle
A/D conversion (2)
Note: * Vertical arrows ( ) indicate instructions executed by software.
ADDRD
ADDRC
ADDRB
ADDRA
Channel 3 (AN3)
operating state
Channel 2 (AN2)
operating state
Channel 1 (AN1)
operating state
Channel 0 (AN0)
operating state
ADF
ADST
Set*
Continuous A/D conversion
Idle
A/D conversion result (3)
A/D conversion result (2)
Idle
Clear*
Section 15 A/D Converter
Section 15 A/D Converter
15.4.3
Input Sampling and A/D Conversion Time
The A/D converter has a built-in sample and hold circuit. The A/D converter samples the analog
input at time tD after access to the A/D control/status register (ADCSR) is started, then starts
conversion. Figure 15.5 shows the A/D conversion timing, and table 15.4 shows A/D conversion
times.
As shown in figure 15.5, A/D conversion time tCONV includes A/D conversion start delay time tD
and analog input sampling time tSPL. The length of tD is not fixed, but is determined by the timing
of the write to ADSCR. The total conversion time therefore varies within the ranges shown in
table 15.4.
In multi mode, the tCONV values given in table 15.4 apply to the first conversion. In the second and
subsequent conversions, tCONV is fixed at 266 states (Pφ) when CKS = 0, or 134 states (Pφ) when
CKS = 1.
(1)
Pφ
Address
(2)
Write signal
Input sampling
timing
ADF
tD
tSPL
tCONV
Legend:
(1):
ADCSR write cycle
(2):
ADCSR address
tD:
A/D conversion start delay time
tSPL: Input sampling time
tCONV: A/D conversion time
Figure 15.5 A/D Conversion Timing
Rev. 5.00 Sep 11, 2006 page 615 of 916
REJ09B0332-0500
Section 15 A/D Converter
Table 15.4 A/D Conversion Times (Single Mode)
CKS = 0
CKS = 1
Symbol
Min
Typ
Max
Min
Typ
Max
A/D conversion start delay time
tD
10
—
17
6
—
9
Input sampling time
tSPL
—
64
—
—
32
—
A/D conversion time
tCONV
259
—
266
131
—
134
Note: Unit: states (Pφ)
15.4.4
External Trigger Input Timing
A/D conversion can also be started by external trigger input. When the TRGE bit is set to 1 in the
A/D control register (ADCR), an external trigger is input from the ADTRG pin, or from the MMT
or TPU.
When a falling edge on the ADTRG input pin or an MMT trigger is detected, the ADST bit is set
to 1 in the A/D control/status register (ADCSR), and A/D conversion starts.
Other operations, for both single mode and multi mode, are the same as when the ADST bit is set
to 1 by software.
Figure 15.6 shows the timing for external trigger input.
Pφ
ADTRG
External trigger
signal
ADST
A/D conversion
Figure 15.6 Timing of External Trigger Input by Means of ADTRG Pin
Rev. 5.00 Sep 11, 2006 page 616 of 916
REJ09B0332-0500
Section 15 A/D Converter
15.5
Interrupt Sources and DMA Transfer Requests
The A/D converter generates an A/D conversion end interrupt (ADI) on completion of A/D
conversion. The ADI interrupt can be enabled or disabled with the ADIE bit in ADCSR. DMA
transfer can be initiated by an ADI interrupt.
When the DMAC is activated by an ADI interrupt, the ADF bit in the A/D control/status register
(ADCSR) is automatically cleared to 0 when an A/D register is accessed.
15.6
A/D Conversion Accuracy Definitions
The A/D converter converts analog values input from analog input channels to 10-bit digital
values by comparing them with an analog reference voltage. In this operation, the absolute
accuracy of the A/D conversion (i.e. the deviation between the input analog value and the output
digital value) includes the following kinds of error.
1. Offset error
2. Full-scale error
3. Quantization error
4. Nonlinearity error
The above four kinds of error are described below with reference to figure 15.7. For the sake of
clarity, this figure shows 3-bit A/D conversion rather than 10-bit A/D conversion. Offset error (see
figure 15.7 (1)) is the deviation between the actual A/D conversion characteristic and the ideal
A/D conversion characteristic when the digital output value changes from the minimum value
(zero voltage) of 0000000000 (000 in the figure) to 0000000001 (001 in the figure ). Full-scale
error (see figure 15.7 (2)) is the deviation between the actual A/D conversion characteristic and the
ideal A/D conversion characteristic when the digital output value changes from 1111111110 (110
in the figure) to the maximum value (full-scale voltage) of 1111111111 (111 in the figure).
Quantization error is the deviation inherent in the A/D converter, given by 1/2 LSB (see figure
15.7 (3)). Nonlinearity error is the deviation between the actual A/D conversion characteristic and
the ideal A/D conversion characteristic from zero voltage to full-scale voltage (see figure 15.7
(4)). This does not include offset error, full-scale error, and quantization error.
Rev. 5.00 Sep 11, 2006 page 617 of 916
REJ09B0332-0500
Section 15 A/D Converter
Digital output
Ideal A/D conversion
characteristic
111
(2) Full-scale error
Digital output
Ideal A/D conversion
characteristic
110
101
100
(4) Nonlinearity
error
011
(3) Quantization
error
010
Actual A/D conversion
characteristic
001
000
0
1/8
2/8
3/8
4/8
5/8
6/8
7/8
FS
Analog input
voltage
FS
(1) Offset error
Analog input
voltage
Legend:
FS: Full-scale voltage
Figure 15.7 A/D Conversion Accuracy Definitions
15.7
Usage Notes
The following points should be noted when using the A/D converter.
15.7.1
Analog Voltage Settings
1. Analog input voltage range
The voltage applied to analog input pins during A/D conversion should be in the range AVSS ≤
ANn ≤ AVCC (n = 0 to 7).
2. AVCC and AVSS input voltages
For the AVCC and AVSS input voltages, set AVCC = VCC ±10%, and AVSS = VSS. When the A/D
converter is not used, set AVCC = VCC and AVSS = VSS.
3. AVCC must be connected to the power supply (VCC) even when the A/D converter is not used,
and in standby mode.
Rev. 5.00 Sep 11, 2006 page 618 of 916
REJ09B0332-0500
Section 15 A/D Converter
15.7.2
Handling of Analog Input Pins
To prevent damage from surges and other abnormal voltages at the analog input pins (AN0-AN7),
a protection circuit such as that shown in figure 15.8 should be connected. This circuit also
includes a CR filter function that suppresses error due to noise. The circuit shown here is only a
design example; circuit constants must be decided on the basis of the actual operating conditions.
Figure 15.9 shows an equivalent circuit for the analog input pins, and table 15.5 summarizes the
analog input pin specifications.
AVCC
SH7065
100 Ω
AN0–AN7
0.1 µF
*
AVSS
Note: *
10 µF
0.01 µF
Figure 15.8 Example of Analog Input Pin Protection Circuit
Rev. 5.00 Sep 11, 2006 page 619 of 916
REJ09B0332-0500
Section 15 A/D Converter
1.0 kΩ
AN0–AN7
20 pF
1 MΩ
Analog multiplexer
A/D converter
Note: Values are reference values.
Figure 15.9 Analog Input Pin Equivalent Circuit
Table 15.5 Analog Input Pin Specifications
Item
Min
Max
Unit
Analog input capacitance
—
20
pF
Permissible signal source impedance
—
1
kΩ
15.7.3
Note on PH0 and PH1 Output
The PH0 and PH1 outputs must not be changed during A/D conversion, as the conversion
accuracy cannot be guaranteed in this case.
15.7.4
Port I PFC Settings
Function switching for port I pins, which are used as A/D converter analog input pins, is
performed automatically when A/D conversion is started, so no PFC settings are necessary for
port I.
Rev. 5.00 Sep 11, 2006 page 620 of 916
REJ09B0332-0500
Section 15 A/D Converter
15.7.5
Simultaneous A/D and D/A Conversion
If A/D conversion is started during D/A conversion and analog voltage output while the DAE bit
is cleared to 0 in the D/A converter’s D/A control register (DACR), the analog power supply
current increases sharply, and noise may occur in the analog output of the D/A converter. When
using the A/D converter and D/A converter simultaneously, noise in the analog output can be
prevented by setting the DAE bit in DACR to 1 beforehand.
However, when the DAE bit is set to 1, even if bits DAOE0 and DAOE1 in DACR and the ADST
bit in ADCSR are cleared to 0, the same current is drawn from the analog power supply as during
simultaneous A/D and D/A conversion.
Rev. 5.00 Sep 11, 2006 page 621 of 916
REJ09B0332-0500
Section 15 A/D Converter
Rev. 5.00 Sep 11, 2006 page 622 of 916
REJ09B0332-0500
Section 16 D/A Converter
Section 16 D/A Converter
16.1
Overview
The SH7065 includes a two-channel D/A converter.
16.1.1
Features
The D/A converter has the following features:
• 8-bit resolution
• Two output channels
• Conversion time: maximum 10 µs (with 20 pF capacitive load)
• Output voltage: 0 V to AVCC
16.1.2
Block Diagram
Module data bus
Bus interface
Figure 16.1 shows a block diagram of the D/A converter.
Internal
data bus
DACR
8-bit D/A
DA0
DADR1
DA1
DADR0
AVCC
AVSS
Control circuit
Figure 16.1 Block Diagram of D/A Converter
Rev. 5.00 Sep 11, 2006 page 623 of 916
REJ09B0332-0500
Section 16 D/A Converter
16.1.3
Pin Configuration
Table 16.1 summarizes the input and output pins of the D/A converter.
Table 16.1 D/A Converter Pins
Pin Name
Abbreviation
I/O
Function
Analog power supply pin
AVCC
Input
Analog power supply
Analog ground pin
AVSS
Input
Analog ground and reference voltage
Analog output pin 0
DA0
Output
Channel 0 analog output
Analog output pin 1
DA1
Output
Channel 1 analog output
16.1.4
Register Configuration
Table 16.2 summarizes the registers of the D/A converter.
Table 16.2 D/A Converter Registers
Name
Abbreviation
R/W
Initial Value
Address
Access Size
D/A data register 0
DADR0
R/W
H'00
H'FFFF00C0
8, 16
D/A data register 1
DADR1
R/W
H'00
H'FFFF00C1
8, 16
D/A control register
DACR
R/W
H'1F
H'FFFF00C2
8, 16
Rev. 5.00 Sep 11, 2006 page 624 of 916
REJ09B0332-0500
Section 16 D/A Converter
16.2
Register Descriptions
16.2.1
D/A Data Registers 0 and 1 (DADR0, DADR1)
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
D/A data registers 0 and 1 (DADR0 and DADR1) are 8-bit readable/writable registers that store
the data to be converted. When analog output is enabled, the values in DADR0 and DADR1 are
constantly converted and output at the analog output pins.
The D/A data registers are initialized to H'00 by a reset and in standby mode.
16.2.2
D/A Control Register (DACR)
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
DAOE1
DAOE0
DAE
—
—
—
—
—
0
0
0
1
1
1
1
1
R/W
R/W
R/W
—
—
—
—
—
The D/A control register (DACR) is an 8-bit readable/writable register that controls the operation
of the D/A converter.
DACR is initialized to H'1F by a reset and in standby mode.
Bit 7—D/A Output Enable 1 (DAOE1): Controls D/A conversion and analog output.
Bit 7: DAOE1
Description
0
DA1 analog output is disabled
1
Channel 1 D/A conversion and DA1 analog output are enabled
(Initial value)
Rev. 5.00 Sep 11, 2006 page 625 of 916
REJ09B0332-0500
Section 16 D/A Converter
Bit 6—D/A Output Enable 0 (DAOE0): Controls D/A conversion and analog output.
Bit 6: DAOE0
Description
0
DA0 analog output is disabled
1
Channel 0 D/A conversion and DA0 analog output are enabled
(Initial value)
Bit 5—D/A Enable (DAE): Controls D/A conversion, together with bits DAOE0 and DAOE1.
When the DAE bit is cleared to 0, D/A conversion is controlled independently in channels 0 and 1.
Description
Channel 1
Channel 0
Bit 7:
DAOE1
Bit 6:
DAOE0
Bit 5:
DAE
D/A
Conversion
Analog
Output
D/A
Conversion
Analog
Output
0
0
0
Halted
Halted
Halted
Halted
1
Executed
1
0
Halted
1
Executed
0
Executed
1
0
Executed
Executed
Executed
1
1
0
Halted
Halted
Executed
Executed
1
When using the A/D converter and D/A converter simultaneously, set the DAE bit to 1. This will
prevent the noise associated with the start of A/D converter operation.
When the DAE bit is set to 1, even if bits DAOE0 and DAOE1 in DACR and the ADST bit in
ADCSR are cleared to 0, the same current is drawn from the analog power supply as during
simultaneous A/D and D/A conversion.
Bits 4 to 0—Reserved: Read-only bits, always read as 1.
Rev. 5.00 Sep 11, 2006 page 626 of 916
REJ09B0332-0500
Section 16 D/A Converter
16.3
Operation
The D/A converter has two built-in D/A conversion circuits that can perform conversion
independently.
D/A conversion is performed constantly while enabled in DACR. If the DADR0 or DADR1 value
is modified, conversion of the new data begins immediately. The conversion results are output
when bits DAOE0 and DAOE1 are set to 1.
An example of D/A conversion on channel 0 is given below. The timing is shown in figure 16.2.
1. Data to be converted is written in DADR0.
2. Bit DAOE0 is set to 1 in DACR. D/A conversion starts and DA0 becomes an output pin. The
conversion result is output after the conversion time. The output value is (DADR0
contents/256) × AVCC. Output of this conversion result continues until the value in DADR0 is
modified or the DAOE0 bit is cleared to 0.
3. If the DADR0 value is modified, conversion starts immediately, and the result is output after
the conversion time.
4. When the DAOE0 bit is cleared to 0, DA0 becomes an input pin.
DADR0
write cycle
DACR
write cycle
DADR0
write cycle
DACR
write cycle
Pφ
Address
DADR0
Conversion data 1
Conversion data 2
DAOE0
DA0
Conversion
result 2
Conversion
result 1
High-impedance state
tDCONV
tDCONV
Legend:
tDCONV: D/A conversion time
Figure 16.2 Example of D/A Converter Operation
Rev. 5.00 Sep 11, 2006 page 627 of 916
REJ09B0332-0500
Section 16 D/A Converter
16.4
Usage Note
If the digital output at the PH1 pin is changed during analog output from the DA0 pin, noise may
be introduced into the DA0 analog output. Similarly, if the digital output at the PH0 pin is changed
during analog output from the DA1 pin, noise may be introduced into the DA1 analog output.
Caution is therefore necessary if the PH0 or PH1 output level is changed during analog output.
DA0 and DA1 pin settings should be made with the port H PFC. Noise may occur in the analog
output if the A/D converter is used at the same time. This can be prevented by setting the DAE bit
to 1 in DACR. For details see section 15.7.5, Simultaneous A/D and D/A Conversion.
Rev. 5.00 Sep 11, 2006 page 628 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Section 17 Pin Function Controller (PFC)
17.1
Overview
The pin function controller (PFC) consists of registers for selecting multiplex pin functions and
their input/output direction. Tables 17.1 to 17.9 show the SH7065’s multiplex pins. The functions
of the multiplex pins are determined by the operating mode. Table 17.10 shows the pin functions
in each operating mode, together with the initial functions.
Usage notes apply to this PFC, so the contents of section 17.4, PFC Restrictions, should be noted
before using the PFC.
Table 17.1 Multiplex Pins (Port A)
Port
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
Function 5
(Related Module)
A
PA25 I/O (port)
CS5 output (BSC)
—
—
—
PA24 I/O (port)
CS4 output (BSC)
—
—
—
PA23 I/O (port)
CS3 output (BSC)
—
—
—
PA22 I/O (port)
CS2 output (BSC)
—
—
—
PA21 I/O (port)
CS1 output (BSC)
—
—
—
PA20 I/O (port)
CS0 output (BSC)
—
—
—
PA19 I/O (port)
BS output (BSC)
—
—
—
PA18 I/O (port)
RD output (BSC)
—
—
—
PA17 I/O (port)
WR output (BSC)
—
—
—
PA16 I/O (port)
WRHH output
(BSC)
HHBS output
(BSC)
TCLKC input
(TPU)
TIOC3A I/O
(TPU)
PA15 I/O (port)
WRHL output
(BSC)
HLBS output
(BSC)
TCLKD input
(TPU)
TIOC3B I/O
(TPU)
PA14 I/O (port)
WRLH output
(BSC)
LHBS output
(BSC)
—
—
PA13 I/O (port)
WRLL output
(BSC)
LLBS output
(BSC)
—
—
PA12 I/O (port)
WAIT input (BSC)
—
—
—
PA9 I/O (port)
RAS1 output (BSC) —
—
—
PA8 I/O (port)
RAS0 output (BSC) —
—
—
PA1 I/O (port)
OE1 output (BSC)
—
—
—
PA0 I/O (port)
OE0 output (BSC)
—
—
—
Rev. 5.00 Sep 11, 2006 page 629 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Table 17.2 Multiplex Pins (Port B)
Port
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
Function 5
(Related Module)
B
PB23 I/O (port)
CASHH1 output
(BSC)
TxD1 output
(SCI)
TEND0 output
(DMAC)
—
PB22 I/O (port)
CASHL1 output
(BSC)
RxD1 input
(SCI)
TEND1 output
(DMAC)
—
PB21 I/O (port)
CASLH1 output
(BSC)
—
—
—
PB20 I/O (port)
CASLL1 output
(BSC)
—
—
—
PB19 I/O (port)
CASHH0 output
(BSC)
TxD0 output
(SCI)
—
—
PB18 I/O (port)
CASHL0 output
(BSC)
RxD0 input
(SCI)
—
—
PB17 I/O (port)
CASLH0 output
(BSC)
—
—
—
PB16 I/O (port)
CASLL0 output
(BSC)
—
—
—
PB13 I/O (port)
RDWR output
(BSC)
—
—
—
PB7 I/O (port)
BACK output
(BSC)
—
—
—
PB6 I/O (port)
BREQ input
(BSC)
—
—
—
Rev. 5.00 Sep 11, 2006 page 630 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Table 17.3 Multiplex Pins (Port C)
Port
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
C
PC25 I/O (port)
A25 output (BSC)
TIOC3B I/O (TPU)
TCLKD input (TPU)
PC24 I/O (port)
A24 output (BSC)
TIOC3A I/O (TPU)
TCLKC input (TPU)
PC23 I/O (port)
A23 output (BSC)
TIOC1B I/O (TPU)
TCLKB input (TPU)
PC22 I/O (port)
A22 output (BSC)
TIOC1A I/O (TPU)
TCLKA input (TPU)
PC21 I/O (port)
A21 output (BSC)
TIOC5B I/O (TPU)
—
PC20 I/O (port)
A20 output (BSC)
TIOC5A I/O (TPU)
—
PC19 I/O (port)
A19 output (BSC)
TIOC4B I/O (TPU)
—
PC18 I/O (port)
A18 output (BSC)
TIOC4A I/O (TPU)
—
PC17 I/O (port)
A17 output (BSC)
TIOC3B I/O (TPU)
—
PC16 I/O (port)
A16 output (BSC)
TIOC3A I/O (TPU)
—
PC15 I/O (port)
A15 output (BSC)
TIOC3D I/O (TPU)
—
PC14 I/O (port)
A14 output (BSC)
TIOC3C I/O (TPU)
—
PC13 I/O (port)
A13 output (BSC)
—
—
PC12 I/O (port)
A12 output (BSC)
—
—
PC11 I/O (port)
A11 output (BSC)
—
—
PC10 I/O (port)
A10 output (BSC)
—
—
PC9 I/O (port)
A9 output (BSC)
—
—
PC8 I/O (port)
A8 output (BSC)
—
—
PC7 I/O (port)
A7 output (BSC)
—
—
PC6 I/O (port)
A6 output (BSC)
—
—
PC5 I/O (port)
A5 output (BSC)
—
—
PC4 I/O (port)
A4 output (BSC)
—
—
PC3 I/O (port)
A3 output (BSC)
—
—
PC2 I/O (port)
A2 output (BSC)
—
—
PC1 I/O (port)
A1 output (BSC)
—
—
PC0 I/O (port)
A0 output (BSC)
—
—
Rev. 5.00 Sep 11, 2006 page 631 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Table 17.4 Multiplex Pins (Port D)
Port
D
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
Function 5
(RelatedModule)
PD31 I/O (port)
D31 I/O (BSC)
RxD2 input (SCI)
TIOC5A I/O (TPU)
—
PD30 I/O (port)
D30 I/O (BSC)
TxD2 output (SCI)
TIOC4B I/O (TPU)
—
PD29 I/O (port)
D29 I/O (BSC)
SCK2 I/O (SCI)
TIOC4A I/O (TPU)
—
PD28 I/O (port)
D28 I/O (BSC)
TCLKB input (TPU)
TIOC3D I/O (TPU) —
TIOC3C I/O (TPU) —
PD27 I/O (port)
D27 I/O (BSC)
TCLKA input (TPU)
PD26 I/O (port)
D26 I/O (BSC)
PWOB output (MMT) —
—
PD25 I/O (port)
D25 I/O (BSC)
PVOB output (MMT) —
—
PD24 I/O (port)
D24 I/O (BSC)
PUOB output (MMT) —
—
PD23 I/O (port)
D23 I/O (BSC)
PCO output (MMT)
SCK1 I/O (SCI)
PCI input (MMT)
PD22 I/O (port)
D22 I/O (BSC)
PWOA output (MMT) SCK0 I/O (SCI)
—
PD21 I/O (port)
D21 I/O (BSC)
PVOA output (MMT) IRQ7 input (INTC)
—
PD20 I/O (port)
D20 I/O (BSC)
PUOA output (MMT) IRQ6 input (INTC)
—
PD19 I/O (port)
D19 I/O (BSC)
POE3 input (MMT)
IRQ5 input (INTC)
—
PD18 I/O (port)
D18 I/O (BSC)
POE2 input (MMT)
IRQ4 input (INTC)
—
PD17 I/O (port)
D17 I/O (BSC)
POE1 input (MMT)
ADTRG input (A/D) —
PD16 I/O (port)
D16 I/O (BSC)
POE0 input (MMT)
—
—
PD15 I/O (port)
D15 I/O (BSC)
TIOC5B I/O (TPU)
—
—
PD14 I/O (port)
D14 I/O (BSC)
TIOC5A I/O (TPU)
—
—
PD13 I/O (port)
D13 I/O (BSC)
TIOC4B I/O (TPU)
—
—
PD12 I/O (port)
D12 I/O (BSC)
TIOC4A I/O (TPU)
—
—
PD11 I/O (port)
D11 I/O (BSC)
TIOC2B I/O (TPU)
—
—
PD10 I/O (port)
D10 I/O (BSC)
TIOC2A I/O (TPU)
—
—
PD9 I/O (port)
D9 I/O (BSC)
TIOC1B I/O (TPU)
—
—
PD8 I/O (port)
D8 I/O (BSC)
TIOC1A I/O (TPU)
—
—
PD7 I/O (port)
D7 I/O (BSC)
—
—
—
PD6 I/O (port)
D6 I/O (BSC)
—
—
—
PD5 I/O (port)
D5 I/O (BSC)
—
—
—
PD4 I/O (port)
D4 I/O (BSC)
—
—
—
PD3 I/O (port)
D3 I/O (BSC)
—
—
—
PD2 I/O (port)
D2 I/O (BSC)
—
—
—
PD1 I/O (port)
D1 I/O (BSC)
—
—
—
PD0 I/O (port)
D0 I/O (BSC)
—
—
—
Rev. 5.00 Sep 11, 2006 page 632 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Table 17.5 Multiplex Pins (Port E)
Port
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
E
PE23 I/O (port)
IRQ7 input (INTC)
PWOB output (MMT) —
PE22 I/O (port)
IRQ6 input (INTC)
PVOB output (MMT)
PE21 I/O (port)
IRQ5 input (INTC)
PUOB output (MMT)
—
PE20 I/O (port)
IRQ4 input (INTC)
PCO output (MMT)
PCI input (MMT)
PE19 I/O (port)
IRQ3 input (INTC)
PWOA output (MMT) —
PE18 I/O (port)
IRQ2 input (INTC)
PVOA output (MMT)
—
PE17 I/O (port)
IRQ1 input (INTC)
PUOA output (MMT)
SCK0 I/O (SCI)
PE16 I/O (port)
IRQ0 input (INTC)
SCK1 I/O (SCI)
AH output (BSC)
PE15 I/O (port)
IRQ7 input (INTC)
—
—
PE14 I/O (port)
IRQ6 input (INTC)
—
—
PE13 I/O (port)
IRQ5 input (INTC)
—
—
PE12 I/O (port)
IRQ4 input (INTC)
—
—
—
Table 17.6 Multiplex Pins (Port F)
Port
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
F
PF7 I/O (port)
DREQ1 input
(DMAC)
IRQOUT output
(INTC)
TIOC0D I/O (TPU)
PF6 I/O (port)
DRAK1 output
(DMAC)
TxD1 output (SCI)
TIOC2A I/O (TPU)
PF5 I/O (port)
DACK1 output
(DMAC)
RxD1 input (SCI)
TIOC2B I/O (TPU)
PF3 I/O (port)
DREQ0 input
(DMAC)
TIOC0A I/O (TPU)
—
PF2 I/O (port)
DRAK0 output
(DMAC)
TIOC0C I/O (TPU)
—
PF1 I/O (port)
DACK0 output
(DMAC)
TIOC0B I/O (TPU)
—
Rev. 5.00 Sep 11, 2006 page 633 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Table 17.7 Multiplex Pins (Port G)
Port
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
G
PG31 I/O (port)
RxD2 input (SCI)
—
—
PG30 I/O (port)
TxD2 output (SCI)
—
—
PG29 I/O (port)
SCK2 I/O (SCI)
—
—
Table 17.8 Multiplex Pins (Port H)
Port
H
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
PH1 input/output
(port)
DA1 output (D/A)
—
—
PH0 input/output
(port)
DA0 output (D/A)
—
—
Table 17.9 Multiplex Pins (Port I)
Port
Function 1
(Related Module)
Function 2
(Related Module)
Function 3
(Related Module)
Function 4
(Related Module)
I
PI7 input (port)
AN7 input (A/D)
—
—
PI6 input (port)
AN6 input (A/D)
—
—
PI5 input (port)
AN5 input (A/D)
—
—
PI4 input (port)
AN4 input (A/D)
—
—
PI3 input (port)
AN3 input (A/D)
—
—
PI2 input (port)
AN2 input (A/D)
—
—
PI1 input (port)
AN1 input (A/D)
—
—
PI0 input (port)
AN0 input (A/D)
—
—
Note: Switching to port I function 2 (AN7 to AN0 input) is performed automatically when the A/D
converter is started, and switching to function 1 (port input) is performed automatically when
A/D conversion ends.
Rev. 5.00 Sep 11, 2006 page 634 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Table 17.10 Pin Functions in Each Operating Mode
Pin Name
On-Chip ROM Disabled
MCU Mode 4
Pin No.
On-Chip ROM Enabled
MCU Mode 3
MCU Mode 2
MCU Mode 1
Single-Chip Mode
Functions
Functions
Functions
Functions
Functions
Initial
Initial
Initial
Initial
Initial
Settable
Settable
Settable
Settable
Settable
Function by PFC
Function by PFC
Function by PFC
Function by PFC
Function by PFC
17, 26,
VCC
39, 48,
58, 70,
79, 92,
105, 118,
126, 140
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VSS
10, 13,
21, 25,
31, 38,
45, 54,
64, 76,
88, 89,
101, 110,
113, 124,
128, 133,
135, 147
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
5, 160,
173
PVCC
PVCC
PVCC
PVCC
PVCC
PVCC
PVCC
PVCC
PVCC
PVCC
1, 166
PVSS
PVSS
PVSS
PVSS
PVSS
PVSS
PVSS
PVSS
PVSS
PVSS
129
PLLVCC
PLLVCC
PLLVCC
PLLVCC
PLLVCC
PLLVCC
PLLVCC
PLLVCC
PLLVCC
PLLVCC
132
PLLVSS
PLLVSS
PLLVSS
PLLVSS
PLLVSS
PLLVSS
PLLVSS
PLLVSS
PLLVSS
PLLVSS
130
PLLCAP1 PLLCAP1
PLLCAP1 PLLCAP1
PLLCAP1 PLLCAP1
PLLCAP1 PLLCAP1
PLLCAP1 PLLCAP1
131
PLLCAP2 PLLCAP2
PLLCAP2 PLLCAP2
PLLCAP2 PLLCAP2
PLLCAP2 PLLCAP2
PLLCAP2 PLLCAP2
159
AVCC
AVCC
AVCC
AVCC
AVCC
AVCC
AVCC
AVCC
AVCC
148
AVSS
AVSS
AVSS
AVSS
AVSS
AVSS
AVSS
AVSS
AVSS
AVSS
114
EXTAL
EXTAL
EXTAL
EXTAL
EXTAL
EXTAL
EXTAL
EXTAL
EXTAL
EXTAL
112
XTAL
XTAL
XTAL
XTAL
XTAL
XTAL
XTAL
XTAL
XTAL
XTAL
127
CKIO
CKIO
CKIO
CKIO
CKIO
CKIO
CKIO
CKIO
CKIO
CKIO
134
CK
CK
CK
CK
CK
CK
CK
CK
CK
CK
123
RES
RES
RES
RES
RES
RES
RES
RES
RES
RES
146
WDTOVF WDTOVF
WDTOVF WDTOVF
WDTOVF WDTOVF
WDTOVF WDTOVF
WDTOVF WDTOVF
125
HSTBY
HSTBY
HSTBY
HSTBY
HSTBY
HSTBY
HSTBY
HSTBY
HSTBY
HSTBY
121
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
119
MD4
MD4
MD4
MD4
MD4
MD4
MD4
MD4
MD4
MD4
117
MD3
MD3
MD3
MD3
MD3
MD3
MD3
MD3
MD3
MD3
116
MD2
MD2
MD2
MD2
MD2
MD2
MD2
MD2
MD2
MD2
AVCC
Rev. 5.00 Sep 11, 2006 page 635 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Pin Name
On-Chip ROM Disabled
MCU Mode 4
On-Chip ROM Enabled
MCU Mode 3
MCU Mode 2
MCU Mode 1
Single-Chip Mode
Pin No.
Functions
Functions
Functions
Functions
Functions
Initial
Initial
Initial
Initial
Initial
Settable
Settable
Settable
Settable
Settable
Function by PFC
Function by PFC
Function by PFC
Function by PFC
Function by PFC
115
MD1
MD1
MD1
MD1
MD1
MD1
MD1
MD1
MD1
MD1
111
MD0
MD0
MD0
MD0
MD0
MD0
MD0
MD0
MD0
MD0
122
NMI
NMI
NMI
NMI
NMI
NMI
NMI
NMI
NMI
NMI
120
FWE
FWE
FWE
FWE
FWE
FWE
FWE
FWE
FWE
FWE
41
PA25
PA25/CS5 PA25
PA25/CS5 PA25
PA25/CS5 PA25
PA25/CS5 PA25
PA25
42
PA24
PA24/CS4 PA24
PA24/CS4 PA24
PA24/CS4 PA24
PA24/CS4 PA24
PA24
43
PA23
PA23/CS3 PA23
PA23/CS3 PA23
PA23/CS3 PA23
PA23/CS3 PA23
PA23
44
PA22
PA22/CS2 PA22
PA22/CS2 PA22
PA22/CS2 PA22
PA22/CS2 PA22
PA22
46
PA21
PA21/CS1 PA21
PA21/CS1 PA21
PA21/CS1 PA21
PA21/CS1 PA21
PA21
47
CS0
CS0
CS0
CS0
CS0
CS0
PA20
PA20/CS0 PA20
PA20
142
BS
BS
BS
BS
BS
BS
PA19
PA19/BS
PA19
PA19
49
RD
RD
RD
RD
RD
RD
PA18
PA18/RD
PA18
PA18
50
PA17
PA17/WR
PA17
PA17/WR
PA17
PA17/WR
PA17
PA17/WR
PA17
PA17
51
WRHH
WRHH/
HHBS/
TCLKC/
TIOC3A
WRHH
WRHH/
HHBS/
TCLKC/
TIOC3A
WRHH
WRHH/
HHBS/
TCLKC/
TIOC3A
PA16
PA16/
WRHH/
HHBS/
TCLKC/
TIOC3A
PA16
PA16/
TCLKC/
TIOC3A
52
WRHL
WRHL/
HLBS/
TCLKD/
TIOC3B
WRHL
WRHL/
HLBS/
TCLKD/
TIOC3B
WRHL
WRHL/
HLBS/
TCLKD/
TIOC3B
PA15
PA15/
WRHL/
HLBS/
TCLKD/
TIOC3B
PA15
PA15/
TCLKD/
TIOC3B
53
WRLH
WRLH/
LHBS
WRLH
WRLH/
LHBS
WRLH
WRLH/
LHBS
PA14
PA14/
WRLH/
LHBS
PA14
PA14
55
WRLL
WRLL/
LLBS
WRLL
WRLL/
LLBS
WRLL
WRLL/
LLBS
PA13
PA13/
WRLL/
LLBS
PA13
PA13
56
PA12
PA12/
WAIT
PA12
PA12/
WAIT
PA12
PA12/
WAIT
PA12
PA12/
WAIT
PA12
PA12
57
PA9
PA9/RAS1 PA9
PA9/RAS1 PA9
PA9/RAS1 PA9
PA9/RAS1 PA9
PA9
59
PA8
PA8/RAS0 PA8
PA8/RAS0 PA8
PA8/RAS0 PA8
PA8/RAS0 PA8
PA8
136
PA1
PA1/OE1
PA1
PA1/OE1
PA1
PA1/OE1
PA1
PA1/OE1
PA1
PA1
137
PA0
PA0/OE0
PA0
PA0/OE0
PA0
PA0/OE0
PA0
PA0/OE0
PA0
PA0
Rev. 5.00 Sep 11, 2006 page 636 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Pin Name
On-Chip ROM Disabled
MCU Mode 4
On-Chip ROM Enabled
MCU Mode 3
MCU Mode 2
MCU Mode 1
Single-Chip Mode
Pin No.
Functions
Functions
Functions
Functions
Functions
Initial
Initial
Initial
Initial
Initial
Settable
Settable
Settable
Settable
Settable
Function by PFC
Function by PFC
Function by PFC
Function by PFC
Function by PFC
60
PB23
PB23/
CASHH1/
TxD1/
TEND0
PB23
PB23/
CASHH1/
TxD1/
TEND0
PB23
PB23/
CASHH1/
TxD1/
TEND0
PB23
PB23/
CASHH1/
TxD1/
TEND0
PB23
PB23/
TxD1
61
PB22
PB22/
CASHL1/
RxD1/
TEND1
PB22
PB22/
CASHL1/
RxD1/
TEND1
PB22
PB22/
CASHL1/
RxD1/
TEND1
PB22
PB22/
CASHL1/
RxD1/
TEND1
PB22
PB22/
RxD1
62
PB21
PB21/
CASLH1
PB21
PB21/
CASLH1
PB21
PB21/
CASLH1
PB21
PB21/
CASLH1
PB21
PB21
63
PB20
PB20/
CASLL1
PB20
PB20/
CASLL1
PB20
PB20/
CASLL1
PB20
PB20/
CASLL1
PB20
PB20
65
PB19
PB19/
CASHH0/
TxD0
PB19
PB19/
CASHH0/
TxD0
PB19
PB19/
CASHH0/
TxD0
PB19
PB19/
CASHH0/
TxD0
PB19
PB19/
TxD0
66
PB18
PB18/
CASHL0/
RxD0
PB18
PB18/
CASHL0/
RxD0
PB18
PB18/
CASHL0/
RxD0
PB18
PB18/
CASHL0/
RxD0
PB18
PB18/
RxD0
67
PB17
PB17/
CASLH0
PB17
PB17/
CASLH0
PB17
PB17/
CASLH0
PB17
PB17/
CASLH0
PB17
PB17
68
PB16
PB16/
CASLL0
PB16
PB16/
CASLL0
PB16
PB16/
CASLL0
PB16
PB16/
CASLL0
PB16
PB16
69
PB13
PB13/
RDWR
PB13
PB13/
RDWR
PB13
PB13/
RDWR
PB13
PB13/
RDWR
PB13
PB13
164
PB7
PB7/
BACK
PB7
PB7
/BACK
PB7
PB7/
BACK
PB7
PB7/
BACK
PB7
PB7
165
PB6
PB6/
BREQ
PB6
PB6/
BREQ
PB6
PB6/
BREQ
PB6
PB6/
BREQ
PB6
PB6
40
A25
A25/
TIOC3B/
TCLKD
A25
A25/
TIOC3B/
TCLKD
A25
A25/
TIOC3B/
TCLKD
PC25
PC25/A25/ PC25
TIOC3B/
TCLKD
PC25/
TIOC3B/
TCLKD
37
A24
A24/
TIOC3A/
TCLKC
A24
A24/
TIOC3A/
TCLKC
A24
A24/
TIOC3A/
TCLKC
PC24
PC24/A24/ PC24
TIOC3A/
TCLKC
PC24/
TIOC3A/
TCLKC
36
A23
A23/
TIOC1B/
TCLKB
A23
A23/
TIOC1B/
TCLKB
A23
A23/
TIOC1B/
TCLKB
PC23
PC23/A23/ PC23
TIOC1B/
TCLKB
PC23/
TIOC1B/
TCLKB
35
A22
A22/
TIOC1A/
TCLKA
A22
A22/
TIOC1A/
TCLKA
A22
A22/
TIOC1A/
TCLKA
PC22
PC22/A22/ PC22
TIOC1A/
TCLKA
PC22/
TIOC1A/
TCLKA
Rev. 5.00 Sep 11, 2006 page 637 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Pin Name
On-Chip ROM Disabled
MCU Mode 4
On-Chip ROM Enabled
MCU Mode 3
MCU Mode 2
MCU Mode 1
Single-Chip Mode
Pin No.
Functions
Functions
Functions
Functions
Functions
Initial
Initial
Initial
Initial
Initial
Settable
Settable
Settable
Settable
Settable
Function by PFC
Function by PFC
Function by PFC
Function by PFC
Function by PFC
34
A21
A21/
TIOC5B
A21
A21/
TIOC5B
A21
A21/
TIOC5B
PC21
PC21/A21/ PC21
TIOC5B
PC21/
TIOC5B
33
A20
A20/
TIOC5A
A20
A20/
TIOC5A
A20
A20/
TIOC5A
PC20
PC20/A20/ PC20
TIOC5A
PC20/
TIOC5A
32
A19
A19/
TIOC4B
A19
A19/
TIOC4B
A19
A19/
TIOC4B
PC19
PC19/A19/ PC19
TIOC4B
PC19/
TIOC4B
30
A18
A18/
TIOC4A
A18
A18/
TIOC4A
A18
A18/
TIOC4A
PC18
PC18/A18/ PC18
TIOC4A
PC18/
TIOC4A
29
A17
A17/
TIOC3B
A17
A17/
TIOC3B
A17
A17/
TIOC3B
PC17
PC17/A17/ PC17
TIOC3B
PC17/
TIOC3B
28
A16
A16/
TIOC3A
A16
A16/
TIOC3A
A16
A16/
TIOC3A
PC16
PC16/A16/ PC16
TIOC3A
PC16/
TIOC3A
27
A15
A15/
TIOC3D
A15
A15/
TIOC3D
A15
A15/
TIOC3D
PC15
PC15/A15/ PC15
TIOC3D
PC15/
TIOC3D
24
A14
A14/
TIOC3C
A14
A14/
TIOC3C
A14
A14/
TIOC3C
PC14
PC14/A14/ PC14
TIOC3C
PC14/
TIOC3C
23
A13
A13
A13
A13
A13
A13
PC13
PC13/A13
PC13
PC13
22
A12
A12
A12
A12
A12
A12
PC12
PC12/A12
PC12
PC12
20
A11
A11
A11
A11
A11
A11
PC11
PC11/A11
PC11
PC11
19
A10
A10
A10
A10
A10
A10
PC10
PC10/A10
PC10
PC10
18
A9
A9
A9
A9
A9
A9
PC9
PC9/A9
PC9
PC9
16
A8
A8
A8
A8
A8
A8
PC8
PC8/A8
PC8
PC8
15
A7
A7
A7
A7
A7
A7
PC7
PC7/A7
PC7
PC7
14
A6
A6
A6
A6
A6
A6
PC6
PC6/A6
PC6
PC6
12
A5
A5
A5
A5
A5
A5
PC5
PC5/A5
PC5
PC5
11
A4
A4
A4
A4
A4
A4
PC4
PC4/A4
PC4
PC4
9
A3
A3
A3
A3
A3
A3
PC3
PC3/A3
PC3
PC3
8
A2
A2
A2
A2
A2
A2
PC2
PC2/A2
PC2
PC2
7
A1
A1
A1
A1
A1
A1
PC1
PC1/A1
PC1
PC1
6
A0
A0
A0
A0
A0
A0
PC0
PC0/A0
PC0
PC0
71
PD31
PD31/D31/ PD31
RxD2/
TIOC5A
PD31/D31/ D31
RxD2/
TIOC5A
D31/
RxD2/
TIOC5A
PD31
PD31/D31/ PD31
RxD2/
TIOC5A
PD31/
RxD2/
TIOC5A
72
PD30
PD30/D30/ PD30
TxD2/
TIOC4B
PD30/D30/ D30
TxD2/
TIOC4B
D30/
TxD2/
TIOC4B
PD30
PD30/D30/ PD30
TxD2/
TIOC4B
PD30/
TxD2/
TIOC4B
Rev. 5.00 Sep 11, 2006 page 638 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Pin Name
On-Chip ROM Disabled
MCU Mode 4
On-Chip ROM Enabled
MCU Mode 3
MCU Mode 2
MCU Mode 1
Single-Chip Mode
Pin No.
Functions
Functions
Functions
Functions
Functions
Initial
Initial
Initial
Initial
Initial
Settable
Settable
Settable
Settable
Settable
Function by PFC
Function by PFC
Function by PFC
Function by PFC
Function by PFC
73
PD29
PD29/D29/ PD29
SCK2/
TIOC4A
PD29/D29/ D29
SCK2/
TIOC4A
D29/
SCK2/
TIOC4A
PD29
PD29/D29/ PD29
SCK2/
TIOC4A
PD29/
SCK2/
TIOC4A
74
PD28
PD28/D28/ PD28
TCLKB/
TIOC3D
PD28/D28/ D28
TCLKB/
TIOC3D
D28/
TCLKB/
TIOC3D
PD28
PD28/D28/ PD28
TCLKB/
TIOC3D
PD28/
TCLKB/
TIOC3D
75
PD27
PD27/D27/ PD27
TCLKA/
TIOC3C
PD27/D27/ D27
TCLKA/
TIOC3C
D27/
TCLKA/
TIOC3C
PD27
PD27/D27/ PD27
TCLKA/
TIOC3C
PD27/
TCLKA/
TIOC3C
77
PD26
PD26/D26/ PD26
PWOB
PD26/D26/ D26
PWOB
D26/
PWOB
PD26
PD26/D26/ PD26
PWOB
PD26/
PWOB
78
PD25
PD25/D25/ PD25
PVOB
PD25/D25/ D25
PVOB
D25/
PVOB
PD25
PD25/D25/ PD25
PVOB
PD25/
PVOB
80
PD24
PD24/D24/ PD24
PUOB
PD24/D24/ D24
PUOB
D24/
PUOB
PD24
PD24/D24/ PD24
PUOB
PD24/
PUOB
81
PD23
PD23/D23/ PD23
PCO/PCI/
SCK1
PD23/D23/ D23
PCO/PCI/
SCK1
D23/
PCO/PCI/
SCK1
PD23
PD23/D23/ PD23
PCO/PCI/
SCK1
PD23/
PCO/PCI/
SCK1
82
PD22
PD22/D22/ PD22
PWOA/
SCK0
PD22/D22/ D22
PWOA/
SCK0
D22/
PWOA/
SCK0
PD22
PD22/D22/ PD22
PWOA/
SCK0
PD22/
PWOA/
SCK0
83
PD21
PD21/D21/ PD21
PVOA/
IRQ7
PD21/D21/ D21
PVOA/
IRQ7
D21/
PVOA/
IRQ7
PD21
PD21/D21/ PD21
PVOA/
IRQ7
PD21/
PVOA/
IRQ7
84
PD20
PD20/D20/ PD20
PUOA/
IRQ6
PD20/D20/ D20
PUOA/
IRQ6
D20/
PUOA/
IRQ6
PD20
PD20/D20/ PD20
PUOA/
IRQ6
PD20/
PUOA/
IRQ6
85
PD19
PD19/D19/ PD19
POE3/
IRQ5
PD19/D19/ D19
POE3/
IRQ5
D19/
POE3/
IRQ5
PD19
PD19/D19/ PD19
POE3/
IRQ5
PD19/
POE3/
IRQ5
86
PD18
PD18/
D18/
POE2/
IRQ4
PD18
PD18/D18/ D18
POE2/
IRQ4
D18/
POE2/
IRQ4
PD18
PD18/D18/ PD18
POE2/
IRQ4
PD18/
POE2/
IRQ4
87
PD17
PD17/D17/ PD17
POE1/
ADTRG
PD17/D17/ D17
POE1/
ADTRG
D17/
POE1/
ADTRG
PD17
PD17/D17/ PD17
POE1/
ADTRG
PD17/
POE1/
ADTRG
90
PD16
PD16/
PD16
D16/POE0
PD16/D16/ D16
POE0
D16/POE0 PD16
PD16/D16/ PD16
POE0
PD16/
POE0
91
PD15
D15/
TIOC5B
D15/
TIOC5B
D15/
TIOC5B
PD15/D15/ PD15
TIOC5B
PD15/
TIOC5B
D15
D15
PD15
Rev. 5.00 Sep 11, 2006 page 639 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Pin Name
On-Chip ROM Disabled
MCU Mode 4
On-Chip ROM Enabled
MCU Mode 3
MCU Mode 2
MCU Mode 1
Single-Chip Mode
Pin No.
Functions
Functions
Functions
Functions
Functions
Initial
Initial
Initial
Initial
Initial
Settable
Settable
Settable
Settable
Settable
Function by PFC
Function by PFC
Function by PFC
Function by PFC
Function by PFC
93
PD14
D14/
TIOC5A
D14
D14/
TIOC5A
D14
D14/
TIOC5A
PD14
PD14/D14/ PD14
TIOC5A
PD14/
TIOC5A
94
PD13
D13/
TIOC4B
D13
D13/
TIOC4B
D13
D13/
TIOC4B
PD13
PD13/D13/ PD13
TIOC4B
PD13/
TIOC4B
95
PD12
D12/
TIOC4A
D12
D12/
TIOC4A
D12
D12/
TIOC4A
PD12
PD12/D12/ PD12
TIOC4A
PD12/
TIOC4A
96
PD11
D11/
TIOC2B
D11
D11/
TIOC2B
D11
D11/
TIOC2B
PD11
PD11/D11/ PD11
TIOC2B
PD11/
TIOC2B
97
PD10
D10/
TIOC2A
D10
D10/
TIOC2A
D10
D10/
TIOC2A
PD10
PD10/D10/ PD10
TIOC2A
PD10/
TIOC2A
98
PD9
D9/
TIOC1B
D9
D9/
TIOC1B
D9
D9/
TIOC1B
PD9
PD9/D9/
TIOC1B
PD9
PD9/
TIOC1B
99
PD8
D8/
TIOC1A
D8
D8/
TIOC1A
D8
D8/
TIOC1A
PD8
PD8/D8/
TIOC1A
PD8
PD8/
TIOC1A
100
D7
D7
D7
D7
D7
D7
PD7
PD7/D7
PD7
PD7
102
D6
D6
D6
D6
D6
D6
PD6
PD6/D6
PD6
PD6
103
D5
D5
D5
D5
D5
D5
PD5
PD5/D5
PD5
PD5
104
D4
D4
D4
D4
D4
D4
PD4
PD4/D4
PD4
PD4
106
D3
D3
D3
D3
D3
D3
PD3
PD3/D3
PD3
PD3
107
D2
D2
D2
D2
D2
D2
PD2
PD2/D2
PD2
PD2
108
D1
D1
D1
D1
D1
D1
PD1
PD1/D1
PD1
PD1
109
D0
D0
D0
D0
D0
D0
PD0
PD0/D0
PD0
PD0
167
PE23
PE23/
IRQ7/
PWOB
PE23
PE23/
IRQ7/
PWOB
PE23
PE23/
IRQ7/
PWOB
PE23
PE23/
IRQ7/
PWOB
PE23
PE23/
IRQ7/
PWOB
168
PE22
PE22/
IRQ6/
PVOB
PE22
PE22/
IRQ6/
PVOB
PE22
PE22/
IRQ6/
PVOB
PE22
PE22/
IRQ6/
PVOB
PE22
PE22/
IRQ6/
PVOB
169
PE21
PE21/
IRQ5/
PUOB
PE21
PE21/
IRQ5/
PUOB
PE21
PE21/
IRQ5/
PUOB
PE21
PE21/
IRQ5/
PUOB
PE21
PE21/
IRQ5/
PUOB
170
PE20
PE20/
IRQ4/
PCO/PCI
PE20
PE20/
IRQ4/
PCO/PCI
PE20
PE20/
IRQ4/
PCO/PCI
PE20
PE20/
IRQ4/
PCO/PCI
PE20
PE20/
IRQ4/
PCO/PCI
171
PE19
PE19/
IRQ3/
PWOA
PE19
PE19/
IRQ3/
PWOA
PE19
PE19/
IRQ3/
PWOA
PE19
PE19/
IRQ3/
PWOA
PE19
PE19/
IRQ3/
PWOA
Rev. 5.00 Sep 11, 2006 page 640 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Pin Name
On-Chip ROM Disabled
MCU Mode 4
On-Chip ROM Enabled
MCU Mode 3
MCU Mode 2
MCU Mode 1
Single-Chip Mode
Pin No.
Functions
Functions
Functions
Functions
Functions
Initial
Initial
Initial
Initial
Initial
Settable
Settable
Settable
Settable
Settable
Function by PFC
Function by PFC
Function by PFC
Function by PFC
Function by PFC
172
PE18
PE18/
IRQ2/
PVOA
PE18
PE18/
IRQ2/
PVOA
PE18
PE18/
IRQ2/
PVOA
PE18
PE18/
IRQ2/
PVOA
PE18
PE18/
IRQ2/
PVOA
174
PE17
PE17/
IRQ1/
PUOA/
SCK0
PE17
PE17/
IRQ1/
PUOA/
SCK0
PE17
PE17/
IRQ1/
PUOA/
SCK0
PE17
PE17/
IRQ1/
PUOA/
SCK0
PE17
PE17/
IRQ1/
PUOA/
SCK0
175
PE16
PE16/
IRQ0/
SCK1/AH
PE16
PE16/
IRQ0/
SCK1/AH
PE16
PE16/
IRQ0/
SCK1/AH
PE16
PE16/
IRQ0/
SCK1/AH
PE16
PE16/
IRQ0/
SCK1
176
PE15
PE15/
IRQ7
PE15
PE15/
IRQ7
PE15
PE15/
IRQ7
PE15
PE15/
IRQ7
PE15
PE15/
IRQ7
2
PE14
PE14/
IRQ6
PE14
PE14/
IRQ6
PE14
PE14/
IRQ6
PE14
PE14/
IRQ6
PE14
PE14/
IRQ6
3
PE13
PE13/
IRQ5
PE13
PE13/
IRQ5
PE13
PE13/
IRQ5
PE13
PE13/
IRQ5
PE13
PE13/
IRQ5
4
PE12
PE12/
IRQ4
PE12
PE12/
IRQ4
PE12
PE12/
IRQ4
PE12
PE12/
IRQ4
PE12
PE12/
IRQ4
145
PF7
PF7/
DREQ1/
IRQOUT/
TIOC0D
PF7
PF7/
DREQ1/
IRQOUT/
TIOC0D
PF7
PF7/
DREQ1/
IRQOUT/
TIOC0D
PF7
PF7/
DREQ1/
IRQOUT/
TIOC0D
PF7
PF7/
IRQOUT/
TIOC0D
144
PF6
PF6/
DRAK1/
TxD1/
TIOC2A
PF6
PF6/
DRAK1/
TxD1/
TIOC2A
PF6
PF6/
DRAK1/
TxD1/
TIOC2A
PF6
PF6/
DRAK1/
TxD1/
TIOC2A
PF6
PF6/
TxD1/
TIOC2A
143
PF5
PF5/
DACK1/
RxD1/
TIOC2B
PF5
PF5/
DACK1/
RxD1/
TIOC2B
PF5
PF5/
DACK1/
RxD1/
TIOC2B
PF5
PF5/
DACK1/
RxD1/
TIOC2B
PF5
PF5/
RxD1/
TIOC2B
138
PF3
PF3/
DREQ0/
TIOC0A
PF3
PF3/
DREQ0/
TIOC0A
PF3
PF3/
DREQ0/
TIOC0A
PF3
PF3/
DREQ0/
TIOC0A
PF3
PF3/
TIOC0A
139
PF2
PF2/
DRAK0/
TIOC0C
PF2
PF2/
DRAK0/
TIOC0C
PF2
PF2/
DRAK0/
TIOC0C
PF2
PF2/
DRAK0/
TIOC0C
PF2
PF2/
TIOC0C
141
PF1
PF1/
DACK0/
TIOC0B
PF1
PF1/
DACK0/
TIOC0B
PF1
PF1/
DACK0/
TIOC0B
PF1
PF1/
DACK0/
TIOC0B
PF1
PF1/
TIOC0B
161
PG31
PG31/
RxD2
PG31
PG31/
RxD2
PG31
PG31/
RxD2
PG31
PG31/
RxD2
PG31
PG31/
RxD2
Rev. 5.00 Sep 11, 2006 page 641 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Pin Name
On-Chip ROM Disabled
MCU Mode 4
On-Chip ROM Enabled
MCU Mode 3
MCU Mode 2
MCU Mode 1
Single-Chip Mode
Pin No.
Functions
Functions
Functions
Functions
Functions
Initial
Initial
Initial
Initial
Initial
Settable
Settable
Settable
Settable
Settable
Function by PFC
Function by PFC
Function by PFC
Function by PFC
Function by PFC
162
PG30
PG30/
TxD2
PG30
PG30/
TxD2
PG30
PG30/
TxD2
PG30
PG30/
TxD2
PG30
PG30/
TxD2
163
PG29
PG29/
SCK2
PG29
PG29/
SCK2
PG29
PG29/
SCK2
PG29
PG29/
SCK2
PG29
PG29/
SCK2
150
PH1
PH1/DA1
PH1
PH1/DA1
PH1
PH1/DA1
PH1
PH1/DA1
PH1
PH1/DA1
149
PH0
PH0/DA0
PH0
PH0/DA0
PH0
PH0/DA0
PH0
PH0/DA0
PH0
PH0/DA0
158*
PI7
PI7/AN7
PI7
PI7/AN7
PI7
PI7/AN7
PI7
PI7/AN7
PI7
PI7/AN7
157*
PI6
PI6/AN6
PI6
PI6/AN6
PI6
PI6/AN6
PI6
PI6/AN6
PI6
PI6/AN6
156*
PI5
PI5/AN5
PI5
PI5/AN5
PI5
PI5/AN5
PI5
PI5/AN5
PI5
PI5/AN5
155*
PI4
PI4/AN4
PI4
PI4/AN4
PI4
PI4/AN4
PI4
PI4/AN4
PI4
PI4/AN4
154*
PI3
PI3/AN3
PI3
PI3/AN3
PI3
PI3/AN3
PI3
PI3/AN3
PI3
PI3/AN3
153*
PI2
PI2/AN2
PI2
PI2/AN2
PI2
PI2/AN2
PI2
PI2/AN2
PI2
PI2/AN2
152*
PI1
PI1/AN1
PI1
PI1/AN1
PI1
PI1/AN1
PI1
PI1/AN1
PI1
PI1/AN1
PI0/AN0
PI0
PI0/AN0
PI0
PI0/AN0
PI0
PI0/AN0
PI0
PI0/AN0
151*
PI0
Note:
*
Since switching to the port I ANn (A/D converter analog input) function is performed
automatically when A/D conversion is started, and the PIn (port input) function is
restored when A/D conversion ends, port I has no register for PFC settings.
Rev. 5.00 Sep 11, 2006 page 642 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
17.2
Register Configuration
PFC registers are listed in table 17.11.
Table 17.11 PFC Registers
Name
Abbreviation R/W
Initial
Value
Address
Access
Size
Port A IO register H
PAIORH
R/(W)
H'0000
H'FFFF1204
8, 16, 32
Port A IO register L
PAIORL
R/(W)
H'0000
H'FFFF1206
8, 16, 32
Port A control register H1
PACRH1
R/(W)
H'0000
H'FFFF1208
8, 16, 32
Port A control register H2
PACRH2
R/(W)
H'0000
H'FFFF120A
8, 16, 32
Port A control register L1
PACRL1
R/(W)
H'0000
H'FFFF120C
8, 16, 32
Port A control register L2
PACRL2
R/(W)
H'0000
H'FFFF120E
8, 16, 32
Port B IO register H
PBIORH
R/(W)
H'0000
H'FFFF1214
8, 16, 32
Port B IO register L
PBIORL
R/(W)
H'0000
H'FFFF1216
8, 16, 32
Port B control register H2
PBCRH2
R/(W)
H'0000
H'FFFF121A
8, 16, 32
Port B control register L1
PBCRL1
R/(W)
H'0000
H'FFFF121C
8, 16, 32
Port B control register L2
PBCRL2
R/(W)
H'0000
H'FFFF121E
8, 16, 32
Port C IO register H
PCIORH
R/(W)
H'0000
H'FFFF1224
8, 16, 32
Port C IO register L
PCIORL
R/(W)
H'0000
H'FFFF1226
8, 16, 32
Port C control register H1
PCCRH1
R/(W)
H'0000
H'FFFF1228
8, 16, 32
Port C control register H2
PCCRH2
R/(W)
H'0000
H'FFFF122A
8, 16, 32
Port C control register L1
PCCRL1
R/(W)
H'0000
H'FFFF122C
8, 16, 32
Port C control register L2
PCCRL2
R/(W)
H'0000
H'FFFF122E
8, 16, 32
Port D IO register H
PDIORH
R/(W)
H'0000
H'FFFF1234
8, 16, 32
Port D IO register L
PDIORL
R/(W)
H'0000
H'FFFF1236
8, 16, 32
Port D control register H1
PDCRH1
R/(W)
H'0000
H'FFFF1238
8, 16, 32
Port D control register H2
PDCRH2
R/(W)
H'0000
H'FFFF123A
8, 16, 32
Port D control register L1
PDCRL1
R/(W)
H'0000
H'FFFF123C
8, 16, 32
Port D control register L2
PDCRL2
R/(W)
H'0000
H'FFFF123E
8, 16, 32
Port E IO register H
PEIORH
R/(W)
H'0000
H'FFFF1244
8, 16, 32
Port E IO register L
PEIORL
R/(W)
H'0000
H'FFFF1246
8, 16, 32
Port E control register H2
PECRH2
R/(W)
H'0000
H'FFFF124A
8, 16, 32
Port E control register L
PECRL
R/(W)
H'0000
H'FFFF124C
8, 16, 32
Rev. 5.00 Sep 11, 2006 page 643 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Name
Abbreviation R/W
Initial
Value
Address
Access
Size
Port F IO register L
PFIORL
R/(W)
H'0000
H'FFFF1266
8, 16, 32
Port F control register L2
PFCRL2
R/(W)
H'0000
H'FFFF126E
8, 16, 32
Port G IO register
PGIOR
R/(W)
H'0000
H'FFFF1274
8, 16, 32
Port G control register H1
PGCRH1
R/(W)
H'0000
H'FFFF1278
8, 16, 32
Port H IO register
PHIOR
R/(W)
H'0000
H'FFFF1286
8, 16, 32
Port H control register
PHCR
R/(W)
H'0000
H'FFFF128E
8, 16, 32
Function control register
FCR
R/(W)
H'0000
H'FFFF1250
8, 16, 32
17.3
Register Descriptions
17.3.1
Port A IO Register H (PAIORH)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R/W
R/W
7
6
5
4
3
2
1
0
Bit:
PA25IOR PA24IOR
PA23IOR PA22IOR PA21IOR PA20IOR PA19IOR PA18IOR PA17IOR PA16IOR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port A IO register H (PAIORH) is a 16-bit readable/writable register that selects the input/output
direction of pins in port A. Bits PA25IOR to PA16IOR correspond to pins PA25/CS5 to
PA16/WRHH/HHBS/TCLKC/TIOC3A. PAIORH is enabled when port A pins function as general
input/output pins (PA25 to PA16) or PA16 functions as a TPU TIOC pin, and disabled otherwise.
When port A pins function as PA25 to PA16, or PA16 functions as a TPU TIOC pin, a pin
becomes an output when the corresponding bit in PAIORH is set to 1, and an input when the bit is
cleared to 0.
PAIORH is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 644 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
17.3.2
Port A IO Register L (PAIORL)
Bit:
15
14
13
12
PA15IOR PA14IOR PA13IOR PA12IOR
Initial value:
11
10
—
—
9
8
PA9IOR PA8IOR
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R
R
R/W
R/W
7
6
5
4
3
2
1
0
—
—
—
–
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R/W
R/W
R/W:
Bit:
PA1IOR PA0IOR
Port A IO register L (PAIORL) is a 16-bit readable/writable register that selects the input/output
direction of pins in port A. Bits PA15IOR to PA0IOR correspond to pins
PA15/WRHL/HLBS/TCLKD/TIOC3B to PA0/OE0. PAIORL is enabled when port A pins
function as general input/output pins (PA15 to PA0) or a TPU TIOC pin, and disabled otherwise.
When port A pins function as PA15 to PA0, or PA15 functions as a TPU TIOC pin, a pin becomes
an output when the corresponding bit in PAIORL is set to 1, and an input when the bit is cleared to
0.
PAIORL is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.3
Port A Control Registers H1 and H2 (PACRH1, PACRH2)
Port A control registers H1 and H2 (PACRH1, PACRH2) are 16-bit readable/writable registers
that select the functions of the upper 16 multiplex pins in port A.
PACRH1 selects the functions of port A pins PA25/CS5 to PA24/CS4, and PACRH2 selects the
functions of port A pins PA23/CS3 to PA16/WRHH/HHBS/TCLKC/TIOC3A.
Port A includes bus control signals (CS0 to CS5, BS, RD, WR, WRHH, and HHBS), but register
settings relating to the selection of these pin functions may not be valid in all operating modes. For
details, see table 17.10, Pin Functions in Each Operating Mode.
PACRH1 and PACRH2 are initialized to H'0000 by an external power-on reset, but are not
initialized by a WDT reset, in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 645 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port A Control Register H1 (PACRH1)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
PA25MD
—
PA24MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R/W
R
R/W
Bits 15 to 3—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 2—PA25 Mode (PA25MD): Selects the function of the PA25/CS5 pin.
Bit 2: PA25MD
Description
0
General input/output (PA25)
1
Chip select output (CS5) (PA25 in single-chip mode)
(Initial value)
Bit 1—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 0—PA24 Mode (PA24MD): Selects the function of the PA24/CS4 pin.
Bit 0: PA24MD
Description
0
General input/output (PA24)
1
Chip select output (CS4) (PA24 in single-chip mode)
Rev. 5.00 Sep 11, 2006 page 646 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
Port A Control Register H2 (PACRH2)
Bit:
15
14
13
12
11
10
9
8
—
PA23
MD
—
PA22
MD
—
PA21
MD
—
PA20
MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R
R/W
Bit:
7
6
5
4
3
2
1
0
—
PA19
MD
—
PA18
MD
—
PA17
MD
PA16
MD1
PA16
MD0
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R/W
R/W
Bit 15—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 14—PA23 Mode (PA23MD): Selects the function of the PA23/CS3 pin.
Bit 14: PA23MD
Description
0
General input/output (PA23)
1
Chip select output (CS3) (PA23 in single-chip mode)
(Initial value)
Bit 13—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 12—PA22 Mode (PA22MD): Selects the function of the PA22/CS2 pin.
Bit 12: PA22MD
Description
0
General input/output (PA22)
1
Chip select output (CS2) (PA22 in single-chip mode)
(Initial value)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 10—PA21 Mode (PA21MD): Selects the function of the PA21/CS1 pin.
Bit 10: PA21MD
Description
0
General input/output (PA21)
1
Chip select output (CS1) (PA21 in single-chip mode)
(Initial value)
Rev. 5.00 Sep 11, 2006 page 647 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bit 9—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 8—PA20 Mode (PA20MD): Selects the function of the PA20/CS0 pin.
Bit 8: PA20MD
Description
0
General input/output (PA20) (CS0 in on-chip ROM disabled modes)
(Initial value)
1
Chip select output (CS0) (PA20 in single-chip mode)
Bit 7—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 6—PA19 Mode (PA19MD): Selects the function of the PA19/BS pin.
Bit 6: PA19MD
Description
0
General input/output (PA19) (BS in on-chip ROM disabled modes)
(Initial value)
1
Bus start output (BS) (PA19 in single-chip mode)
Bit 5—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 4—PA18 Mode (PA18MD): Selects the function of the PA18/RD pin.
Bit 4: PA18MD
Description
0
General input/output (PA18) (RD in on-chip ROM disabled modes)
(Initial value)
1
Read output (RD) (PA18 in single-chip mode)
Bit 3—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 2—PA17 Mode (PA17MD): Selects the function of the PA17/WR pin.
Bit 2: PA17MD
Description
0
General input/output (PA17)
1
Write output (WR) (PA17 in single-chip mode)
Rev. 5.00 Sep 11, 2006 page 648 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
Bits 1 and 0—PA16 Mode 1 and 0 (PA16MD1, PA16MD0): These bits select the function of
the PA16/WRHH/HHBS/TCLKC/TIOC3A pin.
Bit 1: PA16MD1
Bit 0: PA16MD0
Description
0
0
General input/output (PA16)
(Initial value)
(WRHH or HHBS in on-chip ROM disabled modes)
1
Byte write output (WRHH) or byte strobe output (HHBS)
(PA16 in single-chip mode)
0
TPU clock input (TCLKC)
1
TPU input capture input/output compare output
(TIOC3A)
1
17.3.4
Port A Control Registers L1 and L2 (PACRL1, PACRL2)
Port A control registers L1 and L2 (PACRL1, PACRL2) are 16-bit readable/writable registers that
select the functions of pins in port A.
PACRL1 selects the functions of port A pins PA15/WRHL/HLBS/TCLKD/TIOC3B to
PA8/RAS0, and PACRL2 selects the functions of port A pins PA1/OE1 and PA0/OE0.
Port A includes bus control signals (WRHL, WRLH, WRLL, HLBS, LHBS, LLBS, WAIT,
RAS0, RAS1, OE0, and OE1), but register settings relating to the selection of these pin functions
may not be valid in all operating modes. For details, see table 17.10, Pin Functions in Each
Operating Mode.
PACRL1 and PACRL2 are initialized to H'0000 by an external power-on reset, but are not
initialized by a WDT reset, in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 649 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port A Control Register L1 (PACRL1)
Bit:
15
14
13
12
11
10
9
8
PA15
MD1
PA15
MD0
—
PA14
MD
—
PA13
MD
—
PA12
MD
0
0
0
0
0
0
0
0
R/W
R/W
R
R/W
R
R/W
R
R/W
7
6
5
4
3
2
1
0
—
—
—
—
—
PA9
MD
—
PA8
MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R/W
R
R/W
Initial value:
R/W:
Bit:
Bits 15 and 14—PA15 Mode 1 and 0 (PA15MD1, PA15MD0): These bits select the function of
the PA15/WRHL/HLBS/TCLKD/TIOC3B pin.
Bit 15: PA15MD1
Bit 14: PA15MD0
Description
0
0
General input/output (PA15)
(Initial value)
(WRHL or HLBS in on-chip ROM disabled modes)
1
Byte write output (WRHL) or byte strobe output (HLBS)
(PA15 in single-chip mode)
0
TPU clock input (TCLKD)
1
TPU input capture input/output compare output
(TIOC3B)
1
Bit 13—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 12—PA14 Mode (PA14MD): Selects the function of the PA14/WRLH/LHBS pin.
Bit 12: PA14MD
Description
0
General input/output (PA14)
(WRLH or LHBS in on-chip ROM disabled modes)
1
Byte write output (WRLH) or byte strobe output (LHBS)
(PA14 in single-chip mode)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 650 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
Bit 10—PA13 Mode (PA13MD): Selects the function of the PA13/WRLL/LLBS pin.
Bit 10: PA13MD
Description
0
General input/output (PA13)
(WRLL or LLBS in on-chip ROM disabled modes)
1
Byte write output (WRLL) or byte strobe output (LLBS)
(PA13 in single-chip mode)
(Initial value)
Bit 9—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 8—PA12 Mode (PA12MD): Selects the function of the PA12/WAIT pin.
Bit 8: PA12MD
Description
0
General input/output (PA12)
1
Wait request input (WAIT) (PA12 in single-chip mode)
(Initial value)
Bits 7 to 3—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 2—PA9 Mode (PA9MD): Selects the function of the PA9/RAS1 pin.
Bit 2: PA9MD
Description
0
General input/output (PA9)
1
Row address strobe output (RAS1) (PA9 in single-chip mode)
(Initial value)
Bit 1—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 0—PA8 Mode (PA8MD): Selects the function of the PA8/RAS0 pin.
Bit 0: PA8MD
Description
0
General input/output (PA8)
1
Row address strobe output (RAS0) (PA8 in single-chip mode)
(Initial value)
Rev. 5.00 Sep 11, 2006 page 651 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port A Control Register L2 (PACRL2)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
PA1MD
—
PA0MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R/W
R
R/W
Bits 15 to 3—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 2—PA1 Mode (PA1MD): Selects the function of the PA1/OE1 pin.
Bit 2: PA1MD
Description
0
General input/output (PA1)
1
Output enable output (OE1) (PA1 in single-chip mode)
(Initial value)
Bit 1—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 0—PA0 Mode (PA0MD): Selects the function of the PA0/OE0 pin.
Bit 0: PA0MD
Description
0
General input/output (PA0)
1
Output enable output (OE0) (PA0 in single-chip mode)
Rev. 5.00 Sep 11, 2006 page 652 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
17.3.5
Port B IO Register H (PBIORH)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
PB23IOR PB22IOR PB21IOR PB20IOR PB19IOR PB18IOR PB17IOR PB16IOR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port B IO register H (PBIORH) is a 16-bit readable/writable register that selects the input/output
direction of pins in port B. Bits PB23IOR to PB16IOR correspond to pins
PB23/CASHH1/TxD1/TEND0 to PB16/CASLL0. PBIORH is enabled when port B pins function
as general input/output pins (PB23 to PB16), and disabled otherwise.
When port B pins function as PB23 to PB16, a pin becomes an output when the corresponding bit
in PBIORH is set to 1, and an input when the bit is cleared to 0.
PBIORH is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.6
Port B IO Register L (PBIORL)
Bit:
15
14
13
12
11
10
9
8
—
—
PB13IOR
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R/W
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
PB7IOR PB6IOR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R
R
R
R
R
R
Port B IO register L (PBIORL) is a 16-bit readable/writable register that selects the input/output
direction of pins in port B. Bits PB13IOR to PB6IOR correspond to pins PB13/RDWR to
Rev. 5.00 Sep 11, 2006 page 653 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
PB6/BREQ. PBIORL is enabled when port B pins function as general input/output pins (PB13 to
PB6), and disabled otherwise.
When port B pins function as PB13 to PB6, a pin becomes an output when the corresponding bit
in PBIORL is set to 1, and an input when the bit is cleared to 0.
PBIORL is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.7
Port B Control Register H2 (PBCRH2)
Port B control register H2 (PBCRH2) is a 16-bit readable/writable register that selects the
functions of the upper 8 multiplex pins in port B.
PBCRH2 selects the functions of port B pins PB23/CASHH1/TxD1/TEND0 to PB16/CASLL0.
Port B includes bus control signals (CASLL0, CASLL1, CASLH0, CASLH1, CASHL0,
CASHL1, CASHH0, and CASHH1) and DMAC control signals (TEND0 and TEND1), but
register settings relating to the selection of these pin functions may not be valid in all operating
modes. For details, see table 17.10, Pin Functions in Each Operating Mode.
PBCRH2 is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
Port B Control Register H2 (PBCRH2)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
PB23
MD1
PB23
MD0
PB22
MD1
PB22
MD0
—
PB21
MD
—
PB20
MD
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R
R/W
R
R/W
7
6
5
4
3
2
1
0
PB19
MD1
PB19
MD0
PB18
MD1
PB18
MD0
—
PB17
MD
—
PB16
MD
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R
R/W
R
R/W
Rev. 5.00 Sep 11, 2006 page 654 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 15 and 14—PB23 Mode 1 and 0 (PB23MD1, PB23MD0): These bits select the function of
the PB23/CASHH1/TxD1/TEND0 pin.
Bit 15: PB23MD1
Bit 14: PB23MD0
Description
0
0
General input/output (PB23)
1
Column address strobe output (CASHH1) (PB23 in
single-chip mode)
0
SCI transmit data output (TxD1)
1
DMAC transfer end output (TEND0) (PB23 in singlechip mode)
1
(Initial value)
Bits 13 and 12—PB22 Mode 1 and 0 (PB22MD1, PB22MD0): These bits select the function of
the PB22/CASHL1/RxD1/TEND1 pin.
Bit 13: PB22MD1
Bit 12: PB22MD0
Description
0
0
General input/output (PB22)
1
Column address strobe output (CASHL1) (PB22 in
single-chip mode)
0
SCI receive data input (RxD1)
1
DMAC transfer end output (TEND1) (PB22 in singlechip mode)
1
(Initial value)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 10—PB21 Mode (PB21MD): Selects the function of the PB21/CASLH1 pin.
Bit 10: PB21MD
Description
0
General input/output (PB21)
1
Column address strobe output (CASLH1) (PB21 in single-chip mode)
(Initial value)
Bit 9—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 8—PB20 Mode (PB20MD): Selects the function of the PB20/CASLL1 pin.
Bit 8: PB20MD
Description
0
General input/output (PB20)
1
Column address strobe output (CASLL1) (PB20 in single-chip mode)
(Initial value)
Rev. 5.00 Sep 11, 2006 page 655 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 7 and 6—PB19 Mode 1 and 0 (PB19MD1, PB19MD0): These bits select the function of the
PB19/CASHH0/TxD0 pin.
Bit 7: PB19MD1
Bit 6: PB19MD0
Description
0
0
General input/output (PB19)
1
Column address strobe output (CASHH0) (PB19 in
single-chip mode)
0
SCI transmit data output (TxD0)
1
Reserved (Do not set)
1
(Initial value)
Bits 5 and 4—PB18 Mode 1 and 0 (PB18MD1, PB18MD0): These bits select the function of the
PB18/CASHL0/RxD0 pin.
Bit 5: PB18MD1
Bit 4: PB18MD0
Description
0
0
General input/output (PB18)
1
Column address strobe output (CASHL0) (PB18 in
single-chip mode)
0
SCI receive data input (RxD0)
1
Reserved (Do not set)
1
(Initial value)
Bit 3—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 2—PB17 Mode (PB17MD): Selects the function of the PB17/CASLH0 pin.
Bit 2: PB17MD
Description
0
General input/output (PB17)
1
Column address strobe output (CASLH0) (PB17 in single-chip mode)
(Initial value)
Bit 1—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 0—PB16 Mode (PB16MD): Selects the function of the PB16/CASLL0 pin.
Bit 0: PB16MD
Description
0
General input/output (PB16)
1
Column address strobe output (CASLL0) (PB16 in single-chip mode)
Rev. 5.00 Sep 11, 2006 page 656 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
17.3.8
Port B Control Registers L1 and L2 (PBCRL1, PBCRL2)
Port B control registers L1 and L2 (PBCRL1, PBCRL2) are 16-bit readable/writable registers that
select the functions of pins in port B.
PBCRL1 selects the functions of port B pin PB13/RDWR, and PBCRL2 selects the functions of
port B pins PB7/BACK to PB6/BREQ.
Port B includes bus control signals (RDWR, BACK, and BREQ), but register settings relating to
the selection of these pin functions may not be valid in all operating modes. For details, see table
17.10, Pin Functions in Each Operating Mode.
PBCRL1 and PBCRL2 are initialized to H'0000 by an external power-on reset, but are not
initialized by a WDT reset, in standby mode, or in sleep mode.
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
PB13MD
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R/W
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bits 15 to 11—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 10—PB13 Mode (PB13MD): Selects the function of the PB13/RDWR pin.
Bit 10: PB13MD
Description
0
General input/output (PB13)
1
Read/write output (RDWR) (PB13 in single-chip mode)
(Initial value)
Bits 9 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 657 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port B Control Register L2 (PBCRL2)
Bit:
15
14
13
12
11
10
9
8
—
PB7MD
—
PB6MD
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit 15—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 14—PB7 Mode (PB7MD): Selects the function of the PB7/BACK pin.
Bit 14: PB7MD
Description
0
General input/output (PB7)
1
BUS request acknowledge output (BACK) (PB7 in single-chip mode)
(Initial value)
Bit 13—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 12—PB6 Mode (PB6MD): Selects the function of the PB6/BREQ pin.
Bit 12: PB6MD
Description
0
General input/output (PB6)
1
Bus release request input (BREQ) (PB6 in single-chip mode)
(Initial value)
Bits 11 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 658 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
17.3.9
Port C IO Register H (PCIORH)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
PC25IOR PC24IOR
PC23IOR PC22IOR PC21IOR PC20IOR PC19IOR PC18IOR PC17IOR PC16IOR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port C IO register H (PCIORH) is a 16-bit readable/writable register that selects the input/output
direction of pins in port C. Bits PC25IOR to PC16IOR correspond to pins
PC25/A25/TIOC3B/TCLKD to PC16/A16/TIOC3A. PCIORH is enabled when port C pins
function as general input/output pins (PC25 to PC16) or TPU TIOC pins, and disabled otherwise.
When port C pins function as PC25 to PC16 or TPU TIOC pins, a pin becomes an output when the
corresponding bit in PCIORH is set to 1, and an input when the bit is cleared to 0.
PCIORH is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.10 Port C IO Register L (PCIORL)
Bit:
15
14
13
12
11
10
9
8
PC15IOR PC14IOR PC13IOR PC12IOR PC11IOR PC10IOR PC9IOR PC8IOR
Initial value:
R/W:
Bit:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PC7IOR PC6IOR PC5IOR PC4IOR PC3IOR PC2IOR PC1IOR PC0IOR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port C IO register L (PCIORL) is a 16-bit readable/writable register that selects the input/output
direction of pins in port C. Bits PC15IOR to PC0IOR correspond to pins PC15/A15/TIOC3D to
Rev. 5.00 Sep 11, 2006 page 659 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
PC0/A0. PCIORL is enabled when port C pins function as general input/output pins (PC15 to
PC0) or TPU TIOC pins, and disabled otherwise.
When port C pins function as PC15 to PC0 or TPU TIOC pins, a pin becomes an output when the
corresponding bit in PCIORL is set to 1, and an input when the bit is cleared to 0.
PCIORL is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.11 Port C Control Registers H1 and H2 (PCCRH1, PCCRH2)
Port C control registers H1 and H2 (PCCRH1, PCCRH2) are 16-bit readable/writable registers that
select the functions of pins in port C.
PCCRH1 selects the functions of port C pins PC25/A25/TIOC3B/TCLKD and
PC24/A24/TIOC3A/TCLKC, and PCCRH2 selects the functions of port C pins
PC23/A23/TIOC1B/TCLKB to PC16/A16/TIOC3A.
Port C includes address outputs (A16 to A25), but register settings relating to the selection of these
pin functions may not be valid in all operating modes. For details, see table 17.10, Pin Functions
in Each Operating Mode.
PCCRH1 and PCCRH2 are initialized to H'0000 by an external power-on reset, but are not
initialized by a WDT reset, in standby mode, or in sleep mode.
Port C Control Register H1 (PCCRH1)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
PC25
MD1
PC25
MD0
PC24
MD1
PC24
MD0
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R/W
R/W
R/W
R/W
Bits 15 to 4—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 660 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 3 and 2—PC25 Mode 1 and 0 (PC25MD1, PC25MD0): These bits select the function of
the PC25/A25/TIOC3B/TCLKD pin.
Bit 3: PC25MD1
Bit 2: PC25MD0
Description
0
0
General input/output (PC25)
(A25 in on-chip ROM disabled modes)
1
Address output (A25) (PC25 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC3B)
1
TPU clock input (TCLKD)
(Initial value)
Bits 1 and 0—PC24 Mode 1 and 0 (PC24MD1, PC24MD0): These bits select the function of
the PC24/A24/TIOC3A/TCLKC pin.
Bit 1: PC24MD1
Bit 0: PC24MD0
Description
0
0
General input/output (PC24)
(A24 in on-chip ROM disabled modes)
1
Address output (A24) (PC24 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC3A)
1
TPU clock input (TCLKC)
1
(Initial value)
Port C Control Register H2 (PCCRH2)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
PC23
MD1
PC23
MD0
PC22
MD1
PC22
MD0
PC21
MD1
PC21
MD0
PC20
MD1
PC20
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PC19
MD1
PC19
MD0
PC18
MD1
PC18
MD0
PC17
MD1
PC17
MD0
PC16
MD1
PC16
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 661 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 15 and 14—PC23 Mode 1 and 0 (PC23MD1, PC23MD0): These bits select the function of
the PC23/A23/TIOC1B/TCLKB pin.
Bit 15: PC23MD1
Bit 14: PC23MD0
Description
0
0
General input/output (PC23)
(A23 in on-chip ROM disabled modes)
1
Address output (A23) (PC23 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC1B)
1
TPU clock input (TCLKB)
(Initial value)
Bits 13 and 12—PC22 Mode 1 and 0 (PC22MD1, PC22MD0): These bits select the function of
the PC22/A22/TIOC1A/TCLKA pin.
Bit 13: PC22MD1
Bit 12: PC22MD0
Description
0
0
General input/output (PC22)
(A22 in on-chip ROM disabled modes)
1
Address output (A22) (PC22 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC1A)
1
TPU clock input (TCLKA)
1
(Initial value)
Bits 11 and 10—PC21 Mode 1 and 0 (PC21MD1, PC21MD0): These bits select the function of
the PC21/A21/TIOC5B pin.
Bit 11: PC21MD1
Bit 10: PC21MD0
Description
0
0
General input/output (PC21)
(A21 in on-chip ROM disabled modes)
1
Address output (A21) (PC21 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC5B)
1
Reserved (Do not set)
Rev. 5.00 Sep 11, 2006 page 662 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
Bits 9 and 8—PC20 Mode 1 and 0 (PC20MD1, PC20MD0): These bits select the function of
the PC20/A20/TIOC5A pin.
Bit 9: PC20MD1
Bit 8: PC20MD0
Description
0
0
General input/output (PC20)
(A20 in on-chip ROM disabled modes)
1
Address output (A20) (PC20 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC5A)
1
Reserved (Do not set)
(Initial value)
Bits 7 and 6—PC19 Mode 1 and 0 (PC19MD1, PC19MD0): These bits select the function of
the PC19/A19/TIOC4B pin.
Bit 7: PC19MD1
Bit 6: PC19MD0
Description
0
0
General input/output (PC19)
(A19 in on-chip ROM disabled modes)
1
Address output (A19) (PC19 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC4B)
1
Reserved (Do not set)
1
(Initial value)
Bits 5 and 4—PC18 Mode 1 and 0 (PC18MD1, PC18MD0): These bits select the function of
the PC18/A18/TIOC4A pin.
Bit 5: PC18MD1
Bit 4: PC18MD0
Description
0
0
General input/output (PC18)
(A18 in on-chip ROM disabled modes)
1
Address output (A18) (PC18 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC4A)
1
Reserved (Do not set)
(Initial value)
Rev. 5.00 Sep 11, 2006 page 663 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 3 and 2—PC17 Mode 1 and 0 (PC17MD1, PC17MD0): These bits select the function of
the PC17/A17/TIOC3B pin.
Bit 3: PC17MD1
Bit 2: PC17MD0
Description
0
0
General input/output (PC17)
(A17 in on-chip ROM disabled modes)
1
Address output (A17) (PC17 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC3B)
1
Reserved (Do not set)
(Initial value)
Bits 1 and 0—PC16 Mode 1 and 0 (PC16MD1, PC16MD0): These bits select the function of
the PC16/A16/TIOC3A pin.
Bit 1: PC16MD1
Bit 0: PC16MD0
Description
0
0
General input/output (PC16)
(A16 in on-chip ROM disabled modes)
1
Address output (A16) (PC16 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC3A)
1
Reserved (Do not set)
1
(Initial value)
17.3.12 Port C Control Registers L1 and L2 (PCCRL1, PCCRL2)
Port C control registers L1 and L2 (PCCRL1, PCCRL2) are 16-bit readable/writable registers that
select the functions of pins in port C.
PCCRL1 selects the functions of port C pins PC15/A15/TIOC3D to PC8/A8, and PCCRL2 selects
the functions of port C pins PC7/A7 to PC0/A0.
Port C includes address outputs (A0 to A15), but register settings relating to the selection of these
pin functions may not be valid in all operating modes. For details, see table 17.10, Pin Functions
in Each Operating Mode.
PCCRL1 and PCCRL2 are initialized to H'0000 by an external power-on reset, but are not
initialized by a WDT reset, in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 664 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port C Control Register L1 (PCCRL1)
Bit:
15
14
13
12
11
10
9
8
PC15
MD1
PC15
MD0
PC14
MD1
PC14
MD0
—
PC13
MD
—
PC12
MD
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R
R/W
R
R/W
7
6
5
4
3
2
1
0
—
PC11
MD
—
PC10
MD
—
PC9
MD
—
PC8
MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R
R/W
Initial value:
R/W:
Bit:
Bits 15 and 14—PC15 Mode 1 and 0 (PC15MD1, PC15MD0): These bits select the function of
the PC15/A15/TIOC3D pin.
Bit 15: PC15MD1
Bit 14: PC15MD0
Description
0
0
General input/output (PC15)
(A15 in on-chip ROM disabled modes)
1
Address output (A15) (PC15 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC3D)
1
Reserved (Do not set)
(Initial value)
Bits 13 and 12—PC14 Mode 1 and 0 (PC14MD1, PC14MD0): These bits select the function of
the PC14/A14/TIOC3C pin.
Bit 13: PC14MD1
Bit 12: PC14MD0
Description
0
0
General input/output (PC14)
(A14 in on-chip ROM disabled modes)
1
Address output (A14) (PC14 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC3C)
1
Reserved (Do not set)
1
(Initial value)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 665 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bit 10—PC13 Mode (PC13MD): Selects the function of the PC13/A13 pin.
Bit 10: PC13MD
Description
0
General input/output (PC13)
(A13 in on-chip ROM disabled modes)
1
Address output (A13) (PC13 in single-chip mode)
(Initial value)
Bit 9—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 8—PC12 Mode (PC12MD): Selects the function of the PC12/A12 pin.
Bit 8: PC12MD
Description
0
General input/output (PC12)
(A12 in on-chip ROM disabled modes)
1
Address output (A12) (PC12 in single-chip mode)
(Initial value)
Bit 7—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 6—PC11 Mode (PC11MD): Selects the function of the PC11/A11 pin.
Bit 6: PC11MD
Description
0
General input/output (PC11)
(A11 in on-chip ROM disabled modes)
1
Address output (A11) (PC11 in single-chip mode)
(Initial value)
Bit 5—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 4—PC10 Mode (PC10MD): Selects the function of the PC10/A10 pin.
Bit 4: PC10MD
Description
0
General input/output (PC10)
(A10 in on-chip ROM disabled modes)
1
Address output (A10) (PC10 in single-chip mode)
Bit 3—Reserved: This bit is always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 666 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
Bit 2—PC9 Mode (PC9MD): Selects the function of the PC9/A9 pin.
Bit 2: PC9MD
Description
0
General input/output (PC9)
(A9 in on-chip ROM disabled modes)
1
Address output (A9) (PC9 in single-chip mode)
(Initial value)
Bit 1—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 0—PC8 Mode (PC8MD): Selects the function of the PC8/A8 pin.
Bit 0: PC8MD
Description
0
General input/output (PC8)
(A8 in on-chip ROM disabled modes)
1
Address output (A8) (PC8 in single-chip mode)
(Initial value)
Port C Control Register L2 (PCCRL2)
Bit:
15
14
13
12
11
10
9
8
—
PC7MD
—
PC6MD
—
PC5MD
—
PC4MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R
R/W
Bit:
7
6
5
4
3
2
1
0
—
PC3MD
—
PC2MD
—
PC1MD
—
PC0MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R
R/W
Bit 15—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 14—PC7 Mode (PC7MD): Selects the function of the PC7/A7 pin.
Bit 14: PC7MD
Description
0
General input/output (PC7)
(A7 in on-chip ROM disabled modes)
1
Address output (A7) (PC7 in single-chip mode)
(Initial value)
Rev. 5.00 Sep 11, 2006 page 667 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bit 13—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 12—PC6 Mode (PC6MD): Selects the function of the PC6/A6 pin.
Bit 12: PC6MD
Description
0
General input/output (PC6)
(A6 in on-chip ROM disabled modes)
1
Address output (A6) (PC6 in single-chip mode)
(Initial value)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 10—PC5 Mode (PC5MD): Selects the function of the PC5/A5 pin.
Bit 10: PC5MD
Description
0
General input/output (PC5)
(A5 in on-chip ROM disabled modes)
1
Address output (A5) (PC5 in single-chip mode)
(Initial value)
Bit 9—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 8—PC4 Mode (PC4MD): Selects the function of the PC4/A4 pin.
Bit 8: PC4MD
Description
0
General input/output (PC4)
(A4 in on-chip ROM disabled modes)
1
Address output (A4) (PC4 in single-chip mode)
(Initial value)
Bit 7—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 6—PC3 Mode (PC3MD): Selects the function of the PC3/A3 pin.
Bit 6: PC3MD
Description
0
General input/output (PC3)
(A3 in on-chip ROM disabled modes)
1
Address output (A3) (PC3 in single-chip mode)
Bit 5—Reserved: This bit is always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 668 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
Bit 4—PC2 Mode (PC2MD): Selects the function of the PC2/A2 pin.
Bit 4: PC2MD
Description
0
General input/output (PC2)
(A2 in on-chip ROM disabled modes)
1
Address output (A2) (PC2 in single-chip mode)
(Initial value)
Bit 3—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 2—PC1 Mode (PC1MD): Selects the function of the PC1/A1 pin.
Bit 2: PC1MD
Description
0
General input/output (PC1)
(A1 in on-chip ROM disabled modes)
1
Address output (A1) (PC1 in single-chip mode)
(Initial value)
Bit 1—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 0—PC0 Mode (PC0MD): Selects the function of the PC0/A0 pin.
Bit 0: PC0MD
Description
0
General input/output (PC0)
(A0 in on-chip ROM disabled modes)
1
Address output (A0) (PC0 in single-chip mode)
(Initial value)
17.3.13 Port D IO Register H (PDIORH)
Bit:
15
14
13
12
11
10
9
8
PD31IOR PD30IOR PD29IOR PD28IOR PD27IOR PD26IOR PD25IOR PD24IOR
Initial value:
R/W:
Bit:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PD23IOR PD22IOR PD21IOR PD20IOR PD19IOR PD18IOR PD17IOR PD16IOR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 669 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port D IO register H (PDIORH) is a 16-bit readable/writable register that selects the input/output
direction of pins in port D. Bits PD31IOR to PD16IOR correspond to pins
PD31/D31/RxD2/TIOC5A to PD16/D16/POE0. PDIORH is enabled when port D pins function as
general input/output pins (PD31 to PD16), SCI SCK pins, or TPU TIOC pins, or when PD23
functions as the MMT PCIO pin, and disabled otherwise.
When port D pins function as PD31 to PD16, SCI SCK pins, or TPU TIOC pins, or when PD23
functions as the MMT PCIO pin, a pin becomes an output when the corresponding bit in PDIORH
is set to 1, and an input when the bit is cleared to 0.
PDIORH is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.14 Port D IO Register L (PDIORL)
Bit:
15
14
13
12
11
10
9
8
PD15IOR PD14IOR PD13IOR PD12IOR PD11IOR PD10IOR PD9IOR PD8IOR
Initial value:
R/W:
Bit:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PD7IOR PD6IOR PD5IOR PD4IOR PD3IOR PD2IOR PD1IOR PD0IOR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port D IO register L (PDIORL) is a 16-bit readable/writable register that selects the input/output
direction of pins in port D. Bits PD15IOR to PD0IOR correspond to pins PD15/D15/TIOC5B to
PD0/D0. PDIORL is enabled when port D pins function as general input/output pins (PD15 to
PD0) or TPU TIOC pins, and disabled otherwise.
When port D pins function as PD15 to PD0 or TPU TIOC pins, a pin becomes an output when the
corresponding bit in PDIORL is set to 1, and an input when the bit is cleared to 0.
PDIORL is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 670 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
17.3.15 Port D Control Registers H1 and H2 (PDCRH1, PDCRH2)
Port D control registers H1 and H2 (PDCRH1, PDCRH2) are 16-bit readable/writable registers
that select the functions of pins in port D.
PDCRH1 selects the functions of port D pins PD31/D31/RxD2/TIOC5A to PD24/D24/PUOB, and
PDCRH2 selects the functions of port D pins PD23/D23/PCIO/SCK1 to PD16/D16/POE0.
Port D includes data input/output functions (D16 to D31), but register settings relating to the
selection of these pin functions may not be valid in all operating modes. For details, see table
17.10, Pin Functions in Each Operating Mode.
PDCRH1 and PDCRH2 are initialized to H'0000 by an external power-on reset, but are not
initialized by a WDT reset, in standby mode, or in sleep mode.
Port D Control Register H1 (PDCRH1)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
PD31
MD1
PD31
MD0
PD30
MD1
PD30
MD0
PD29
MD1
PD29
MD0
PD28
MD1
PD28
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PD27
MD1
PD27
MD0
PD26
MD1
PD26
MD0
PD25
MD1
PD25
MD0
PD24
MD1
PD24
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 671 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 15 and 14—PD31 Mode 1 and 0 (PD31MD1, PD31MD0): These bits select the function of
the PD31/D31/RxD2/TIOC5A pin.
Bit 15: PD31MD1
Bit 14: PD31MD0
Description
0
0
General input/output (PD31)
(Initial value)
(D31 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D31) (PD31 in single-chip mode)
0
SCI receive data input (RxD2)
1
TPU input capture input/output compare output
(TIOC5A)
1
Bits 13 and 12—PD30 Mode 1 and 0 (PD30MD1, PD30MD0): These bits select the function of
the PD30/D30/TxD2/TIOC4B pin.
Bit 13: PD30MD1
Bit 12: PD30MD0
Description
0
0
General input/output (PD30)
(Initial value)
(D30 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D30) (PD30 in single-chip mode)
1
0
SCI transmit data output (TxD2)
1
TPU input capture input/output compare output
(TIOC4B)
Bits 11 and 10—PD29 Mode 1 and 0 (PD29MD1, PD29MD0): These bits select the function of
the PD29/D29/SCK2/TIOC4A pin.
Bit 11: PD29MD1
Bit 10: PD29MD0
Description
0
0
General input/output (PD29)
(Initial value)
(D29 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D29) (PD29 in single-chip mode)
0
SCI clock input/output (SCK2)
1
TPU input capture input/output compare output
(TIOC4A)
1
Rev. 5.00 Sep 11, 2006 page 672 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 9 and 8—PD28 Mode 1 and 0 (PD28MD1, PD28MD0): These bits select the function of
the PD28/D28/TCLKB/TIOC3D pin.
Bit 9: PD28MD1
Bit 8: PD28MD0
Description
0
0
General input/output (PD28)
(Initial value)
(D28 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D28) (PD28 in single-chip mode)
0
TPU clock input (TCLKB)
1
TPU input capture input/output compare output
(TIOC3D)
1
Bits 7 and 6—PD27 Mode 1 and 0 (PD27MD1, PD27MD0): These bits select the function of
the PD27/D27/TCLKA/TIOC3C pin.
Bit 7: PD27MD1
Bit 6: PD27MD0
Description
0
0
General input/output (PD27)
(Initial value)
(D27 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D27) (PD27 in single-chip mode)
1
0
TPU clock input (TCLKA)
1
TPU input capture input/output compare output
(TIOC3C)
Bits 5 and 4—PD26 Mode 1 and 0 (PD26MD1, PD26MD0): These bits select the function of
the PD26/D26/PWOB pin.
Bit 5: PD26MD1
Bit 4: PD26MD0
Description
0
0
General input/output (PD26)
(Initial value)
(D26 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D26) (PD26 in single-chip mode)
0
MMT PWM W-phase output (PWOB)
1
Reserved (Do not set)
1
Rev. 5.00 Sep 11, 2006 page 673 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 3 and 2—PD25 Mode 1 and 0 (PD25MD1, PD25MD0): These bits select the function of
the PD25/D25/PVOB pin.
Bit 3: PD25MD1
Bit 2: PD25MD0
Description
0
0
General input/output (PD25)
(Initial value)
(D25 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D25) (PD25 in single-chip mode)
0
MMT PWM V-phase output (PVOB)
1
Reserved (Do not set)
1
Bits 1 and 0—PD24 Mode 1 and 0 (PD24MD1, PD24MD0): These bits select the function of
the PD24/D24/PUOB pin.
Bit 1: PD24MD1
Bit 0: PD24MD0
Description
0
0
General input/output (PD24)
(Initial value)
(D24 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D24) (PD24 in single-chip mode)
0
MMT PWM U-phase output (PUOB)
1
Reserved (Do not set)
1
Port D Control Register H2 (PDCRH2)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
PD23
MD1
PD23
MD0
PD22
MD1
PD22
MD0
PD21
MD1
PD21
MD0
PD20
MD1
PD20
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PD19
MD1
PD19
MD0
PD18
MD1
PD18
MD0
PD17
MD1
PD17
MD0
PD16
MD1
PD16
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 674 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 15 and 14—PD23 Mode 1 and 0 (PD23MD1, PD23MD0): These bits select the function of
the PD23/D23/PCIO/SCK1 pin.
Bit 15: PD23MD1
Bit 14: PD23MD0
Description
0
0
General input/output (PD23)
(Initial value)
(D23 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D23) (PD23 in single-chip mode)
0
MMT PWM cycle output (PCO)/counter clear input (PCI)
1
SCI clock input/output (SCK1)
1
Bits 13 and 12—PD22 Mode 1 and 0 (PD22MD1, PD22MD0): These bits select the function of
the PD22/D22/PWOA/SCK0 pin.
Bit 13: PD22MD1
Bit 12: PD22MD0
Description
0
0
General input/output (PD22)
(Initial value)
(D22 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D22) (PD22 in single-chip mode)
0
MMT PWM W-phase output (PWOA)
1
SCI clock input/output (SCK0)
1
Bits 11 and 10—PD21 Mode 1 and 0 (PD21MD1, PD21MD0): These bits select the function of
the PD21/D21/PVOA/IRQ7 pin.
Bit 11: PD21MD1
Bit 10: PD21MD0
Description
0
0
General input/output (PD21)
(Initial value)
(D21 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D21) (PD21 in single-chip mode)
0
MMT PWM V-phase output (PVOA)
1
External interrupt request input (IRQ7)
1
Rev. 5.00 Sep 11, 2006 page 675 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 9 and 8—PD20 Mode 1 and 0 (PD20MD1, PD20MD0): These bits select the function of
the PD20/D20/PUOA/IRQ6 pin.
Bit 9: PD20MD1
Bit 8: PD20MD0
Description
0
0
General input/output (PD20)
(Initial value)
(D20 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D20) (PD20 in single-chip mode)
0
MMT PWM U-phase output (PUOA)
1
External interrupt request input (IRQ6)
1
Bits 7 and 6—PD19 Mode 1 and 0 (PD19MD1, PD19MD0): These bits select the function of
the PD19/D19/POE3/IRQ5 pin.
Bit 7: PD19MD1
Bit 6: PD19MD0
Description
0
0
General input/output (PD19)
(Initial value)
(D19 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D19) (PD19 in single-chip mode)
0
MMT port output enable input (POE3)
1
External interrupt request input (IRQ5)
1
Bits 5 and 4—PD18 Mode 1 and 0 (PD18MD1, PD18MD0): These bits select the function of
the PD18/D18/POE2/IRQ4 pin.
Bit 5: PD18MD1
Bit 4: PD18MD0
Description
0
0
General input/output (PD18)
(Initial value)
(D18 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D18) (PD18 in single-chip mode)
0
MMT port output enable input (POE2)
1
External interrupt request input (IRQ4)
1
Rev. 5.00 Sep 11, 2006 page 676 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 3 and 2—PD17 Mode 1 and 0 (PD17MD1, PD17MD0): These bits select the function of
the PD17/D17/POE1/ADTRG pin.
Bit 3: PD17MD1
Bit 2: PD17MD0
Description
0
0
General input/output (PD17)
(Initial value)
(D17 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D17) (PD17 in single-chip mode)
0
MMT port output enable input (POE1)
1
A/D conversion trigger input (ADTRG)
1
Bits 1 and 0—PD16 Mode 1 and 0 (PD16MD1, PD16MD0): These bits select the function of
the PD16/D16/POE0 pin.
Bit 1: PD16MD1
Bit 0: PD16MD0
Description
0
0
General input/output (PD16)
(Initial value)
(D16 in on-chip ROM disabled modes with 32-bit CS0
bus width)
1
Data input/output (D16) (PD16 in single-chip mode)
0
MMT port output enable input (POE0)
1
Reserved (Do not set)
1
17.3.16 Port D Control Registers L1 and L2 (PDCRL1, PDCRL2)
Port D control registers L1 and L2 (PDCRL1, PDCRL2) are 16-bit readable/writable registers that
select the functions of pins in port D.
PDCRL1 selects the functions of port D pins PD15/D15/TIOC5B to PD8/D8/TIOC1A, and
PDCRL2 selects the functions of port D pins PD7/D7 to PD0/D0.
Port D includes data input/output functions (D0 to D15), but register settings relating to the
selection of these pin functions may not be valid in all operating modes. For details, see table
17.10, Pin Functions in Each Operating Mode.
PDCRL1 and PDCRL2 are initialized to H'0000 by an external power-on reset, but are not
initialized by a WDT reset, in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 677 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port D Control Register L1 (PDCRL1)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
PD15
MD1
PD15
MD0
PD14
MD1
PD14
MD0
PD13
MD1
PD13
MD0
PD12
MD1
PD12
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PD11
MD1
PD11
MD0
PD10
MD1
PD10
MD0
PD9
MD1
PD9
MD0
PD8
MD1
PD8
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bits 15 and 14—PD15 Mode 1 and 0 (PD15MD1, PD15MD0): These bits select the function of
the PD15/D15/TIOC5B pin.
Bit 15: PD15MD1
Bit 14: PD15MD0
Description
0
0
General input/output (PD15)
(Initial value)
(D15 in on-chip ROM disabled modes with 32-bit/16-bit
CS0 bus width)
1
Data input/output (D15) (PD15 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC5B)
1
Reserved (Do not set)
1
Bits 13 and 12—PD14 Mode 1 and 0 (PD14MD1, PD14MD0): These bits select the function of
the PD14/D14/TIOC5A pin.
Bit 13: PD14MD1
Bit 12: PD14MD0
Description
0
0
General input/output (PD14)
(Initial value)
(D14 in on-chip ROM disabled modes with 32-bit/16-bit
CS0 bus width)
1
Data input/output (D14) (PD14 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC5A)
1
Reserved (Do not set)
Rev. 5.00 Sep 11, 2006 page 678 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 11 and 10—PD13 Mode 1 and 0 (PD13MD1, PD13MD0): These bits select the function of
the PD13/D13/TIOC4B pin.
Bit 11: PD13MD1
Bit 10: PD13MD0
Description
0
0
General input/output (PD13)
(Initial value)
(D13 in on-chip ROM disabled modes with 32-bit/16-bit
CS0 bus width)
1
Data input/output (D13) (PD13 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC4B)
1
Reserved (Do not set)
1
Bits 9 and 8—PD12 Mode 1 and 0 (PD12MD1, PD12MD0): These bits select the function of
the PD12/D12/TIOC4A pin.
Bit 9: PD12MD1
Bit 8: PD12MD0
Description
0
0
General input/output (PD12)
(Initial value)
(D12 in on-chip ROM disabled modes with 32-bit/16-bit
CS0 bus width)
1
Data input/output (D12) (PD12 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC4A)
1
Reserved (Do not set)
Bits 7 and 6—PD11 Mode 1 and 0 (PD11MD1, PD11MD0): These bits select the function of
the PD11/D11/TIOC2B pin.
Bit 7: PD11MD1
Bit 6: PD11MD0
Description
0
0
General input/output (PD11)
(Initial value)
(D11 in on-chip ROM disabled modes with 32-bit/16-bit
CS0 bus width)
1
Data input/output (D11) (PD11 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC2B)
1
Reserved (Do not set)
1
Rev. 5.00 Sep 11, 2006 page 679 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 5 and 4—PD10 Mode 1 and 0 (PD10MD1, PD10MD0): These bits select the function of
the PD10/D10/TIOC2A pin.
Bit 5: PD10MD1
Bit 4: PD10MD0
Description
0
0
General input/output (PD10)
(Initial value)
(D10 in on-chip ROM disabled modes with 32-bit/16-bit
CS0 bus width)
1
Data input/output (D10) (PD10 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC2A)
1
Reserved (Do not set)
1
Bits 3 and 2—PD9 Mode 1 and 0 (PD9MD1, PD9MD0): These bits select the function of the
PD9/D9/TIOC1B pin.
Bit 3: PD9MD1
Bit 2: PD9MD0
Description
0
0
General input/output (PD9)
(Initial value)
(D9 in on-chip ROM disabled modes with 32-bit/16-bit
CS0 bus width)
1
Data input/output (D9) (PD9 in single-chip mode)
1
0
TPU input capture input/output compare output
(TIOC1B)
1
Reserved (Do not set)
Bits 1 and 0—PD8 Mode 1 and 0 (PD8MD1, PD8MD0): These bits select the function of the
PD8/D8/TIOC1A pin.
Bit 1: PD8MD1
Bit 0: PD8MD0
Description
0
0
General input/output (PD8)
(Initial value)
(D8 in on-chip ROM disabled modes with 32-bit/16-bit
CS0 bus width)
1
Data input/output (D8) (PD8 in single-chip mode)
0
TPU input capture input/output compare output
(TIOC1A)
1
Reserved (Do not set)
1
Rev. 5.00 Sep 11, 2006 page 680 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port D Control Register L2 (PDCRL2)
Bit:
15
14
13
12
11
10
9
8
—
PD7MD
—
PD6MD
—
PD5MD
—
PD4MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R
R/W
Bit:
7
6
5
4
3
2
1
0
—
PD3MD
—
PD2MD
—
PD1MD
—
PD0MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R
R/W
Bit 15—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 14—PD7 Mode (PD7MD): Selects the function of the PD7/D7 pin.
Bit 14: PD7MD
Description
0
General input/output (PD7)
(D7 in on-chip ROM disabled modes)
1
Data input/output (D7) (PD7 in single-chip mode)
(Initial value)
Bit 13—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 12—PD6 Mode (PD6MD): Selects the function of the PD6/D6 pin.
Bit 12: PD6MD
Description
0
General input/output (PD6)
(D6 in on-chip ROM disabled modes)
1
Data input/output (D6) (PD6 in single-chip mode)
(Initial value)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 10—PD5 Mode (PD5MD): Selects the function of the PD5/D5 pin.
Bit 10: PD5MD
Description
0
General input/output (PD5)
(D5 in on-chip ROM disabled modes)
1
Data input/output (D5) (PD5 in single-chip mode)
(Initial value)
Rev. 5.00 Sep 11, 2006 page 681 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bit 9—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 8—PD4 Mode (PD4MD): Selects the function of the PD4/D4 pin.
Bit 8: PD4MD
Description
0
General input/output (PD4)
(D4 in on-chip ROM disabled modes)
1
Data input/output (D4) (PD4 in single-chip mode)
(Initial value)
Bit 7—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 6—PD3 Mode (PD3MD): Selects the function of the PD3/D3 pin.
Bit 6: PD3MD
Description
0
General input/output (PD3)
(D3 in on-chip ROM disabled modes)
1
Data input/output (D3) (PD3 in single-chip mode)
(Initial value)
Bit 5—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 4—PD2 Mode (PD2MD): Selects the function of the PD2/D2 pin.
Bit 4: PD2MD
Description
0
General input/output (PD2)
(D2 in on-chip ROM disabled modes)
1
Data input/output (D2) (PD2 in single-chip mode)
(Initial value)
Bit 3—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 2—PD1 Mode (PD1MD): Selects the function of the PD1/D1 pin.
Bit 2: PD1MD
Description
0
General input/output (PD1)
(D1 in on-chip ROM disabled modes)
1
Data input/output (D1) (PD1 in single-chip mode)
Bit 1—Reserved: This bit is always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 682 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
Bit 0—PD0 Mode (PD0MD): Selects the function of the PD0/D0 pin.
Bit 0: PD0MD
Description
0
General input/output (PD0)
(D0 in on-chip ROM disabled modes)
1
Data input/output (D0) (PD0 in single-chip mode)
(Initial value)
17.3.17 Port E IO Register H (PEIORH)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
7
6
5
4
3
2
1
0
Bit:
PE23IOR PE22IOR PE21IOR PE20IOR PE19IOR PE18IOR PE17IOR PE16IOR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port E IO register H (PEIORH) is a 16-bit readable/writable register that selects the input/output
direction of pins in port E. Bits PE23IOR to PE16IOR correspond to pins PE23/IRQ7/PWOB to
PE16/IRQ0/SCK1/AH. PEIORH is enabled when port E pins function as general input/output pins
(PE23 to PE16) or as SCI SCK pins, or when PE20 functions as the MMT PCIO pin, and disabled
otherwise.
When port E pins function as PE23 to PE16 or as SCI SCK pins, or when PE20 functions as the
MMT PCIO pin, a pin becomes an output when the corresponding bit in PEIORH is set to 1, and
an input when the bit is cleared to 0.
PEIORH is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 683 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
17.3.18 Port E IO Register L (PEIORL)
Bit:
15
14
13
12
PE15IOR PE14IOR PE13IOR PE12IOR
Initial value:
11
10
9
8
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R
R
R
R
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
R/W:
Bit:
Port E IO register L (PEIORL) is a 16-bit readable/writable register that selects the input/output
direction of pins in port E. Bits PE15IOR to PE12IOR correspond to pins PE15/IRQ7 to
PE12/IRQ4. PEIORL is enabled when port E pins function as general input/output pins (PE15 to
PE12), and disabled otherwise.
When port E pins function as PE15 to PE12, a pin becomes an output when the corresponding bit
in PEIORL is set to 1, and an input when the bit is cleared to 0.
PEIORL is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.19 Port E Control Register H2 (PECRH2)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
PE23
MD1
PE23
MD0
PE22
MD1
PE22
MD0
PE21
MD1
PE21
MD0
PE20
MD1
PE20
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PE19
MD1
PE19
MD0
PE18
MD1
PE18
MD0
PE17
MD1
PE17
MD0
PE16
MD1
PE16
MD0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Rev. 5.00 Sep 11, 2006 page 684 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port E control register H2 (PECRH2) is a 16-bit readable/writable register that selects the
functions of pins in port E.
PECRH2 selects the functions of port E pins PE23/IRQ7/TIOC0C to PE16/IRQ0/SCK1/AH.
Port E includes a bus control signal (AH), but register settings relating to the selection of this pin
function may not be valid in all operating modes. For details, see table 17.10, Pin Functions in
Each Operating Mode.
PECRH2 is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
Bits 15 and 14—PE23 Mode 1 and 0 (PE23MD1, PE23MD0): These bits select the function of
the PE23/IRQ7/PWOB pin.
Bit 15: PE23MD1
Bit 14: PE23MD0
Description
0
0
General input/output (PE23)
1
External interrupt request input (IRQ7)
0
MMT PWM W-phase output (PWOB)
1
Reserved (Do not set)
1
(Initial value)
Bits 13 and 12—PE22 Mode 1 and 0 (PE22MD1, PE22MD0): These bits select the function of
the PE22/IRQ6/PVOB pin.
Bit 13: PE22MD1
Bit 12: PE22MD0
Description
0
0
General input/output (PE22)
1
External interrupt request input (IRQ6)
0
MMT PWM V-phase output (PVOB)
1
Reserved (Do not set)
1
(Initial value)
Bits 11 and 10—PE21 Mode 1 and 0 (PE21MD1, PE21MD0): These bits select the function of
the PE21/IRQ5/PUOB pin.
Bit 11: PE21MD1
Bit 10: PE21MD0
Description
0
0
General input/output (PE21)
1
External interrupt request input (IRQ5)
0
MMT PWM U-phase output (PUOB)
1
Reserved (Do not set)
1
(Initial value)
Rev. 5.00 Sep 11, 2006 page 685 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 9 and 8—PE20 Mode 1 and 0 (PE20MD1, PE20MD0): These bits select the function of the
PE20/IRQ4/PCIO pin.
Bit 9: PE20MD1
Bit 8: PE20MD0
Description
0
0
General input/output (PE20)
1
External interrupt request input (IRQ4)
0
MMT PWM cycle output (PCO)/counter clear input (PCI)
1
Reserved (Do not set)
1
(Initial value)
Bits 7 and 6—PE19 Mode 1 and 0 (PE19MD1, PE19MD0): These bits select the function of the
PE19/IRQ3/PWOA pin.
Bit 7: PE19MD1
Bit 6: PE19MD0
Description
0
0
General input/output (PE19)
1
External interrupt request input (IRQ3)
0
MMT PWM W-phase output (PWOA)
1
Reserved (Do not set)
1
(Initial value)
Bits 5 and 4—PE18 Mode 1 and 0 (PE18MD1, PE18MD0): These bits select the function of the
PE18/IRQ2/PVOA pin.
Bit 5: PE18MD1
Bit 4: PE18MD0
Description
0
0
General input/output (PE18)
1
External interrupt request input (IRQ2)
0
MMT PWM V-phase output (PVOA)
1
Reserved (Do not set)
1
(Initial value)
Bits 3 and 2—PE17 Mode 1 and 0 (PE17MD1, PE17MD0): These bits select the function of the
PE17/IRQ1/PUOA/SCK0 pin.
Bit 3: PE17MD1
Bit 2: PE17MD0
Description
0
0
General input/output (PE17)
1
External interrupt request input (IRQ1)
0
MMT PWM U-phase output (PUOA)
1
SCI clock input/output (SCK0)
1
Rev. 5.00 Sep 11, 2006 page 686 of 916
REJ09B0332-0500
(Initial value)
Section 17 Pin Function Controller (PFC)
Bits 1 and 0—PE16 Mode 1 and 0 (PE16MD1, PE16MD0): These bits select the function of the
PE16/IRQ0/SCK1/AH pin.
Bit 1: PE16MD1
Bit 0: PE16MD0
Description
0
0
General input/output (PE16)
1
External interrupt request input (IRQ0)
0
SCI clock input/output (SCK1)
1
Address hold output (AH) (PE16 in single-chip mode)
1
(Initial value)
17.3.20 Port E Control Register L (PECRL)
Bit:
15
14
13
12
11
10
9
8
—
PE15MD
—
PE14MD
—
PE13MD
—
PE12MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R
R/W
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Port E control register L (PECRL) is a 16-bit readable/writable register that selects the functions
of pins in port E.
PECRL selects the functions of port E pins PE15/IRQ7 to PE12/IRQ4.
PECRL is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
Bit 15—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 14—PE15 Mode (PE15MD): Selects the function of the PE15/IRQ7 pin.
Bit 14: PE15MD
Description
0
General input/output (PE15)
1
External interrupt request input (IRQ7)
(Initial value)
Rev. 5.00 Sep 11, 2006 page 687 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bit 13—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 12—PE14 Mode (PE14MD): Selects the function of the PE14/IRQ6 pin.
Bit 12: PE14MD
Description
0
General input/output (PE14)
1
External interrupt request input (IRQ6)
(Initial value)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 10—PE13 Mode (PE13MD): Selects the function of the PE13/IRQ5 pin.
Bit 10: PE13MD
Description
0
General input/output (PE13)
1
External interrupt request input (IRQ5)
(Initial value)
Bit 9—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 8—PE12 Mode (PE12MD): Selects the function of the PE12/IRQ4 pin.
Bit 8: PE12MD
Description
0
General input/output (PE12)
1
External interrupt request input (IRQ4)
(Initial value)
Bits 7 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
17.3.21 Port F IO Register L (PFIORL)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
PF7IOR PF6IOR PF5IOR
Initial value:
R/W:
—
PF3IOR PF2IOR PF1IOR
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R
R/W
R/W
R/W
R
Rev. 5.00 Sep 11, 2006 page 688 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Port F IO register L (PFIORL) is a 16-bit readable/writable register that selects the input/output
direction of pins in port F. Bits PF7IOR to PF1IOR correspond to pins
PF7/DREQ1/IRQOUT/TIOC0D to PF1/DACK0/TIOC0B. PFIORL is enabled when port F pins
function as general input/output pins (PF7 to PF1) or TPU TIOC pins, and disabled otherwise.
When port F pins function as PF7 to PF1 or TPU TIOC pins, a pin becomes an output when the
corresponding bit in PFIORL is set to 1, and an input when the bit is cleared to 0.
PFIORL is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.22 Port F Control Register L2 (PFCRL2)
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
PF7
MD1
PF7
MD0
PF6
MD1
PF6
MD0
PF5
MD1
PF5
MD0
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R
R
7
6
5
4
3
2
1
0
PF3
MD1
PF3
MD0
PF2
MD1
PF2
MD0
PF1
MD1
PF1
MD0
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R
R
Port F control register L2 (PFCRL2) is a 16-bit readable/writable register that selects the functions
of pins in port F.
PFCRL2 selects the functions of port F pins PF7/DREQ1/IRQOUT/TIOC0D to
PF1/DACK0/TIOC0B.
Port F includes DMAC control signals (DREQ0, DREQ1, DRAK0, DRAK1, DACK0, and
DACK1), but register settings relating to the selection of these pin functions may not be valid in
all operating modes. For details, see table 17.10, Pin Functions in Each Operating Mode.
PFCRL2 is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 689 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 15 and 14—PF7 Mode 1 and 0 (PF7MD1, PF7MD0): These bits select the function of the
PF7/DREQ1/IRQOUT/TIOC0D pin.
Bit 15: PF7MD1
Bit 14: PF7MD0
Description
0
0
General input/output (PF7)
1
DMA transfer request input (DREQ1) (PF7 in single-chip
mode)
0
Interrupt request acknowledge output (IRQOUT)
1
TPU input capture input/output compare output
(TIOC0D)
1
(Initial value)
Bits 13 and 12—PF6 Mode 1 and 0 (PF6MD1, PF6MD0): These bits select the function of the
PF6/DRAK1/TxD1/TIOC2A pin.
Bit 13: PF6MD1
Bit 12: PF6MD0
Description
0
0
General input/output (PF6)
1
DMA transfer request sampling output(DRAK1)
(PF6 in single-chip mode)
0
SCI transmit data output (TxD1)
1
TPU input capture input/output compare output
(TIOC2A)
1
(Initial value)
Bits 11 and 10—PF5 Mode 1 and 0 (PF5MD1, PF5MD0): These bits select the function of the
PF5/DACK1/RxD1/TIOC2B pin.
Bit 11: PF5MD1
Bit 10: PF5MD0
Description
0
0
General input/output (PF5)
1
DMA transfer request acknowledge output(DACK1)
(PF5 in single-chip mode)
0
SCI receive data input (RxD1)
1
TPU input capture input/output compare output
(TIOC2B)
1
(Initial value)
Bits 9 and 8—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 690 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 7 and 6—PF3 Mode 1 and 0 (PF3MD1, PF3MD0): These bits select the function of the
PF3/DREQ0/TIOC0A pin.
Bit 7: PF3MD1
Bit 6: PF3MD0
Description
0
0
General input/output (PF3)
1
DMA transfer request input (DREQ0)
0
TPU input capture input/output compare output
(TIOC0A)
1
Reserved (Do not set)
1
(Initial value)
Bits 5 and 4—PF2 Mode 1 and 0 (PF2MD1, PF2MD0): These bits select the function of the
PF2/DRAK0/TIOC0C pin.
Bit 5: PF2MD1
Bit 4: PF2MD0
Description
0
0
General input/output (PF2)
1
DMA transfer request sampling output (DRAK0)
1
0
TPU input capture input/output compare output
(TIOC0C)
1
Reserved (Do not set)
(Initial value)
Bits 3 and 2—PF1 Mode 1 and 0 (PF1MD1, PF1MD0): These bits select the function of the
PF1/DACK0/TIOC0B pin.
Bit 3: PF1MD1
Bit 2: PF1MD0
Description
0
0
General input/output (PF1)
1
DMA transfer request acknowledge output (DACK0)
0
TPU input capture input/output compare output
(TIOC0B)
1
Reserved (Do not set)
1
(Initial value)
Bits 1 and 0—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 691 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
17.3.23 Port G IO Register (PGIOR)
Bit:
15
14
13
PG31IOR PG30IOR PG29IOR
Initial value:
12
11
10
9
8
—
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R
R
R
R
R
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
R/W:
Bit:
The port G IO register (PGIOR) is a 16-bit readable/writable register that selects the input/output
direction of pins in port G. Bits PG31IOR to PG29IOR correspond to pins PG31/RxD2 to
PG29/SCK2. PGIOR is enabled when port G pins function as general input/output pins (PG31 to
PG29) or when PG29 functions as an SCI SCK pin, and disabled otherwise.
When port G pins function as PG31 to PG29 or when PG29 functions as an SCI SCK pin, a pin
becomes an output when the corresponding bit in PGIOR is set to 1, and an input when the bit is
cleared to 0.
PGIOR is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.24 Port G Control Register H1 (PGCRH1)
Bit:
15
14
13
12
11
10
9
8
—
PG31MD
—
PG30MD
—
PG29MD
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R/W
R
R/W
R
R/W
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Port G control register H1 (PGCRH1) is a 16-bit readable/writable register that selects the
functions of pins in port G.
Rev. 5.00 Sep 11, 2006 page 692 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
PGCRH1 selects the functions of port G pins PG31/RxD2 to PG29/SCK2.
PGCRH1 is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
Bit 15—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 14—PG31 Mode (PG31MD): Selects the function of the PG31/RxD2 pin.
Bit 14: PG31MD
Description
0
General input/output (PG31)
1
SCI receive data input (RxD2)
(Initial value)
Bit 13—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 12—PG30 Mode (PG30MD): Selects the function of the PG30/TxD2 pin.
Bit 12: PG30MD
Description
0
General input/output (PG30)
1
SCI transmit data output (TxD2)
(Initial value)
Bit 11—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 10—PG29 Mode (PG29MD): Selects the function of the PG29/SCK2 pin.
Bit 10: PG29MD
Description
0
General input/output (PG29)
1
SCI clock input/output (SCK2)
(Initial value)
Bits 9 to 0—Reserved: These bits are always read as 0 and should only be written with 0.
Rev. 5.00 Sep 11, 2006 page 693 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
17.3.25 Port H IO Register (PHIOR)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R/W
R/W
PH1IOR PH0IOR
The port H IO register (PHIOR) is a 16-bit readable/writable register that selects the input/output
direction of pins in port H. Bits PH1IOR and PH0IOR correspond to pins PH1/DA1 to PH0/DA0.
PHIOR is enabled when port H pins function as general input/output pins (PH1 and PH0), and
disabled otherwise.
When port H pins function as PH1 and PH0, a pin becomes an output when the corresponding bit
in PHIOR is set to 1, and an input when the bit is cleared to 0.
PHIOR is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT
reset, in standby mode, or in sleep mode.
17.3.26 Port H Control Register (PHCR)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
PH1MD
—
PH0MD
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R/W
R
R/W
The port H control register (PHCR) is a 16-bit readable/writable register that selects the functions
of pins in port H. PHCR selects the functions of port H pins PH1/DA1 and PH0/DA0.
Rev. 5.00 Sep 11, 2006 page 694 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
PHCR is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT reset,
in standby mode, or in sleep mode.
Bits 15 to 3—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 2—PH1 Mode (PH1MD): Selects the function of the PH1/DA1 pin.
Bit 2: PH1MD
Description
0
General input/output (PH1)
1
D/A converter output (DA1)
(Initial value)
Bit 1—Reserved: This bit is always read as 0 and should only be written with 0.
Bit 0—PH0 Mode (PH0MD): Selects the function of the PH0/DA0 pin.
Bit 0: PH0MD
Description
0
General input/output (PH0)
1
D/A converter output (DA0)
(Initial value)
17.3.27 Function Control Register (FCR)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
2
1
0
Bit:
7
6
5
4
3
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R/W
R/W
R/W
SCIMD IRQMD1 IRQMD0
The function control register (FCR) is a 16-bit readable/writable register that is sued to control the
IRQOUT output and SCI outputs (SCK0 to SCK2 and TxD0 to TxD2). If the port control register
settings specify a function other than IRQOUT or SCI output, the settings in this register do not
affect the pin functions.
FCR is initialized to H'0000 by an external power-on reset, but is not initialized by a WDT reset,
in standby mode, or in sleep mode.
Rev. 5.00 Sep 11, 2006 page 695 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Bits 15 to 3—Reserved: These bits are always read as 0 and should only be written with 0.
Bit 2—SCI Output Mode (SCIMD): Selects the function of the SCI output pins.
Bit 2: SCIMD
Description
0
Output by normal CMOS circuit
1
Output by open-drain circuit
(Initial value)
Bits 1 and 0—IRQOUT Mode 1 and 0 (IRQMD1, IRQMD0): These bits select the function of
the IRQOUT pin.
Bit 1: IRQMD1
Bit 0: IRQMD0
Description
0
0
Interrupt request acknowledge output
1
Refresh signal output
0
Interrupt request acknowledge or refresh signal output
(depending on the current operating state)
1
Always high-level output
1
17.4
(Initial value)
PFC Restrictions
Note that the following bug may occur in the pin function controller (PFC).
Bug description and applicable pins
With the pins listed in table 17.12, if a PFC switch is made to the output mode of a specific
function and then a PFC switch is made again to other function output, the pin may constantly be
fixed at low output.
However, there are no restrictions on PFC switching in input mode selection for any functions.
Also, the output of the specific function involved operates normally even if output is fixed low.
Rev. 5.00 Sep 11, 2006 page 696 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Table 17.12 Applicable Pins and Related Functions
Applicable Pins
Functions Susceptible to Bug
Functions Susceptible to Bug Due to Due to Further PFC Switch after
Selection of Function at Left
PFC Switch
PC25 to PC14
TPU output compare output
General port output and address
output
PD31
TPU output compare output
General port output and data
output
PD30, PD29
TPU output compare output
General port output and data
output
SCI TxD2 output and SCK2 output
PD28, PD27
TPU output compare output
General port output and data
output
PD26 to PD24
MMT PWM output
General port output and data
output
PD23, PD22
SCI SCK1 output and SCK0 output
General port output and data
output
MMT PWM output and toggle output
PD21, PD20
TPU output compare output
General port output and data
output
PD15 to PD8
TPU output compare output
General port output and data
output
Conditions for Occurrence
In the selection of an output function (TPU, MMT, or SCI) susceptible to this bug, as shown in
table 17.12, if a switch is made to another output function when a pin output value is low, the pin
may become fixed at low output.
Usage Notes
With the applicable pins listed in table 17.12, do not switch to general port output or an
address/data output function after TPU, MMT, or SCI output function selection.
Also, if a break is to be transmitted by means of a general port output function when performing
serial data transmission from SCI channel 2, execute the break transmission while serial data
transmission is not being performed (the TxD2 pin goes to the idle state (high output) while serial
data data is not being transmitted, so this bug does not occur).
Rev. 5.00 Sep 11, 2006 page 697 of 916
REJ09B0332-0500
Section 17 Pin Function Controller (PFC)
Rev. 5.00 Sep 11, 2006 page 698 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
Section 18 I/O Ports (I/O)
18.1
Overview
The SH7065 has nine ports: A, B, C, D, E, F, G, H, and I.
All the port pins are multiplexed as general input/output pins (general input pins in the case of port
I) and special function pins. The functions of the multiplex pins are selected by means of the pin
function controller (PFC). Each port is provided with a data register for storing the pin data.
The initial state of each pin after a power-on reset depends on the operating mode. For details, see
table 17.10, Pin Functions in Each Operating Mode.
18.2
Port A
Port A is an input/output port with the 18 pins shown in figures 18.1 and 18.2.
Port A
Expanded mode
with on-chip ROM disabled
Expanded mode
with on-chip ROM enabled
PA25 (input/output) / CS5 (output)
PA25 (input/output) / CS5 (output)
PA25 (input/output)
PA24 (input/output) / CS4 (output)
PA24 (input/output) / CS4 (output)
PA24 (input/output)
PA23 (input/output) / CS3 (output)
PA23 (input/output) / CS3 (output)
PA23 (input/output)
PA22 (input/output) / CS2 (output)
PA22 (input/output) / CS2 (output)
PA22 (input/output)
PA21 (input/output) / CS1 (output)
PA21 (input/output) / CS1 (output)
PA21 (input/output)
CS0 (output)
PA20 (input/output) / CS0 (output)
PA20 (input/output)
BS (output)
PA19 (input/output) / BS (output)
PA19 (input/output)
RD (output)
PA18 (input/output) / RD (output)
PA18 (input/output)
PA17 (input/output) / WR (output)
PA17 (input/output) / WR (output)
PA17 (input/output)
PA16 (input/output) / WRHH (output) /
WRHH (output) / HHBS (output) /
TCLKC (input) / TIOC3A (input/output) HHBS (output) / TCLKC (input) /
TIOC3A (input/output)
Single-chip
mode
PA16 (input/output) /
TCLKC (input) /
TIOC3A (input/output)
Figure 18.1 Port A (PA25 to PA16)
Rev. 5.00 Sep 11, 2006 page 699 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
Expanded mode
with on-chip ROM disabled
Expanded mode
with on-chip ROM enabled
WRHL (output) / HLBS (output) /
PA15 (input/output) / WRHL (output) /
TCLKD (input) / TIOC3B (input/output) HLBS (output) / TCLKD (input) /
TIOC3B (input/output)
Port A
Single-chip
mode
PA15 (input/output) /
TCLKD (input) /
TIOC3B (input/output)
WRLH (output) / LHBS (output)
PA14 (input/output) / WRLH (output) /
LHBS (output)
PA14 (input/output)
WRLL (output) / LLBS (output)
PA13 (input/output) / WRL (output) /
LLBS (output)
PA13 (input/output)
PA12 (input/output) / WAIT (input)
PA12 (input/output) / WAIT (input)
PA12 (input/output)
PA9 (input/output) / RAS1 (output)
PA9 (input/output) / RAS1 (output)
PA9 (input/output)
PA8 (input/output) / RAS0 (output)
PA8 (input/output) / RAS0 (output)
PA8 (input/output)
PA1 (input/output) / OE1 (output)
PA1 (input/output) / OE1 (output)
PA1 (input/output)
PA0 (input/output) / OE0 (output)
PA0 (input/output) / OE0 (output)
PA0 (input/output)
Figure 18.2 Port A (PA15 to PA0)
18.2.1
Register Configuration
The port A registers are shown in table 18.1.
Table 18.1 Port A Registers
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Port A data register H
PADRH
R/W
H'0000
H'FFFF 1200
8, 16, 32
Port A data register L
PADRL
R/W
H'0000
H'FFFF 1202
8, 16, 32
Rev. 5.00 Sep 11, 2006 page 700 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.2.2
Port A Data Register H (PADRH)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
PA25DR PA24DR
PA23DR PA22DR PA21DR PA20DR PA19DR PA18DR PA17DR PA16DR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port A data register H (PADRH) is a 16-bit readable/writable register that stores port A data. Bits
PA25DR to PA16DR correspond to pins PA25/CS5 to PA16/WRHH/HHBS/TCLKC/TIOC3A.
When a pin functions as a general output, if a value is written to PADRH, that value is output
directly from the pin, and if PADRH is read, the register value is returned directly regardless of
the pin state.
When a pin functions as a general input, if PADRH is read the pin state, not the register value, is
returned directly. If a value is written to PADRH, although that value is written into PADRH it
does not affect the pin state. Table 18.2 summarizes port A data register read/write operations.
PADRH is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Rev. 5.00 Sep 11, 2006 page 701 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.2.3
Port A Data Register L (PADRL)
Bit:
15
14
13
12
PA15DR PA14DR PA13DR PA12DR
Initial value:
11
10
9
8
—
—
PA9DR
PA8DR
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R
R
R/W
R/W
7
6
5
4
3
2
1
0
—
—
—
—
—
—
PA1DR
PA0DR
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R/W
R/W
R/W:
Bit:
Port A data register L (PADRL) is a 16-bit readable/writable register that stores port A data. Bits
PA15DR to PA0DR correspond to pins PA15/WRHL/HLBS/TCLKD/TIOC3B to PA0/OE0.
When a pin functions as a general output, if a value is written to PADRL, that value is output
directly from the pin, and if PADRL is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PADRL is read the pin state, not the register value, is
returned directly. If a value is written to PADRL, although that value is written into PADRL it
does not affect the pin state. Table 18.2 summarizes port A data register read/write operations.
PADRL is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Table 18.2 Port A Data Register (PADR) Read/Write Operations
PAIOR
Pin Function
Read
Write
0
General input
Pin state
Value is written to PADR, but does not
affect pin state
Other than general
input
Undefined
Value is written to PADR, but does not
affect pin state
General output
PADR value
Write value is output from pin
Other than general
output
PADR value
Value is written to PADR, but does not
affect pin state
1
Rev. 5.00 Sep 11, 2006 page 702 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.3
Port B
Port B is an input/output port with the 11 pins shown in figures 18.3 and 18.4.
Expanded mode
with on-chip ROM disabled
Expanded mode
with on-chip ROM enabled
Single-chip
mode
PB23 (input/output) / CASHH1 (output) / PB23 (input/output) / CASHH1 (output) / PB23 (input/output) /
TXD1 (output) / TEND0 (output)
TXD1 (output)
TXD1 (output) / TEND0 (output)
PB22 (input/output) / CASHL1 (output) / PB22 (input/output) / CASHL1 (output) / PB22 (input/output) /
RXD1 (input) / TEND1 (output)
RXD1 (input)
RXD1 (input) / TEND1 (output)
PB21 (input/output) / CASLH1 (output)
PB21 (input/output) / CASLH1 (output)
PB21 (input/output)
PB20 (input/output) / CASLL1 (output)
PB20 (input/output) / CASLL1 (output)
PB20 (input/output)
Port B
PB19 (input/output) / CASHH0 (output) / PB19 (input/output) / CASHH0 (output) / PB19 (input/output) /
TXD0 (output)
TXD0 (output)
TXD0 (output)
PB18 (input/output) / CASHL0 (output) / PB18 (input/output) / CASHL0 (output) / PB18 (input/output) /
RXD0 (input)
RXD0 (input)
RXD0 (input)
PB17 (input/output) / CASLH0 (output)
PB17 (input/output) / CASLH0 (output)
PB17 (input/output)
PB16 (input/output) / CASLL0 (output)
PB16 (input/output) / CASLL0 (output)
PB16 (input/output)
Figure 18.3 Port B (PB23 to PB16)
Expanded mode
with on-chip ROM disabled
Port B
Expanded mode
with on-chip ROM enabled
Single-chip
mode
PB13 (input/output) / RDWR (output)
PB13 (input/output) / RDWR (output)
PB13 (input/output)
PB7 (input/output) / BACK (output)
PB7 (input/output) / BACK (output)
PB7 (input/output)
PB6 (input/output) / BREQ (output)
PB6 (input/output) / BREQ (output)
PB6 (input/output)
Figure 18.4 Port B (PB13, PB7, and PB6)
Rev. 5.00 Sep 11, 2006 page 703 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.3.1
Register Configuration
The port B registers are shown in table 18.3.
Table 18.3 Port B Registers
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Port B data register H
PBDRH
R/W
H'0000
H'FFFF 1210
8, 16, 32
Port B data register L
PBDRL
R/W
H'0000
H'FFFF 1212
8, 16, 32
18.3.2
Port B Data Register H (PBDRH)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
PB23DR PB22DR PB21DR PB20DR PB19DR PB18DR PB17DR PB16DR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port B data register H (PBDRH) is a 16-bit readable/writable register that stores port B data. Bits
PB23DR to PB16DR correspond to pins PB23/CASHH1/TXD1/TEND0 to PB16/CASLL0.
When a pin functions as a general output, if a value is written to PBDRH, that value is output
directly from the pin, and if PBDRH is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PBDRH is read the pin state, not the register value, is
returned directly. If a value is written to PBDRH, although that value is written into PBDRH it
does not affect the pin state. Table 18.4 summarizes port B data register read/write operations.
PBDRH is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Rev. 5.00 Sep 11, 2006 page 704 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.3.3
Port B Data Register L (PBDRL)
Bit:
15
14
13
12
11
10
9
8
—
—
PB13DR
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R/W
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
PB7DR
PB6DR
—
—
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R
R
R
R
R
R
Initial value:
R/W:
Port B data register L (PBDRL) is a 16-bit readable/writable register that stores port B data. Bits
PB13DR to PB6DR correspond to pins PB13/RDWR to PB6/BREQ.
When a pin functions as a general output, if a value is written to PBDRL, that value is output
directly from the pin, and if PBDRL is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PBDRL is read the pin state, not the register value, is
returned directly. If a value is written to PBDRL, although that value is written into PBDRL it
does not affect the pin state. Table 18.4 summarizes port B data register read/write operations.
PBDRL is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Table 18.4 Port B Data Register (PBDR) Read/Write Operations
PBIOR
Pin Function
Read
Write
0
General input
Pin state
Value is written to PBDR, but does not
affect pin state
Other than general
input
Undefined
Value is written to PBDR, but does not
affect pin state
General output
PBDR value
Write value is output from pin
Other than general
output
PBDR value
Value is written to PBDR, but does not
affect pin state
1
Rev. 5.00 Sep 11, 2006 page 705 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.4
Port C
Port C is an input/output port with the 26 pins shown in figures 18.5 and 18.6.
Expanded mode
with on-chip ROM disabled
Port C
Expanded mode
with on-chip ROM enabled
Single-chip
mode
A25 (output) /
TIOC3B (input/output) /
TCLKD (input)
PC25 (input/output) / A25 (output) /
TIOC3B (input/output) /
TCLKD (input)
PC25 (input/output) /
TIOC3B (input/output) /
TCLKD (input)
A24 (output) /
TIOC3A (input/output) /
TCLKC (input)
PC24 (input/output) / A24 (output) /
TIOC3A (input/output) /
TCLKC (input)
PC24 (input/output) /
TIOC3A (input/output) /
TCLKC (input)
A23 (output) /
TIOC1B (input/output) /
TCLKB (input)
PC23 (input/output) / A23 (output) /
TIOC1B (input/output) /
TCLKB (input)
PC3 (input/output) /
TIOC1B (input/output) /
TCLKB (input)
A22 (output) /
TIOC1A (input/output) /
TCLKA (input)
PC22 (input/output) / A22 (output) /
TIOC1A (input/output) /
TCLKA (input)
PC22 (input/output) /
TIOC1A (input/output) /
TCLKA (input)
A21 (output) /
TIOC5B (input/output)
PC21 (input/output) / A21 (output) /
TIOC5B (input/output)
PC21 (input/output) /
TIOC5B (input/output)
A20 (output) /
TIOC5A (input/output)
PC20 (input/output) / A20 (output) /
TIOC5A (input/output)
PC20 (input/output) /
TIOC5A (input/output)
A19 (output) /
TIOC4B (input/output)
PC19 (input/output) / A19 (output) /
TIOC4B (input/output)
PC19 (input/output) /
TIOC4B (input/output)
A18 (output) /
TIOC4A (input/output)
PC18 (input/output) / A18 (output) /
TIOC4A (input/output)
PC18 (input/output) /
TIOC4A (input/output)
A17 (output) /
TIOC3B (input/output)
PC17 (input/output) / A17 (output) /
TIOC3B (input/output)
PC17 (input/output) /
TIOC3B (input/output)
A16 (output) /
TIOC3A (input/output)
PC16 (input/output) / A16 (output) /
TIOC3A (input/output)
PC16 (input/output) /
TIOC3A (input/output)
Figure 18.5 Port C (PC25 to PC16)
Rev. 5.00 Sep 11, 2006 page 706 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
Expanded mode
with on-chip ROM disabled
Port C
Expanded mode
with on-chip ROM enabled
Single-chip
mode
A15 (output) /
TIOC3D (input/output)
PC15 (input/output) / A15 (output) /
TIOC3D (input/output)
PC15 (input/output) /
TIOC3D (input/output)
A14 (output) /
TIOC3C (input/output)
PC14 (input/output) / A14 (output) /
TIOC3C (input/output)
PC14 (input/output) /
TIOC3C (input/output)
A13 (output)
PC13 (input/output) / A13 (output)
PC13 (input/output)
A12 (output)
PC12 (input/output) / A12 (output)
PC12 (input/output)
A11 (output)
PC11 (input/output) / A11 (output)
PC11 (input/output)
A10 (output)
PC10 (input/output) / A10 (output)
PC10 (input/output)
A9 (output)
PC9 (input/output) / A9 (output)
PC9 (input/output)
A8 (output)
PC8 (input/output) / A8 (output)
PC8 (input/output)
A7 (output)
PC7 (input/output) / A7 (output)
PC7 (input/output)
A6 (output)
PC6 (input/output) / A6 (output)
PC6 (input/output)
A5 (output)
PC5 (input/output) / A5 (output)
PC5 (input/output)
A4 (output)
PC4 (input/output) / A4 (output)
PC4 (input/output)
A3 (output)
PC3 (input/output) / A3 (output)
PC3 (input/output)
A2 (output)
PC2 (input/output) / A2 (output)
PC2 (input/output)
A1 (output)
PC1 (input/output) / A1 (output)
PC1 (input/output)
A0 (output)
PC0 (input/output) / A0 (output)
PC0 (input/output)
Figure 18.6 Port C (PC15 to PC0)
Rev. 5.00 Sep 11, 2006 page 707 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.4.1
Register Configuration
The port C registers are shown in table 18.5.
Table 18.5 Port C Registers
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Port C data register H
PCDRH
R/W
H'0000
H'FFFF 1220
8, 16, 32
Port C data register L
PCDRL
R/W
H'0000
H'FFFF 1222
8, 16, 32
18.4.2
Port C Data Register H (PCDRH)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R/W
R/W
Bit:
7
6
5
4
3
2
1
0
PC25DR PC24DR
PC23DR PC22DR PC21DR PC20DR PC19DR PC18DR PC17DR PC16DR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port C data register H (PCDRH) is a 16-bit readable/writable register that stores port C data. Bits
PC25DR to PC16DR correspond to pins PC25/A25/TIOC3B/TCLKD to PC16/A16/TIOC3A.
When a pin functions as a general output, if a value is written to PCDRH, that value is output
directly from the pin, and if PCDRH is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PCDRH is read the pin state, not the register value, is
returned directly. If a value is written to PCDRH, although that value is written into PCDRH it
does not affect the pin state. Table 18.6 summarizes port C data register read/write operations.
PCDRH is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Rev. 5.00 Sep 11, 2006 page 708 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.4.3
Port C Data Register L (PCDRL)
Bit:
15
14
13
12
11
10
9
PC15DR PC14DR PC13DR PC12DR PC11DR PC10DR PC9DR
Initial value:
R/W:
Bit:
Initial value:
R/W:
8
PC8DR
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PC7DR
PC6DR
PC5DR
PC4DR
PC3DR
PC2DR
PC1DR
PC0DR
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port C data register L (PCDRL) is a 16-bit readable/writable register that stores port C data. Bits
PC15DR to PC0DR correspond to pins PC15/A15/TIOC3D to PC0/A0.
When a pin functions as a general output, if a value is written to PCDRL, that value is output
directly from the pin, and if PCDRL is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PCDRL is read the pin state, not the register value, is
returned directly. If a value is written to PCDRL, although that value is written into PCDRL it
does not affect the pin state. Table 18.6 summarizes port C data register read/write operations.
PCDRL is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Table 18.6 Port C Data Register (PCDR) Read/Write Operations
PCIOR
Pin Function
Read
Write
0
General input
Pin state
Value is written to PCDR, but does not
affect pin state
Other than general
input
Undefined
Value is written to PCDR, but does not
affect pin state
General output
PCDR value
Write value is output from pin
Other than general
output
PCDR value
Value is written to PCDR, but does not
affect pin state
1
Rev. 5.00 Sep 11, 2006 page 709 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.5
Port D
Port D is an input/output port with the 32 pins shown in figures 18.7 and 18.8.
Expanded mode
with on-chip ROM
disabled (mode 2)
Expanded mode
with on-chip ROM
enabled
Single-chip
mode
PD31 (input/output) /
D31 (input/output) / RXD2 (input) /
TIOC5A (input/output)
PD31 (input/output) /
RXD2 (input) /
TIOC5A (input/output)
PD31 (input/output) /
D31 (input/output) / RXD2 (input) /
TIOC5A (input/output)
PD31 (input/output) /
RXD2 (input) /
TIOC5A (input/output)
PD30 (input/output) /
D30 (input/output) / TXD2 (output) /
TIOC4B (input/output)
D30 (input/output) /
TXD2 (output) /
TIOC4B (input/output)
PD30 (input/output) /
D30 (input/output) / TXD2 (output) /
TIOC4B (input/output)
PD30 (input/output) /
TXD2 (output) /
TIOC4B (input/output)
PD29 (input/output) /
D29 (input/output) / SCK2 (input/
output) / TIOC4A (input/output)
D29 (input/output) /
SCK2 (input/output) /
TIOC4A (input/output)
PD29 (input/output) /
D29 (input/output) / SCK2 (input/
output) / TIOC4A (input/output)
PD29 (input/output) /
SCK2 (input/output) /
TIOC4A (input/output)
Expanded mode
with on-chip ROM
disabled (mode 3, 4)
PD28 (input/output) /
PD28 (input/output) /
D28 (input/output) /
PD28 (input/output) /
D28 (input/output) / TCLKB (input) / TCLKB (input) /
D28 (input/output) / TCLKB (input) / TCLKB (input) /
TIOC3D (input/output)
TIOC3D (input/output) TIOC3D (input/output)
TIOC3D (input/output)
PD27 (input/output) /
PD27 (input/output) /
D27 (input/output) /
PD27 (input/output) /
D27 (input/output) / TCLKA (input) / TCLKA (input) /
D27 (input/output) / TCLKA (input) / TCLKA (input) /
TIOC3C (input/output)
TIOC3C (input/output) TIOC3C (input/output)
TIOC3C (input/output)
Port D
PD26 (input/output) /
D26 (input/output) / PWOB (output)
D26 (input/output) /
PWOB (input)
PD26 (input/output) /
D26 (input/output) / PWOB (output)
PD26 (input/output) /
PWOB (input)
PD25 (input/output) /
D25 (input/output) / PVOB (output)
D25 (input/output) /
PVOB (output)
PD25 (input/output) /
D25 (input/output) / PVOB (output)
PD25 (input/output) /
PVOB (output)
PD24 (input/output) /
D24 (input/output) / PUOB (output)
D24 (input/output) /
PUOB (output)
PD24 (input/output) /
D24 (input/output) / PUOB (output)
PD24 (input/output) /
PUOB (output)
PD23 (input/output) /
D23 (input/output) / PCIO (input/
output) / SCK1 (input/output)
D23 (input/output) /
PCIO (input/output) /
SCK1 (input/output)
PD23 (input/output) /
D23 (input/output) / PCIO (input/
output) / SCK1 (input/output)
PD23 (input/output) /
PCIO (input/output) /
SCK1 (input/output)
D22 (input/output) /
PD22 (input/output) /
D22 (input/output) / PWOA (output) / PWOA (output) /
SCK0 (input/output)
SCK0 (input/output)
PD22 (input/output) /
PD22 (input/output) /
D22 (input/output) / PWOA (output) / PWOA (output) /
SCK0 (input/output)
SCK0 (input/output)
D21 (input/output) /
PD21 (input/output) /
D21 (input/output) / PVOA (output) / PVOA (output) /
IRQ7 (input)
IRQ7 (input)
PD21 (input/output) /
PD21 (input/output) /
D21 (input/output) / PVOA (output) / PVOA (output) /
IRQ7 (input)
IRQ7 (input)
D20 (input/output) /
PD20 (input/output) /
D20 (input/output) / PUOA (output) / PUOA (output) /
IRQ6 (input)
IRQ6 (input)
PD20 (input/output) /
PD20 (input/output) /
D20 (input/output) / PUOA (output) / PUOA (output) /
IRQ6 (input)
IRQ6 (input)
PD19 (input/output) /
D19 (input/output) / POE3 (input) /
IRQ5 (input)
D19 (input/output) /
POE3 (input) /
IRQ5 (input)
PD19 (input/output) /
D19 (input/output) / POE3 (input) /
IRQ5 (input)
PD19 (input/output) /
POE3 (input) /
IRQ5 (input)
PD18 (input/output) /
D18 (input/output) / POE2 (input) /
IRQ4 (input)
D18 (input/output) /
POE2 (input) /
IRQ4 (input)
PD18 (input/output) /
D18 (input/output) / POE2 (input) /
IRQ4 (input)
PD18 (input/output) /
POE2 (input) /
IRQ4 (input)
PD17 (input/output) /
D17 (input/output) / POE1 (input) /
ADTRG (input)
D17 (input/output) /
POE1 (input) /
ADTRG (input)
PD17 (input/output) /
D17 (input/output) / POE1 (input) /
ADTRG (input)
PD17 (input/output) /
POE1 (input) /
ADTRG (input)
PD16 (input/output) /
D16 (input/output) / POE0 (input)
D16 (input/output) /
POE0 (input)
PD16 (input/output) /
D16 (input/output) / POE0 (input)
PD16 (input/output) /
POE0 (input)
Figure 18.7 Port D (PD31 to PD16)
Rev. 5.00 Sep 11, 2006 page 710 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
Expanded mode
with on-chip ROM
disabled (mode 4)
Port D
Expanded mode
with on-chip ROM
disabled (mode 3, 2)
Expanded mode
with on-chip ROM
enabled
Single-chip
mode
PD15 (input/output) /
D15 (input/output) /
TIOC5B (input/output)
D15 (input/output) /
TIOC5B (input/output)
PD15 (input/output) /
D15 (input/output) /
TIOC5B (input/output)
PD15 (input/output) /
TIOC5B (input/output)
PD14 (input/output) /
D14 (input/output) /
TIOC5A (input/output)
D14 (input/output) /
TIOC5A (input/output)
PD14 (input/output) /
D14 (input/output) /
TIOC5A (input/output)
PD14 (input/output) /
TIOC5A (input/output)
PD13 (input/output) /
D13 (input/output) /
TIOC4B (input/output)
D13 (input/output) /
TIOC4B (input/output)
PD13 (input/output) /
D13 (input/output) /
TIOC4B (input/output)
PD13 (input/output) /
TIOC4B (input/output)
PD12 (input/output) /
D12 (input/output) /
TIOC4A (input/output)
D12 (input/output) /
TIOC4A (input/output)
PD12 (input/output) /
D12 (input/output) /
TIOC4A (input/output)
PD12 (input/output) /
TIOC4A (input/output)
PD11 (input/output) /
D11 (input/output) /
TIOC2B (input/output)
D11 (input/output) /
TIOC2B (input/output)
PD11 (input/output) /
D11 (input/output) /
TIOC2B (input/output)
PD11 (input/output) /
TIOC2B (input/output)
PD10 (input/output) /
D10 (input/output) /
TIOC2A (input/output)
D10 (input/output) /
TIOC2A (input/output)
PD10 (input/output) /
D10 (input/output) /
TIOC2A (input/output)
PD10 (input/output) /
TIOC2A (input/output)
PD9 (input/output) /
D9 (input/output)
TIOC1B (input/output)
D9 (input/output)
TIOC1B (input/output)
PD9 (input/output) /
D9 (input/output)
TIOC1B (input/output)
PD9 (input/output)
TIOC1B (input/output)
PD8 (input/output) /
D8 (input/output) /
TIOC1A (input/output)
D8 (input/output) /
TIOC1A (input/output)
PD8 (input/output) /
D8 (input/output) /
TIOC1A (input/output)
PD8 (input/output) /
TIOC1A (input/output)
D7 (input/output)
D7 (input/output)
PD7 (input/output) /
D7 (input/output)
PD7 (input/output)
D6 (input/output)
D6 (input/output)
PD6 (input/output) /
D6 (input/output)
PD6 (input/output)
D5 (input/output)
D5 (input/output)
PD5 (input/output) /
D5 (input/output)
PD5 (input/output)
D4 (input/output)
D4 (input/output)
PD4 (input/output) /
D4 (input/output)
PD4 (input/output)
D3 (input/output)
D3 (input/output)
PD3 (input/output) /
D3 (input/output)
PD3 (input/output)
D2 (input/output)
D2 (input/output)
PD2 (input/output) /
D2 (input/output)
PD2 (input/output)
D1 (input/output)
D1 (input/output)
PD1 (input/output) /
D1 (input/output)
PD1 (input/output)
D0 (input/output)
D0 (input/output)
PD0 (input/output) /
D0 (input/output)
PD0 (input/output)
Figure 18.8 Port D (PD15 to PD0)
Rev. 5.00 Sep 11, 2006 page 711 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.5.1
Register Configuration
The port D registers are shown in table 18.7.
Table 18.7 Port D Registers
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Port D data register H
PDDRH
R/W
H'0000
H'FFFF 1230
8, 16, 32
Port D data register L
PDDRL
R/W
H'0000
H'FFFF 1232
8, 16, 32
18.5.2
Port D Data Register H (PDDRH)
Bit:
15
14
13
12
11
10
9
8
PD31DR PD30DR PD29DR PD28DR PD27DR PD26DR PD25DR PD24DR
Initial value:
R/W:
Bit:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PD23DR PD22DR PD21DR PD20DR PD19DR PD18DR PD17DR PD16DR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port D data register H (PDDRH) is a 16-bit readable/writable register that stores port D data. Bits
PD31DR to PD16DR correspond to pins PD31/D31/RXD2/TIOC5A to PD16/D16/POE0.
When a pin functions as a general output, if a value is written to PDDRH, that value is output
directly from the pin, and if PDDRH is read, the register value is returned directly regardless of
the pin state.
When a pin functions as a general input, if PDDRH is read the pin state, not the register value, is
returned directly. If a value is written to PDDRH, although that value is written into PDDRH it
does not affect the pin state. Table 18.8 summarizes port D data register read/write operations.
PDDRH is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Rev. 5.00 Sep 11, 2006 page 712 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.5.3
Port D Data Register L (PDDRL)
Bit:
15
14
13
12
11
10
9
PD15DR PD14DR PD13DR PD12DR PD11DR PD10DR PD9DR
Initial value:
R/W:
Bit:
Initial value:
R/W:
8
PD8DR
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
PD7DR
PD6DR
PD5DR
PD4DR
PD3DR
PD2DR
PD1DR
PD0DR
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port D data register L (PDDRL) is a 16-bit readable/writable register that stores port D data. Bits
PD15DR to PD0DR correspond to pins PD15/D15/TIOC5B to PD0/D0.
When a pin functions as a general output, if a value is written to PDDRL, that value is output
directly from the pin, and if PDDRL is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PDDRL is read the pin state, not the register value, is
returned directly. If a value is written to PDDRL, although that value is written into PDDRL it
does not affect the pin state. Table 18.8 summarizes port D data register read/write operations.
PDDRL is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Table 18.8 Port D Data Register (PDDR) Read/Write Operations
PDIOR
Pin Function
Read
Write
0
General input
Pin state
Value is written to PDDR, but does not
affect pin state
Other than general
input
Undefined
Value is written to PDDR, but does not
affect pin state
General output
PDDR value
Write value is output from pin
Other than general
output
PDDR value
Value is written to PDDR, but does not
affect pin state
1
Rev. 5.00 Sep 11, 2006 page 713 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.6
Port E
Port E is an input/output port with the 12 pins shown in figures 18.9 and 18.10.
Expanded mode
with on-chip ROM disabled
Port E
Expanded mode
with on-chip ROM enabled
Single-chip
mode
PE23 (input/output) /
IRQ7 (input) / PWOB (output)
PE23 (input/output) /
IRQ7 (input) / PWOB (output)
PE23 (input/output) /
IRQ7 (input) / PWOB (output)
PE22 (input/output) /
IRQ6 (input) / PVOB (output)
PE22 (input/output) /
IRQ6 (input) / PVOB (output)
PE22 (input/output) /
IRQ6 (input) / PVOB (output)
PE21 (input/output) /
IRQ5 (input) / PUOB (output)
PE21 (input/output) /
IRQ5 (input) / PUOB (output)
PE21 (input/output) /
IRQ5 (input) / PUOB (output)
PE20 (input/output) /
IRQ4 (input) / PCO (output) /
PCI (input)
PE20 (input/output) /
IRQ4 (input) / PCO (output) /
PCI (input)
PE20 (input/output) /
IRQ4 (input) / PCO (output) /
PCI (input)
PE19 (input/output) /
IRQ3 (input) / PWOA (output)
PE19 (input/output) /
IRQ3 (input) / PWOA (output)
PE19 (input/output) /
IRQ3 (input) / PWOA (output)
PE18 (input/output) /
IRQ2 (input) / PVOA (output)
PE18 (input/output) /
IRQ2 (input) / PVOA (output)
PE18 (input/output) /
IRQ2 (input) / PVOA (output)
PE17 (input/output) /
IRQ1 (input) /PUOA (output) /
SCK0 (input/output)
PE17 (input/output) /
IRQ1 (input) /PUOA (output) /
SCK0 (input/output)
PE17 (input/output) /
IRQ1 (input) /PUOA (output) /
SCK0 (input/output)
PE16 (input/output) /
PE16 (input/output) /
PE16 (input/output) /
IRQ0 (input) /
IRQ0 (input) /
IRQ0 (input) /
SCK1 (input/output) / AH (output) SCK1 (input/output) / AH (output) SCK1 (input/output)
Figure 18.9 Port E (PE23 to PE16)
Expanded mode
with on-chip ROM disabled
Expanded mode
with on-chip ROM enabled
Single-chip
mode
PE15 (input/output) / IRQ7 (input) PE15 (input/output) / IRQ7 (input) PE15 (input/output) / IRQ7 (input)
PE14 (input/output) / IRQ6 (input) PE14 (input/output) / IRQ6 (input) PE14 (input/output) / IRQ6 (input)
Port E
PE13 (input/output) / IRQ5 (input) PE13 (input/output) / IRQ5 (input) PE13 (input/output) / IRQ5 (input)
PE12 (input/output) / IRQ4 (input) PE12 (input/output) / IRQ4 (input) PE12 (input/output) / IRQ4 (input)
Figure 18.10 Port E (PE15 to PE12)
Rev. 5.00 Sep 11, 2006 page 714 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.6.1
Register Configuration
The port E registers are shown in table 18.9.
Table 18.9 Port E Registers
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Port E data register H
PEDRH
R/W
H'0000
H'FFFF 1240
8, 16, 32
Port E data register L
PEDRL
R/W
H'0000
H'FFFF 1242
8, 16, 32
18.6.2
Port E Data Register H (PEDRH)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
PE23DR PE22DR PE21DR PE20DR PE19DR PE18DR PE17DR PE16DR
Initial value:
R/W:
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Port E data register H (PEDRH) is a 16-bit readable/writable register that stores port E data. Bits
PE23DR to PE16DR correspond to pins PE23/IRQ7/PWOB to PE16/IRQ0/SCK0/AH.
When a pin functions as a general output, if a value is written to PEDRH, that value is output
directly from the pin, and if PEDRH is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PEDRH is read the pin state, not the register value, is
returned directly. If a value is written to PEDRH, although that value is written into PEDRH it
does not affect the pin state. Table 18.10 summarizes port E data register read/write operations.
PEDRH is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Rev. 5.00 Sep 11, 2006 page 715 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.6.3
Port E Data Register L (PEDRL)
Bit:
15
14
13
12
PE15DR PE14DR PE13DR PE12DR
Initial value:
11
10
9
8
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R
R
R
R
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
R/W:
Bit:
Port E data register L (PEDRL) is a 16-bit readable/writable register that stores port E data. Bits
PE15DR to PE12DR correspond to pins PE15/IRQ7 to PE12/IRQ4.
When a pin functions as a general output, if a value is written to PEDRL, that value is output
directly from the pin, and if PEDRL is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PEDRL is read the pin state, not the register value, is
returned directly. If a value is written to PEDRL, although that value is written into PEDRL it
does not affect the pin state. Table 18.10 summarizes port E data register read/write operations.
PEDRL is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Table 18.10 Port E Data Register (PEDR) Read/Write Operations
PEIOR
Pin Function
Read
Write
0
General input
Pin state
Value is written to PEDR, but does not
affect pin state
Other than general
input
Undefined
Value is written to PEDR, but does not
affect pin state
General output
PEDR value
Write value is output from pin
Other than general
output
PEDR value
Value is written to PEDR, but does not
affect pin state
1
Rev. 5.00 Sep 11, 2006 page 716 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.7
Port F
Port F is an input/output port with the 6 pins shown in figure 18.11.
Expanded mode
with on-chip ROM disabled
Port F
Expanded mode
with on-chip ROM enabled
Single-chip
mode
PF7 (input/output) /
DREQ1 (input) / IRQOUT (output) /
TIOC0D (input/output)
PF7 (input/output) /
DREQ1 (input) / IRQOUT (output) /
TIOC0D (input/output)
PF7 (input/output)
PF6 (input/output) /
DRAK1 (output) / TXD1 (output) /
TIOC2A (input/output)
PF6 (input/output) /
DRAK1 (output) / TXD1 (output) /
TIOC2A (input/output)
PF6 (input/output) /
TXD1 (output) /
TIOC2A (input/output)
PF5 (input/output) /
DACK1 (output) / RXD1 (input) /
TIOC2B (input/output)
PF5 (input/output) /
DACK1 (output) / RXD1 (input) /
TIOC2B (input/output)
PF5 (input/output) /
RXD1 (input) /
TIOC2B (input/output)
PF3 (input/output) /
DREQ0 (output) /
TIOC0A (input/output)
PF3 (input/output) /
DREQ0 (output) /
TIOC0A (input/output)
PF3 (input/output) /
TIOC0A (input/output)
PF2 (input/output) /
DRAK0 (output) /
TIOC0C (input/output)
PF2 (input/output) /
DRAK0 (output) /
TIOC0C (input/output)
PF2 (input/output) /
TIOC0C (input/output)
PF1 (input/output) /
DACK0 (output) /
TIOC0B (input/output)
PF1 (input/output) /
DACK0 (output) /
TIOC0B (input/output)
PF1 (input/output) /
TIOC0B (input/output)
Figure 18.11 Port F (PF7 to PF1)
18.7.1
Register Configuration
The port F register is shown in table 18.11.
Table 18.11 Port F Register
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Port F data register L
PFDRL
R/W
H'0000
H'FFFF 1262
8, 16, 32
Rev. 5.00 Sep 11, 2006 page 717 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.7.2
Port F Data Register L (PFDRL)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
PF7DR
PF6DR
PF5DR
—
PF3DR
PF2DR
PF1DR
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R
R/W
R/W
R/W
R
Initial value:
R/W:
Port F data register L (PFDRL) is a 16-bit readable/writable register that stores port F data. Bits
PF7DR to PF1DR correspond to pins PF7/DREQ1/IRQOUT/TIOC0D to PF1/DACK0/TIOC0B.
When a pin functions as a general output, if a value is written to PFDRL, that value is output
directly from the pin, and if PFDRL is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PFDRL is read the pin state, not the register value, is
returned directly. If a value is written to PFDRL, although that value is written into PFDRL it does
not affect the pin state. Table 18.12 summarizes port F data register read/write operations.
PFDRL is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Table 18.12 Port F Data Register (PFDR) Read/Write Operations
PFIOR
Pin Function
Read
Write
0
General input
Pin state
Value is written to PFDR, but does not
affect pin state
Other than general
input
Undefined
Value is written to PFDR, but does not
affect pin state
General output
PFDR value
Write value is output from pin
Other than general
output
PFDR value
Value is written to PFDR, but does not
affect pin state
1
Rev. 5.00 Sep 11, 2006 page 718 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.8
Port G
Port G is an input/output port with the 3 pins shown in figure 18.12.
Expanded mode
with on-chip ROM disabled
Port G
Expanded mode
with on-chip ROM enabled
Single-chip
mode
PG31 (input/output) /
RxD2 (input/output)
PG31 (input/output) /
RxD2 (input/output)
PG31 (input/output) /
RxD2 (input/output)
PG30 (input/output) /
TxD2 (output)
PG30 (input/output) /
TxD2 (output)
PG30 (input/output) /
TxD2 (output)
PG29 (input/output) /
SCK2 (input)
PG29 (input/output) /
SCK2 (input)
PG29 (input/output) /
SCK2 (input)
Figure 18.12 Port G (PG31 to PG29)
18.8.1
Register Configuration
The port G register is shown in table 18.13.
Table 18.13 Port G Register
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Port G data register H
PGDRH
R/W
H'0000
H'FFFF 1270
8, 16, 32
18.8.2
Port G Data Register H (PGDRH)
Bit:
15
14
13
PG31DR PG30DR PG29DR
Initial value:
12
11
10
9
8
—
—
—
—
—
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R
R
R
R
R
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
R/W:
Bit:
Port G data register H (PGDRH) is a 16-bit readable/writable register that stores port G data. Bits
PG31DR to PG29DR correspond to pins PG31/RxD2 to PG29/SCK1.
Rev. 5.00 Sep 11, 2006 page 719 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
When a pin functions as a general output, if a value is written to PGDRH, that value is output
directly from the pin, and if PGDRH is read, the register value is returned directly regardless of
the pin state.
When a pin functions as a general input, if PGDRH is read the pin state, not the register value, is
returned directly. If a value is written to PGDRH, although that value is written into PGDRH it
does not affect the pin state. Table 18.14 summarizes port G data register read/write operations.
PGDRH is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Table 18.14 Port G Data Register (PGDR) Read/Write Operations
PGIOR
Pin Function
Read
Write
0
General input
Pin state
Value is written to PGDR, but does not
affect pin state
Other than general
input
Undefined
Value is written to PGDR, but does not
affect pin state
General output
PGDR value
Write value is output from pin
Other than general
output
PGDR value
Value is written to PGDR, but does not
affect pin state
1
Rev. 5.00 Sep 11, 2006 page 720 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.9
Port H
Port H is an input/output port with the 2 pins shown in figure 18.13.
PH1 (input/output) / DA1 (output)
Port H
PH0 (input/output) / DA0 (output)
Figure 18.13 Port H (PH1 and PH0)
18.9.1
Register Configuration
The port H register is shown in table 18.15.
Table 18.15 Port H Register
Name
Abbreviation
R/W
Initial Value
Address
Access Size
Port H data register
PHDR
R/W
H'0000
H'FFFF 1282
8
18.9.2
Port H Data Register (PHDR)
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
—
—
PH1DR
PH0DR
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R/W
R/W
The port H data register (PHDR) is an 8-bit readable/writable register that stores port H data. Bits
PH1DR and PH0DR correspond to pins PH1/DA1 and PH0/DA0.
When a pin functions as a general output, if a value is written to PHDR, that value is output
directly from the pin, and if PHDR is read, the register value is returned directly regardless of the
pin state.
When a pin functions as a general input, if PHDR is read the pin state, not the register value, is
returned directly. If a value is written to PHDR, although that value is written into PHDR it does
not affect the pin state. Table 18.16 summarizes port H data register read/write operations.
Rev. 5.00 Sep 11, 2006 page 721 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
PHDR is initialized by an external power-on reset, but is not initialized by a WDT reset or in
standby mode or sleep mode.
Table 18.16 Port H Data Register (PHDR) Read/Write Operations
PHIOR
Pin Function
Read
Write
0
General input
Pin state
Value is written to PHDR, but does not
affect pin state
Other than general
input
Undefined
Value is written to PHDR, but does not
affect pin state
General output
PHDR value
Write value is output from pin
Other than general
output
PHDR value
Value is written to PHDR, but does not
affect pin state
1
Rev. 5.00 Sep 11, 2006 page 722 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.10
Port I
Port I is an input port with the 8 pins shown in figure 18.14.
P17 (input) / AN7 (input)
P16 (input) / AN6 (input)
P15 (input) / AN5 (input)
P14 (input) / AN4 (input)
Port I
P13 (input) / AN3 (input)
P12 (input) / AN2 (input)
P11 (input) / AN1 (input)
P10 (input) / AN0 (input)
Figure 18.14 Port I (PI7 to PI0)
18.10.1 Register Configuration
The port I register is shown in table 18.17.
Table 18.17 Port I Register
Name
Abbreviation
R/W
Initial Value*
Address
Access Size
Port I data register
PIDR
R
Depends on
external pins
H'FFFF 1290
8
Note:
*
Initial value depends on the pin state when a read is performed.
Rev. 5.00 Sep 11, 2006 page 723 of 916
REJ09B0332-0500
Section 18 I/O Ports (I/O)
18.10.2 Port I Data Register (PIDR)
Bit:
7
6
5
4
3
2
1
0
PI7DR
PI6DR
PI5DR
PI4DR
PI3DR
PI2DR
PI1DR
PI0DR
Initial value:
*
*
*
*
*
*
*
*
R/W:
R
R
R
R
R
R
R
R
Note:
*
Initial value depends on the pin state when a read is performed.
The port I data register (PIDR) is an 8-bit read-only register that stores port I data. Bits PI7DR to
PI0DR correspond to pins PI7/AN7 to PI0/An0.
Writes to these bits are ignored, and do not affect the pin states. When these bits are read the pin
state, not the register value, is returned directly. However, 1 will be returned while A/D converter
analog input is being sampled. Table 18.18 summarizes port I data register read/write operations.
PIDR is not initialized by a power-on or WDT reset, or in standby mode or sleep mode. (The bits
always reflect the pin states.)
Table 18.18 Port I Data Register (PIDR) Read/Write Operations
Pin Input/Output
Pin Function
Read
Write
Input
General input
Pin state is read
Ignored (does not affect pin state)
ANn
1 is read
Ignored (does not affect pin state)
Legend:
ANn: Analog input
Rev. 5.00 Sep 11, 2006 page 724 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
Section 19 256 kB Flash Memory (F-ZTAT)
19.1
Features
The SH7065 has 256 kbytes of on-chip flash memory. The flash memory has the following
features:
• Four flash memory operating modes
 Program modeg
 Erase mode
 Program-verify mode
 Erase-verify mode
• Programming/erase methods
The flash memory is programmed 128 bytes at a time. Erasing is performed in block units (to
erase the entire memory, individual blocks must be erased successively). Block erasing can be
performed as required on 4 kB, 32 kB, and 64 kB blocks.
• Programming/erase times
The flash memory programming time is 15 ms (typ.) for simultaneous 128-byte programming,
equivalent to 117 µs (typ.) per byte. The erase time is 10 ms (typ.).
• Reprogramming capability
The flash memory can be reprogrammed up to 100 times.
• On-board programming modes
There are two modes in which flash memory can be programmed/erased/verified on-board:
 Boot mode
 User program mode
• Automatic bit rate adjustment
With data transfer in boot mode, the SH7065’s bit rate can be automatically adjusted to match
the transfer bit rate of the host.
• Flash memory emulation in on-chip RAM
Flash memory programming can be emulated in real time by overlapping a part of on-chip
RAM onto flash memory.
• Protect modes
There are two protect modes, hardware and software, which allow protected status to be
designated for flash memory program/erase/verify operations
Rev. 5.00 Sep 11, 2006 page 725 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
• Programmer mode
Flash memory can be programmed/erased in programmer mode, using a PROM programmer,
as well as in on-board programming mode.
19.2
Overview
19.2.1
Block Diagram
Figure 19.1 shows a block diagram of the flash memory.
Buffer
Module bus
64-bit internal data ROM bus
FLMCR1
FLMCR2
EBR1
EBR2
RAMER
Bus interface/controller
Operating
mode
Flash memory
(256 kB)
Legend:
FLMCR1:
FLMCR2:
EBR1:
EBR2:
RAMER:
Flash memory control register 1
Flash memory control register 2
Erase block register 1
Erase block register 2
RAM emulation register
Figure 19.1 Block Diagram of Flash Memory
Rev. 5.00 Sep 11, 2006 page 726 of 916
REJ09B0332-0500
FWE pin
Mode pins
Internal data bus
Internal address bus
Internal address bus
The on-chip ROM is 64 bits wide, and can be accessed in two cycles. The on-chip ROM is
connected to the internal data bus (C-bus) via a buffer, and has a basic access capability of 32 bits
per cycle.
Section 19 256 kB Flash Memory (F-ZTAT)
19.2.2
Mode Transitions
When the mode pins and the FWE pin are set in the reset state and a reset start is executed, the
SH7065 enters one of the operating modes shown in figure 19.2. In user mode, flash memory can
be read but not programmed or erased.
Flash memory can be programmed and erased in boot mode, user program mode, and programmer
mode.
Reset state
MD1 = 0
FWE = 0
RES = 0
User mode
MD1 = 0
FWE = 0
*
RES = 0
MD2,
1, 0 = 1
RES = 0
MD1 = 0
FWE = 0
FWE = 0
RES = 0
FWE = 1
User
program mode
Programmer
mode
*
Boot mode
On-board programming mode
Note: * RAM emulation possible
Figure 19.2 Flash Memory Mode Transitions
Rev. 5.00 Sep 11, 2006 page 727 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
19.2.3
On-Board Programming Modes
Boot Mode
Figure 19.3 shows programming operation in boot mode. For details of this mode, see section
19.6.1, Boot Mode.
1. Initial state
The old program version or data remains
written in the flash memory. The user should
prepare the programming control program and
new application program beforehand in the
host.
2. Programming control program transfer
When boot mode is entered, the boot program in the
SH7065 (originally incorporated in the chip) is
started and the programming control program in the
host is transferred to RAM via SCI communication.
The boot program required for flash memory erasing
is automatically transferred to the RAM boot
program area.
Host
Host
Programming control program
New application
program
New application
program
SH7065
SH7065
SCI2
Boot program
Flash memory
RAM
SCI2
Boot program
Flash memory
RAM
Boot program area
Application
program
(old version)
Application
program
(old version)
3. Flash memory initialization
The erase program in the boot program area (in
RAM) is executed, and the flash memory is
initialized (to H'FF). In boot mode, total flash
memory erasure is performed, without regard to
blocks.
Host
Programming control program
4. Writing new application program
The programming control program transferred
from the host to RAM is executed, and the new
application program in the host is written into
the flash memory.
Host
New application
program
SH7065
SH7065
SCI2
Boot program
Flash memory
RAM
Flash memory
Boot program area
Flash memory
erase
Programming control program
SCI2
Boot program
RAM
Boot program area
New application
program
Programming control program
Note:
: Program execution state
Figure 19.3 Programming Operation in Boot Mode
Rev. 5.00 Sep 11, 2006 page 728 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
User Program Mode
Figure 19.4 shows an example of programming in user program mode. For details of this mode,
see section 19.6.2, User Program Mode.
1. Initial state
The FWE assessment program that confirms
that user program mode has been entered, and
the program that will transfer the
programming/erase control program from flash
memory to on-chip RAM should be written into
the flash memory by the user beforehand. The
programming/erase control program should be
prepared in the host or in the flash memory.
2. Programming/erase control program transfer
When user program mode is entered, user
software confirms this fact, executes the transfer
program in the flash memory, and transfers the
programming/erase control program to RAM.
Host
Host
Programming/erase
control program
New application
program
New application
program
SH7065
SH7065
SCI
Boot program
Flash memory
RAM
Flash memory
SCI
Boot program
RAM
FWE assessment program
FWE assessment program
Transfer program
Transfer program
Application
program
(old version)
Application
program
(old version)
Programming/erase
control program
3. Flash memory initialization
The programming/erase program in RAM is
executed, and the flash memory is initialized (to
H'FF). Erasing can be performed in block units,
but not in byte units.
4. Writing new application program
Next, the new application program in the host is
written into the erased flash memory blocks. Do
not write to unerased blocks.
Host
Host
New application
program
SH7065
SH7065
SCI
Boot program
Flash memory
RAM
Flash memory
FWE assessment program
FWE assessment program
Transfer program
Transfer program
Programming/erase
control program
Flash memory
erase
SCI
Boot program
RAM
Programming/erase
control program
New application
program
Note:
: Program execution state
Figure 19.4 Example of Programming Operation in User Program Mode
Rev. 5.00 Sep 11, 2006 page 729 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
19.2.4
Flash Memory Emulation in RAM
Emulation should be performed in user mode or user program mode. When the emulation block
set in RAMER is accessed while the emulation function is being executed, read and write accesses
are performed in the overlap RAM.
• User Mode
• User Program Mode
Flash memory
Emulation block
RAM
Overlap RAM
(Emulation is performed
on data written in RAM)
Application program
Execution state
Figure 19.5 RAM Emulation (RAM Overlap)
When overlap RAM data is confirmed, clear the RAMS bit to cancel RAM overlap, and actually
perform writes to the flash memory in user program mode.
When the programming control program is transferred to RAM, ensure that the transfer destination
and the overlap RAM do not overlap, as this will cause data in the overlap RAM to be rewritten.
Rev. 5.00 Sep 11, 2006 page 730 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
• User Program Mode
Flash memory
RAM
Programming data
Overlap RAM
(programming data)
Programming control
program
Execution state
Application program
Figure 19.6 RAM Emulation (Flash Memory Programming)
19.2.5
Differences between Boot Mode and User Program Mode
Table 19.1 Differences between Boot Mode and User Program Mode
Boot Mode
User Program Mode
Total erase
Yes
Yes
Block erase
No
Yes
Programming control program*
(2)
(1) (2) (3)
(1) Erase/erase-verify
(2) Program/program-verify
(3) Emulation
Note:
*
To be provided by the user, in accordance with the recommended algorithm.
Rev. 5.00 Sep 11, 2006 page 731 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
19.2.6
Block Configuration
The flash memory is divided into eight 4 kB blocks, one 32 kB block, and three 64 kB blocks. In
user program mode, erasing can be carried out in block units.
Address H'00000
4 kB
4 kB
4 kB
4 kB
4 kB
4 kB
4 kB
4 kB
256 kB
32 kB
64 kB
64 kB
64 kB
Address H'3FFFF
Figure 19.7 Erase Area Block Divisions
Rev. 5.00 Sep 11, 2006 page 732 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
19.3
Pin Configuration
The flash memory is controlled by means of the pins shown in table 19.2.
Table 19.2 Flash Memory Pins
Pin Name
Abbreviation
I/O
Function
Reset
RES
Input
Reset
Flash write enable
FWE
Input
Program/erase protection by hardware
Mode 5
MD5
Input
Sets SH7065 clock operating mode
Mode 4
MD4
Input
Sets SH7065 clock operating mode
Mode 3
MD3
Input
Sets SH7065 clock operating mode
Mode 2
MD2
Input
Sets SH7065 operating mode
Mode 1
MD1
Input
Sets SH7065 operating mode
Mode 0
MD0
Input
Sets SH7065 operating mode
Transmit data
TxD2 (PG30)
Output
Serial transmit data output
Receive data
RxD2 (PG31)
Input
Serial receive data input
Rev. 5.00 Sep 11, 2006 page 733 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
19.4
Register Configuration
The registers used to control the on-chip flash memory when enabled are shown in table 19.3.
Table 19.3 Flash Memory Registers
Initial
Value
Address
Access
Size
R/W *
H'00*
FFFF0800
8
FLMCR2
R
H'00
FFFF0801
8
Erase block register 1
EBR1
1
R/W *
3
H'00*
FFFF0802
8
Erase block register 2
EBR2
R/W *
H'00*
FFFF0803
8
RAM emulation register
RAMER
R/W
H'0000
FFFF0C70
8, 16, 32
Register Name
Abbreviation R/W
Flash memory control register 1
FLMCR1
Flash memory control register 2
1
1
2
3
Notes: FLMCR1, FLMCR2, EBR1, and EBR2 are 8-bit registers, and RAMER is a 16-bit register.
Only byte accesses are valid for FLMCR1, FLMCR2, EBR1, and EBR2, the access
requiring 3 cycles. Three cycles are required for a byte or word access to RAMER, and 6
cycles for a longword access.
When a longword write is performed on RAMER, 0 must always be written to the lower
word (address H'FFFF0C72). Operation is not guaranteed if a nonzero value is written.
1. In the on-chip ROM disabled modes (MCU modes 2, 3, and 4), a read will return H'00,
and writes are invalid. Writes are also disabled when the FWE bit is not set to 1 in
FLMCR1.
2. When a high level is input to the FWE pin, the initial value is H'80.
3. When a low level is input to the FWE pin, or if a high level is input and the SWE bit in
FLMCR1 is not set, these registers are initialized to H'00.
Rev. 5.00 Sep 11, 2006 page 734 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
19.5
Register Descriptions
19.5.1
Flash Memory Control Register 1 (FLMCR1)
FLMCR1 is an 8-bit register used for flash memory operating mode control.
Program-verify mode or erase-verify mode is entered by setting SWE to 1 when FWE = 1, then
setting the EV or PV bit.
Program mode is entered by setting SWE to 1 when FWE = 1, then setting the PSU bit, and finally
setting the P bit.
Erase mode is entered by setting SWE to 1 when FWE = 1, then setting the ESU bit, and finally
setting the E bit.
FLMCR1 is initialized by a reset, and in hardware standby mode and software standby mode. Its
initial value is H'80 when a high level is input to the FWE pin, and H'00 when a low level is input.
In the on-chip ROM disabled modes (MCU modes 2, 3, and 4), a read will return H'00, and writes
are invalid.
Writes to bits ESU, PSU, EV, and PV in FLMCR1 are enabled only when FWE = 1 and SWE = 1;
writes to the E bit only when FWE = 1, SWE = 1, and ESU = 1; and writes to the P bit only when
FWE = 1, SWE = 1, and PSU = 1.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
FWE
SWE
ESU
PSU
EV
PV
E
P
1/0
0
0
0
0
0
0
0
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit 7—Flash Write Enable (FWE): Sets hardware protection against flash memory
programming/erasing.
Bit 7: FWE
Description
0
When a low level is input to the FWE pin (hardware-protected state)
1
When a high level is input to the FWE pin
Rev. 5.00 Sep 11, 2006 page 735 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
Bit 6—Software Write Enable (SWE): Enables or disables the flash memory. This bit should be
set when setting bits 5 to 0, EBR1 bits 7 to 0, and EBR2 bits 3 to 0.
When SWE = 1, flash memory can only be read in program-verify or erase-verify mode.
Bit 6: SWE
Description
0
Programming/erasing disabled
1
Programming/erasing enabled
(Initial value)
[Setting condition]
When FWE = 1
Bit 5—Erase Setup (ESU): Prepares for a transition to erase mode. Do not set the SWE, PSU,
EV, PV, E, or P bit at the same time.
Bit 5: ESU
Description
0
Erase setup cleared
1
Erase setup
(Initial value)
[Setting condition]
When FWE = 1 and SWE = 1
Bit 4—Program Setup (PSU): Prepares for a transition to program mode. Do not set the SWE,
ESU, EV, PV, E, or P bit at the same time.
Bit 4: PSU
Description
0
Program setup cleared
1
Program setup
(Initial value)
[Setting condition]
When FWE = 1 and SWE = 1
Bit 3—Erase-Verify (EV): Selects erase-verify mode transition or clearing. Do not set the SWE,
ESU, PSU, PV, E, or P bit at the same time.
Bit 3: EV
Description
0
Erase-verify mode cleared
1
Transition to erase-verify mode
[Setting condition]
When FWE = 1 and SWE = 1
Rev. 5.00 Sep 11, 2006 page 736 of 916
REJ09B0332-0500
(Initial value)
Section 19 256 kB Flash Memory (F-ZTAT)
Bit 2—Program-Verify (PV): Selects program-verify mode transition or clearing. Do not set the
SWE, ESU, PSU, EV, E, or P bit at the same time.
Bit 2: PV
Description
0
Program-verify mode cleared
1
Transition to program-verify mode
(Initial value)
[Setting condition]
When FWE = 1 and SWE = 1
Bit 1—Erase (E): Selects erase mode transition or clearing. Do not set the SWE, ESU, PSU, EV,
PV, or P bit at the same time.
Bit 1: E
Description
0
Erase mode cleared
1
(Initial value)
Transition to erase mode
[Setting condition]
When FWE = 1, SWE = 1, and ESU = 1
Bit 0—Program (P): Selects program mode transition or clearing. Do not set the SWE, ESU,
PSU, EV, PV, or E bit at the same time.
Bit 0: P
Description
0
Program mode cleared
1
Transition to program mode
(Initial value)
[Setting condition]
When FWE = 1, SWE = 1, and PSU = 1
Rev. 5.00 Sep 11, 2006 page 737 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
19.5.2
Flash Memory Control Register 2 (FLMCR2)
FLMCR2 is an 8-bit register used to monitor enabling or disabling of flash memory program/erase
protection (error protection).
FLMCR2 is initialized by a reset and in hardware standby mode. In the on-chip ROM disabled
modes (MCU modes 2, 3, and 4), a read will return H'00, and writes are invalid.
Note: FLMCR2 is a read-only register, and should not be written to.
Bit:
7
6
5
4
3
2
1
0
FLER
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit 7—Flash Memory Error (FLER): Indicates that an error has occurred during an operation on
flash memory (programming or erasing). When FLER is set to 1, flash memory goes to the errorprotection state.
Bit 7: FLER
Description
0
Flash memory is operating normally
Flash memory program/erase protection (error protection) is disabled
[Clearing condition]
Reset or hardware standby mode
1
(Initial value)
An error has occurred during flash memory programming/erasing
Flash memory program/erase protection (error protection) is enabled
[Setting condition]
See section 19.8.3, Error Protection
Bits 6 to 0—Reserved: These bits are always read as 0.
Rev. 5.00 Sep 11, 2006 page 738 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
19.5.3
Erase Block Register 1 (EBR1)
EBR1 is an 8-bit register that specifies the flash memory erase area block by block.
EBR1 is initialized to H'00 by a reset, in hardware standby mode and software standby mode,
when a low level is input to the FWE pin, and when a high level is input to the FWE pin and the
SWE bit in FLMCR1 is not set. When a bit in EBR1 is set to 1, the corresponding block can be
erased. Other blocks are erase-protected. Only one bit can be set in EBR1 and EBR2 together; do
not set more than two bits. If more than two bits are set, EBR1 and EBR2 will both be cleared to
H'00. In the on-chip ROM disabled modes (MCU modes 2, 3, and 4), a read will return H'00, and
writes are invalid.
The flash memory block configuration is shown in table 19.4.
Bit:
Initial value:
R/W:
19.5.4
7
6
5
4
3
2
1
0
EB7
EB6
EB5
EB4
EB3
EB2
EB1
EB0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Erase Block Register 2 (EBR2)
EBR2 is an 8-bit register that specifies the flash memory erase area block by block.
EBR2 is initialized to H'00 by a reset, in hardware standby mode and software standby mode,
when a low level is input to the FWE pin, and when a high level is input to the FWE pin and the
SWE bit in FLMCR1 is not set. When a bit in EBR2 is set to 1, the corresponding block can be
erased. Other blocks are erase-protected. In the on-chip ROM disabled modes (MCU modes 2, 3,
and 4), a read will return H'00, and writes are invalid.
The flash memory block configuration is shown in table 19.4.
Bit:
7
6
5
4
3
2
1
0
—
—
—
—
EB11
EB10
EB9
EB8
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R/W
R/W
R/W
R/W
Bits 7 to 4—Reserved: These bits are always read as 0.
Rev. 5.00 Sep 11, 2006 page 739 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
Table 19.4 Flash Memory Erase Blocks
Block (Size)
Addresses
EB0 (4 kB)
H'000000–H'000FFF
EB1 (4 kB)
H'001000–H'001FFF
EB2 (4 kB)
H'002000–H'002FFF
EB3 (4 kB)
H'003000–H'003FFF
EB4 (4 kB)
H'004000–H'004FFF
EB5 (4 kB)
H'005000–H'005FFF
EB6 (4 kB)
H'006000–H'006FFF
EB7 (4 kB)
H'007000–H'007FFF
EB8 (32 kB)
H'008000–H'00FFFF
EB9 (64 kB)
H'010000–H'01FFFF
EB10 (64 kB)
H'020000–H'02FFFF
EB11 (64 kB)
H'030000–H'03FFFF
19.5.5
RAM Emulation Register (RAMER)
RAMER specifies the area of flash memory to be overlapped with part of RAM when emulating
real-time flash memory programming. RAMER is initialized to H'0000 by a reset and in hardware
standby mode. It is not initialized in software standby mode. RAMER settings should be made in
user mode or user program mode.
Flash memory area divisions are shown in table 19.5. To ensure correct operation of the emulation
function, the ROM for which RAM emulation is performed should not be accessed immediately
after this register has been modified. Normal execution of an access immediately after register
modification is not guaranteed.
Rev. 5.00 Sep 11, 2006 page 740 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
Bit:
15
14
13
12
11
10
9
8
—
—
—
—
—
—
—
—
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R
R
R
R
R
Bit:
7
6
5
4
3
2
1
0
—
—
—
RAMAS
RAMS
RAM2
RAM1
RAM0
Initial value:
0
0
0
0
0
0
0
0
R/W:
R
R
R
R/W
R/W
R/W
R/W
R/W
Bits 15 to 5—Reserved: These bits are always read as 0.
Bit 4—RAM Address Select (RAMAS): Selects the RAM addresses to be used for flash memory
emulation. This bit is ignored in the on-chip ROM disabled modes (MCU modes 2, 3, and 4).
Bit 4: RAMAS
Description
0
RAM addresses H'FFFF8000 to H'FFFF8FFF are used for emulation
(Initial value)
1
RAM addresses H'FFFFA000 to H'FFFFAFFF are used for emulation
Bit 3—RAM Select (RAMS): Specifies selection or non-selection of flash memory emulation in
RAM. When RAMS = 1, all flash memory block are program/erase-protected. This bit is ignored
in the on-chip ROM disabled modes (MCU modes 2, 3, and 4).
Bit 3: RAMS
Description
0
Emulation not selected
Program/erase-protection of all flash memory blocks is disabled(Initial value)
1
Emulation selected
Program/erase-protection of all flash memory blocks is enabled
Rev. 5.00 Sep 11, 2006 page 741 of 916
REJ09B0332-0500
Section 19 256 kB Flash Memory (F-ZTAT)
Bits 2 to 0—Flash Memory Area Selection (RAM2 to RAM0): These bits are used together
with bit 3 to select the flash memory area to be overlapped with RAM. (See table 19.5.)
Table 19.5 Flash Memory Area Divisions
Addresses
Block Name
RAMS
RAM2
RAM1
RAM0
Addresses selected by RAMAS bit
4 kB RAM area
0
*
*
*
H'000000–H'000FFF
EB0 (4kB)
1
0
0
0
H'001000–H'001FFF
EB1 (4kB)
1
0
0
1
H'002000–H'002FFF
EB2 (4kB)
1
0
1
0
H'003000–H'003FFF
EB3 (4kB)
1
0
1
1
H'004000–H'004FFF
EB4 (4kB)
1
1
0
0
H'005000–H'005FFF
EB5 (4kB)
1
1
0
1
H'006000–H'006FFF
EB6 (4kB)
1
1
1
0
H'007000–H'007FFF
EB7 (4kB)
1
1
1
1
Legend:
*: Don’t care
19.6
On-Board Programming Modes
When pins are set to on-board programming mode and a reset start is executed, a transition is
made to the on-board programming state in which program/erase/verify operations can be
performed on the on-chip flash memory. There are two on-board programming modes: bo
Similar pages