HD6417032F16
HD6417032F16
HD6417032F16
Hardware Manual
ADE-602-062D
Rev. 5.0
9/25/01
Hitachi, Ltd.
1. Hitachi neither warrants nor grants licenses of any rights of Hitachi’s or any third party’s
patent, copyright, trademark, or other intellectual property rights for information contained in
this document. Hitachi bears no responsibility for problems that may arise with third party’s
rights, including intellectual property rights, in connection with use of the information
contained in this document.
2. Products and product specifications may be subject to change without notice. Confirm that you
have received the latest product standards or specifications before final design, purchase or
use.
3. Hitachi makes every attempt to ensure that its products are of high quality and reliability.
However, contact Hitachi’s sales office before using the product in an application that
demands especially high quality and reliability or where its failure or malfunction may directly
threaten human life or cause risk of bodily injury, such as aerospace, aeronautics, nuclear
power, combustion control, transportation, traffic, safety equipment or medical equipment for
life support.
4. Design your application so that the product is used within the ranges guaranteed by Hitachi
particularly for maximum rating, operating supply voltage range, heat radiation characteristics,
installation conditions and other characteristics. Hitachi bears no responsibility for failure or
damage when used beyond the guaranteed ranges. Even within the guaranteed ranges,
consider normally foreseeable failure rates or failure modes in semiconductor devices and
employ systemic measures such as fail-safes, so that the equipment incorporating Hitachi
product does not cause bodily injury, fire or other consequential damage due to operation of
the Hitachi product.
5. This product is not designed to be radiation resistant.
6. No one is permitted to reproduce or duplicate, in any form, the whole or part of this document
without written approval from Hitachi.
7. Contact Hitachi’s sales office for any questions regarding this document or Hitachi
semiconductor products.
Preface
The SH7032 and SH7034 are microprocessors that integrate peripheral functions necessary for
system configuration with a 32-bit internal architecture SH1-DSP CPU as its core.
The SH7032 and SH7034's on-chip peripheral functions include an interrupt controller, timers,
serial communication interfaces, a user break controller (UBC), a bus state controller (BSC), a
direct memory access controller (DMAC), and I/O ports, making it ideal for use as a
microcomputer in electronic devices that require high speed together with low power
consumption.
Intended Readership: This manual is intended for users undertaking the design of an application
system using the SH7032 and SH7034. 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 SH7032 and SH7034. 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.
Related Material: The latest information is available at our Web Site. Please make sure that you
have the most up-to-date information available.
http://www.hitachisemiconductor.com/
User's Manuals on the SH7032 and SH7034:
Application Note:
Table 1 describes how this manual is organized. Figure 1 shows the relationships between the
sections within this manual.
Abbrevi-
Category Section Title ation Contents
Overview 1. Overview — Features, internal block diagram, pin
layout, pin functions
CPU 2. CPU CPU Register configuration, data structure.
instruction features, instruction types,
instruction lists
Operating 3. Operating Modes — MCU mode, PROM mode
Modes
Internal 4. Exception — Resets, address errors, interrupts, trap
Modules Handling instructions, illegal instructions
5. Interrupt INTC NMI interrupts, user break interrupts, IRQ
Controller interrupts, on-chip module interrupts
6. User Break UBC Break address and break bus cycle
Controller selection
Clock 7. Clock Pulse CPG Crystal pulse generator, duty correction
Generator circuit
Buses 8. Bus State BSC Division of memory space, DRAM
Controller interface, refresh, wait state control, parity
control
9. Direct Memory DMAC Auto request, external request, on-chip
Access peripheral module request, cycle steal
Controller mode, burst mode
Timers 10. 16-Bit Integrated ITU Waveform output mode, input capture
Timer Pulse Unit function, counter clear function, buffer
operation, PWM mode, complementary
PWM mode, reset synchronized mode,
synchronized operation, phase counting
mode, compare match output mode
11. Programmable TPC Compare match output triggers, non-
Timing Pattern overlap operation
Controller
12. Watchdog Timer WDT Watchdog timer mode, interval timer mode
Data 13. Serial SCI Asynchronous mode, synchronous mode,
Processing Communication multiprocessor communication function
Interface
14. A/D Converter A/D Single mode, scan mode, activation by
external trigger
Table 1 Manual Organization (cont)
Abbrevi-
Category Section Title ation Contents
Pins 15. Pin Function PFC Pin function selection
Controller
16. Parallel I/O I/O I/O ports
Ports
Memory 17. ROM ROM PROM mode, high-speed programming
system
18. RAM RAM On-chip RAM
Power-Down 19. Power-Down — Sleep mode, standby mode
State State
Electrical 20. Electrical — Absolute maximum ratings, AC
Charact eris t ic s Characteristics characteristics, DC characteristics,
operation timing
1. Overview
3. Operating modes
4. Exception handling
Buses Timers
Memory
Data processing
17. ROM
The on-chip peripheral module registers are located in the on-chip peripheral module space (area
5: H'5000000–H'5FFFFFF), but since the actual register space is only 512 bytes, address bits
A23–A9 are ignored. 32k shadow areas in 512 byte units that contain exactly the same contents as
the actual registers are thus provided in the on-chip peripheral module space.
In this manual, register addresses are specified as though the on-chip peripheral module registers
were in the 512 bytes H'5FFFE00–H'5FFFFFF. Only the values of the A27–A24 and A8–A0 bits
are valid; the A23–A9 bits are ignored. When area H'5000000–H'50001FF is accessed, for
example, the result will be the same as when area H'5FFFE00–H'5FFFFFF is accessed. For more
details, see Section 8.3.5, Area Descriptions: Area 5.
List of Items Revised or Added for This Version
Description
Section Page Item (see Manual for details)
1.1 SuperH Microcomputer 6, 7 Table 1.2 Product Line SH7034B lineup added
Features
1.2 Block Diagram 8 Figure 1.1 Block Diagram Note 2 text partially
deleted
1.3.1 Pin Arrangement 9 Figure 1.2 Pin Arrangement Pin 1 position changed
(FP-112)
10 Figure 1.3 Pin Arrangement Pin 1 position changed
(TFP-120)
1.3.2 Pin Functions 12 Table 1.3 Pin Functions Amendment of
explanations in Notes
7.2.2 External Clock Input 97 Figure 7.5 Input Clock Input clock waveform
Waveform amended
Table 7.3 Input Clock Items and comments
Specifications added
7.3 Usage Notes 99 Figure 7.7 Duty Cycle Comments added
Correction Circuit Standard
Characteristics
13.2.8 Bit Rate Register 363 13.2.8 Bit Rate Register (BRR) Amendment of "SC11" to
(BRR) "SC10," and "SC12" to
"SC11" in Explanation
13.3.4 Synchronous 395 Figure 13.5 Example of SCI Figure amended
Operation Transmit Operation
20.1.3 AC Characteristics 475 Figure 20.1 EXTAL Input EXTAL input timing
(1) Clock Timing Timing amended
20.1.3 AC Characteristics 479,480, Table 20.6 Bus Timing (1) Comments added
481 Deletion of Figures 20.14
to 20.28 from the section
on read strobe delay time
Amendment of Note 4
482,483, Table 20.7 Bus Timing (2) Comments added
484 Addition of Figures 20.11
to 20.15 to the section on
read strobe delay time
Amendment of Note 4
488 Figure 20.11 DRAM Bus Figure amended
Cycle (Short-Pitch, Normal
Mode)
Description
Section Page Item (see Manual for details)
20.1.3 AC Characteristics 498,499, Table 20.8 Bus Timing (3) Comments added
500 Addition of Figures 20.24
to 20.28 to the section on
read strobe delay time
504 Figure 20.24 DRAM Bus Figure amended
Cycle (Short-Pitch, Normal
Mode)
507 Figure 20.26 DRAM Bus Amendment of "TRDS" to
Cycle: (Long-Pitch, Normal "TRSD"
Mode)
20.1.3 AC Characteristics 514 Figure 20.36 ITU Input/Output Amendment of "Output"
(5) 16-bit Integrated Timer Timing to "Input" on the lower
Pulse Unit Timing line
20.1.3 AC Characteristics 519 Figure 20.42 External Trigger Figure amended
(9) A/D Converter Timing Input Timing
20.2 SH7034B 3.3 V 20 MHz 522_556 all SH7034B electrical
Version Electrical characteristics added
Characteristics
Appendix A.2.5 Serial Status 571 Table A.7 SSR Bit Functions Deletion of (initial value)
Register (SSR) from "6. Receive data
register full (RDRF)"
Appendix A.2.44 DRAM Area 614 Table A.45 DCR Bit Functions Deletion of (initial value)
Control Register (DCR) from "12. Burst operation
enable (BE)"
Contents
Section 2 CPU...................................................................................................................... 17
2.1 Register Configuration ....................................................................................................... 17
2.1.1 General Registers (Rn).......................................................................................... 17
2.1.2 Control Registers................................................................................................... 18
2.1.3 System Registers ................................................................................................... 19
2.1.4 Initial Values of Registers ..................................................................................... 19
2.2 Data Formats ...................................................................................................................... 20
2.2.1 Data Format in Registers....................................................................................... 20
2.2.2 Data Format in Memory........................................................................................ 20
2.2.3 Immediate Data Format ........................................................................................ 21
2.3 Instruction Features ............................................................................................................ 21
2.3.1 RISC-Type Instruction Set.................................................................................... 21
2.3.2 Addressing Modes................................................................................................. 24
2.3.3 Instruction Formats ............................................................................................... 27
2.4 Instruction Set .................................................................................................................... 31
2.4.1 Instruction Set by Classification ........................................................................... 31
2.4.2 Operation Code Map ............................................................................................. 42
2.5 CPU State ........................................................................................................................... 45
2.5.1 State Transitions.................................................................................................... 45
2.5.2 Power-Down State ................................................................................................ 48
i
4.1.1 Exception Handling Types and Priorities.............................................................. 51
4.1.2 Exception Handling Operation.............................................................................. 53
4.1.3 Exception Vector Table ........................................................................................ 54
4.2 Resets.................................................................................................................................. 56
4.2.1 Reset Types ........................................................................................................... 56
4.2.2 Power-On Reset .................................................................................................... 57
4.2.3 Manual Reset......................................................................................................... 57
4.3 Address Errors.................................................................................................................... 58
4.3.1 Address Error Sources .......................................................................................... 58
4.3.2 Address Error Exception Handling ....................................................................... 58
4.4 Interrupts ............................................................................................................................ 59
4.4.1 Interrupt Sources ................................................................................................... 59
4.4.2 Interrupt Priority Rankings.................................................................................... 59
4.4.3 Interrupt Exception Handling................................................................................ 60
4.5 Instruction Exceptions........................................................................................................ 61
4.5.1 Types of Instruction Exceptions............................................................................ 61
4.5.2 Trap Instruction ..................................................................................................... 61
4.5.3 Illegal Slot Instruction ........................................................................................... 62
4.5.4 General Illegal Instructions ................................................................................... 62
4.6 Cases in which Exceptions are Not Accepted .................................................................... 63
4.6.1 Immediately after Delayed Branch Instruction ..................................................... 63
4.6.2 Immediately after Interrupt-Disabling Instruction ................................................ 63
4.7 Stack Status after Exception Handling ............................................................................... 64
4.8 Notes................................................................................................................................... 65
4.8.1 Value of the Stack Pointer (SP) ............................................................................ 65
4.8.2 Value of the Vector Base Register (VBR) ............................................................ 65
4.8.3 Address Errors Caused by Stacking During Address Error
Exception Handling............................................................................................... 65
iv
Section 9 Direct Memory Access Controller (DMAC) .......................................... 175
9.1 Overview ............................................................................................................................ 175
9.1.1 Features ................................................................................................................. 175
9.1.2 Block Diagram ...................................................................................................... 176
9.1.3 Pin Configuration .................................................................................................. 178
9.1.4 Register Configuration .......................................................................................... 179
9.2 Register Descriptions.......................................................................................................... 180
9.2.1 DMA Source Address Registers 0–3 (SAR0–SAR3) ........................................... 180
9.2.2 DMA Destination Address Registers 0–3 (DAR0–DAR3) .................................. 180
9.2.3 DMA Transfer Count Registers 0–3 (TCR0–TCR3) ............................................ 181
9.2.4 DMA Channel Control Registers 0–3 (CHCR0–CHCR3).................................... 181
9.2.5 DMA Operation Register (DMAOR).................................................................... 186
9.3 Operation ............................................................................................................................ 188
9.3.1 DMA Transfer Flow.............................................................................................. 188
9.3.2 DMA Transfer Requests........................................................................................ 190
9.3.3 Channel Priority .................................................................................................... 192
9.3.4 DMA Transfer Types ............................................................................................ 197
9.3.5 Number of Bus Cycle States and DREQ Pin Sample Timing............................... 204
9.3.6 DMA Transfer Ending Conditions........................................................................ 212
9.4 Examples of Use................................................................................................................. 213
9.4.1 DMA Transfer between On-Chip RAM and Memory-Mapped
External Device ..................................................................................................... 213
9.4.2 Example of DMA Transfer between On-Chip SCI and External Memory........... 214
9.4.3 Example of DMA Transfer Between On-Chip A/D Converter and
External Memory .................................................................................................. 215
9.5 Usage Notes........................................................................................................................ 216
ix
Section 19 Power-Down State .......................................................................................... 459
19.1 Overview ............................................................................................................................ 459
19.1.1 Power-Down Modes.............................................................................................. 459
19.1.2 Register.................................................................................................................. 460
19.2 Standby Control Register (SBYCR) .................................................................................. 460
19.3 Sleep Mode......................................................................................................................... 461
19.3.1 Transition to Sleep Mode ...................................................................................... 461
19.3.2 Exiting Sleep Mode............................................................................................... 461
19.4 Standby Mode .................................................................................................................... 461
19.4.1 Transition to Standby Mode.................................................................................. 461
19.4.2 Exiting Standby Mode .......................................................................................... 463
19.4.3 Standby Mode Application.................................................................................... 463
xii
A.2.74 Next Data Register B (NDRB)
(When the Output Triggers of TPC Output Groups 2 and 3 are Different) .......... 644
A.2.75 Next Data Register B (NDRB)
(When the Output Triggers of TPC Output Groups 2 and 3 are Different) .......... 644
A.3 Register Status in Reset and Power-Down States .............................................................. 645
xiii
xiv
Section 1 Overview
SuperH microcomputers (SH7000 series) comprise a new generation of reduced instruction set
computers (RISC) in which a Hitachi-original CPU and the peripheral functions required for
system configuration are integrated onto a single chip.
The CPU has a RISC-type instruction set. Most instructions can be executed in one system clock
cycle, which strikingly improves instruction execution speed. In addition, the CPU has a 32-bit
internal architecture for enhanced data-processing ability. As a result, the CPU enables high-
performance systems to be constructed with advanced functionality at low cost, even in
applications such as realtime control that require very high speeds, an impossibility with
conventional microcomputers.
For on-chip ROM, masked ROM or electrically programmable ROM (PROM) can be selected.
The PROM version can be programmed by users with a general-purpose PROM programmer.
Table 1.1 lists the features of the SH microcomputers (SH7032 and SH7034).
1
Table 1.1 Features of the SH7032 and SH7034 Microcomputers
Feature Description
CPU Original Hitachi architecture
32-bit internal data paths
General-register machine:
• Sixteen 32-bit general registers
• Three 32-bit control registers
• Four 32-bit system registers
Power-down states:
• Sleep mode
• Software standby mode
2
Table 1.1 Features of the SH7032 and SH7034 Microcomputers (cont)
Feature Description
Interrupt controller Nine external interrupt pins (NMI, IRQ0–IRQ7)
(INTC) Thirty-one internal interrupt sources
Sixteen programmable priority levels
User break controller Generates an interrupt when the CPU or DMAC generates a bus cycle
(UBC) with specified conditions
Simplifies configuration of an on-chip debugger
Clock pulse generator On-chip clock pulse generator (maximum operating frequency: 20 MHz):
(CPG)
• 20-MHz pulses can be generated from a 20-MHz crystal with a duty
cycle correcting circuit
Address space divided into eight areas with the following preset features:
• Bus size (8 or 16 bits)
• Number of wait cycles can be defined by user.
• Type of area (external memory area, DRAM area, etc.)
Simplifies connection to ROM, SRAM, DRAM, and peripheral I/O
• When the DRAM area is accessed:
RAS and CAS signals for DRAM are output
Tp cycles can be generated to assure RAS precharge time
Address multiplexing is supported internally, so DRAM can be
connected directly
• Chip select signals (CS0 to CS7) are output for each area
3
Table 1.1 Features of the SH7032 and SH7034 Microcomputers (cont)
Feature Description
Direct memory Permits DMA transfer between the following modules:
access
• External memory
controller (DMAC)
(4 channels) • External I/O
• On-chip memory
• Peripheral on-chip modules (except DMAC)
DMA transfer can be requested from external pins, on-chip SCI, on-chip
timers, and on-chip A/D converter
Cycle-steal mode or burst mode
Channel priority level is selectable
Channels 0 and 1: dual or single address transfer mode is selectable;
external request sources are supported; channels 2 and 3: dual address
transfer mode, internal request sources only
16-bit integrated Ten types of waveforms can be output
t imer pulse unit (ITU) Input pulse width and cycle can be measured
PWM mode: pulse output with 0–100% duty cycle (maximum resolution:
50 ns)
Complementary PWM mode: can output a maximum of three pairs of non-
overlapping PWM waveforms
Phase counting mode: can count up or down according to the phase of an
external two-phase clock
Timing pattern Maximum 16-bit output (4 bits × 4 channels) can be output
controller (TPC) Non-overlap intervals can be established between pairs of waveforms
Timing-source timer is selectable
Watchdog timer Can be used as watchdog timer or interval timer
(WDT) (1 channel) Timer overflow can generate an internal reset, external signal, or interrupt
Power-on reset or manual reset can be selected as the internal reset
Serial communication Asynchronous or synchronous mode is selectable
interface (SCI)
Can transmit and receive simultaneously (full duplex)
(2 channels)
On-chip baud rate generator in each channel
Multiprocessor communication function
A/D converter Ten bits × 8 channels
Can be externally triggered
Variable reference voltage
4
Table 1.1 Features of the SH7032 and SH7034 Microcomputers (cont)
Feature Description
I/O ports Total of 40 I/O lines (32 input/output lines, 8 input-only lines):
• Port A: 16 input/output lines (input or output can be selected for each
bit)
• Port B: 16 input/output lines (input or output can be selected for each
bit)
• Port C: 8 input lines
Large on-chip SH7034 (on-chip ROM version): 64-kbyte electrically programmable ROM
memory or masked ROM, and 4-kbyte RAM
SH7032 (ROMless version): 8-kbyte RAM
32-bit data can be accessed in one clock cycle
5
Table 1.2 Product Line
Product On-Chip Operating Operating Temperature
Number ROM Voltage Frequency Range Model Marking Model No. Package
SH7034 PROM 5.0 V 2 to 20 MHz -20 to +75 °C HD6477034F20 HD6477034F20 112-pin plastic
6
Table 1.2 Product Line (cont)
Product On-Chip Operating Operating Temperature
Number ROM Voltage Frequency Range Model Marking Model No. Package
SH7032 ROMless 5.0 V 2 to 20 MHz -20 to +75 °C HD6417032F20 HD6417032F20 112-pin plastic
7
1.2 Block Diagram
PA13/IRQ1/DREQ0/TCLKB
PA12/IRQ0/DACK0/TCLKA
PA9/AH/IRQOUT/ADTRG
PA15/IRQ3/DREQ1
PA11/DPH/TIOCB1
PA14/IRQ2/DACK1
PA10/DPL/TIOCA1
PA2/CS6/TIOCB0
PA0/CS4/TIOCA0
PA5/WRH (LBS)
PA4/WRL (WR)
PA3/CS7/WAIT
PA1/CS5/RAS
CS1/CASH
PA8/BREQ
PA7/BACK
CS3/CASL
PA6/RD
CS2
CS0
A21
A20
A19
A18
A17
A16
Port A Address
A15
RES A14
WDTOVF A13
MD2
A12
MD1 PROM or
RAM*1 A11
masked ROM*1
MD0 ;;;;
;;
;;;; ;;
;;;; A10
NMI ;;
;;;; ;;
;;;; A9
;;;; ;; ;;
;;;; ;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Clock pulse
Address
CK ;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; A8
generator
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EXTAL A7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XTAL ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Direct
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
A6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;; memory
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; A5
VCC(VPP)*2
CPU
;;;;;;;;;;;
;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
access
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
A4
controller
VCC ;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; A3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
VCC ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; A2
VCC Interrupt User
break Bus state controller A1
VCC controller controller
VCC A0 (HBS)
VCC
VCC Serial communi- 16-bit AD15
VSS cation interface integrated timer AD14
VSS (2 channels) pulse unit
AD13
VSS
VSS AD12
Programmable A/D AD11
VSS timing pattern Watchdog
VSS converter timer AD10
controller
VSS
Data/address
AD9
VSS
AD8
VSS
VSS AD7
AD6
AD5
AVref Port C Port B
AD4
AVCC
AVSS AD3
PB15/TP15/IRQ7
PB14/TP14/IRQ6
PB13/TP13/IRQ5/SCK1
PB12/TP12/IRQ4/SCK0
PB11/TP11/TxD1
PB10/TP10/RxD1
PB9/TP9/TxD0
PB8/TP8/RxD0
PB7/TP7/TOCXB4/TCLKD
PB6/TP6/TOCXA4/TCLKC
PC7/AN7
PC6/AN6
PC5/AN5
PC4/AN4
PC3/AN3
PC2/AN2
PC1/AN1
PC0/AN0
PB5/TP5/TIOCB4
PB4/TP4/TIOCA4
PB3/TP3/TIOCB3
PB2/TP2/TIOCA3
PB1/TP1/TIOCB2
PB0/TP0/TIOCA2
AD2
AD1
AD0
Notes: 1. The SH7032 has 8 kB of RAM and no PROM or masked ROM. The SH7034 has 4
kB of RAM and 64 kB of PROM or masked ROM.
2. VPP: SH7034 (PROM version)
PA12/IRQ0/DACK0*2/TCLKA
PA13/IRQ1/DREQ0/TCLKB
PA14/IRQ2/DACK1*2
PA9/AH/IRQOUT/ADTRG
PA15/IRQ3/DREQ1
PA11/DPH/TIOCB1
PA10/DPL/TIOCA1
PA5/WRH (LBS)
PA4/WRL (WR)
VCC (VPP)*1
PA8/BREQ
PA7/BACK
WDTOVF
PA6/RD
EXTAL
XTAL
MD2
MD1
MD0
RES
NMI
VCC
VCC
VCC
VCC
VSS
VSS
CK
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
AVCC 85 56 PA3/CS7/WAIT
AVref 86 55 PA2/CS6/TIOCB0
PC0/AN0 87 54 PA1/CS5/RAS
PC1/AN1 88 53 PA0/CS4/TIOCA0
PC2/AN2 89 52 VSS
PC3/AN3 90 51 CS3/CASL
AVSS 91 50 CS2
PC4/AN4 92 49 CS1/CASH
PC5/AN5 93 48 CS0
PC6/AN6 94 47 A21
PC7/AN7 95 46 A20
VSS 96 45 A19
PB0/TP0/TIOCA2 97 44 A18
PB1/TP1/TIOCB2 98 Top view 43 VCC
VCC 99 (FP-112) 42 A17
PB2/TP2/TIOCA3 100 41 A16
PB3/TP3/TIOCB3 101 40 VSS
PB4/TP4/TIOCA4 102 39 A15
PB5/TP5/TIOCB4 103 38 A14
PB6/TP6/TOCXA4/TCLKC 104 37 A13
PB7/TP7/TOCXB4/TCLKD 105 36 A12
VSS 106 35 A11
PB8/TP8/RxD0 107 34 A10
PB9/TP9/TxD0 108 33 A9
PB10/TP10/RxD1 109 32 A8
PB11/TP11/TxD1 110 31 VSS
PB12/TP12/IRQ4/SCK0 111 30 A7
PB13/TP13/IRQ5/SCK1 112 29 A6
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
PB14/TP14/IRQ6
PB15/TP15/IRQ7
VSS
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
VSS
AD8
AD9
VCC
AD10
AD11
AD12
AD13
AD14
AD15
VSS
A0(HBS)
A1
A2
A3
A4
A5
9
PA12/IRQ0/DACK0*2/TCLKA
PA13/IRQ1/DREQ0/TCLKB
PA9/AH/IRQOUT/ADTRG
PA14/IRQ2/DACK1*2
PA15/IRQ3/DREQ1
PA11/DPH/TIOCB1
PA10/DPL/TIOCA1
PA5/WRH (LBS)
PA4/WRL (WR)
VCC (VPP)*1
PA8/BREQ
PA7/BACK
WDTOVF
PA6/RD
EXTAL
XTAL
NC*3
NC*3
MD2
MD1
MD0
RES
NMI
VCC
VCC
VCC
VCC
VSS
VSS
CK
NC*3
90
89
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
AVCC 91 60
AVref 92 59 PA3/CS7/WAIT
PC0/AN0 93 58 PA2/CS6/TIOCB0
PC1/AN1 94 57 PA1/CS5/RAS
PC2/AN2 95 56 PA0/CS4/TIOCA0
PC3/AN3 96 55 VSS
AVSS 97 54 CS3/CASL
PC4/AN4 98 53 CS2
PC5/AN5 99 52 CS1/CASH
PC6/AN6 100 51 CS0
PC7/AN7 101 50 A21
VSS 102 49 A20
PB0/TP0/TIOCA2 103 48 A19
NC*3 104 Top view 47 A18
PB1/TP1/TIOCB2 105 (TFP-120) 46 VCC
VCC 106 45 A17
PB2/TP2/TIOCA3 107 44 A16
PB3/TP3/TIOCB3 108 43 VSS
PB4/TP4/TIOCA4 109 42 A15
PB5/TP5/TIOCB4 110 41 A14
PB6/TP6/TOCXA4/TCLKC 111 40 A13
PB7/TP7/TOCXB4/TCLKD 112 39 A12
VSS 113 38 A11
PB8/TP8/RxD0 114 37 A10
PB9/TP9/TxD0 115 36 A9
PB10/TP10/RxD1 116 35 A8
PB11/TP11/TxD1 117 34 VSS
PB12/TP12/IRQ4/SCK0 118 33 A7
PB13/TP13/IRQ5/SCK1 119 32 A6
NC*3 120 31 NC*3
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
NC*3
PB14/TP14/IRQ6
PB15/TP15/IRQ7
VSS
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
VSS
AD8
AD9
VCC
AD10
AD11
AD12
AD13
AD14
AD15
VSS
A0(HBS)
A1
A2
A3
A4
A5
NC*3
10
1.3.2 Pin Functions
11
Table 1.3 Pin Functions (cont)
12
Table 1.3 Pin Functions (cont)
13
Table 1.3 Pin Functions (cont)
Serial com- TxD0, 108, 110 115, 117 O Transmit data (channels 0 and 1): Transmit
munication TxD1 data output pins for SCI0 and SCI1.
interface RxD0, 107, 109 114, 116 I Receive data (channels 0 and 1): Receive
(SCI) RxD1 data input pins for SCI0 and SCI1.
SCK0, 111, 112 118, 119 I/O Serial clock (channels 0 and 1): Clock
SCK1 input/output pins for SCI0 and SCI1.
A/D AN7– 95–92, 101–98, I Analog input: Analog signal input pins.
converter AN0 90–87 96–93
ADTRG 63 68 I A/D trigger input: External trigger input for
starting A/D conversion.
AVref 86 92 I Analog reference power supply: Input pin for
the analog reference voltage.
AVCC 85 91 I Analog power supply: Power supply pin for
analog circuits. Connect to the V CC potential.
I/O ports PA15– 69–62, 74–67, I/O Port A: 16-bit input/output pins. Input or output
PA0 60–53 65–62, can be selected individually for each bit.
59–56
PB15– 2, 1, 3, 2, I/O Port B: 16-bit input/output pins. Input or output
PB0 112–107, 119–114, can be selected individually for each bit.
105–100, 112–107,
98, 97 105, 103
PC7– 95–92, 101–98, I Port C: 8-bit input pins.
PC0 90–87 96–93
14
1.3.3 Pin Layout by Mode
— 1 NC NC — 31 NC NC
1 2 PB14/TP14/IRQ6 NC 29 32 A6 A6
2 3 PB15/TP15/IRQ7 NC 30 33 A7 A7
3 4 V SS V SS 31 34 V SS V SS
4 5 AD0 D0 32 35 A8 A8
5 6 AD1 D1 33 36 A9 OE
12 13 V SS V SS 40 43 V SS V SS
13 14 AD8 NC 41 44 A16 A16
14 15 AD9 NC 42 45 A17 V CC
15 16 V CC V CC 43 46 V CC V CC
16 17 AD10 NC 44 47 A18 V CC
17 18 AD11 NC 45 48 A19 NC
18 19 AD12 NC 46 49 A20 NC
19 20 AD13 NC 47 50 A21 NC
20 21 AD14 NC 48 51 CS0 NC
21 22 AD15 NC 49 52 CS1/CASH NC
22 23 V SS V SS 50 53 CS2 NC
23 24 A0 (HBS) A0 51 54 CS3/CASL NC
24 25 A1 A1 52 55 V SS V SS
25 26 A2 A2 53 56 PA0/CS4/TIOCA0 NC
26 27 A3 A3 54 57 PA1/CS5/RAS NC
27 28 A4 A4 55 58 PA2/CS6/TIOCB0 PGM
28 29 A5 A5 56 59 PA3/CS7/WAIT CE
— 30 NC NC — 60 NC NC
15
Table 1.4 Pin Layout by Mode (cont)
— 61 NC NC 85 91 AVCC V CC
59 64 PA6/RD NC 88 94 PC1/AN1 V SS
60 65 PA7/BACK NC 89 95 PC2/AN2 V SS
61 66 V SS V SS 90 96 PC3/AN3 V SS
62 67 PA8/BREQ NC 91 97 AVSS V SS
63 68 PA9/AH/IRQOUT/ NC 92 98 PC4/AN4 V SS
ADTRG
64 69 PA10/DPL/TIOCA1 NC 93 99 PC5/AN5 V SS
67 72 PA13/IRQ1/DREQ0/ NC 96 102 V SS V SS
TCLKB
69 74 PA15/IRQ3/DREQ1 NC — 104 NC NC
70 75 V CC V CC 98 105 PB1/TP1/TIOCB2 NC
71 76 CK NC 99 106 V CC V CC
— 90 NC NC — 120 NC NC
16
Section 2 CPU
The register set consists of sixteen 32-bit general registers, three 32-bit control registers, and four
32-bit system registers.
General registers Rn consist of sixteen 32-bit registers (R0–R15). General registers are used for
data processing and address calculation. Register R0 also functions as an index register. For some
instructions, the R0 register must be used. Register R15 functions as a stack pointer to save or
restore status registers (SR) and the program counter (PC) during exception handling.
31 0
R0 R0 functions as an index register
R1 in the indexed register addressing
mode and indirect indexed GBR
R2
addressing mode. In some instruc-
R3 tions, R0 functions as a source
R4 register or a destination register.
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15, SP (hardware stack pointer) R15 functions as a stack pointer (SP)
during exception handling.
17
2.1.2 Control Registers
Control registers consist of the 32-bit status register (SR), global base register (GBR), and vector
base register (VBR). The status register indicates processing states. The global base register
functions as a base address for the indirect GBR addressing mode to transfer data to the registers
of on-chip supporting modules. The vector base register functions as the base address of the
exception vector area including interrupts.
31 9 8 7 6 5 4 32 1 0
SR M QI3 I2 I1 I0 ST SR: Status register
18
2.1.3 System Registers
System registers consist of four 32-bit registers: multiply and accumulate registers high and low
(MACH and MACL), procedure register (PR), and program counter (PC). The multiply and
accumulate registers store the results of multiply and accumulate operations. The procedure
register stores the return address for a subroutine procedure. The program counter stores program
addresses to control the flow of the processing.
31 0
Procedure register (PR): Stores the return
PR
address for a subroutine procedure.
19
2.2 Data Formats
Register operands are always longwords (32 bits). When the memory operand is only a byte (8
bits) or a word (16 bits), it is sign-extended into a longword when stored into a register (figure
2.4).
31 0
Longword
Memory data formats are classified into bytes, words, and longwords. Byte data can be accessed
from any address, but an address error will occur if an attempt is made to access word data starting
from an address other than 2n or longword data starting from an address other than 4n. In such
cases, the data accessed cannot be guaranteed. The hardware stack area, which is referred to by the
hardware stack pointer (SP, R15), uses only longword data starting from address 4n because this
area stores the program counter and status register (figure 2.5).
Address m + 1 Address m + 3
Address m Address m + 2
31 23 15 7 0
7 Byte 0 7 Byte 0 7 Byte 0 7 Byte 0
Address 2n 15 Word 0 15 Word 0
Address 4n 31 Longword 0
20
2.2.3 Immediate Data Format
Byte (8-bit) immediate data is located in the instruction code. Immediate data accessed by the
MOV, ADD, and CMP/EQ instructions is sign-extended and is handled in registers as longword
data. Immediate data accessed by the TST, AND, OR, and XOR instructions is zero-extended and
is handled as longword data. Consequently, AND instructions with immediate data always clear
the upper 24 bits of the destination register.
Word or longword immediate data is not located in the instruction code but rather is stored in a
memory table. The memory table is accessed by an immediate data transfer instruction (MOV)
using the PC relative addressing mode with displacement.
16-Bit Fixed Length: Every instruction is 16 bits long, making program coding much more
efficient.
One Instruction/Cycle: Basic instructions can be executed in one cycle using a pipeline system.
One-cycle instructions are executed in 50 ns at 20 MHz.
Data Length: Longword is the standard data length for all operations. Memory can be accessed in
bytes, words, or longwords. Byte or word data accessed from memory is sign-extended and
handled as longword data. Immediate data is sign-extended for arithmetic operations or zero-
extended for logic operations (handled as longword data).
21
Load-Store Architecture: Basic operations are executed between registers. For operations that
involve memory, data is loaded into to the registers and executed (load-store architecture).
Instructions such as AND that manipulate bits, however, are executed directly in memory.
Delayed Branch Instructions: Unconditional branch instructions are delayed. Pipeline disruption
during branching is reduced by first executing the instruction that follows the branch instruction,
and then branching. See the SH-1/SH-2 Programming Manual for details.
T bit: T bit (in the status register) is set according to the result of a comparison, and in turn is the
condition (True/False) that determines if the program will branch. The T bit in the status register is
only changed by selected instructions, thus improving the processing speed.
Immediate Data: Byte (8-bit) immediate data is located in the instruction code. Word or
longword immediate data is not located in instruction codes but is stored in a memory table. The
memory table is accessed by an immediate data transfer instruction (MOV) using the PC relative
addressing mode with displacement.
22
Table 2.5 Immediate Data Accessing
Absolute Address: When data is accessed by absolute address, the value already in the absolute
address is placed in the memory table. By loading the immediate data when the instruction is
executed, that value is transferred to the register and the data is accessed in the indirect register
addressing mode.
16/32-Bit Displacement: When data is accessed by 16-bit or 32-bit displacement, the pre-existing
displacement value is placed in the memory table. By loading the immediate data when the
instruction is executed, that value is transferred to the register and the data is accessed in the
indirect indexed register addressing mode.
23
2.3.2 Addressing Modes
Addressing modes and effective address calculation are described in table 2.8.
Addressing Mnemonic
Mode Expression Effective Addresses Calculation Equation
Direct Rn The effective address is register Rn. (The operand —
register is the contents of register Rn.)
addressing
Indirect @Rn The effective address is the contents of register Rn. Rn
register
addressing Rn Rn
1/2/4 Longword:
Rn + 4 → Rn
Pre-decre- @–Rn The effective address is the value obtained by Byte: Rn – 1
ment subtracting a constant from Rn. 1 is subtracted for → Rn
indirect a byte operation, 2 for a word operation, and 4 for a Word: Rn – 2
register longword operation. → Rn
addressing
Rn Longword:
Rn – 4 → Rn
Rn – 1/2/4
– Rn – 1/2/4 (Instruction
executed
1/2/4 with Rn after
calculation)
24
Table 2.8 Addressing Modes and Effective Addresses (cont)
Addressing Mnemonic
Mode Expression Effective Addresses Calculation Equation
Indirect @(disp:4, Rn) The effective address is Rn plus a 4-bit Byte: Rn +
register displacement (disp). disp is zero-extended, and disp
addressing remains the same for a byte operation, is doubled Word: Rn +
with for a word operation, and is quadrupled for a disp × 2
displace- longword operation.
ment Longword:
Rn Rn + disp × 4
1/2/4
Indirect @(disp:8, The effective address is the GBR value plus an 8- Byte: GBR +
GBR GBR) bit displacement (disp). The value of disp is zero- disp
addressing extended, and remains the same for a byte Word: GBR +
with operation, is doubled for a word operation, and is disp × 2
displace- quadrupled for a longword operation.
ment Longword:
GBR GBR + disp ×
4
disp + GBR
(zero-extended) + disp × 1/2/4
×
1/2/4
Indirect @(R0, GBR) The effective address is the GBR value plus the R0 GBR + R0
indexed value.
GBR
addressing GBR
+ GBR + R0
R0
25
Table 2.8 Addressing Modes and Effective Addresses (cont)
Addressing Mnemonic
Mode Expression Effective Addresses Calculation Equation
PC relative @(disp:8, PC) The effective address is the PC value plus an 8-bit Word: PC +
addressing displacement (disp). disp is zero-extended, is disp × 2
with dis- doubled for a word operation, and is quadrupled for Longword:
placement a longword operation. For a longword operation, PC &
the lowest two bits of the PC are masked. H'FFFFFFFC
PC + disp × 4
& *
PC + disp × 2
H'FFFFFFFC or
+
PC & H'FFFFFFFC
disp + disp × 4
(zero-extended)
×
2/4
*: For longword
PC relative disp:8 The effective address is the PC value sign- PC + disp ×
addressing extended with an 8-bit displacement (disp), 2
doubled, and added to the PC.
PC
disp + PC + disp × 2
(zero-extended)
×
PC
disp + PC + disp × 2
(zero-extended)
×
26
Table 2.8 Addressing Modes and Effective Addresses (cont)
Addressing Mnemonic
Mode Expression Effective Addresses Calculation Equation
Immediate #imm:8 The 8-bit immediate data (imm) for the TST, AND, —
addressing OR, and XOR instructions is zero-extended.
#imm:8 The 8-bit immediate data (imm) for the MOV, ADD, —
and CMP/EQ instructions is sign-extended.
#imm:8 Immediate data (imm) for the TRAPA instruction is —
zero-extended and is quadrupled.
The instruction format refers to the source operand and the destination operand. The meaning of
the operand depends on the instruction code. Symbols are as follows.
27
Table 2.9 Instruction Formats
Destination
Instruction Format Source Operand Operand Example
0 format — — NOP
15 0
xxxx xxxx xxxx xxxx
28
Table 2.9 Instruction Formats (cont)
Destination
Instruction Format Source Operand Operand Example
nm format mmmm: Register nnnn: Register ADD Rm,Rn
direct direct
29
Table 2.9 Instruction Formats (cont)
Destination
Instruction Format Source Operand Operand Example
d format dddddddd: GBR R0 (Register MOV.L
15 0 indirect with direct) @(disp,GBR),R0
displacement
xxxx xxxx dddd dddd
30
2.4 Instruction Set
31
Table 2.10 Classification of Instructions (cont)
32
The following tables (arranged by instruction classification) show instruction codes, operations,
and execution states, using the format shown below.
Execu-
tion
Instruction Instruction Code Operation Cycles T Bit
MOV #imm,Rn 1110nnnniiiiiiii #imm → Sign extension → 1 —
Rn
MOV.W @(disp,PC),Rn 1001nnnndddddddd (disp × 2 + PC) → Sign 1 —
extension → Rn
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 → 1 —
Rn
MOV.W @Rm,Rn 0110nnnnmmmm0001 (Rm) → Sign extension → 1 —
Rn
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 → 1 —
Rn, Rm + 1 → Rm
MOV.W @Rm+,Rn 0110nnnnmmmm0101 (Rm) → Sign extension → 1 —
Rn, Rm + 2 → Rm
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 1 —
extension → R0
MOV.W @(disp,Rm),R0 10000101mmmmdddd (disp × 2 + Rm) → Sign 1 —
extension → R0
MOV.L @(disp,Rm),Rn 0101nnnnmmmmdddd (disp × 4 + Rm) → Rn 1 —
MOV.B Rm,@(R0,Rn) 0000nnnnmmmm0100 Rm → (R0 + Rn) 1 —
MOV.W Rm,@(R0,Rn) 0000nnnnmmmm0101 Rm → (R0 + Rn) 1 —
34
Table 2.12 Data Transfer Instructions (cont)
Execu-
tion
Instruction Instruction Code Operation Cycles T Bit
MOV.L Rm,@(R0,Rn) 0000nnnnmmmm0110 Rm → (R0 + Rn) 1 —
MOV.B @(R0,Rm),Rn 0000nnnnmmmm1100 (R0 + Rm) → Sign 1 —
extension → Rn
MOV.W @(R0,Rm),Rn 0000nnnnmmmm1101 (R0 + Rm) → Sign 1 —
extension → Rn
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 1 —
extension → R0
MOV.W @(disp,GBR),R0 11000101dddddddd (disp × 2 + GBR) → Sign 1 —
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 the bottom 1 —
two bytes → Rn
SWAP.W Rm,Rn 0110nnnnmmmm1001 Rm → Swap two 1 —
consecutive words → Rn
XTRCT Rm,Rn 0010nnnnmmmm1101 Rm: Center 32 bits of Rn 1 —
→ Rn
35
Table 2.13 Arithmetic Instructions
Execution
Instruction Instruction Code Operation Cycles T Bit
ADD Rm,Rn 0011nnnnmmmm1100 Rn + Rm → Rn 1 —
ADD #imm,Rn 0111nnnniiiiiiii Rn + imm → Rn 1 —
ADDC Rm,Rn 0011nnnnmmmm1110 Rn + Rm + T → Rn, 1 Carry
Carry → T
ADDV Rm,Rn 0011nnnnmmmm1111 Rn + Rm → Rn, 1 Overflow
Overflow → T
CMP/EQ #imm,R0 10001000iiiiiiii If R0 = imm, 1 → T 1 Comparison
result
CMP/EQ Rm,Rn 0011nnnnmmmm0000 If Rn = Rm, 1 → T 1 Comparison
result
CMP/HS Rm,Rn 0011nnnnmmmm0010 If Rn ≥ Rm with 1 Comparison
unsigned data, 1 → T result
CMP/GE Rm,Rn 0011nnnnmmmm0011 If Rn ≥ Rm with signed 1 Comparison
data, 1 → T result
CMP/HI Rm,Rn 0011nnnnmmmm0110 If Rn > Rm with 1 Comparison
unsigned data, 1 → T result
CMP/GT Rm,Rn 0011nnnnmmmm0111 If Rn > Rm with signed 1 Comparison
data, 1 → T result
CMP/PZ Rn 0100nnnn00010001 If Rn ≥ 0, 1 → T 1 Comparison
result
CMP/PL Rn 0100nnnn00010101 If Rn > 0, 1 → T 1 Comparison
result
CMP/STR Rm,Rn 0010nnnnmmmm1100 If Rn and Rm have an 1 Comparison
equivalent byte, 1 → T result
DIV1 Rm,Rn 0011nnnnmmmm0100 Single-step division 1 Calculation
(Rn/Rm) result
DIV0S Rm,Rn 0010nnnnmmmm0111 MSB of Rn → Q, MSB 1 Calculation
of Rm → M, M ^ Q → T result
DIV0U 0000000000011001 0 → M/Q/T 1 0
EXTS.B Rm,Rn 0110nnnnmmmm1110 A byte in Rm is sign- 1 —
extended → Rn
36
Table 2.13 Arithmetic Instructions (cont)
Execution
Instruction Instruction Code Operation Cycles T Bit
EXTS.W Rm,Rn 0110nnnnmmmm1111 A word in Rm is sign- 1 —
extended → Rn
EXTU.B Rm,Rn 0110nnnnmmmm1100 A byte in Rm is zero- 1 —
extended → Rn
EXTU.W Rm,Rn 0110nnnnmmmm1101 A word in Rm is zero- 1 —
extended → Rn
MAC.W @Rm+,@Rn+ 0100nnnnmmmm1111 Signed operation of 3/(2)* —
(Rn) × (Rm) + MAC →
MAC
MULS Rm,Rn 0010nnnnmmmm1111 Signed operation of 1–3* —
Rn × Rm → MAC
MULU Rm,Rn 0010nnnnmmmm1110 Unsigned operation of 1–3* —
Rn × Rm → MAC
NEG Rm,Rn 0110nnnnmmmm1011 0–Rm → Rn 1 —
NEGC Rm,Rn 0110nnnnmmmm1010 0–Rm–T → Rn, 1 Borrow
Borrow → T
SUB Rm,Rn 0011nnnnmmmm1000 Rn–Rm → Rn 1 —
SUBC Rm,Rn 0011nnnnmmmm1010 Rn–Rm–T → Rn, 1 Borrow
Borrow → T
SUBV Rm,Rn 0011nnnnmmmm1011 Rn–Rm → Rn, 1 Underflow
Underflow → T
Note: * The normal minimum number of cycles (numbers in parenthesis represent the number of
cycles when there is contention with preceding or following instructions).
37
Table 2.14 Logic Operation Instructions
Execution
Instruction Instruction Code Operation Cycles T Bit
AND Rm,Rn 0010nnnnmmmm1001 Rn & Rm → Rn 1 —
AND #imm,R0 11001001iiiiiiii R0 & imm → R0 1 —
AND.B #imm,@(R0,GBR) 11001101iiiiiiii (R0 + GBR) & imm 3 —
→ (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 —
OR.B #imm,@(R0,GBR) 11001111iiiiiiii (R0 + GBR) | imm → 3 —
(R0 + GBR)
TAS.B @Rn 0100nnnn00011011 If (Rn) is 0, 1 → T; 1 4 Test
→ MSB of (Rn) result
TST Rm,Rn 0010nnnnmmmm1000 Rn & Rm; if the 1 Test
result is 0, 1 → T result
TST #imm,R0 11001000iiiiiiii R0 & imm; if the 1 Test
result is 0, 1 → T result
TST.B #imm,@(R0,GBR) 11001100iiiiiiii (R0 + GBR) & imm; 3 Test
if the result is 0, 1 → result
T
XOR Rm,Rn 0010nnnnmmmm1010 Rn ^ Rm → Rn 1 —
XOR #imm,R0 11001010iiiiiiii R0 ^ imm → R0 1 —
XOR.B #imm,@(R0,GBR) 11001110iiiiiiii (R0 + GBR) ^ imm 3 —
→ (R0 + GBR)
38
Table 2.15 Shift Instructions
Execution
Instruction Instruction Code Operation Cycles T Bit
BF label 10001011dddddddd If T = 0, disp × 2 + PC → PC; if T = 1, 3/1* —
nop
BT label 10001001dddddddd If T = 1, disp × 2 + PC → PC; if T = 0, 3/1* —
nop
BRA label 1010dddddddddddd Delayed branch, disp × 2 + PC → PC 2 —
BSR label 1011dddddddddddd Delayed branch, PC → PR, disp × 2 + 2 —
PC → PC
JMP @Rm 0100mmmm00101011 Delayed branch, Rm → PC 2 —
JSR @Rm 0100mmmm00001011 Delayed branch, PC → PR, Rm → PC 2 —
RTS 0000000000001011 Delayed branch, PR → PC 2 —
Note: * The execution state is three cycles when program branches, and one cycle when program
does not branch.
39
Table 2.17 System Control Instructions
Execution
Instruction Instruction Code Operation Cycles T Bit
CLRT 0000000000001000 0→T 1 0
CLRMAC 0000000000101000 0 → MACH, MACL 1 —
LDC Rm,SR 0100mmmm00001110 Rm → SR 1 LSB
LDC Rm,GBR 0100mmmm00011110 Rm → GBR 1 —
LDC Rm,VBR 0100mmmm00101110 Rm → VBR 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 —
LDS Rm,MACH 0100mmmm00001010 Rm → MACH 1 —
LDS Rm,MACL 0100mmmm00011010 Rm → MACL 1 —
LDS Rm,PR 0100mmmm00101010 Rm → PR 1 —
LDS.L @Rm+,MACH 0100mmmm00000110 (Rm) → MACH, Rm + 4 → 1 —
Rm
LDS.L @Rm+,MACL 0100mmmm00010110 (Rm) → MACL, Rm + 4 → 1 —
Rm
LDS.L @Rm+,PR 0100mmmm00100110 (Rm) → PR, Rm + 4 → Rm 1 —
NOP 0000000000001001 No operation 1 —
RTE 0000000000101011 Delayed branch, stack area → 4 —
PC/SR
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.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 —
STS MACH,Rn 0000nnnn00001010 MACH → Rn 1 —
Note: * The number of execution states before the chip enters the sleep state.
40
Table 2.17 System Control Instructions (cont)
Execution
Instruction Instruction Code Operation Cycles T Bit
STS MACL,Rn 0000nnnn00011010 MACL → Rn 1 —
STS PR,Rn 0000nnnn00101010 PR → 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 —
TRAPA #imm 11000011iiiiiiii PC/SR → stack area, 8 —
(imm × 4 + VRR) → PC
Note: The execution cycles shown in the table are minimums.
The actual number of cycles may be increased:
1. When contention occurs between instruction fetches and data access, or
2. When the destination register of the load instruction (memory → register) and the
register used by the next instruction are the same.
41
2.4.2 Operation Code Map
Instruction Code Fx: 0000 Fx: 0001 Fx: 0010 Fx: 0011–1111
MSB MD: 00 MD: 01 MD: 10 MD: 11
LSB
0000 Rn Fx 0000
0000 Rn Fx 0001
0000 Rn Fx 0010 STC SR,Rn STC GBR,Rn STC VBR,Rn
0000 Rn Fx 0011
0000 Rn Rm 01MD MOV.B RM, MOV.W RM, MOV.L RM,
@(R0,Rn) @(R0,Rn) @(R0,Rn)
0000 0000 Fx 1000 CLRT SETT CLRMAC
0000 0000 Fx 1001 NOP DIVOU
0000 0000 Fx 1010
0000 0000 Fx 1011 RTS SLEEP RTE
0000 Rn Fx 1000
0000 Rn Fx 1001
0000 Rn Fx 1010 STS MACH,Rn STS MACL,Rn STS PR,Rn
0000 Rn Rm 1011
0000 Rn Rm 11MD MOV.B MOV.W MOV.L
@(R0,Rm),Rn @(R0,Rm),Rn @(R0,Rm),Rn
0001 Rn Rm disp MOV.L Rm,@(disp:4,Rn)
0010 Rn Rm 00MD MOV.B Rm,@Rn MOV.W Rm,@Rn MOV.L Rm,@Rn
0010 Rn Rm 01MD MOV.B Rm,@-Rn MOV.W Rm,@-Rn MOV.L Rm,@-Rn DIV0S Rm,Rn
0010 Rn Rm 10MD TST AND Rm,Rn XOR Rm,Rn OR Rm,Rn
Rm,Rn
0010 Rn Rm 11MD CMP/STR XTRCT Rm,Rn MULU Rm,Rn MULS Rm,Rn
Rm,Rn
0011 Rn Rm 00MD CMP/EQ Rm,Rn CMP/HS Rm,Rn CMP/GE Rm,Rn
0011 Rn Rm 01MD DIV1 Rm,Rn CMP/HI Rm,Rn CMP/GT Rm,Rn
0011 Rn Rm 10MD SUB Rm,Rn SUBC Rm,Rn SUBV Rm,Rn
0011 Rn Rm 11MD ADD Rm,Rn ADDC Rm,Rn ADDV Rm,Rn
0100 Rn Fx 0000 SHLL Rn SHAL Rn
0100 Rn Fx 0001 SHLR Rn CMP/PZ Rn SHAR Rn
0100 Rn Fx 0010 STS.L MACH, STS.L MACL, STS.L PR,
@–Rn @–Rn @–Rn
42
Table 2.18 Operation Code Map (cont)
Instruction Code Fx: 0000 Fx: 0001 Fx: 0010 Fx: 0011–1111
MSB LSB MD: 00 MD: 01 MD: 10 MD: 11
0100 Rn Fx 0011 STC.L STC.L| STC.L
SR,@–Rn GBR,@–Rn VBR,@–Rn
0100 Rn Fx 0100 ROTL Rn ROTCL Rn
0100 Rn Fx 0101 ROTR Rn CMP/PL Rn ROTCR Rn
0100 Rm Fx 0110 LDS.L LDS.L LDS.L
@Rm+,MACH @Rm+,MACL @Rm+,PR
0100 Rm Fx 0111 LDC.L LDC.L LDC.L
@Rm+,SR @Rm+,GBR @Rm+,VBR
0100 Rn Fx 1000 SHLL2 Rn SHLL8 Rn SHLL16 Rn
0100 Rn Fx 1001 SHLR2 Rn SHLR8 Rn SHLL16 Rn
0100 Rm Fx 1010 LDS Rm,MACH LDS Rm,MACL LDS Rm,PR
0100 Rm/Rn Fx 1011 JSR @Rm TAS.B @Rn JMP @Rm
0100 Rm Fx 1100
0100 Rm Fx 1101
0100 Rn Fx 1110 LDC Rm,Sr LDC Rm,GBR LDC Rm,VBR
0100 Rn Rm 1111 MAC.W @Rm+,@Rn+
0101 Rn Rm disp MOV.L @(disp:4,Rm),Rn
0110 Rn Rm 00MD MOV.B @Rm,Rn MOV.W @Rm,Rn MOV.L @Rm,Rn MOV Rm,Rn
0110 Rn Rm 01MD MOV.B @Rm+,Rn MOV.W @Rm+,Rn MOV.L @Rm+,Rn NOT Rm,Rn
0110 Rn Rm 10MD SWAP.B SWAP.W NEGC Rm,Rn NEG Rm,Rn
@Rm,Rn @Rm,Rn
0110 Rn Rm 11MD EXTU.B Rm,Rn EXTU.W Rm,Rn EXTS.B Rm,Rn EXTS.W Rm,Rn
0111 Rn imm ADD #imm:8,Rn
1000 00MD Rn disp MOV.B R0, MOV.W R0,
@(disp:4,Rn) @(disp:4,Rn)
1000 01MD Rm disp MOV.B MOV.W
@(disp:4, @(disp:4,
Rm),R0 Rm),R0
1000 10MD imm/disp CMP/EQ BT disp:8 BF disp:8
#imm:8,R0
1000 11MD imm/disp
1001 Rn disp MOV.W @(disp:8,PC),Rn
1010 disp BRA disp:12
1011 disp BSR disp:12
43
Table 2.18 Operation Code Map (cont)
Instruction Code Fx: 0000 Fx: 0001 Fx: 0010 Fx: 0011–1111
MSB MD: 00 MD: 01 MD: 10 MD: 11
LSB
1100 00MD imm/disp MOV.B R0,@ MOV.W R0,@ MOV.L R0,@ TRAPA #imm:8
(disp:8,GBR) (disp:8,GBR) (disp:8,GBR)
1100 01MD disp MOV.B MOV.W MOV.L MOVA
@(disp:8, @(disp:8, @(disp:8, @(disp:8,
GBR),R0 GBR),R0 GBR),R0 PC),R0
1100 10MD imm TST AND XOR OR
#imm:8,R0 #imm:8,R0 #imm:8,R0 #imm:8,R0
1100 11MD imm TST.B AND.B XOR.B OR.B
#imm:8, #imm:8, #imm:8, #imm:8,
@(R0,GBR) @(R0,GBR) @(R0,GBR) @(R0,GBR)
1101 Rn disp MOV.L @(disp:8,PC),Rn
1110 Rn imm MOV #imm:8,Rn
1111 ...
44
2.5 CPU State
The CPU has five processing states: reset, exception handling, bus-released, program execution
and power-down. The transitions between the states are shown in figure 2.6. For more information
on the reset and exception handling states, see section 4, Exception Handling. For details on the
power-down state, see section 19, Power-Down State.
45
From any state when From any state when
RES = 0 and NMI = 1 RES = 0 and NMI = 0
RES = 0, NMI = 0
Power-on reset state Manual reset state
RES = 0, NMI = 1
Bus request
cleared NMI interrupt
Bus request source occurs
generated
Exception Exception
Bus-release-state handling handling
source occurs ends
Bus request
generated Bus request
cleared
Bus request
generated Program execution state
Bus request
SLEEP
cleared
SLEEP instruction instruction with
with SBY bit cleared SBY bit set
Power-down state
46
Reset State: In the reset state the CPU is reset. This occurs when the RES pin level goes low.
When the NMI pin is high, the result is a power-on reset; when it is low, a manual reset will occur.
When turning on the power, be sure to carry out a power-on reset.
In a power-on reset, all CPU internal states and on-chip supporting module registers are initialized.
In a manual reset, all CPU internal states and on-chip supporting module registers, with the
exception of the bus state controller (BSC) and pin function controller (PFC), are initialized. In a
manual reset, the BSC is not initialized, so refresh operations will continue.
Exception Handling State: Exception handling is a transient state that occurs when the CPU’s
processing state flow is altered by exception handling sources such as resets or interrupts.
In a reset, the initial values of the program counter PC (execution start address) and stack pointer
SP are fetched from the exception vector table and stored; the CPU then branches to the execution
start address and execution of the program begins.
For an interrupt, the stack pointer (SP) is accessed and the program counter (PC) and status
register (SR) are saved to the stack area. The exception handling routine start address is fetched
from the exception vector table; the CPU then branches to that address and the program starts
executing, thereby entering the program execution state.
Program Execution State: In the program execution state, the CPU sequentially executes the
program.
Power-Down State: In the power-down state, CPU operation halts and power consumption
decreases. The SLEEP instruction places the CPU in the power-down state. This state has two
modes: sleep mode and standby mode.
Bus-Released State: In the bus-released state, the CPU releases the bus to the device that has
requested it.
47
2.5.2 Power-Down State
In addition to the ordinary program execution states, the CPU also has a power-down state in
which CPU operation halts and power consumption is reduced There are two power-down state
modes: sleep mode and standby mode.
Sleep Mode: When the standby bit SBY (in the standby control register, SBYCR) is cleared to 0
and a SLEEP instruction is executed, the CPU switches from program execution state to sleep
mode. In sleep mode, the CPU halts and the contents of its internal registers and the data in on-
chip RAM are stored. The on-chip supporting modules other than the CPU do not halt in sleep
mode.
Sleep mode is cleared by a reset, any interrupt, or a DMA address error; the CPU returns to
ordinary program execution state through the exception handling state.
Software Standby Mode: To enter standby mode, set standby bit SBY (in the standby control
register, SBYCR) to 1 and execute a SLEEP instruction. In standby mode, all CPU, on-chip
supporting module and oscillator functions are halted. CPU internal register contents and on-chip
RAM data are held.
Standby mode is cleared by a reset or an external NMI interrupt. For resets, the CPU returns to the
ordinary program execution state through the exception handling state when placed in a reset state
during the oscillator settling time. For NMI interrupts, the CPU returns to the ordinary program
execution state through the exception handling state after the oscillator settling time has elapsed.
In this mode, power consumption drops markedly, since the oscillator stops.
State
On-Chip CPU
Supporting Regi- I/O
Mode Conditions Clock CPU Modules sters RAM Ports Canceling
Sleep Execute SLEEP Run Halted Run Held Held Held 1. Interrupt
mode instruction with 2. DMA address
SBY bit cleared error
to 0 in SBYCR 3. Power-on reset
4. Manual reset
Standby Execute SLEEP Halted Halted Halted and Held Held Held or 1. NMI
mode instruction with initialized* high-Z* 2. Power-on reset
SBY bit set to 1 (select-
3. Manual reset
in SBYCR able)
Note: Differs depending on the supporting module and pin.
48
Section 3 Operating Modes
The SH7032 microcomputer operates in one of two operating modes (modes 0 and 1) and the
SH7034 operates in one of four operating modes (modes 0, 1, 2, and 7). Modes 0 and 1 differ in
the bus width of memory area 0. The mode is selected by the mode pins (MD2–MD0) as indicated
in table 3.1. Do not change the mode selection while the chip is operating.
Pin Settings
Operating Mode MD2 MD1 MD0 Mode Name Bus Width of Area 0
2
Mode 0* 0 0 0 MCU mode 0 8 bits
2
Mode 1* 0 0 1 MCU mode 1 16 bits
Mode 2 0 1 0 MCU mode 2 On-chip ROM
1
Mode 7* 1 1 1 PROM mode —
Notes : 1.SH7034 PROM version only
2.Only modes 0 and 1are available in the SH7020 and SH7034 ROMless version.
In mode 0, memory area 0 has an eight-bit bus width. For the memory map, see section 8, Bus
State Controller (BSC).
In mode 2, memory area 0 is assigned to the on-chip ROM. Mode 2 should only be set for the
product is the SH7034.
Mode 7 is a PROM mode. In this mode, the PROM can be programmed. For details, see section
17, ROM. Mode 7 should only be set for the SH7034 (PROM version).
49
50
Section 4 Exception Handling
4.1 Overview
As figure 4.1 indicates, exception handling may be caused by a reset, address error, interrupt, or
instruction. Exception sources are prioritized as indicated in figure 4.1. If two or more exceptions
occur simultaneously, they are accepted and handled in the priority order shown.
51
Priority
• NMI
• User break
• IRQ • IRQ0–IRQ7
Notes: 1. The instructions that rewrite the PC are JMP, JSR, BRA, BSR, RTS, RTE, BT, BF,
and TRAPA.
2. The delayed branch instructions are JMP, JSR. BRA. BSR, RTS, and RTE.
52
4.1.2 Exception Handling Operation
Exception sources are detected at the times indicated in table 4.1, whereupon handling starts.
Resets: The initial values of the program counter (PC) and stack pointer (SP) are read from the
exception vector table (the respective PC and SP values are H'00000000 and H'00000004 for a
power-on reset and H'00000008 and H'0000000C for a manual reset). For more information on the
exception vector table, see section 4.1.3, Exception Vector Table. Next, the vector base register
(VBR) is cleared to zero and interrupt mask bits (I3–I0) in the status register (SR) are set to 1111.
Program execution starts from the PC address read from the exception vector table.
Address Errors, Interrupts and Instructions: SR and PC are pushed onto the stack indicated in
R15. For interrupts, the interrupt priority level is written in the interrupt mask bits (I3–I0). For
address errors and instructions, bits I3–I0 are not affected. Next, the start address is fetched from
the exception vector table, and program execution starts from this address.
53
4.1.3 Exception Vector Table
Before exception handling can execute, the exception vector table must be set in memory. The
exception vector table holds the start addresses of exception handling routines (the table for reset
exception handling stores initial PC and SP values). Different vector numbers and vector table
address offsets are assigned to different exception sources. The vector table addresses are
calculated from the corresponding vector numbers and vector address offsets. In exception
handling, the exception handling routine start address is fetched from the exception vector table
indicated by this vector table address.
Table 4.2 lists vector numbers and vector table address offsets. Table 4.3 shows how vector table
addresses are calculated.
54
Table 4.2 Exception Vector Table
Vector
Exception Source Number Vector table Address Offset
Power-on reset PC 0 H'00000000–H'00000003
SP 1 H'00000004–H'00000007
Manual reset PC 2 H'00000008–H'0000000B
SP 3 H'0000000C–H'0000000F
General illegal instruction 4 H'00000010–H'00000013
(Reserved for system use) 5 H'00000014–H'00000017
Illegal slot instruction 6 H'00000018–H'0000001B
(Reserved for system use) 7 H'0000001C–H'0000001F
8 H'00000020–H'00000023
CPU address error 9 H'00000024–H'00000027
DMA address error 10 H'00000028–H'0000002B
Interrupts NMI 11 H'0000002C–H'0000002F
User break 12 H'00000030–H'00000033
(Reserved for system use) 13–31 H'00000034–H'00000037 to
H'0000007C–H'0000007F
Trap instruction (user vectors) 32–63 H'00000080–H'00000083 to
H'000000FC–H'000000FF
Interrupts IRQ0 64 H'00000100–H'00000103
IRQ1 65 H'00000104–H'00000107
IRQ2 66 H'00000108–H'0000010B
IRQ3 67 H'0000010C–H'0000010F
IRQ4 68 H'00000110–H'00000113
IRQ5 69 H'00000114–H'00000117
IRQ6 70 H'00000118–H'0000011B
IRQ7 71 H'0000011C–H'0000011F
On-chip 72–255 H'00000120–H'00000123 to
modules* H'000003FC–H'000003FF
Note: * See table 5.3, Interrupt Exception Vectors and Rankings, in section 5, Interrupt Controller
(INTC), for details on vector numbers and vector table address offsets of individual on-chip
supporting module interrupts.
55
Table 4.3 Calculation of Exception Vector Table Addresses
4.2 Resets
A reset is the highest-priority exception. There are two types of reset: power-on reset and manual
reset. As table 4.4 shows, a power-on reset initializes the internal state of the CPU and all registers
of the on-chip supporting modules. A manual reset initializes the internal state of the CPU and all
registers of the on-chip supporting modules except the bus state controller (BSC), pin function
controller (PFC), and I/O ports (I/O).
56
4.2.2 Power-On Reset
When the NMI pin is high, a low input at the RES pin drives the chip into the power-on reset state.
The RES pin should be driven low while the clock pulse generator (CPG) is stopped (or while the
CPG is operating during the oscillation settling time) for at least 20 tcyc to assure that the chip is
reset. A power-on reset initializes the internal state of the CPU and all registers of the on-chip
supporting modules. For pin states in the power-on reset state, see appendix B, Pin States.
While the NMI pin remains high, if the RES pin is held low for a certain time then driven high in
the power-on state, power-on reset exception handling begins. The CPU then:
1. Reads the start address (initial PC value) from the exception vector table.
2. Reads the initial stack pointer value (SP) from the exception vector table.
3. Clears the vector base register (VBR) to H'00000000, and sets interrupt mask bits I3–I0 in the
status register (SR) to H'F (1111).
4. Loads the values read from the exception vector table into the PC and SP and starts program
execution.
When the NMI pin is high, a low input at the RES pin drives the chip into the manual reset state.
To ensure that the chip is properly reset, drive the RES pin low for at least 20 tcyc. A manual reset
initializes the internal state of the CPU and all registers of the on-chip supporting modules except
the bus state controller, pin function controller, and I/O ports. Since a manual reset does not affect
the bus state controller, the DRAM refresh control function operates even if the manual reset state
continues for a long time. When a manual reset is performed during the bus cycle, manual reset
exception handling is deferred until the end of the bus cycle. The manual reset thus cannot be used
to abort the bus cycle. For the pin states during the manual reset state, see appendix B, Pin States.
While the NMI pin remains low, if the RES pin is held low for a certain time then driven high in
the manual reset state, manual reset exception handling begins. The CPU carries out the same
operations as for a power-on reset.
57
4.3 Address Errors
Address errors occur during instruction fetches and data reading/writing as shown in table 4.5.
Bus Cycle
Type Bus Master Operation Address Error
Instruction fetch CPU Instruction fetch from even address None (normal)
Instruction fetch from odd address Address error
Instruction fetch from outside on-chip None (normal)
supporting module space
Instruction fetch from on-chip supporting Address error
module space
Data read/write CPU or DMAC Access to word data from even address None (normal)
Access to word data from odd address Address error
Access to longword data aligned on None (normal)
longword boundary
Access to longword data not aligned on Address error
longword boundary
Access to word or byte data in on-chip None (normal)
supporting module space*
Access to longword data in 16-bit on- None (normal)
chip supporting module space*
Access to longword data in 8-bit on-chip Address error
supporting module space*
Note: * See section 8, Bus State Controller (BSC), for details on the on-chip supporting module
space.
When an address error occurs, address error exception handling starts after both the bus cycle that
caused the address error and the instructions that were being executed at that time, have been
completed. The CPU then:
Table 4.6 lists the types of interrupt exception handling sources (NMI, user break, IRQ, on-chip
supporting module).
Each interrupt source has a different vector number and vector address offset value. See table 5.3,
Interrupt Exception Vectors and Rankings, in section 5, Interrupt Controller (INTC), for details on
vector numbers and vector table address offsets.
Interrupt sources are assigned priorities. When multiple interrupts occur at the same time, the
interrupt controller (INTC) ascertains their priorities and starts exception handling based on its
findings. Priorities from 16–0 can be assigned, with 0 the lowest level and 16 the highest. NMI has
priority level 16 and cannot be masked. NMI is always accepted. The user break priority level is
15. The IRQ and on-chip supporting module interrupt priority levels can be set in interrupt priority
level registers A–E (IPRA–IPRE) as shown in table 4.7. Priority levels 0–15 can be set. See
section 5.3.1, Interrupt Priority Level Registers A-E (IPRA–IPRE), for details.
59
Table 4.7 Interrupt Priority Rankings
When an interrupt is generated, the INTC ascertains the interrupt ranking. NMI is always
accepted, but other interrupts are only accepted if their ranking is higher than the ranking set in the
interrupt mask bits (I3–I0) of SR.
When an interrupt is accepted, interrupt exception handling begins. In the interrupt exception
handling sequence, the SR and PC values are pushed onto the stack, and the priority level of the
accepted interrupt is copied to the interrupt mask level bits (I3–I0) in SR. In NMI exception
handling, the priority ranking is 16 but the value 15 (H'F) is stored in I3–I0. The exception
handling routine start address for the accepted interrupt is fetched from the exception vector table
and the program branches to that address and starts executing. For further information on
interrupts, see section 5.4, Interrupt Operation.
60
4.5 Instruction Exceptions
Table 4.8 shows the three types of instruction that start exception handling (trap instructions,
illegal slot instructions, and general illegal instructions).
Trap instruction exception handling is carried out when a trap instruction (TRAPA) is executed.
The CPU then:
1. Saves the status register by pushing register contents onto the stack.
2. Pushes the program counter value onto the stack. The PC value saved is the start address of the
next instruction after the TRAPA instruction.
3. Reads the exception handling routine start address from the vector table corresponding to the
vector number specified in the TRAPA instruction, branches to that address, and starts
program execution. The branch is not a delayed branch.
61
4.5.3 Illegal Slot Instruction
If an undefined instruction located other than in a delay slot (immediately after a delayed branch
instruction) is decoded, general illegal instruction exception handling is executed. The CPU
follows the same procedure as for illegal slot exception handling, except that the program counter
(PC) value pushed on the stack in general illegal instruction exception handling is the start address
of the illegal instruction with the undefined code.
62
4.6 Cases in which Exceptions are Not Accepted
In some cases, address errors and interrupts that directly follow a delayed branch instruction or
interrupt-disabled instruction are not accepted immediately. Table 4.9 lists these cases. When this
occurs, the exception is accepted when an instruction that can accept the exception is decoded.
Exception Source
Case Address Error Interrupt
Immediately after delayed branch instruction*1 X X
Immediately after interrupt-disabled instruction*2 O X
X: Not accepted
O: Accepted
Notes: 1. Delayed branch instructions: JMP, JSR, BRA, BSR, RTS, RTE
2. Interrupt-disabled instructions: LDC, LDC.L, STC, STC.L, LDS, LDS.L, STS, STS.L
Address errors and interrupts are not accepted when an instruction in a delay slot immediately
following a delayed branch instruction is decoded. The delayed branch instruction and the
instruction in the delay slot are therefore always executed one after the other. Exception handling
is never inserted between them.
Interrupts are not accepted when the instruction immediately following an interrupt-disabled
instruction is decoded. Address errors are accepted, however.
63
4.7 Stack Status after Exception Handling
Trap Illegal
instruc- Address of slot Branch
SP instruction Upper 16 bits SP destination Upper 16 bits
tion after TRAPA instruc- address of
instruction tion delayed
branch
Lower 16 bits instuction
SR Upper 16 bits Lower 16 bits
General
illegal Start add-
instruc- SP ress of Upper 16 bits
tion illegal
instruction
Lower 16 bits
SR Upper 16 bits
Lower 16 bits
64
4.8 Notes
An address error occurs if the stack is accessed for exception handling when the value of the stack
pointer (SP) is not a multiple of four. Therefore, a multiple of four should always be stored in the
SP.
An address error occurs if the vector table is accessed for exception handling when the value of
the vector base register (VBR) is not a multiple of four. Therefore, VBR should always be set to a
multiple of four.
4.8.3 Address Errors Caused by Stacking During Address Error Exception Handling
If the stack pointer is not a multiple of four, address errors will occur in the exception handling
(interrupt, etc.) stacking. After the exception handling ends, the CPU will then shift to address
error exception handling. An address error will also occur during the address error exception
handling stacking, but the CPU is set up to ignore the address error so that it can avoid an infinite
series of address errors. This allows it to shift program control to the address error exception
handling routine and handle the error.
When an address error does occur in exception handling stacking, the stacking bus cycle (write) is
executed. In SR and PC stacking, four is subtracted from each of the SPs so the SP values are not
multiples of four after stacking either. Since the address value output during stacking is the SP
value, the address that produced the error is exactly what is output. In such cases, the stacked write
data will be undefined.
65
66
Section 5 Interrupt Controller (INTC)
5.1 Overview
The interrupt controller (INTC) determines the priority of interrupt sources and controls interrupt
requests to the CPU. INTC has registers for assigning priority levels to interrupt sources. These
registers handle interrupt requests according to user-specified priorities.
5.1.1 Features
• 16 settable priority levels: Five interrupt priority registers can set 16 levels of interrupt
priorities for IRQ and on-chip supporting module interrupt sources.
• NMI noise canceller function: INTC has an NMI input level bit that indicates the NMI pin
status. By reading this bit in the interrupt exception handling routine, the pin status can be
checked for use in a noise canceller function.
• The interrupt controller can notify external devices (via the IRQOUT pin) that an on-chip
interrupt has occurred. In this way an external device can, for example, be informed if an on-
chip interrupt occurs while the chip is operating in bus-released mode and the bus has been
requested.
67
IRQOUT
NMI
IRQ0
IRQ1
IRQ2 Input
control
IRQ3 Priority
IRQ4 decision
logic Com-
IRQ5 parator Interrupt request
IRQ6
IRQ7
SR
(Interrupt request)
UBC I3 I2 I1 I0
(Interrupt request)
DMAC
(Interrupt request)
ITU
(Interrupt request) CPU
SCI
(Interrupt request)
PRT
(Interrupt request)
A/D
(Interrupt request)
WDT
(Interrupt request)
REF
IPR
ICR
IPRA–IPRE
Internal bus
Bus
Module bus interface
INTC
5.1.4 Registers
The interrupt controller has six registers as listed in table 5.2. These registers are used for setting
interrupt priority levels and controlling the detection of external interrupt input signals.
69
5.2 Interrupt Sources
There are four types of interrupt sources: NMI, user break, IRQ, and on-chip supporting module
interrupts.
Interrupt rankings are expressed as priority levels (0–16), with 0 the lowest and 16 the highest. An
interrupt set to level 0 is masked.
NMI is the highest-priority interrupt (level 16) and is always accepted. Input at the NMI pin is
edge-sensed. Either the rising or falling edge can be selected by setting the NMI edge select bit
(NMIE) in the interrupt control register (ICR). NMI interrupt exception handling sets the interrupt
mask level bits (I3–I0) in the status register (SR) to level 15.
A user break interrupt occurs when a break condition is satisfied in the user break controller
(UBC). A user break interrupt has priority level 15. User break interrupt exception handling sets
the interrupt mask level bits (I3–I0) in the status register (SR) to level 15. For further details on the
user break interrupt, see section 6, User Break Controller.
IRQ interrupts are requested by input from pins IRQ0–IRQ7. IRQ sense select bits 0–7 (IRQ0S–
IRQ7S) in the interrupt control register (ICR) can select low-level sensing or falling-edge sensing
for each pin independently. Interrupt priority registers A and B (IPRA and IPRB) can select
priority levels from 0–15 for each pin. IRQ interrupt exception handling sets the interrupt mask
level bits (I3–I0) in the status register (SR) to the priority level value of the IRQ interrupt that was
accepted.
70
5.2.4 On-Chip Interrupts
On-chip interrupts are interrupts generated by the following 6 on-chip supporting modules:
A different interrupt vector is assigned to each interrupt source, so the exception handling routine
does not have to decide which interrupt has occurred. Priority levels 0–15 can be assigned to
individual on-chip supporting module in interrupt priority registers C–E (IPRC–IPRE). On-chip
interrupt exception handling sets the interrupt mask level bits (I3–I0) in the status register (SR) to
the priority level value of the on-chip interrupt that was accepted.
Table 5.3 lists the vector numbers, vector table address offsets, and interrupt priority order of the
interrupt sources.
Each interrupt source is allocated a different vector number and vector table address offset. The
vector table address is calculated from this vector number and address offset. In interrupt
exception handling, the exception handling routine start address is fetched from the vector table
indicated by this vector table address. See table 4.3, Calculation of Exception Vector Table
Address, in section 4, Exception Handling, for details on this calculation.
Arbitrary interrupt priority levels between 0 and 15 can be assigned to IRQ and on-chip supporting
module interrupt sources by setting interrupt priority registers A–E (IPRA–IPRE) for each pin or
module. The interrupt sources for IPRC–IPRE, however, must be ranked in the order listed under
Priority Within Module in table 5.3 and cannot be changed. A reset assigns priority level 0 to IRQ
and on-chip supporting module interrupts. If the same priority level is assigned to two or more
interrupt sources, and interrupts from those sources occur simultaneously, their priority order is
the default priority order indicated at the right in table 5.3.
71
Table 5.3 Interrupt Exception Vectors and Rankings
72
Table 5.3 Interrupt Exception Vectors and Rankings (cont)
73
5.3 Register Descriptions
The five registers IPRA–IPRE are 16-bit read/write registers that assign priority levels from 0–15
to the IRQ and on-chip supporting module interrupt sources. Interrupt request sources are mapped
onto IPRA–IPRE as shown in table 5.4.
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
As indicated in table 5.4, four IRQ pins or four groups of on-chip supporting modules are assigned
to each interrupt priority register. The priority levels for the four pins or groups can be set by
setting the corresponding 4-bit groups of bits 15–12, bits 11–8, bits 7–4, and bits 3–0 (of IPRA–
IPRE) with values in the range of H'0 (0000) to H'F (1111). Setting H'0 gives interrupt priority
level 0 (the lowest). Setting H'F gives level 15 (the highest). When two on-chip supporting
modules are assigned to the same bits (DMAC0 and DMAC1, or DMAC2 and DMAC3, or the
parity control unit and the A/D converter, or the watchdog timer and DRAM refresh control unit),
those two modules have the same priority. A reset initializes IPRA–IPRE to H'0000. These
registers are not initialized in standby mode.
74
5.3.2 Interrupt Control Register (ICR)
ICR is a 16-bit register that sets the input detection mode of external interrupt input pins NMI and
IRQ0–IRQ7, and indicates the input signal level at the NMI pin. A reset initializes ICR but
standby mode does not.
Bit: 15 14 13 12 11 10 9 8
Bit name: NMIL — — — — — — NMIE
Initial value: * 0 0 0 0 0 0 0
R/W: R — — — — — — R/W
Bit: 7 6 5 4 3 2 1 0
Bit name: IRQ0S IRQ1S IRQ2S IRQ3S IRQ4S IRQ5S IRQ6S IRQ7S
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
Note: When NMI input is high: 1; when NMI input is low: 0
• Bit 15 (NMI input level (NMIL)): NMIL sets the level of the signal input at the NMI pin.
NMIL cannot be modified. The NMI input level can be read to determine the NMI pin level.
• Bits 14–9 (Reserved): These bits are always read as 0. The write value should always be 0.
• Bit 8 (NMI Edge Select (NMIE)): NMIE selects whether the falling or rising edge of the
interrupt request signal at the NMI pin is sensed.
• Bits 7–0 (IRQ0–IRQ7 Sense Select (IRQ0S–IRQ7S)): IRQ0–IRQ7 select whether the falling
edge or low level of the IRQ inputs is sensed at pins IRQ0–IRQ7.
75
5.4 Interrupt Operation
The sequence of interrupt operations is described below. Figure 5.2 shows a flowchart of the
operations up to acceptance of the interrupt.
1. The interrupt request sources send interrupt request signals to the interrupt controller.
2. The interrupt controller selects the highest-priority interrupt among the interrupt requests sent,
following the priority order indicated in table 5.3 and the levels set in interrupt priority
registers A–E (IPRA–IPRE). Lower priority interrupts are ignored*. If two interrupts with the
same priority level are requested simultaneously, or if there are multiple interrupts occurring
within a single module, the interrupt with the highest default priority or priority within module
as indicated in table 5.3 is selected.
3. The interrupt controller compares the priority level of the selected interrupt request with the
interrupt mask level bits (I3–I0) in the CPU’s status register (SR). If the request priority level
is equal to or less than the interrupt mask level, the request is ignored. If the request priority
level is higher than the interrupt mask level, the interrupt controller accepts the request and
sends an interrupt request signal to the CPU.
4. When the interrupt controller accepts an interrupt request, it drives IRQOUT pin low.
5. The CPU detects the interrupt request sent from the interrupt controller when it decodes the
next instruction to be executed. Instead of executing that instruction, the CPU starts interrupt
exception handling. (See figure 5.4.)
6. In interrupt exception handling, first SR and PC are pushed onto the stack.
7. The priority level of the accepted interrupt is copied to the interrupt mask level bits (I3–I0) in
the status register (SR).
8. When the accepted interrupt is level-sensed or from an on-chip supporting module, the
IRQOUT pin returns to the high level. If the accepted interrupt is edge-sensed, the IRQOUT
pin returns to the high level when the instruction to be executed by the CPU in (5) is replaced
by the interrupt exception handling. If the interrupt controller has accepted another interrupt
(of a level higher than the current interrupt), however, the IRQOUT pin remains low.
9. The CPU accesses the exception vector table at the entry for the vector number of the accepted
interrupt, reads the start address of the exception handling routine, branches to that address,
and starts executing the program there. This branch is not delayed.
Note: * A request for an external interrupt (IRQ) designated as edge-detected is held pending once
only. An external interrupt designated as level-detected is held pending as long as the
interrupt request continues, but if the request is cleared before the CPU next accepts an
interrupt, the interrupt request is regarded as not having been made.
Interrupt requests from on-chip supporting modules are level requests. When the status
flag in a particular module is set, an interrupt is requested. For details, see the descriptions
of the individual modules. Note that the interrupt request will be continued unless an
operation described in "Clearing Conditions" is performed.
76
Program
execution state
No
Interrupt?
Yes
No
NMI?
Yes No
User break?
Yes Level 15 No
interrupt?
IRQOUT low *1
Yes
Level 14 No
Push SR onto stack Yes interrupt?
I3 to I0 ≤
No
level 14? Yes Level 1
Push PC onto stack interrupt?
No Yes I3 to I0 ≤
Copy level of accep- level 13? Yes
tance from I3 to I0
No Yes I3 to I0 =
IRQOUT high *2 level 0?
Read exception No
vector table
Branch to exception
handling routine
Address
4n
78
5.5 Interrupt Response Time
Table 5.5 shows the interrupt response time, which is the time from the occurrence of an interrupt
request until interrupt exception handling starts and fetching of the first instruction of the interrupt
handling routine begins. Figure 5.4 shows the pipeline when an IRQ interrupt is accepted.
Number of States
NMI or On-Chip
Item Interrupt IRQ Notes
Interrupt priority decision 2 3
and comparison with SR
mask bit
Wait for completion of X (≥ 0) The longest sequence is the
sequence currently being interrupt or address error
executed by CPU exception handling
sequence: X = 4 + m1 + m2
+ m3 + m4. If an interrupt-
masking instruction follows,
however, the time may be
longer.
Time from interrupt 5 + m1 + m2 + m3
exception handling
(saving PC and SR and
fetching vector address)
until fetching of first
instruction of interrupt
handling routine starts
Interrupt Total 7 + m1 + m2 + m3 8 + m1 + m2 + m3
response Minimum 10 11 0.50–0.55 µs at 20 MHz
Maximum 11 + 2(m1 + m2 + 12 + 2(m1 + m2 + (m1 = m2 = m3 = m4 = 1)
m3) + m4 m3) + m4 0.90–0.95 µs at 20 MHz
Notes: m1–m4 are the number of states needed for the following memory accesses:
m1: SR save cycle (longword write)
m2: PC save cycle (longword write)
m3: Vector address read cycle (longword read)
m4: Fetch start instruction of interrupt handling routine
79
Interrupt accepted
5 + m1 + m2 + m3
3 3 m1 m2 1 m3 1
IRQ
Overrun fetch F
Interrupt service routine—
F D E
first instruction
(edge)
IRQOUT
(level)
Note: For the interrupt acceptance timing, see table 4.1, Exception Source Detection and
Start of Handling, in section 4.1.2, Exception Handling Operation.
When the following operations are performed in the order shown when a pin to which IRQ input is
assigned is designated as a general input pin by the pin function controller (PFC) and inputs a low-
level signal, the IRQ falling edge is detected, and an interrupt request is detected, immediately
after the setting in (b) is performed:
• An interrupt control register (ICR) setting is made so that an interrupt is detected at the falling
edge of IRQ. …(a)
• The function of pins to which IRQ input is assigned is switched from general input to IRQ
input by a pin function controller (PFC) setting. …(b)
Therefore, when switching the pin function from general input pin to IRQ input, the pin function
controller (PFC) setting should be changed to IRQ input while the pin to which IRQ input is
assigned is high.
80
Section 6 User Break Controller (UBC)
6.1 Overview
The user break controller (UBC) simplifies the debugging of user programs. Break conditions are
set in the UBC and a user break interrupt request is sent to the CPU in response to the contents of
a CPU or DMAC bus cycle. This function can implement an effective self-monitoring debugger,
enabling a program to be debugged by itself without using a large in-circuit emulator.
6.1.1 Features
81
6.1.2 Block Diagram
Bus
Module bus
interface
Internal bus
BBR BAMRH BARH
BAMRL BARL
User break
interrupt Interrupt request
generating
circuit
UBC
Interrupt controller
82
6.1.3 Register Configuration
The user break controller has five registers as listed in table 6.1. These registers are used for
setting break conditions.
Initial
Name Abbr. R/W Address* Value Bus width
Break address register high BARH R/W H'5FFFF90 H'0000 8, 16, 32
Break address register low BARL R/W H'5FFFF92 H'0000 8, 16, 32
Break address mask register high BAMRH R/W H'5FFFF94 H'0000 8, 16, 32
Break address mask register low BAMRL R/W H'5FFFF96 H'0000 8, 16, 32
Break bus cycle register BBR R/W H'5FFFF98 H'0000 8, 16, 32
Note: * Only the values of bits A27–A24 and A8–A0 are valid; bits A23–A9 are ignored. For details
on the register addresses, see section 8.3.5, Area Descriptions.
83
6.2 Register Descriptions
There are two break address registers—break address register H (BARH) and break address
register L (BARL)—that together form a single group. Both are 16-bit read/write registers. BARH
stores the upper bits (bits 31–16) of the address of the break condition. BARL stores the lower bits
(bits 15–0) of the address of the break condition. A reset initializes both BARH and BARL to
H'0000. They are not initialized in standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: BA31 BA30 BA29 BA28 BA27 BA26 BA25 BA24
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
Bit: 7 6 5 4 3 2 1 0
Bit name: BA23 BA22 BA21 BA20 BA19 BA18 BA17 BA16
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
• BARH Bits 15–0 (Break Address 31–16 (BA31–BA16)): BA31–BA16 store the upper bit
values (bits 31–16) of the address of the break condition.
Bit: 15 14 13 12 11 10 9 8
Bit name: BA15 BA14 BA13 BA12 BA11 BA10 BA9 BA8
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
Bit: 7 6 5 4 3 2 1 0
Bit name: BA7 BA6 BA5 BA4 BA3 BA2 BA1 BA0
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
• BARL Bits 15–0 (Break Address 15–0 (BA15–BA0)): BA15–BA0 store the lower bit values
(bits 15–0) of the address of the break condition.
84
6.2.2 Break Address Mask Register (BAMR)
The two break address mask registers—break address mask register H (BAMRH) and break
address mask register L (BARML)—together form a single group. Both are 16-bit read/write
registers. BAMRH determines which of the bits in the break address set in BARH are masked.
BAMRL determines which of the bits in the break address set in BARL are masked. A reset
initializes BAMRH and BARML to H'0000. They are not initialized in standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: BAM31 BAM30 BAM29 BAM28 BAM27 BAM26 BAM25 BAM24
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
Bit: 7 6 5 4 3 2 1 0
Bit name: BAM23 BAM22 BAM21 BAM20 BAM19 BAM18 BAM17 BAM16
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
Bit: 15 14 13 12 11 10 9 8
Bit name: BAM15 BAM14 BAM13 BAM12 BAM11 BAM10 BAM9 BAM8
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
Bit: 7 6 5 4 3 2 1 0
Bit name: BAM7 BAM6 BAM5 BAM4 BAM3 BAM2 BAM1 BAM0
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
• BAMRL bits 15–0 (Break Address Mask 15–0 (BAM15–BAM0)): BAM15–BAM0 specify
whether bits BA15–BA0 of the break address set in BARH are masked or not.
85
6.2.3 Break Bus Cycle Register (BBR)
The break bus cycle register (BBR) is a 16-bit read/write register that selects the following four
break conditions:
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: CD1 CD0 ID1 ID0 RW1 RW0 SZ1 SZ0
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
• Bits 15–8 (Reserved): These bits are always read as 0. The write value should always be 0.
• Bits 7 and 6 (CPU Cycle/DMA Cycle Select (CD1 and CD0)): CD1 and CD0 select whether to
break on CPU and/or DMA bus cycles.
86
• Bits 5 and 4 (Instruction Fetch/Data Access Select (ID1, ID0)): ID1 and ID0 select whether to
break on instruction fetch and/or data access bus cycles.
• Bits 3 and 2 (Read/Write Select (RW1, RW0)): RW1 and RW0 select whether to break on read
and/or write access cycles.
• Bits 1 and 0 (Operand Size Select (SZ1, SZ0)): SZ1 and SZ0 select the bus cycle operand size
as a break condition.
87
6.3 Operation
The flow from setting of break conditions to user break interrupt exception handling is described
below.
1. Break conditions are set in the break address register (BAR), break address mask register
(BAMR), and break bus cycle register (BBR). Set the break address in BAR, the address bits to
be masked in BAMR and the type of break bus cycle in BBR. When even one of the BBR
groups (CPU cycle/DMA cycle select bits (CD1, CD0), instruction fetch/data access select bits
(ID1, ID0), read/write select bits (RW1, RW0)) is set to 00 (no user break interrupt), there will
be no user break even when all other conditions are consistent. To use a user break interrupt,
set conditions for all three pairs.
2. The UBC checks to see if the set conditions are satisfied, using the system shown in figure 6.2.
When the break conditions are satisfied, the UBC sends a user break interrupt request to the
interrupt controller.
3. On receiving the user break interrupt request, the interrupt controller checks its priority level.
The user break interrupt has priority level 15, so it is accepted only if the interrupt mask level
in bits I3–I0 in the status register (SR) is 14 or lower. When the I3–I0 bit level is 15, the user
break interrupt cannot be accepted, but is held pending until user break interrupt exception
handling is carried out. NMI exception handling sets I3–I0 to level 15, so a user break cannot
occur during the NMI handling routine unless the NMI handling routine itself begins by
reducing I3–I0 to level 14 or lower. Section 5, Interrupt Controller, describes the handling of
priority levels in greater detail.
4. INTC sends a request signal for a user break interrupt to the CPU. When the CPU receives it, it
starts user break interrupt exception handling. Section 5.4, Interrupt Operation, describes
interrupt exception handling in more detail.
88
BARH/BARL BAMRH/BAMRL
32
32
Internal address 32
bits 31–0 32 32
CD1 CD0
CPU cycle
DMA cycle
ID1 ID0
Read cycle
Write cycle
SZ1 SZ0
Byte size
Word size
Longword size
89
6.3.2 Break on Instruction Fetch Cycles to On-Chip Memory
On-chip memory (on-chip ROM (SH7034 only) and RAM) is always accessed 32 bits each bus
cycle. Two instructions are therefore fetched in a bus cycle from on-chip memory . Although only
a single bus cycle occurs for the two-instruction fetch, a break can be set on either instruction by
placing the corresponding address in the break address registers (BAR). In other words, to break
the second of the two instructions fetched, set its start address in the BAR. The break will then
occur after the first instruction executes.
6.3.3 Program Counter (PC) Value Saved in User Break Interrupt Exception Processing
Break on Instruction Fetch: The program counter (PC) value saved in user break interrupt
exception processing for an instruction fetch is the address set as the break condition. The user
break interrupt is generated before the fetched instruction is executed. If a break condition is set on
the fetch cycle of a delayed slot instruction immediately following a delayed branch instruction or
on the fetch cycle of an instruction that follows an interrupt-disabling instruction, however, the
user break interrupt is not accepted immediately, so the instruction is executed. The user break
interrupt is not accepted until immediately after that instruction. The PC value that will be saved is
the start address of the next instruction that is able to accept the interrupt.
Break on Data Access (CPU/DMAC): The program counter (PC) value is the top address of the
next instruction after the last executed instruction at the time when the user break exception
processing is activated. When data access (CPU/DMAC) is set as a break condition, the place
where the break will occur cannot be specified exactly. The break will occur at the instruction
fetched close to where the data access that is to receive the break occurs.
90
6.4 Setting User Break Conditions
DMA Cycle:
91
6.5 Notes
Two instructions are simultaneously fetched from on-chip memory. If a break condition is set on
the second of these two instructions but the contents of the UBC break condition registers are
changed so as to alter the break condition immediately after the first of the two instructions is
fetched, a user break interrupt will still occur when the second instruction is fetched.
When a conditional branch instruction or TRAPA instruction causes a branch, instructions are
fetched and executed as follows:
When a conditional branch instruction or TRAPA instruction causes a branch, the branch
destination will be fetched after the next instruction or the one after that does an overrun fetch.
When the next instruction or the one after that is set as a break condition, a branch will result in
the generation of a user break interrupt at the next instruction or the instruction after that, neither
of which instructions will be executed.
92
6.5.3 Instruction Fetch Break
If a break is attempted at the task A return destination instruction fetch, task B is activated before
the UBC interrupt by interrupt B generated during task A processing, and the UBC interrupt is
handled after the interrupt B exception handling.
(1) Cause
The SH7032/SH7034 chip operates as follows.
Interrupt exception
handling
F D E E M M E M E E
Interrupt exception
handling
F
F D E E M M E M E E
<Address> <Description>
0x00011a0a Instruction replaced by interrupt
exception handling f
Break
0x00011a0c Overrun fetch
condition
0xf000974 Task B first instruction fetch
(instruction replaced by interrupt
F
exception handling)
(0xf000978 Overrun fetch)
0x02000030 UBC first instruction fetch
It actually takes at least two cycles for the UBC interrupt generated by the address 0x00011a0c
instruction fetch cycle to be sent to the interrupt controller and interrupt exception handling to
begin. However, as shown in figure 6.3, when the UBC interrupt is generated, previously
generated interrupt B initiated by task B is accepted first, and the UBC interrupt is accepted after
completion of the interrupt B exception handling.
(2) Remedy
There is no way of preventing this operation by hardware. A software solution, such as the use of
a flag, must be employed.
93
94
Section 7 Clock Pulse Generator (CPG)
7.1 Overview
The SuperH microcomputer has a built-in clock pulse generator (CPG) that supplies the chip and
external devices with a clock pulse. The CPG makes the chip run at the oscillation frequency of
the crystal resonator. The CPG consists of an oscillator and a duty cycle correction circuit (figure
7.1). The CPG can be made to generate a clock signal by connecting it to a crystal resonator or by
inputting an external clock. (The CPG is halted in standby mode.)
CPG
XTAL
Duty cycle Internal
Oscillator
correction circuit clock (φ)
EXTAL
CK
System clock
Clock pulses can be supplied from a connected crystal resonator or an external clock.
Circuit Configuration: A crystal resonator can be connected as shown in figure 7.2. Use the
damping resistance Rd shown in table 7.1. Use an AT-cut parallel resonating crystal with a
frequency equal to the system clock (CK) frequency. Connect load capacitors (CL1 and C L2) as
shown in the figure. The clock pulse produced by the crystal resonator and internal pulse generator
is sent to the duty cycle correction circuit where its duty cycle is corrected. It is then supplied to
the chip and to external devices.
95
CL1
CL2
Rd
XTAL
Frequency [MHz] 2 4 8 12 16 20
Rd [Ω] 1k 500 200 0 0 0
Crystal Resonator: Figure 7.3 shows an equivalent circuit of the crystal resonator. Use a crystal
resonator with the characteristics listed in table 7.2.
L CL Rs
XTAL EXTAL
C0
Frequency (MHz)
Parameter 2 4 8 12 16 20
Rs max [Ω] 500 120 80 60 50 40
Co max [pF] 7 7 7 7 7 7
96
7.2.2 External Clock Input
An external clock signal can be input at the EXTAL pin as shown in figure 7.4. The XTAL pin
should be left open. The frequency must be equal to the system clock (CK) frequency. The
specifications for the waveform of the external clock input are given below. Make the external
clock frequency the same as the system clock (CK).
Open XTAL
tcyc
tEXH tEXL
VIL
tEXr tEXf
97
7.3 Usage Notes
Board Design: When designing the board, place the crystal resonator and its load capacitors as
close as possible to the XTAL and EXTAL pins. Route no other signal lines near the XTAL and
EXTAL pin signal lines to prevent induction from interfering with correct oscillation. See figure
7.6.
No crossing
signal lines
CL1
XTAL
CL2
EXTAL
Duty Cycle Correction Circuit: Duty cycle corrections are conducted for an input clock over 5
MHz. Duty cycles may not be corrected for a clock of under 5 MHz, but AC characteristics for the
high-level pulse width (tCH) and low-level pulse width (tCL) of the clock are satisfied, and the chip
will operate normally. Figure 7.7 shows the standard characteristics of duty cycle correction. This
duty cycle correction circuit is not for correcting transient fluctuations and jitter in the input clock.
Thus, it takes several tens of microseconds to obtain a stable clock after duty cycle correction is
performed.
98
Input duty*1
70
70
60
Output duty
60
50
50
40 40
30
30
1 2 5 10 20
(MHz)
Input frequency
Note: 1. With the SH7034B, compensation is performed in the input duty range of 60% to 40%.
99
100
Section 8 Bus State Controller (BSC)
8.1 Overview
The bus state controller (BSC) divides address space and outputs control signals for all kinds of
memory and peripheral chips. BSC functions enable the chip to be connected directly to DRAM,
SRAM, ROM, and peripheral chips without the use of external circuits, simplifying system design
and allowing high-speed data transfer in a compact system.
8.1.1 Features
101
8.1.2 Block Diagram
Internal bus
Bus
interface
WCR1
Wait control
WAIT WCR2
unit
WCR3
RD
WRH, WRL BCR
HBS, LBS Area control
AH unit
CS7 to CS0 DCR
Module bus
RCR
CASH, CASL DRAM
RAS control RTCSR
unit
CMI interrupt request
RTCNT
PCR
Interrupt
controller
BSC
WCR: Wait state control register RTCSR: Refresh timer control/status register
BCR: Bus control register RTCNT: Refresh timer counter
DCR: DRAM area control register RTCOR: Refresh time constant register
RCR: Refresh control register PCR: Parity control register
103
8.1.4 Register Configuration
The BSC has ten registers (listed in table 8.2) which control space division, wait states, DRAM
interface, and parity check.
104
8.1.5 Overview of Areas
The SH microprocessors have a 32-bit address space in the architecture, but the upper 4 bits are
ignored. Table 8.3 outlines the space divisions. As shown, the space is divided into areas 0–7
according to the value of the upper addresses.
Each area is allocated a specific type of space. When the area is accessed, a strobe signal that
matches the type of area space is generated. This allocates peripheral chips and memory devices
according to the type of the area spaces and allows them to be directly linked to this chip. Some
areas are of a fixed type based on their address while others can be selected in registers.
Area 0 can be used as an on-chip ROM space or external memory space in the SH7034. In the
SH7032, it can only be used as external memory space. Area 1 can be used as DRAM space or
external memory space. DRAM space enables direct connection to DRAM and outputs RAS, CAS
and multiplexed addresses. Areas 2–4 can only be used as external memory space. Area 5 can be
used as on-chip supporting module space or external memory space. Area 6 can be used as
address/data multiplexed I/O space or external memory space. For address/data multiplexed I/O
space, an address and data are multiplexed and input/output from pins AD15–AD0. Area 7 can be
used as on-chip RAM space or external memory space.
The bus width of the data bus is basically switched between 8 bits and 16 bits according to the
value of address bit A27. For the following areas, however, the bus width is determined by
conditions other than the A27 bit value.
See table 8.6 in section 8.3, Address Space Subdivision, for more information on how the space is
divided.
105
Table 8.3 Overview of Space Divisions
106
8.2 Register Descriptions
The bus control register (BCR) is a 16-bit read/write register that selects the functions of areas and
status of bus cycles. It is initialized to H'0000 by a power-on reset, but is not initialized by a
manual reset or in standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: DRAME IOE WARP RDDTY BAS — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W R/W — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
• Bit 15 (DRAM Enable Bit (DRAME)): DRAME selects whether area 1 is used as an external
memory space or DRAM space. 0 sets it as external memory space and 1 sets it as DRAM
space. The setting of the DRAM area control register is valid only when this bit is set to 1.
• Bit 14 (Multiplexed I/O Enable Bit (IOE)): IOE selects whether area 6 is used as external
memory space or an address/data multiplexed I/O area. 0 sets it as external memory space and
1 sets it as address/data multiplexed I/O space. With address/data multiplexed I/O space, the
address and data are multiplexed and input/output is from AD15–AD0.
107
• Bit 13 (Warp Mode Bit (WARP)): WARP selects warp or normal mode. 0 sets normal mode
and 1 sets warp mode. In warp mode, some external accesses are carried out in parallel with
internal access.
• Bit 12 (RD Duty (RDDTY)): RDDTY selects 35% or 50% of the T1 state as the high-level
duty cycle ratio of signal RD. 0 sets 50%, 1 sets 35%.
• Bit 11 (Byte Access Select (BAS)): BAS selects whether byte access control signals are WRH,
WRL, and A0, or LBS, WR and HBS during word space accesses. When this bit is cleared to
0, WRH, WRL, and A0 signals are valid; when set to 1, LBS, WR, and HBS signals are valid.
• Bits 10–0 (Reserved): These bits are always read as 0. The write value should always be 0.
108
8.2.2 Wait State Control Register 1 (WCR1)
Wait state control register 1 is a 16-bit read/write register that controls the number of states for
accessing each area and whether wait states are used. WCR1 is initialized to H'FFFF by a power-
on reset. It is not initialized by a manual reset or in standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: RW7 RW6 RW5 RW4 RW3 RW2 RW1 RW0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — WW1 —
Initial value: 1 1 1 1 1 1 1 1
R/W: — — — — — — R/W —
• Bits 15–8 (Wait State Control During Read (RW7–RW0)): RW7–RW0 determine the number
of states in read cycles for each area and whether or not to sample the signal input from the
WAIT pin. Bits RW7–RW0 correspond to areas 7–0, respectively. If a bit is cleared to 0, the
WAIT signal is not sampled during the read cycle for the corresponding area. If it is set to 1,
sampling takes place.
For the external memory spaces of areas 1, 3–5, and 7, read cycles are completed in one state
when the corresponding bits are cleared to 0. When they are set to 1, the number of wait states
is 2 plus the WAIT signal value. For the external memory space of areas 0, 2, and 6, read
cycles are completed in one state plus the number of long wait states (set in wait state
controller 3 (WCR3)) when the corresponding bits are cleared to 0. When they are set to 1, the
number of wait states is 1 plus the long wait state; when the WAIT signal is low as well, a wait
state is inserted.
The DRAM space (area 1) finishes the column address output cycle in one state (short pitch)
when the RW1 bit is 0, and in 2 states plus the WAIT signal value (long pitch) when RW1 is 1.
When RW1 is set to 1, the number of wait states selected in wait state insertion bits 1 and 0
(RLW0 and RLW1) for CAS-before-RAS (CBR) refresh in the refresh control register (RCR)
are inserted during the CBR refresh cycle, regardless of the status of the WAIT signal.
The read cycle of the address/data multiplexed I/O space (area 6) is 4 states plus the wait states
from the WAIT signal, regardless of the setting of the RW6 bit. The read cycle of the on-chip
supporting module space (area 5) finishes in 3 states, regardless of the setting of the RW5 bit,
and the WAIT signal is not sampled. The read cycles of on-chip ROM (area 0) and on-chip
RAM (area 7) finish in 1 state, regardless of the settings of bits RW0 and RW7. The WAIT
signal is not sampled for either.
109
Table 8.4 summarizes read cycle state information.
• Bits 7–2 (Reserved): These bits are always read as 1. The write value should always be 1.
• Bit 1 (Wait State Control During Write (WW1)): WW1 determines the number of states in
write cycles for the DRAM space (area 1) and whether or not to sample the WAIT signal.
When the DRAM enable bit (DRAME) in BCR is set to 1 and area 1 is being used as DRAM
space, clearing WW1 to 0 makes the column address output cycle finish in 1 state (short pitch).
When WW1 is set to 1, it finishes in 2 states plus the wait states from the WAIT signal (long
pitch).
Note: Write 0 to WW1 only when area 1 is used as DRAM space (DRAME bit in BCR is 1).
Never write 0 to WW1 when area 1 is used as external memory space (DRAME is 0).
• Bit 0 (Reserved): This bit is always read as 1. The write value should always be 1.
110
8.2.3 Wait State Control Register 2 (WCR2)
Wait state control register 2 is a 16-bit read/write register that controls the number of states for
accessing each area with a DMA single address mode transfer and whether wait states are used.
WCR2 is initialized to H'FFFF by a power-on reset. It is not initialized by a manual reset or in
standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: DRW7 DRW6 DRW5 DRW4 DRW3 DRW2 DRW1 DRW0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: DWW7 DWW6 DWW5 DWW4 DWW3 DWW2 DWW1 DWW0
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
• Bits 15–8 (Wait State Control During Single-Mode DMA Transfer (DRW7–DRW0)): DRW7–
DRW0 determine the number of states in single-mode DMA memory read cycles for each area
and whether or not to sample the WAIT signal. Bits DRW7–DRW0 correspond to areas 7–0,
respectively. If a bit is cleared to 0, the WAIT signal is not sampled during the single-mode
DMA memory read cycle for the corresponding area. If it is set to 1, sampling takes place.
For the external memory spaces of areas 1, 3–5, and 7, single-mode DMA memory read cycles
are completed in one state when the corresponding bits are cleared to 0. When they are set to 1,
the number of wait states is 2 plus the wait states from the WAIT signal. For the external
memory space of areas 0, 2, and 6, single-mode DMA memory read cycles are completed in
one state plus the long wait state number (set in wait state controller 3 (WCR3)) when the
corresponding bits are cleared to 0. When they are set to 1, the number of wait states is 1 plus
the long wait state; when the WAIT signal is low as well, a wait state is inserted.
The DRAM space (area 1) finishes the column address output cycle in one state (short pitch)
when the DRW1 bit is 0, and in 2 states plus the wait states from the WAIT signal (long pitch)
when DRW1 is 1. The single-mode DMA memory read cycle of the address/data multiplexed
I/O space (area 6) is 4 states plus the wait states from the WAIT signal, regardless of the
setting of the DRW6 bit.
111
Table 8.5 Single-Mode DMA Memory Read Cycle States (External Memory Space)
• Bits 7–0 (Single-Mode DMA Memory Write Wait State Control (DWW7–DWW0)): DWW7–
DWW0 determine the number of states in single-mode DMA memory write cycles for each
area and whether or not to sample the WAIT signal. Bits DWW7–DWW0 correspond to areas
7–0, respectively. If a bit is cleared to 0, the WAIT signal is not sampled during the single-
mode DMA memory write cycle for the corresponding area. If it is set to 1, sampling takes
place.
The number of states for areas accesses based on bit settings is the same as indicated for
single-mode DMA memory read cycles. See bits 15–8, Wait State Control During Single-
Mode DMA Memory Transfer (DRW7–DRW0), for details.
Table 8.6 summarizes single-mode DMA memory write cycle state information.
112
Table 8.6 Single-Mode DMA Memory Write Cycle States (External Memory Space)
Wait state control register 3 is a 16-bit read/write register that controls WAIT pin pull-up and the
insertion of long wait states. WCR3 is initialized to H'F800 by a power-on reset. It is not
initialized by a manual reset or in standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: WPU A02LW1 A02LW0 A6LW1 A6LW0 — — —
Initial value: 1 1 1 1 1 0 0 0
R/W: R/W R/W R/W R/W R/W — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
• Bit 15 (Wait Pin Pull-Up Control (WPU)): WPU controls whether the WAIT pin is pulled up
or not. When cleared to 0, the pin is not pulled up; when set to 1, it is pulled up.
113
• Bits 14 and 13 (Long Wait Insertion in Areas 0 and 2, Bits 1, 0 (A02LW1 and A02LW0)):
A02LW1 and A02LW0 select the long wait states to be inserted (1–4 states) when accessing
external memory space of areas 0 and 2.
• Bits 12 and 11 (Long Wait Insertion in Area 6, Bits 1, 0 (A6LW1 and A6LW0)): A6LW1 and
A6LW0 select the long wait states to be inserted (1–4 states) when accessing external memory
space of area 6.
• Bits 10–0 (Reserved): These bits are always read as 0. The write value should always be 0.
The DRAM area control register (DCR) is a 16-bit read/write register that selects the type of
DRAM control signal, the number of precharge cycles, the burst operation mode, and the use of
address multiplexing. DCR settings are valid only when the DRAME bit in BCR is set to 1. It is
initialized to H'0000 by a power-on reset, but is not initialized by a manual reset or in standby
mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: CW2 RASD TPC BE CDTY MXE MXC1 MXC0
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
114
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
• Bit 15 (Dual-CAS or Dual-WE Select Bit (CW2)): When accessing a 16-bit bus width space,
CW2 selects the dual-CAS or the dual-WE method. When cleared to 0, the CASH, CASL, and
WRL signals are valid ; when set to 1, the CASL, WRH, and WRL signals are valid. When
accessing an 8-bit space, only CASL and WRL signals are valid, regardless of the CW2
setting.
• Bit 14 (RAS Down (RASD)): When DRAM access pauses, RASD determines whether to keep
RAS low while waiting for the next DRAM access (RAS down mode) or return it to high
(RAS up mode). When cleared to 0, the RAS signal returns to high; when set to 1, it stays low.
• Bit 13 (RAS Precharge Cycle Count (TPC)): TPC selects whether the RAS signal precharge
cycle (TP) will be 1 state or 2. When TPC is cleared to 0, a 1-state precharge cycle is inserted;
when 1 is set, a 2-state precharge cycle is inserted.
• Bit 12 (Burst Operation Enable (BE)): BE selects whether or not to perform burst operation, a
high-speed page mode. When burst operation is not selected (0), the row address is not
compared but instead is transferred to the DRAM every time and full access is performed.
When burst operation is selected (1), row addresses are compared and burst operation with the
same row address as previously is performed (in this access, no row address is output and the
column address and CAS signal alone are output) (high-speed page mode).
115
Bit 12: BE Description
0 Normal mode: full access (Initial value)
1 Burst operation: high-speed page mode
• Bit 11 (CAS Duty (CDTY)): CDTY selects 35% or 50% of the TC state as the high-level duty
ratio of the signal CAS in short-pitch access. When cleared to 0, the CAS signal high level
duty is 50%; when set to 1, it is 35%.
• Bit 10 (Multiplex Enable Bit (MXE)): MXE determines whether or not DRAM row and
column addresses are multiplexed. When cleared to 0, addresses are not multiplexed; when set
to 1, they are multiplexed.
• Bits 9 and 8 (Multiplex Shift Count 1 and 0 (MXC1 and MXC0)): Shift row addresses
downward by a certain number of bits (8–10) when row and column addresses are multiplexed
(MXE = 1). Regardless of the MXE bit setting, these bits also select the range of row addresses
compared in burst operation.
• Bits 7–0 (Reserved): These bits are always read as 0. The write value should always be 0.
116
8.2.6 Refresh Control Register (RCR)
The refresh control register (RCR) is a 16-bit read/write register that controls the start of refresh-
ing and selects the refresh mode and the number of wait states during refreshing. It is initialized to
H'0000 by a power-on reset, but is not initialized by a manual reset or in standby mode.
To prevent RCR from being written incorrectly, it must be written by a different method from
most other registers. A word transfer operation is used, H'5A is written in the upper byte, and the
actual data is written in the lower byte. For details, see section 8.2.11, Notes on Register Access.
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: RFSHE RMODE RLW1 RLW0 — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W — — — —
• Bit 7 (Refresh Control (RFSHE)): RFSHE determines whether or not to perform DRAM
refresh operations. When this bit is cleared to 0, no DRAM refresh control is performed and
the refresh timer counter (RTCNT) can be used as an 8-bit interval timer. When set to 1,
DRAM refresh control is performed.
• Bit 6 (Refresh Mode (RMODE)): When DRAM refresh control is selected (RFSHE = 1),
RMODE selects whether to perform CAS-before-RAS (CBR) refresh or self-refresh. When
this bit is cleared to 0, a CBR refresh is performed at the cycle set in the refresh timer
control/status register (RTCSR) and refresh time constant register (RTCOR). When set to 1,
the DRAM performs a self-refresh. When refresh control is not selected (RFSHE = 0), the
RMODE bit setting is not valid. When canceling self-refresh, set RMODE to 0 with RFSHE
set to 1.
117
Bit 6: RMODE Description
0 CAS-before-RAS refresh (Initial value)
1 Self-refresh
• Bits 5 and 4—CBR Refresh Wait State Insertion Bits 1 and 0 (RLW1, RLW0): These bits
select the number of wait states to be inserted (1–4) during CAS-before-RAS refreshing. When
CBR refresh is performed and the RW1 bit in WCR1 is set to 1, the number of wait states
selected by RLW1 and RLW0 is inserted regardless of the WAIT signal. When the RW1 bit is
cleared to 0, the RLW1 and RLW0 bit settings are ignored and no wait states are inserted.
• Bits 3–0 (Reserved): These bits are always read as 0. The write value should always be 0.
The refresh timer control/status register (RTCSR) is a 16-bit read/write register that selects the
clock input to the refresh timer counter (RTCNT) and controls compare match interrupts (CMI). It
is initialized to H'0000 by a power-on reset, but is not initialized by a manual reset or in standby
mode.
To prevent RTCSR from being written incorrectly, it must be written by a different method from
most other registers. A word transfer operation is used, H'A5 is written in the upper byte, and the
actual data is written in the lower byte. For details, see section 8.2.11, Notes on Register Access.
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: CMF CMIE CKS2 CKS1 CKS0 — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W R/W — — —
118
• Bits 15–8 (Reserved): These bits are always read as 0.
• Bit 7 (Compare Match Flag (CMF)): Indicates whether the values of RTCNT and the refresh
time constant register (RTCOR) match. When 0, the value of RTCNT and RTCOR do not
match; when 1, the value of RTCNT and RTCOR match.
• Bit 6 (Compare Match Interrupt Enable (CMIE)): Enables or disables the compare match
interrupt (CMI) generated when CMF is set to 1 in RTCSR (RTCNT value = RTCOR value).
When cleared to 0, the CMI interrupt is disabled; when set to 1, it is enabled.
• Bits 5–3 (Clock Select Bits 2–0 (CKS2–CKS0)): These bits select the clock input to RTCNT
from among the seven types of clocks created by dividing the system clock (φ). When the input
clock is selected with the CKS2–CKS0 bits, RTCNT starts to increment.
• Bits 2–0 (Reserved): These bits are always read as 0. The write value should always be 0.
119
8.2.8 Refresh Timer Counter (RTCNT)
The refresh timer counter (RTCNT) is a 16-bit read/write register that is used as an 8-bit upcounter
that generates refresh or interrupt requests. When the input clock is selected by clock select bits 2–
0 (CKS2–CKS0) in RTCSR, that clock makes the RTCNT start incrementing. When the values of
RTCNT and the refresh time constant register (RTCOR) match, RTCNT is cleared to H'0000 and
the CMF flag in RTCSR is set to 1. When the RFSHE bit in RCR is also set to 1, a CAS-before-
RAS refresh is performed. When the CMIE bit in RTCSR is also set to 1, a compare match
interrupt (CMI) is generated.
Bits 15–8 are reserved and are not incremented. These bits are always read as 0.
RTCNT is initialized to H'0000 by a power-on reset, but is not initialized by a manual reset or in
standby mode.
To prevent RTCSR from being written incorrectly, it must be written by a different method from
most other registers. A word transfer operation is used, H'69 is written in the upper byte, and the
actual data is written in the lower byte. For details, see section 8.2.11, Notes on Register Access.
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
The refresh time constant register (RTCOR) is a 16-bit read/write register that sets the compare
match cycle used with RTCNT. The values in RTCOR and RTCNT are constantly compared.
When they match, the compare match flag (CMF) is set in RTCNT and RTCSR is cleared to
H'0000. If the RFSHE bit in RCR is set to 1 when this happens, a CAS-before-RAS (CBR) refresh
is performed. When the CMIE bit in RTCSR is also set to 1, a compare match interrupt (CMI) is
generated.
Bits 15–8 are reserved and cannot be used to set the cycle. These bits are always read as 0.
120
RTCOR is initialized to H'00FF by a power-on reset, but is not initialized by a manual reset or in
standby mode.
To prevent RTCOR from being written incorrectly, it must be written by a different method from
most other registers. A word transfer operation is used, H'96 is written in the upper byte, and the
actual data is written in the lower byte. For details, see section 8.2.11, Notes on Register Access.
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name:
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 parity control register (PCR) is a 16-bit read/write register that selects the parity polarity and
space to be parity checked. PCR is initialized to H'0000 by a power-on reset, but is not initialized
by a manual reset or in standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: PEF PFRC PEO PCHK1 PCHK0 — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W R/W — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
121
• Bit 15 (Parity Error Flag (PEF)): When a parity check is carried out, PEF indicates whether a
parity error has occurred. 0 indicates that no parity error has occurred; 1 indicates that a parity
error has occurred.
• Bit 14 (Parity Output Force (PFRC)): PFRC selects whether to produce a forced parity output
for testing the parity error check function. When cleared to 0, there is no forced output; when
set to 1, it produces a forced high-level output from the DPH and DPL pins when data is
output, regardless of the parity.
• Bit 13 (Parity Polarity (PEO)): PEO selects even or odd parity. When cleared to 0, parity is
even; when set to 1, parity is odd.
• Bits 12 and 11 (Parity Check Enable Bits 1 and 0 (PCHK1 and PCHK0)): These bits determine
whether or not parity is checked and generated, and select the check and generation spaces.
• Bits 10–0 (Reserved): These bits are always read as 0. The write value should always be 0.
122
8.2.11 Notes on Register Access
RCR, RTCSR, RTCNT, and RTCOR differ from other registers in being more difficult to write.
Data requires a password when it is written. This prevents data from being mistakenly overwritten
by program overruns and so on.
Writing to RCR, RTCSR, RTCNT, and RTCOR: Use only word transfer instructions. It is not
possible to write with byte transfer instructions. As figure 8.2 shows, when writing to RCR, place
H'5A in the upper byte and the write data in the lower byte. When writing to RTCSR, place H'A5
in the upper byte and the write data in the lower byte. When writing to RTCNT, place H'69 in the
upper byte and the write data in the lower byte. When writing to RTCOR, place H'96 in the upper
byte and the write data in the lower byte. These transfers write data in the lower byte of the
respective registers. If the upper byte differs from the above passwords, no writing occurs.
15 8 7 0
RCR H'5A Write data
15 8 7 0
RTCSR H'A5 Write data
15 8 7 0
RTCNT H'69 Write data
15 8 7 0
RTCOR H'96 Write data
Reading from RCR, RTCSR, RTCNT, and RTCOR: These registers are read like other
registers. They can be read by byte and word transfer instructions. If read by word transfer, the
value of the upper eight bits is H'00.
123
8.3 Address Space Subdivision
4-Gbyte space
128-Mbyte space
16-Mbyte space
4-Mbyte space
Output address:
Output from address pins
A21–A0
Area selection:
Decoded to become chip select signals CS0–CS7 for areas 0–7
Since this chip uses a 32-bit address, 4 Gbytes of space can be accessed in the architecture;
however, the upper 4 bits (A31–A28) are always ignored and not output. Bit A27 is basically only
used for switching the bus width. When the A27 bit is 0 (H'0000000–H'7FFFFFF), the bus width
is 8 bits; when the A27 bit is 1 (H'8000000–H'FFFFFFF), the bus width is 16 bits. With the
remaining 27 bits (A26–A0), a total of 128 Mbytes can thus be accessed.
The 128-Mbyte space is subdivided into 8 areas (areas 0–7) of 16 Mbytes each according to the
values of bits A26–A24. The space with bits A26–A24 as 000 is area 0 and the space with bits
A26–A24 as 111 is area 7. The A26–A24 bits are decoded and are output as the chip select signals
(CS0–CS7) of the corresponding areas 0–7. Table 8.7 shows how the space is divided.
124
Table 8.7 How Space is Divided
125
As figure 8.4 shows, specific spaces such as DRAM space and address/data multiplexed I/O space
are allocated to the 8 areas. Each of the spaces is equipped with the necessary interfaces. The
control signals needed by DRAM and peripheral chips will be output by the chip to devices
connected to an area allocated to the appropriate type of space.
The primary bus width selection for this chip is made by switching between 8 bits and 16 bits
using the A27 bit. When A27 is 0, the bus width is 8 bits and data is input/output through the
AD7–AD0 pins; when A27 is 1, the size is 16 bits and data is input/output through the AD15–
AD0 pins for word accesses. For byte access, the upper byte is input/output through AD15–AD8
and the lower byte through AD7–AD0. When the bus width is 8 bits or byte access is being
performed with a 16-bit bus width, the status of the eight AD pins that are not inputting/outputting
data is as shown in appendix B, Pin States.
Bus widths are also determined by conditions other than the A27 bit for specific areas:
• Area 0 is an 8-bit external memory space when the MD2–MD0 pins are 000, a 16-bit external
memory space when these bits are 001, and a 32-bit on-chip ROM space when they are 010
(the on-chip ROM is available only in the SH7034).
• Area 5 is an 8-bit on-chip supporting module space when the A27 bit and A8 bit are both 0 and
a 16-bit on-chip supporting module space when the A27 bit is 0 and the A8 bit is 1. When the
A27 bit is 1, it is a 16-bit external memory space.
• Area 6 has an 8-bit bus width when the A27 bit and A14 bit are both 0 and a 16-bit bus width
when the A27 bit is 0 and the A14 bit is 1. When the A27 bit is 1, it is a 16-bit space.
• Area 7 is a 32-bit on-chip RAM space when the A27 bit is 1 and an 8-bit external memory
space when the A27 bit is 0.
Word (16-bit) data accessed from 8-bit bus areas and longword (32-bit) data accessed from 16-bit
bus areas require two consecutive accesses. Longword (32-bit) data accessed from 8-bit bus areas
requires four consecutive accesses.
When the A26–A24 bits of the address are decoded, they become chip select signals (CS0–CS7)
for areas 0–7. When an area is accessed, the corresponding chip select pin is driven low. Table 8.8
shows the relationship between the A26–A24 bits and the chip select signals.
126
Table 8.8 A26–A24 Bits and Chip Select Signals
Address
A26 A25 A24 Area Selected Chip Select Pin Driven Low
0 0 0 Area 0 CS0
1 Area 1 CS1
1 0 Area 2 CS2
1 Area 3 CS3
1 0 0 Area 4 CS4
1 Area 5 CS5
1 0 Area 6 CS6
1 Area 7 CS7
The chip select signal is output only for external accesses. When accessing the on-chip ROM (area
0), on-chip supporting modules (area 5), and on-chip RAM (area 7), the CS0, CS5, and CS7 pins
are not driven low. When accessing DRAM space (area 1), select the RAS and CAS signals with
the pin function controller.
8.3.4 Shadows
The size of each area is 16 Mbytes, which can be specified with the 24 address bits A23–A0 for 8-
bit spaces and 16-bit spaces alike. Bits A23 and A22, however, output externally only when the
address multiplex function is used in DRAM space (area 1); in all other cases, there is no output,
so the actually accessible area for all areas is the 4 Mbytes that can be specified with the 22 bits
A21–A0. Regardless of the values of A23 and A22, the same 4 Mbytes of actual space is accessed.
As illustrated in figure 8.4 (a), the A23 and A22 bit regions 00, 01, 10 and 11 are called shadows
of actual areas. Shadows are allocated in 4-Mbyte units for both 8-bit and 16-bit bus widths. When
the same addresses H'3200000, H'3600000, H'3A00000 and H'3E00000 are specified for values
A21–A0, as shown in figure 8.4 (b), the same actual space is accessed regardless of the A23 and
A22 bits.
In areas whose bus widths are switchable using the A27 address bit, the shadow of the same actual
space is allocated to both A27 = 0 spaces and A27 = 1 spaces (figure 8.4(a)). When the value of
A27 is changed, the valid AD pins switch from AD15–AD0 to AD7–AD0, but the actual space
accessed remains the same.
The spaces of on-chip ROM (area 0), DRAM (area 1), on-chip supporting modules (area 5), and
on-chip RAM (area 7) have shadows of different sizes from those mentioned above. See section
8.3.5, Area Descriptions, for details.
127
Logical address space
H'B000000
H'3000000
H'B3FFFFF Shadow
H'B400000 H'33FFFFF (A23, A22 = 00)
a. Shadow allocation
H'3000000
H'3200000
Location indicated
H'33FFFFF by address
H'3400000
Actual space
H'3600000
Location indicated
H'37FFFFF by address
H'3800000 Location actually
accessed
H'3A00000
Location indicated
H'3BFFFFF by address
H'3C00000
H'3E00000
Location indicated
H'3FFFFFF by address
8-bit space
128
8.3.5 Area Descriptions
Area 0: Area 0 is an area with address bits A26–A24 set to 000 and an address range of
H'0000000–H'0FFFFFF and H'8000000–H'8FFFFFF. Figure 8.5 shows a memory map of area 0.
Area 0 can be set for use as on-chip ROM space or external memory space with the mode pins
(MD2–MD0). The MD2–MD0 pins also determine the bus width, regardless of the A27 address
bit. When MD2–MD0 are 000, area 0 is an 8-bit external memory space; when they are 001, area
0 is a 16-bit external memory space; and when they are 010, it is a 32-bit on-chip ROM space. In
the SH7032, area 0 can only be used as external memory space since there is no on-chip ROM,
and this last setting is meaningless.
The capacity of the on-chip ROM is 64 kbytes, so bits A23–A16 are ignored in on-chip ROM
space and the shadow is in 64-kbyte units. The CS0 signal is disabled.
In external memory space, the A23 and A22 bits are not output and the shadow is in 4-Mbyte
units. When external memory space is accessed, the CS0 signal is valid. The external memory
space has a long wait function, so between 1 and 4 states can be selected for the number of long
waits inserted into the bus cycle using the area 0 and 2 long wait insertion bits (A02LW1,
A02LW0) of wait state controller 3 (WCR3).
129
Logical address space Logical address space
H'8000000 H'8000000
H'800FFFF
H'8010000 H'0000000 H'0000000
Shadow
H'000FFFF
Shadow
H'0010000 Shadow
Shadow H'83FFFFF
H'8400000
H'03FFFFF
H'0400000
Actual space
H'87FFFFF Shadow
Actual space H'8800000
External
On-chip ROM H'07FFFFF memory
(64 kbytes) H'0800000 space
• Valid (4 Mbytes)
addresses H'8BFFFFF Shadow
A15–A0 H'8C00000 • MD2–MD0 =
(A23–A16 000: 8-bit
H'0BFFFFF
ignored) H'0C00000 access,
• CS0 not 001: 16-bit
H'8FF0000 valid
Shadow access
Shadow
H'8FFFFFF Shadow • On-chip H'8FFFFFF • Valid
H'0FF0000 ROM addresses
Shadow
H'0FFFFFF space H'0FFFFFF A21–A0
valid in 8 or 16 8 or 16 (A23 and
32-bit space 32-bit space SH7034 bit space bit space A22 not
only output)
• CS0 valid
• Long wait
function
Note: The bus width of area 0 is determined by the MD2–MD0 pins regardless of the A27 bit
setting.
Area 1: Area 1 is an area with address bits A26–A24 set to 001 and an address range of
H'1000000–H'1FFFFFF and H'9000000–H'9FFFFFF. Figure 8.6 shows a memory map of area 1.
Area 1 can be set for use as DRAM space or external memory space with the DRAM enable bit
(DRAME) in the bus control register (BCR). When the DRAME bit is 0, area 1 is external
memory space; when DRAME is 1, it is DRAM space.
In external memory space, the bus width is 8 bits when the A27 bit is 0 and 16 bits when it is 1.
Bits A23 and A22 are not output and the shadow is in 4-Mbyte units. When external memory is
accessed, the CS1 signal is valid.
DRAM space is a type of external memory space, but it is configured especially to be connected to
DRAM, so it outputs strobe signals required for this purpose. The access size is 8 bits when
address bit A27 is 0 and 16 bits when A27 is 1. When the multiplex enable bit (MXE) in the
130
DRAM control register (DCR) is set to 1 to use the address multiplex function, bits A23–A0 are
multiplexed and output from pins A15–A0, so a maximum 16-Mbyte space can be used. When
DRAM space is accessed, the CS1 signal is not valid and the pin function controller should be set
for access with CAS (CASH and CASL) and RAS signals.
H'93FFFFF Shadow
H'9400000
H'13FFFFF
H'1400000
Actual space
H'1FFFFFF H'1FFFFFF
A27 = 1: A27 = 0: A27 = 1: A27 = 0: • Multiplexed
16-bit space 8-bit space 16-bit space 8-bit space (MXE = 1):
16-bit space
• Not multi-
plexed
(MXE = 0):
4-Mbyte
space
• CS1 not
valid (CAS,
RAS output)
Areas 2–4: Areas 2–4 are areas with address bits A26–A24 set to 010, 011, and 100, respectively,
and address ranges of H'2000000–H'2FFFFFF and H'A000000–H'AFFFFFF (area 2), H'3000000–
H'3FFFFFF and H'B000000–H'BFFFFFF (area 3), and H'4000000–H'4FFFFFF and H'C000000–
H'CFFFFFF (area 4). Figure 8.7 shows a memory map of area 2, which is representative of areas
2–4.
131
Areas 2–4 are always used as external memory space. The bus width is 8 bits when the A27 bit is
0 and 16 bits when it is 1. A23 and A22 bits are not output and the shadow is in 4-Mbyte units.
When areas 2–4 are accessed, the CS2, CS3, and CS4 signals are valid. Area 2 has a long wait
function, so between 1 and 4 states can be selected for the number of long waits inserted into the
bus cycle using bits A02LW1 and A02LW0 in WCR3.
H'2000000
Shadow
H'A3FFFFF
H'A400000
H'23FFFFF
H'2400000
Actual space
Shadow
H'A7FFFFF
H'A800000 External
memory space
H'27FFFFF (4 Mbytes)
H'2800000
Shadow
H'ABFFFFF • Valid addresses A21–A0
H'AC00000 (A23 and A22 not output)
• CS2 valid
H'2BFFFFF • Long wait function
H'2C00000
Shadow
H'AFFFFFF
H'2FFFFFF
132
Area 5: Area 5 is an area with address bits A26–A24 set to 101 and an address range of
H'5000000–H'5FFFFFF and H'D000000–H'DFFFFFF. Figure 8.8 shows a memory map of area 5.
Area 5 is allocated to on-chip supporting module space when the A27 address bit is 0 and external
memory space when A27 is 1. In on-chip supporting module space, bits A23–A9 are ignored and
the shadows are in 512-byte units. The bus width is 8 bits when the A8 bit is 0 and 16 bits when
A8 is 1. When on-chip supporting module space is accessed, the CS5 signal is not valid. In
external memory space, the A23 and A22 bits are not output and the shadow is in 4-Mbyte units.
The bus width is always 16 bits. When external memory space is accessed, the CS5 signal is valid.
H'D3FFFFF
H'D400000 Actual
space
Actual Shadow
space External
memory
H'D7FFFFF space
H'D800000 (4 Mbytes)
On chip
peripheral
module space Shadow • Valid
(512 bytes) addresses
A8 = 0: H'DBFFFFF A21–A0
8-bit space H'DC00000 A23 and A22
A8 = 1: 16-bit space* not output)
Shadow • Ignored • CS5 valid
Shadow
Shadow addresses:
H'5FFFE00 A23–A9
H'5FFFFFF Shadow (Valid addresses H'DFFFFFF
8 or 16-bit A8–A0) 16-bit space
space • CS5 not valid
Note: * Some on-chip supporting module registers can only be accessed as 8-bit registers even
though they occupy 16 bits (see Appendix A).
133
Area 6: Area 6 is an area with address bits A26–A24 set to 110 and an address range of
H'6000000–H'6FFFFFF and H'E000000–H'EFFFFFF. Figure 8.9 shows a memory map of area 6.
In area 6, a space for which address bit A27 is 0 is allocated to address/data multiplexed I/O space
when the multiplexed I/O enable bit (IOE) of the bus control register (BCR) is 1, and to external
memory space when the IOE bit is 0. When A27 is 1, it is always external memory space.
The multiplexed I/O space is a type of external memory space but the address and data are
multiplexed and output from AD15–AD0 or AD7–AD0. The bus width is 8 bits when the A14 bit
is 0 and 16 bits when the A14 bit is 1. The A23 and A22 bits are not output and the shadow is in 4-
Mbyte units. When multiplexed I/O space is accessed, the CS6 signal is valid.
In external memory space, the bus width is 8 bits when both the A27 and A14 bits are 0 and 16
bits when the A27 bit is 0 and the A14 bit is 1. When the A27 bit is 1, it is always a 16-bit space.
The A23 and A22 bits are not output and the shadow is in 4-Mbyte units. When external memory
is accessed, the CS6 signal is valid. The external memory space has a long wait function so
between 1 and 4 states can be selected for the number of long waits inserted into the bus cycle
using the area 6 long wait insertion bits (A6LW1 and A6LW0) in WCR3.
Shadow Shadow
H'63FFFFF H'E3FFFFF
H'6400000 Actual H'E400000 Actual
space space
Multiplexed
Shadow Shadow External
I/O space
or external memory
H'67FFFFF memory H'E7FFFFF space
H'6800000 space H'E800000 (4 Mbytes)
(4 Mbytes)
Shadow • IOE = 1: Shadow • Valid
address/data addresses
H'6BFFFFF multiplexed I/O H'EBFFFFF A21–A0 (A23
H'6C00000 space; H'EC00000 and A22 not
IOE = 0: external output)
memory space • CS6 valid
Shadow Shadow
• A14 = 0: 8-bit space • Long wait
A14 = 1: 16-bit space function
H'6FFFFFF • Valid addresses H'EFFFFFF
8 or 16-bit A21–A0 (A23 and 16-bit space
space A22 not output)
• CS6 valid
• Long wait function
Area 7 is allocated to external memory space when A27 is 0 and on-chip RAM space when A27 is
1. In external memory space, the bus width is 8 bits. The A23 and A22 bits are not output and the
shadow is in 4-Mbyte units. When external memory is accessed, the CS7 signal is valid.
The on-chip RAM space has a bus width of 32 bits. In the SH7032, the on-chip RAM capacity is 8
kbytes, so A23–A13 are ignored and the shadows are in 8-kbyte units. In the SH7034, the on-chip
RAM capacity is 4 kbytes, so A23–A12 are ignored and the shadows are in 4-kbyte units. During
on-chip RAM access, the CS7 signal is not valid.
H'73FFFFF
H'7400000 Actual
space
Actual
Shadow External space
memory
H'77FFFFF space
H'7800000 (4 Mbytes)
• On-chip
• Valid RAM space
Shadow SH7032:
addresses
A21–A0 8 kbytes,
H'7BFFFFF (A23 and A22 SH7034:
H'7C00000 4 kbytes
not output)
• CS7 valid • Valid
Shadow addresses
Shadow
H'FFFE000 (SH7032) Shadow SH7032:
H'FFFF000 (SH7034) A12–A0
H'7FFFFFF Shadow
H'FFFFFFF (A23–A13
8-bit space 32-bit space not output)
SH7034:
A11–A0
(A23–A12
not output)
• CS7 not
valid
135
8.4 Accessing External Memory Space
In external memory space, a strobe signal is output based on the assumption of a directly
connected SRAM. The external memory space is allocated to the following areas:
The bus cycle for external memory space access is 1 or 2 states. The number of states is controlled
with wait states by the settings of wait state control registers 1–3 (WCR1–WCR3). For details, see
section 8.4.2, Wait State Control. Figures 8.11 and 8.12 illustrate the basic timing of external
memory space access.
T1
CK
A21–A0
CSn
RD
(Read)
AD15–AD0
(Read)
Figure 8.11 Basic Timing of External Memory Space Access (1-State Read Timing)
136
T1 T2
CK
A21–A0
CSn
When
RDDTY = 0
RD
When
Read RDDTY = 1
AD15–AD0
WRH, WRL
Write
AD15–AD0
Figure 8.12 Basic Timing of External Memory Space Access (2-State Read Timing)
High-level duties of 35% and 50% can be selected for the RD signal using the RD duty bit
(RDDTY) in BCR. When RDDTY is set to 1, the high-level duty is 35% of the T1 state, enabling
longer access times for external devices. Only set to 1 when the operating frequency is a minimum
of 10 MHz.
137
8.4.2 Wait State Control
The number of external memory space access states and the insertion of wait states can be
controlled using the WCR1–WCR3 bits. The bus cycles that can be controlled are the CPU read
cycle and the DMAC dual mode read cycle. The bus cycle that can be controlled using the WCR2
is the DMAC single-mode read/write cycle.
Table 8.9 shows the number of states and number of wait states in access cycles to external
memory spaces.
Table 8.9 Number of States and Number of Wait States in Access Cycles to External
Memory Spaces
CPU Read Cycle, DMAC Dual Mode Read Cycle, CPU Write Cycle and
DMAC Single Mode Read/Write Cycle DMAC Dual Mode Write
Corresponding Bits in Corresponding Bits in Cycle (Cannot be
Area WCR1 and WCR2 = 0 WCR1 and WCR2 = 1 controlled by WCR1)*2
1, 3–5, 7 1 cycle fixed; WAIT 2 cycles fixed + wait state from WAIT signal*3
signal ignored
0, 2, 6 (long 1 cycle + long wait state, 1 cycle + long wait state*1 + wait state from WAIT
wait available) WAIT signal ignored signal
Notes: 1. The number of long wait states is set by WCR3.
2. When DRAME = 1, short pitch/long pitch is selected with the WW1 bit in WCR1.
3. Pin wait cannot be used for the CS7 and WAIT pins of area 3 because they are
multiplexed.
For the CPU read cycle, DMAC dual mode read cycle, and DMAC single mode read/write cycle,
the access cycle is completed in 1 state when the corresponding bits of WCR1 and WCR2 for
areas 1, 3–5, and 7 are cleared to 0 and the WAIT pin input signal is not sampled. When the bits
are set to 1, the WAIT signal is sampled and the number of states is 2 plus the number of wait
states set by the WAIT signal. The WAIT signal is sampled at the rise of the system clock (CK)
directly preceding the second state of the bus cycle and the wait states are inserted as long as the
level is low. When a high level is detected, it shifts to the second state (final state). Figure 8.13
shows the wait state timing when accessing the external memory spaces of areas 1, 3, 4, 5, and 7.
138
T1 Tw (wait state) T2
CK
A21–A0
CSn
RD
Read
AD15–AD0
WRH, WRL
Write
AD15–AD0
WAIT
Figure 8.13 Wait State Timing for External Memory Space Access (2 States Plus Wait
States from WAIT Signal)
Areas 0, 2, and 6 have long wait functions. When the corresponding bits in WCR1 and WCR2 are
cleared to 0, the access cycle is 1 state plus the number of long wait states (set in WCR3,
selectable between 1 and 4) and the WAIT pin input signal is not sampled. When the bits are set to
1, the WAIT signal is sampled and the number of states is 1 plus the number of long wait states
plus the number of wait states set by the WAIT signal. The WAIT signal is sampled at the rise of
the system clock (CK) directly preceding the last long wait state and the wait states are inserted as
long as the level is low. When a high level is detected, it shifts to the final long wait state. Figure
8.14 shows the wait state timing when accessing the external memory spaces of areas 0, 2, and 6.
139
Wait state Wait
Wait states from WAIT states set
set in WCR3 signal input in WCR3
T1 TLW1 TLW2 TW TLW3
CK
A21–A0
CSn
RD
Read
AD15–AD0
WRH, WRL
Write
AD15–AD0
WAIT
Figure 8.14 Wait State Timing for External Memory Space Access (1 State Plus Long Wait
State (When Set to Insert 3 States) Plus Wait States from WAIT Signal)
For CPU write cycles and DMAC dual mode write cycles to external memory space, the number
of states and wait state insertion cannot be controlled by WCR1. In areas 1, 3, 4, 5, and 7, the
WAIT signal is sampled and the number of states is 2 plus the number of wait states set by the
WAIT signal (figure 8.13). In areas 0, 2 and 6, the number of states is 1 state plus the number of
long wait states plus the number of wait states set by the WAIT signal (figure 8.14). Do not write
0 in bits 7–2 and 0 of WCR1; only write 1. When area 1 is being used as external memory space,
do not write 0 in bit 1 (WW1); always write 1.
140
8.4.3 Byte Access Control
The upper byte and lower byte control signals when 16-bit bus width space is being accessed can
be selected from (WRH, WRL, A0) or (WR, HBS, LBS). When the byte access select bit (BAS) in
BCR is set to 1, the WRH, WRL, and A0 pins output WR, LBS, and HBS signals. Figure 8.15
illustrates the control signal output timing in the byte write cycle.
CK
A0
BAS = 0 WRH
WRL
HBS
BAS = 1
LBS
WR
Figure 8.15 Byte Access Control Timing For External Memory Space Access (Write Cycle)
The WRH, WRL system and the HBS, LBS system are available as byte access signals for 16-bit
space in address/data multiplexing space and external memory space.
These strobe signals are assigned to pins in the manner: A0/HBS, WRH/LBS, WRL/WR, and the
BAS bit in the bus control register (BCR) is used to switch specify signal sending.
Note that the byte access signals are strobe signals specifically for byte access to a 16-bit space
and are not to be used for byte access to an 8-bit space. When making an access to an 8-bit space,
use the A0/HBS pin as A0 irrespective of the BAS bit value to use the WRL/WR pin as the WR
pin, and avoid using the WRH/LBS pin.
141
8.5 DRAM Interface Operation
When the DRAM enable bit (DRAME) in BCR is set to 1, area 1 becomes DRAM space and the
DRAM interface function is available, which permits direct connection of this chip to DRAMs.
When the multiplex enable bit (MXE) in the DRAM area control register (DCR) is set to 1, row
addresses and column addresses are multiplexed. This allows DRAMs that require multiplexing of
row and column addresses to be connected directly to an SH microprocessor without additional
multiplexing circuits. When addresses are multiplexed (MXE = 1), setting of the DCR’s multiplex
shift bits (MXC1, MXC0) allows selection of eight, nine and ten-bit row address shifting. Table
8.10 illustrates the relationship between the MXC1/MXC0 bits and address multiplexing.
142
Table 8.10 Relationship between Multiplex Shift Count Bits (MXC1, MXC0) and Address
Multiplexing
143
For example, when MXC1 and MXC0 are set to 00 and an 8-bit shift is selected, the A23–A8
address bit values are output to pins A15–A0 the row address. The values for A21–A16 are
undefined. The values of bits address A21–A0 are output to pins A21–A0 as the column address.
Figure 8.16 depicts address multiplexing with an 8-bit shift.
RAS = Low
Undefined output
CAS = Low
There are two types of DRAM accesses: short pitch and long pitch. Short pitch or long pitch can
be selected for the respective bus cycles using the RW1 and WW1 bits in WCR1 and the DRW1
and DWW1 bits in WCR2. When the corresponding bits are cleared to 0, DRAM access is short
pitch and column address output occurs in 1 state. When these bits are 1, DRAM access is long
pitch and column address output occurs in 2 states. Figure 8.17 shows short pitch timing; figure
8.18 shows long pitch timing.
The high-level duty of the CAS signal can also be selected between 50% and 35% of the TC state
when access is short pitch. By setting the CDTY bit to 1, the high level duty becomes 35% and the
DRAM access time can be lengthened. Only set to 1 when the operating frequency is a minimum
of 10 MHz.
144
Tp Tr Tc
CK
RAS
CDTY
=0
CAS
CDTY
=1
WRH, WRL
Read
AD15–AD0
WRH, WRL
Write
AD15–AD0
145
Tp Tr Tc1 Tc2
CK
RAS
CAS
WRH, WRL
Read
AD15–AD0
WRH, WRL
Write
AD15–AD0
Precharge State Control: When the microprocessor clock frequency is raised and the cycle
period shortened, 1 cycle may not always be sufficient for the precharge time for the RAS signal
when the DRAM is accessed. The BSC allows the precharge cycle to be set to 1 state or 2 states
using the RAS signal precharge cycles bit (TPC) in DCR. When the TPC bit is 0, the precharge
cycle is 1 state; when TPC is 1, the precharge cycle is 2 states. Figure 8.19 shows the timing when
the precharge cycle is 2 states.
146
Tp1 Tp2 Tr Tc1 Tc2
CK
RAS
CAS
Control of Insertion of Wait States Using the WAIT Pin Input Signal: The number of wait
states inserted into the DRAM access cycle can be controlled by setting WCR1 and WCR2. When
the corresponding bits in WCR1 and WCR2 are cleared to 0, the column address output cycle ends
in 1 state and no wait states are inserted. When the bit is 1, the WAIT pin input signal is sampled
on the rise of the system clock (CK) directly preceding the second state of the column address
output cycle and the wait state is inserted as long as the level is low. When a high level is detected,
it shifts to the second state. Figure 8.20 shows the wait state timing in a long pitch bus cycle.
CK
RAS
CAS
WAIT
Figure 8.20 Wait State Timing during DRAM Access (Long Pitch)
When the RW1 bit is set to 1, the number of wait states selected by CBR refresh wait state
insertion bits 1 and 0 (RLW1, RLW0) in the refresh control register (RCR) are inserted into the
CAS-before-RAS refresh cycle.
147
8.5.4 Byte Access Control
16-bit width and 18-bit width DRAMs require different types of byte control signals for access. By
setting the dual CAS signals/dual WE signals select bit (CW2) in DCR, the BSC allows selection
of either the dual CAS signal or dual WE signal system of control signals. When 16-bit space is
being accessed and the CW2 bit is cleared to 0 for dual CAS signals, CASH, CASL, and WRL
signals are output; when CW2 is set to 1 for dual WE signals, the CASL, WRH, and WRL signals
are output. When accessing 8-bit space, WRL and CASL are output regardless of the CW2 setting.
Figure 8.21 shows the control timing of the upper byte write cycle (short pitch) in 16-bit space.
148
Tp Tr Tc
CK
RAS
Byte CASH
control
CASL High
WRL
Tp Tr Tc
CK
RAS
CASL
Byte WRH
control
WRL High
149
8.5.5 DRAM Burst Mode
In addition to the normal mode of DRAM access, in which row addresses are output at every
access and data then accessed (full access), the DRAM also has a high-speed page mode for use
when continuously accessing the same row. The high speed page mode enables fast access of data
simply by changing the column address after the row address is output (burst mode). Select
between full access and burst operation by setting the burst enable bit (BE)) in DCR. When the BE
bit is set to 1, burst operation is performed when the row address matches the previous DRAM
access row address. Figure 8.22 shows a comparison between full access and burst operation.
RAS
CAS
Column
Column address 1
address 2
A21–A0
Row address 1 Row address 2
AD15–
Data 1 Data 2
AD0
(a) Full access (read cycle)
RAS
CAS
Column Column Column Column
address 1 address 2 address 3 address 4
A21–A0
Row address 1
AD15–
Data 1 Data 2 Data 3 Data 4
AD0
Short pitch high-speed page mode or long pitch high-speed page mode burst transfers can be
selected independently for DRAM read/write cycles even when burst operation is selected by
using the bits corresponding to area 1 in WCR1 and WCR2 (RW1, WW1, DRW1, DWW1). RAS
down mode or RAS up mode can be selected by setting the RAS down bit (RASD) in DCR when
there is an access outside the DRAM space during burst operation.
150
Short-Pitch, High-Speed Page Mode and Long-Pitch High-Speed Page Mode: When burst
operation is selected by setting the BE bit to 1 in DCR, short pitch high-speed page mode or long
pitch high-speed page mode can be selected by setting the RW1, WW1, DRW1, and DWW1 bits
in WCR1 and WCR2.
• Short-pitch, high-speed page mode: When the RW1, WW1, DRW1, and DWW1 bits in WCR1
and WCR2 are cleared to 0, and the corresponding DRAM access cycle is continuing, the CAS
signal and column address output cycles continue as long as the row addresses continue to
match. The column address output cycle is performed in 1 state and the WAIT signal is not
sampled. Figure 8.23 shows the read cycle timing for short-pitch, high-speed page mode.
Tp Tr Tc Tc Tc Tc
CK
Column Column Column Column
address 1 address 2 address 3 address 4
A21–
A0
Row address 1
RAS
CAS
WR
AD15–
Data 1 Data 2 Data 3 Data 4
A0
When the write cycle continues for the same row address in short-pitch, high-speed page
mode, an open cycle (silent cycle) is produced for 1 cycle only. This timing is shown in figure
8.24. Likewise, when a write cycle continues after the read cycle for the same row address, a
silent cycle is produced for 1 cycle. This timing is shown in figure 8.25. Note also that when
DRAM is written to in short-pitch, high-speed page mode when using DMAC single address
mode, a silent cycle is inserted in each transfer. The details of timing are discussed in section
20.3.3, Bus Timing.
151
Access A Access B
Silent
Tp Tr Tc Tc cycle Tc Tc
CK
Column Column Column Column
address A-1 address A-2 address B-1 address B-2
A21–
A0
Row address
RAS
CAS
WR
AD15–
A0 Data A-1 Data A-2 Data B-1 Data B-2
Note: Accesses A and B are examples of 32-bit data accesses in their respective 16-bit bus
width spaces.
CK
Column Column Column Column
address A-1 address A-2 address B-1 address B-2
A21–
A0
Row address
RAS
CAS
WR
AD15–
AD0
Read data A-1 Read data A-2 Write data B-1 Write data B-2
Note: Accesses A and B are examples of 32-bit data accesses in their respective 16-bit bus
width spaces.
Figure 8.25 Short-Pitch, High-Speed Page Mode (Read and Write Cycles Continuing with
Same Row Address)
152
The high-level duty of the CAS signal can be selected in short-pitch, high-speed page mode
using the CAS duty bit (CDTY) in DCR. When the CDTY bit is cleared to 0, the high-level
duty is 50% of the TC state; when CDTY is set to 1, it is 35% of the TC state.
• Long-pitch, high-speed page mode: When the RW1, WW1, DRW1, and DWW1 bits in WCR1
and WCR2 are set to 1, and the corresponding DRAM access cycle is continuing, the CAS
signal and column address output cycles (2 states) continue as long as the row addresses
continue to match. When the WAIT signal is detected at the low level, the second cycle of the
column address output cycle is repeated as the wait state. Figure 8.26 shows the timing for
long-pitch, high-speed page mode. See section 20.3.3, Bus Timing, for more information about
the timing.
CK
CAS
WR
Read
AD15–AD0 Data 1 Data 2
WR
Write
AD15–AD0 Data 1 Data 2
153
RAS Down Mode and RAS Up Mode: Sometimes access to another area can occur between
accesses to the DRAM even though burst operation has been selected. Keeping the RAS signal
low while this other access is occurring allows burst operation to continue the next time the same
row of the DRAM is accessed. The RASD bit in DCR selects RAS down mode when set to 1 and
RAS up mode when cleared to 0. In both RAS down mode and RAS up mode, burst operation is
continued while the same row address continues to be accessed, even if the bus master is changed.
• RAS down mode: When the RASD bit in DCR is set to 1, the DRAM access pauses and the
RAS signal is held low throughout the access of the other space while waiting for the next
access to the DRAM area. When the row address for the next DRAM access is the same as the
previous DRAM access, burst operation continues. Figure 8.27 shows the timing of RAS down
mode when external memory space is accessed during burst operation.
The RAS signal can be held low in the DRAM for a limited time; the RAS signal must be
returned to high within the specified limits even when RAS down mode is selected since the
critical low level period is set. In this chip, even when RAS down mode is selected, the RAS
signal automatically reverts to high when the DRAM is refreshed, so the BSC’s refresh control
function can be employed to set a CAS-before-RAS refresh that will keep operation within
specifications. See section 8.5.6, Refresh Control, for details.
External memory
space access
DRAM access DRAM access
Tp Tr Tc Tc T1 Tc Tc
CK
Column Column External Column Column
address 1 address 2 memory address 3 address 4
A21–
A0
Row address
RAS
CAS
WR
AD15–
Data 1 Data 2 Data 3 Data 4
AD0
External
memory data
154
• RAS up mode: When the RASD bit is cleared to 0, the RAS signal reverts to high whenever a
DRAM access pauses for access to another space. Burst operation continues only while
DRAM access is continuous. Figure 8.28 shows the timing when an external memory space
access occurs during burst operation in RAS up mode.
External memory
space access
DRAM access DRAM access
Tp Tr Tc Tc T1 Tp Tr Tc
CK
Column Column External memory Column
address 1 address 2 address address 3
A21–
A0
Row address Row address
RAS
CAS
AD15–
AD0 Data 1 Data 2 Data 3
External
memory data
The BSC has a function for controlling DRAM refreshing. By setting the refresh mode bit
(RMODE) in the refresh control register (RCR), either CAS-before-RAS refresh (CBR) or self-
refresh can be selected. When no refresh is performed, the refresh timer counter (RTCNT) can be
used as an 8-bit interval timer.
To perform a CBR refresh, clear the RMODE bit in RCR to 0 and then set the refresh control bit
(RFSHE) bit to 1. Also write the required values to RTCNT and RTCOR. When the clock is
subsequently selected with the CKS2–CKS0 bits in RTCSR, RTCNT will begin to increment from
its current value. The RTCNT value is constantly compared with the RTCOR value and a CBR
refresh is performed when they match. RTCNT is simultaneously cleared to H'00 and
incrementing begins again.
155
When the clock is selected with the CKS2–CKS0 bits, RTCNT immediately begins to increment
from its current value. This means that when the RTCOR cycle is set after the CKS2–CKS0 bits
are set, the RTCNT count may already be higher than the RTCOR cycle. When this occurs, the
RTCNT will overflow once (from H'FF to H'00) and incrementing will start again. Since the CBR
refresh will not be performed until the RTCNT again matches the RTCOR value, the initial refresh
interval will be rather long. It is thus advisable to set the RTCOR cycle prior to setting the CKS2–
CKS0 bits and start it incrementing. When CBR refresh control is being performed after use as an
8-bit interval timer, the RTCNT count value may be in excess of the refresh cycle. For this reason,
clear RTCNT by writing H'00 before starting refresh control to assure a correct refresh interval.
When the RW1 bit in WCR1 is set to 1 and the read cycle is set to long pitch, the number of wait
states selected by the RLW1 and RLW0 bits in RCR will be inserted into the CBR refresh cycle,
regardless of the status of the WAIT signal. Figure 8.29 shows RTCNT operation and figure 8.30
shows the timing of the CBR refresh. For details on timing, see section 20.3.3, Bus Timing.
H'00 Time
CK
RAS
CAS
156
Self-Refresh Mode: Some DRAMs have a self-refresh mode (battery back-up mode). This is a
type of a standby mode in which the refresh timing and refresh addresses are generated inside the
DRAM chip. When the RFSHE and RMODE bits in RCR are both set to 1, the DRAM will enter
self-refresh mode when the CAS and RAS signals are output as shown in figure 8.31. See section
20.3.3, Bus Timing, for details. DRAM self-refresh mode is cleared when the RMODE bit in RCR
is cleared to 0 (figure 8.31). The RFSHE bit should be left at 1 when this is done. Some DRAM
vendors recommend that after exiting self-refresh mode, all row addresses should be refreshed
again. This can be done using the BSC’s CBR refresh function to set all row addresses for refresh
in software.
To access a DRAM area while in self-refresh mode, first clear the RMODE bit to 0 and exit self-
refresh mode.
The chip can be kept in the self-refresh state and shifted to standby mode by setting it to self-
refresh mode, setting the standby bit (SBY) in the standby control register (SBYCR) to 1, and then
executing a SLEEP instruction.
CK
RAS
CAS
Refresh Requests and Bus Cycle Requests: When a CAS-before-RAS refresh or self-refresh is
requested during bus cycle execution, parallel execution is sometimes possible. Table 8.11
summarizes the operation when refresh and bus cycles are in contention.
157
Table 8.11 Refresh and Bus Cycle Contention
When parallel execution is possible, the RAS and CAS signals are output simultaneously during
bus cycle execution and the refresh is executed. When parallel execution is not possible, the
refresh occurs after the bus cycle has ended.
Using RTCNT as an 8-Bit Interval Timer: When not performing refresh control, RTCNT can be
used as an 8-bit interval timer. Simply set the RFSHE bit in RCR to 0. To produce a compare
match interrupt (CMI), set the compare match interrupt enable bit (CMIE) to 1 and set the
interrupt generation timing in RTCOR. When the input clock is selected with the CKS2–CKS0
bits in RTCSR, RTCNT starts incrementing as an 8-bit interval timer. Its value is constantly
compared with RTCOR, and when a match occurs, the CMF bit in RTCSR is set to 1 and a CMI
interrupt is produced. RTCNT is cleared to H'00.
When the clock is selected with the CKS2–CKS0 bits, RTCNT starts incrementing immediately.
This means that when the RTCOR cycle is set after the CKS2–CKS0 bits are set, the RTCNT
count may already be higher than the RTCOR cycle. When this occurs, the RTCNT will overflow
once (H'FF goes to H'00) and the count up will start again. No interrupt will be generated until the
RTCNT again matches the RTCOR value. It is thus advisable to set the RTCOR cycle prior to
setting the CKS2–CKS0 bits. After its use as an 8-bit interval timer, the RTCNT count value may
be in excess of the set cycle. For this reason, write H'00 to the RTCNT to clear it before starting to
use it again with new settings. RTCNT can then be restarted and an interrupt obtained after the
correct interval.
158
8.6 Address/Data Multiplexed I/O Space Access
The BSC is equipped with a function that multiplexes address and data input/output on pins
AD15–AD0 in area 6. This allows the SH microprocessor to be directly connected to peripheral
chips that require address/data multiplexing.
When the multiplexed I/O enable bit (IOE) in BCR is set to 1, the area 6 space with address bit
A27 as 0 (H'6000000–H'6FFFFFF) becomes an address/data multiplexed I/O space that, when
accessed, multiplexes addresses and data. When the A14 address bit is 0, the bus width is 8 bits
and address output and data input/output are performed on the AD7–AD0 pins. When the A14
address bit is 1, the bus width is 16 bits and address output and data input/output are performed on
the AD15–AD0 pins. In the address/data multiplexed I/O space, access is controlled with the AH,
RD, and WR signals. Accesses in the address/data multiplexed I/O space are performed in 4 states,
regardless of the WCR settings. Figure 8.32 shows the timing when the address/data multiplexed
I/O space is accessed.
T1 T2 T3 T4
CK
A21–A0
CS
AH
RD
Read
WRH, WRL
Write
159
A high-level duty of 35% or 50% can be selected for the RD signal using the RD duty bit
(RDDTY) in BCR. When RDDTY is 1, the high-level duty is 35% of the T3 or Tw state,
lengthening the access time for external devices.
When the address/data multiplexed I/O space is accessed, the WAIT pin input signal is sampled
and a wait state inserted whenever a low level is detected, regardless of the WCR setting. Figure
8.33 shows an example in which a WAIT signal causes one wait state to be inserted.
Tw
T1 T2 T3 (wait state) T4
CK
A21–A0
CS
AH
RD
Read
WRH, WRL
Write
WAIT
Figure 8.33 Wait State Timing For Address/Data Multiplexed I/O Space Access
The byte access control signals when the address/data multiplexed I/O space is being accessed are
of two types (WRH, WRL, A0, or WR, HBS, LBS), just as for byte access control of external
160
memory space access. These types can be selected using the BAS bit in BCR. See section 8.4.3,
Byte Access Control, for details.
The BSC can check and generate parity for data input and output to or from the DRAM space of
area 1 and the external memory space of area 2.
To check and generate parity, select the space (DRAM space only, or DRAM space and area 2) for
which parity is to be checked and generated using the parity check enable bits (PCHK1 and
PCHK0) in the parity control register, and select odd or even parity with the parity polarity bit
(PEO).
When data is input from the space selected with the PCHK1 and PCHK0 bits, the BSC checks the
PEO bit to see if the polarity of the DPH pin input (upper byte parity data) is accurate for the
AD15–AD8 pin input (upper byte data) or if the DPL pin input (lower byte parity data) is accurate
for the AD7–AD0 pin input (lower byte data). If the check indicates that either the upper or lower
byte parity is incorrect, a parity error interrupt is produced (PEI).
When outputting data to the space selected with the PCHK1 and PCHK0 bits, the BSC outputs
parity data output of the polarity set in the PEO bit from the DPH pin for the AD15–AD8 pin
output (upper byte data) or from the DPL pin for the AD7–AD0 pin input (lower byte data) using
the same timing as the data output.
The BSC is also able to force parity output for use in testing the system's parity error check
function. When the parity force output bit (PFRC) in PCR is set to 1, a high level is forcibly output
from the DPH and DPL pins when data is output to the space selected with the PCHK1 and
PCHK0 bits.
161
8.8 Warp Mode
In warp mode, an external write cycle or DMA single address mode transfer cycle and an internal
access cycle (read/write to on-chip memory or on-chip supporting modules) operate independently
and in parallel. Warp mode is entered by setting the warp mode bit (WARP) in BCR to 1. This
allows the chip to be operated at high speed.
When, in warp mode, an external write cycle or DMA single address mode transfer cycle
continues for at least 2 states and there is an internal access, only the external write cycle will be
performed in the initial state. The external write cycle and internal access cycle will be performed
in parallel from the next state on, without waiting for the end of the external write cycle. Figure
8.34 shows the timing when an access to an on-chip supporting module and an external write cycle
are performed in parallel.
162
External space writing
On-chip peripheral module read/write
T1 T2 T3 T4 T5
CK
External CSn
space
write
WR
On-chip Internal
supporting write
module strobe
write Internal
Write data
data bus
Internal
On-chip read
supporting strobe
module
read Internal
Read data
data bus
Figure 8.34 Warp Mode Timing (Access to On-Chip Supporting Module and External
Write Cycle)
The WCR1–WCR3 registers of the BSC can be set to control sampling of the WAIT signal when
accessing various areas, and the number of bus cycle states. Table 8.12 shows the number of bus
cycle states when accessing various areas.
163
Table 8.12 Bus Cycle States when Accessing Address Spaces
For details on bus cycles when external spaces are accessed, see section 8.4, External Memory
Space Access, section 8.5, DRAM Interface Operation, and section 8.6, Address/Data Multiplexed
I/O Space Access.
164
Accesses to on-chip spaces are as follows: On-chip supporting module spaces (area 5 when
address bit A27 is 1) are always 3-state access spaces, regardless of WCR, with no WAIT signal
sampling. Accesses to on-chip ROM (area 0 when MD2–MD0 are 010) and on-chip RAM (area 7
when address bit A27 is 0) are always performed in 1 state, regardless of WCR, with no WAIT
signal sampling.
If the bus timing specifications (tWTS and tWTH) are not observed when the WAIT signal is input
in external space access, this will simply mean that WAIT signal assertion and negation will not
be detected, but will not result in misoperation. Note, however, that the inability to detect WAIT
signal assertion may result in a problem with memory access due to insertion of an insufficient
number of waits.
165
8.10 Bus Arbitration
The SuperH microcomputer can release the bus to external devices when they request the bus. It
has two internal bus masters, the CPU and the DMAC. Priorities for releasing the bus for these
two are as follows.
Bus request from external device > refresh > DMAC > CPU
Thus, an external device has priority when it generates a bus request, even when the DMAC is
carrying out a burst transfer.
Note that when a refresh request is generated while the bus is released to an external device,
BACK goes high and the bus can be acquired to perform refreshing upon receipt of a BREQ =
high response from the external device. Input all bus requests from external devices to the BREQ
pin. The signal indicating that the bus has been released is output from the BACK pin. Figure 8.35
illustrates the bus release procedure.
Strobe pin:
High-level output
Bus released
166
8.10.1 Operation of Bus Arbitration
If there is conflict between bus arbitration and refreshing, the operation is as follows.
1. If DRAM refreshing is requested in this chip when the bus is released and BACK is low,
BACK goes high and the occurrence of the refresh request can be indicated externally. At this
time, the external device may generate a bus cycle when BREQ is low even if BACK is high.
Therefore, the bus remains released to the external device. Then, when BREQ goes high, this
chip acquires bus ownership, and executes a refresh and the bus cycle of the CPU or DMAC.
After the external device acquires bus ownership and BACK is low, a refresh is requested
when BACK goes high even if BREQ input is low. Therefore, drive BREQ high immediately
to release the bus for this chip to hold DRAM data (see figure 8.36).
2. When BREQ changes from high to low and an internal refresh is requested at the timing of bus
release by this chip, BACK may remain high. The bus is released to the external device since
BREQ input is low. This operation is based on the above specification (1). To hold DRAM
data, drive BREQ high and release the bus to this chip immediately when the external device
detects that BACK does not change to low during a fixed time (see figure 8.37). When a
refresh request is generated and BACK returns to high, as shown in figure 8.37, a momentary
narrow pulse-shaped spike may be output where BACK was originally supposed to go low.
BREQ
BACK
Refresh execution
Refresh demand
167
If BACK has not gone low after waiting for the maximum
number of states* before the SuperH releases the bus, return
BREQ to the high level.
BREQ
BACK
BACK does not go low.
Refresh request
Note: * For details see section 8.11.3, Maximum Number of States from BREQ Input to Bus Release.
3. If a refresh request is generated during DMA transfer in burst mode, the DMA transfer is
halted and a refresh is executed.
1. BACK operation
When an internal refresh is requested during an attempt to assert the BACK signal and BACK
is not asserted but remains high, a momentary narrow pulse-shaped spike may be output, as
shown below.
BREQ
BACK
Spike pulse width is approx. 2 to 5 ns.
Refresh demand
a. When BREQ is input to release the bus, make sure that a conflict with a refresh operation
does not occur. Stop the refresh operation or operate the refresh timer counter (RTCNT) or
the refresh time constant register (RTCOR) of the bus controller (BSC) to shift the refresh
timing.
b. A spike in the BACK signal has a narrow pulse width of approximately 2 to 5 ns, which
can be eliminated by using a capacitor as shown in the figure below.
For example, adding a capacitance of 220 pF can raise the minimum voltage of the spike
above 2.0 V.
168
Note that delay of the BACK signal increases in units of approximately 0.1 ns/pF. (When a
capacitance of 220 pF is added, the delay increases by approximately 22 ns.)
BACK
SuperH
Microcomputer
Circuit with capacitor for eliminating spikes
c. Latching the BACK signal by using a flip-flop or triggering the flip-flop may or may not
be successful due to the narrow pulse width of the spike. Implement a circuit configuration
which will cause no problems when latching BACK or using BACK as a trigger signal.
When splitting the BACK signal into two signals and latching each of them using a flip-
flop or triggering the flip-flop, the flip-flop may operate for one signal but not for the other.
To capture the BACK signal using a flip-flop, receive the BACK signal using a single flip-
flop then distribute the signal (see figure below).
Trigger OK
D Q
BACK D Q
Q
Trigger NG BACK
Q
D Q
Condition: When DRAM (long-pitch mode) is used and a manual reset is performed.
The low width of RAS output may be shorter than usual in a reset (2.5 tcyc → 1.5 tcyc),
preventing the specified value (tRAS ) of DRAM from being satisfied.
169
Corresponding DRAM conditions: Long-pitch/normal mode
Long-pitch/high-speed page mode
There are no problems regarding operations except for the above conditions.
There are the following four cases (figures 8.38 to 8.41) for the output states of DRAM control
signals (RAS, CAS, and WR) corresponding to RES latch timing. Actual output levels are shown
by solid lines (not by dashed lines).
RAS
CAS
WR
AD0–AD15
Data output
RAS
CAS
WR
AD0–AD15
Data output
170
RES latch Tp Tr Tc1 Tc2
timing
CK
RAS
CAS
RD
RAS
CAS
RD
For the signal output shown by solid lines, DRAM data may not be held. Therefore, when DRAM
data must be held after a reset, take one of the measures described below.
1. When resetting manually, use the watchdog timer (WDT) reset function.
2. Even if the low width of RAS becomes as short as 1.5 tcyc as shown above, use with a
frequency that satisfies the DRAM standard (tRAS).
3. Even if the low width of RAS is 1.5 tcyc, use an external circuit so that a RAS signal with a
low width of 2.5 tcyc is input in the DRAM (if the low width of RAS is higher than 2.5 tcyc,
operate so that the current waveform is input in the DRAM).
These measures are not required when DRAM data is initialized or loaded again after a manual
reset.
171
8.11.2 Usage Notes on Parity Data Pins DPH and DPL
The following specifies the setup time, tDS , of parity data DPH and DPL with respect to the fall of
the CAS signal when parity data DPH and DPL are written to DRAM in long-pitch mode (early
write).
Therefore, when writing parity data DPH and DPL to the DRAM in long-pitch mode, delay the
WRH and WRL signals of this chip and used delayed writing. Normal data is also delay-written,
but this is not a problem.
CK *2 Q
The maximum number of states from BREQ input to bus release is:
Maximum number of states for which bus is not released + approx. 4.5 states
BREQ is sampled one state before the bus cycle. If BREQ is input without satisfying tBRQS, the
bus is released after executing cycle B following the end of bus cycle A, as shown in figure 8.43.
172
The maximum number of states from BREQ input to bus release are used when B is a cycle
comprising the maximum number of states for which the bus is not released; the number of states
is the maximum number of states for which bus is not released + approx. 4.5 states.
The maximum number of states for which the bus is not released requires careful investigation.
CK
Bus cycle A B
BREQ
tBRQS tBACD1
Bus release
BACK
CK
tBRQS
BREQ tBRQS
tBACD1 tBACD1
BACK
tBZD
RD, WR
RAS, CAS
CSn tBZD
A21 to A0
Bus cycle Bus release Bus cycle
174
Section 9 Direct Memory Access Controller (DMAC)
9.1 Overview
The SuperH microcomputer chip includes a four-channel direct memory access controller
(DMAC). The DMAC can be used in place of the CPU to perform high speed transfers between
external devices that have DACK (transfer request acknowledge signal), external memory,
memory-mapped external devices, on-chip memory, and on-chip supporting modules (excluding
the DMAC itself). Using the DMAC reduces the burden on the CPU and increases overall
operating efficiency.
9.1.1 Features
• Four channels
• Four Gbytes of address space in the architecture
• Byte or word selectable as data transfer unit
• 65536 transfers (maximum)
• Single address mode transfers (channels 0 and 1): Either the transfer source or transfer
destination (peripheral device) is accessed by a DACK signal (selectable) while the other is
accessed by address. One transfer unit of data is transferred in each bus cycle.
Device combinations for which transfer is possible:
External device with DACK and memory-mapped external device (including external
memories)
External device with DACK and memory-mapped external memory
• Dual address mode transfer (channels 0–3): Both the transfer source and transfer destination
are accessed by address. One transfer unit of data is transferred in 2 bus cycles.
Device combinations for which transfer is possible:
Two external memories
External memory and memory-mapped external device
Two memory-mapped devices
External memory and on-chip memory
Memory-mapped external device and on-chip supporting module (excluding the DMAC)
External memory and on-chip memory
Memory-mapped external device and on-chip supporting module (excluding the DMAC)
Two on-chip memories
On-chip memory and on-chip supporting module (excluding the DMAC)
Two on-chip supporting modules (excluding the DMAC)
175
• Transfer requests
External request (From DREQ pins (channels 0 and 1 only). DREQ can be detected either
by edge or by level)
Requests from on-chip supporting modules (serial communication interface (SCI), A/D
converter (A/D), and 16-bit integrated timer pulse unit (ITU))
Auto-request (the transfer request is generated automatically within the DMAC)
• Selectable bus modes: Cycle-steal mode or burst mode
• Selectable channel priority levels: Fixed, round-robin, or external-pin round-robin modes
• CPU can be asked for interrupt when data transfer ends
• Maximum transfer rate
20 M words/s (320 MB/s)
For 5 V and 20 MHz
Bus mode: Burst mode
Transmission size: Word
176
On-chip SARn
ROM
On-chip DARn
RAM
Peripheral bus
On-chip Iteration TCRn
Internal bus
supporting control
DREQ0, DREQ1
ITU Start-up
SCI control
DMAOR
A/D converter
Request
priority
DACK0, DACK1
control
DEIn
External
ROM
External
External bus
RAM
External device
(memory-
mapped) Bus interface
External
device (with
acknowledge) Bus controller DMAC
177
9.1.3 Pin Configuration
178
9.1.4 Register Configuration
Table 9.2 summarizes the DMAC registers. The DMAC has a total of 17 registers. Each channel
has four control registers. One other control register is shared by all channels.
179
9.2 Register Descriptions
DMA source address registers 0–3 (SAR0–SAR3) are 32-bit read/write registers that specify the
source address of a DMA transfer. During a DMA transfer, these registers indicate the next source
address (in single-address mode, SAR is ignored in transfers from external devices with DACK to
memory-mapped external devices or external memory).
Bit: 31 30 29 28 27 26 25 24
Bit name:
Initial value: — — — — — — — —
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
Bit: 23 22 21 … 0
Bit name: …
Initial value: — — — … —
R/W: R/W R/W R/W … R/W
DMA destination address registers 0–3 (DAR0–DAR3) are 32-bit read/write registers that specify
the destination address of a DMA transfer. During a DMA transfer, these registers indicate the
next destination address (in single-address mode, DAR is ignored in transfers from memory-
mapped external devices or external memory to external devices with DACK). The initial value
after a reset or in standby mode is undefined.
Bit: 31 30 29 28 27 26 25 24
Bit name:
Initial value: — — — — — — — —
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
Bit: 23 22 21 … 0
Bit name: …
Initial value: — — — … —
R/W: R/W R/W R/W … R/W
180
9.2.3 DMA Transfer Count Registers 0–3 (TCR0–TCR3)
DMA transfer count registers 0–3 (TCR0–TCR3) are 16-bit read/write registers that specify the
DMA transfer count (bytes or words). The number of transfers is 1 when the setting is H'0001,
65535 when the setting is H'FFFF, and 65536 (the maximum) when H'0000 is set. During a DMA
transfer, these registers indicate the remaining transfer count. The initial value after a reset or in
standby mode is undefined.
Bit: 15 14 13 12 11 10 9 8
Bit name:
Initial value: — — — — — — — —
R/W: 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
Bit name:
Initial value: — — — — — — — —
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
DMA channel control registers 0–3 (CHCR0–CHCR3) are 16-bit read/write registers that control
the DMA transfer mode. They also indicate the DMA transfer status. They are initialized to
H'0000 by a reset and in standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: DM1 DM0 SM1 SM0 RS3 RS2 RS1 RS0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: AM AL DS TM TS IE TE DE
Initial value: 0 0 0 0 0 0 0 0
R/W: R/(W)*2 R/(W)*2 R/(W)*2 R/W R/W R/W R/(W)* R/W
Notes: 1. Only 0 can be written, to clear the flag.
2. Writing is valid only for CHCR0 and CHCR1.
181
• Bits 15 and 14 (Destination Address Mode Bits 1 and 0 (DM1 and DM0)): DM1 and DM0
select whether the DMA destination address is incremented, decremented, or left fixed (in the
single address mode, DM1 and DM0 are ignored when transfers are made from memory-
mapped external devices or external memory to external devices with DACK). DM1 and DM0
are initialized to 00 by a reset and in standby mode.
• Bits 13 and 12 (source address mode bits 1, 0 (SM1 and SM0)): SM1 and SM0 select whether
the DMA source address is incremented, decremented, or left fixed (in the single address
mode, SM1 and SM0 are ignored when transfers are made from external devices with DACK
to memory-mapped external devices or external memory). SM1 and SM0 are initialized to 00
by resets or in standby mode.
• Bits 11–8 (Resource Select Bits 3–0 (RS3–RS0)): RS3–RS0 specify which transfer requests
will be sent to the DMAC. Do not change the transfer request source unless the DMA enable
bit (DE) is 0. The RS3–RS0 bits are initialized to 0000 by a reset and in standby mode.
182
Bit 11: Bit 10: Bit 9: Bit 8:
RS3 RS2 RS1 RS0 Description
0 0 0 0 DREQ (External request* 1, dual address mode) (Initial value)
0 0 0 1 Reserved (illegal setting)
0 0 1 0 DREQ (External request* 1, single address mode* 2)
0 0 1 1 DREQ (External request* 1, single address mode* 3)
0 1 0 0 RXI0 (On-chip serial communication interface 0 receive data
full interrupt transfer request)*4
0 1 0 1 TXI0 (On-chip serial communication interface 0 transmit data
empty interrupt transfer request)*4
0 1 1 0 RXI1 (On-chip serial communication interface 1 receive data
full interrupt transfer request)*4
0 1 1 1 TXI1 (On-chip serial communication interface 1 transmit data
empty interrupt transfer request)*4
1 0 0 0 IMIA0 (On-chip ITU0 input capture/compare match A interrupt
transfer request)* 4
1 0 0 1 IMIA1 (On-chip ITU1 input capture/compare match A interrupt
transfer request)* 4
1 0 1 0 IMIA2 (On-chip ITU2 input capture/compare match A interrupt
transfer request)* 4
1 0 1 1 IMIA3 (On-chip ITU3 input capture/compare match A interrupt
transfer request)* 4
1 1 0 0 Auto-request (Transfer requests automatically generated
within DMAC)*4
1 1 0 1 ADI (A/D conversion end interrupt request of on-chip A/D
converter)*4
1 1 1 0 Reserved (illegal setting)
1 1 1 1 Reserved (illegal setting)
SCI0, SCI1: Serial communication interface channels 0 and 1
ITU0–ITU3: Channels 0–3 of the 16-bit integrated timer pulse unit
Notes: 1. These bits are valid only in channels 0 and 1. None of these request sources can be
selected in channels 2 and 3.
2. Transfer from memory-mapped external device or external memory to external device
with DACK.
3. Transfer from external device with DACK to memory-mapped external device or
external memory.
4. Dual address mode.
183
• Bit 7 (Acknowledge Mode Bit (AM)): In dual address mode, AM selects whether the DACK
signal is output during the data read cycle or write cycle. This bit is valid only in channels 0
and 1. The AM bit is initialized to 0 by a reset and in standby mode. The AM bit is not valid in
single address mode.
Bit 7: AM Description
0 DACK is output in read cycle (Initial value)
1 DACK is output in write cycle
• Bit 6 (Acknowledge Level Bit (AL)): AL selects active-high or active-low for the DACK
signal. This bit is valid only in channels 0 and 1. The AL bit is initialized to 0 by a reset and in
standby mode.
Bit 6: AL Description
0 DACK is active-high (Initial value)
1 DACK is active-low
• Bit 5 (DREQ Select Bit (DS)): DS selects the DREQ input detection method used. This bit is
valid only in channels 0 and 1. The DS bit is initialized to 0 by a reset and in standby mode.
Bit 5: DS Description
0 DREQ detected by low level (Initial value)
1 DREQ detected by falling edge
• Bit 4 (Transfer Bus Mode Bit (TM)): TM selects the bus mode for DMA transfers. The TM bit
is initialized to 0 by a reset and in standby mode. When the source of the transfer request is an
on-chip supporting module, see table 9.4, Selecting On-Chip Supporting Module Request
Modes with the RS Bit.
Bit 4: TM Description
0 Cycle-steal mode (Initial value)
1 Burst mode
• Bit 3 (Transfer Size Bit (TS)): TS selects the transfer unit size. If the on-chip supporting
module that is the source or destination of the transfer can only be accessed in bytes, byte must
be selected with this bit. The TS bit is initialized to 0 by a resets and in standby mode.
184
Bit 3: TS Description
0 Byte (8 bits) (Initial value)
1 Word (16 bits)
• Bit 2 (Interrupt Enable Bit (IE)): IE determines whether or not to request a CPU interrupt at the
end of a DMA transfer. When the IE bit is set to 1, an interrupt (DEI) request is sent to the
CPU when the TE bit is set. The IE bit is initialized to 0 by a reset and in standby mode.
Bit 2: IE Description
0 Interrupt request disabled (Initial value)
1 Interrupt request enabled
• Bit 1 (Transfer End Flag Bit (TE)): TE indicates that the transfer has ended. When a DMA
transfer ends normally and the value in the DMA transfer count register (TCR) becomes 0, the
TE bit is set to 1. This flag is not set if the transfer ends because of an NMI interrupt or address
error, or because the DE bit or the DME bit in the DMA operation register (DMAOR) was
cleared. To clear the TE bit, read 1 from it and then write 0.
When this flag is set, setting the DE bit to 1 does not enable a DMA transfer. The TE bit is
initialized to 0 by a reset and in standby mode.
Bit 1: TE Description
0 DMA has not ended or was aborted (Initial value)
To clear TE, the CPU must read TE after it has been set to 1, then
write a 0 in this bit
1 DMA has ended normally
• Bit 0 (DMA Enable Bit (DE)): DE enables or disables DMA transfers. In auto-request mode,
the transfer starts when this bit or the DME bit in DMAOR is set to 1. The TE bit and the
NMIF and AE bits in DMAOR must be all cleared to 0. In external request mode or on-chip
supporting module request mode, the transfer begins when the DMA transfer request is
received from a device or on-chip supporting module, provided this bit and the DME bit are set
to 1. As with auto request mode, the TE bit and the NMIF and AE bits must be all cleared to 0.
The transfer can be stopped by clearing this bit to 0.
185
Bit 0: DE Description
0 DMA transfer disabled (Initial value)
1 DMA transfer enabled
The DMA operation register (DMAOR) is a 16-bit read/write register that controls the DMA
transfer mode. It also indicates the DMA transfer status. It is initialized to H'0000 by a reset and in
standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: —— — — — — — PR1 PR0
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
Bit name: — — — — — AE NMIF DME
Initial value: 0 0 0 0 0 0 0 0
R/W: R R R R R R/(W)* R/(W)* R/W
Note: Write only 0 to clear the flag.
• Bits 15–10 (Reserved): These bits are always read as 0. The write value should always be 0.
• Bits 9 and 8 (Priority Mode Bits 1 and 0 (PR1 and PR0)): PR1 and PR0 select the priority level
between channels when there are simultaneous transfer requests for multiple channels.
• Bits 7–3 (Reserved): These bits are always read as 0. The write value should always be 0.
186
• Bit 2 (Address Error Flag Bit (AE)): AE indicates that an address error has occurred in the
DMAC. When this flag is set to 1, the channel cannot be enabled even if the DE bit in the
DMA channel control register (CHCR) and the DME bit are set to 1. To clear the AE bit, read
1 from it and then write 0. It is initialized to 0 by a reset and in standby mode.
Bit 2: AE Description
0 No DMAC address error (Initial value)
To clear the AE bit, read 1 from it and then write 0
1 Address error by DMAC
• Bit 1 (NMI Flag Bit (NMIF)): NMIF indicates that an NMI interrupt has occurred. When this
flag is set to 1, the channel cannot be enabled even if the DE bit in CHCR and the DME bit are
set to 1. To clear the NMIF bit, read 1 from it and then write 0. It is initialized to 0 by a reset
and in standby mode.
• Bit 0 (DMA Master Enable Bit (DME)): DME enables or disables DMA transfers on all
channels. A channel becomes enabled for a DMA transfer when the DE bit in each DMA's
CHCR and the DME bit are set to 1. For this to be effective, however, the TE bit of each
CHCR and the NMIF and AE bits must all be 0. When the DME bit is cleared, all channel
DMA transfers are aborted.
187
9.3 Operation
When there is a DMA transfer request, the DMAC starts the transfer according to the
predetermined channel priority order; when the transfer end conditions are satisfied, it ends the
transfer. Transfers can be requested in three modes: auto-request, external request, and on-chip
module request. Transfer can be in either single address mode or dual address mode. The bus
mode can be either burst or cycle steal.
After the DMA source address registers (SAR), DMA destination address registers (DAR), DMA
transfer count registers (TCR), DMA channel control registers (CHCR), and DMA operation
register (DMAOR) are set, the DMAC transfers data according to the following procedure:
188
Start
Initial settings
(SAR, DAR, TCR, CHCR, DMAOR)
Yes
Transfer request No *2
occurs?*1 Bus mode,
transfer request mode,
Yes
*3 DREQ detection selection
Transfer (1 transfer unit); TCR–1 system
→ TCR, SAR and DAR updated
Does
No NMIF = 1, AE = 1, No
TCR = 0?
DE = 0, or DME
= 0?
Yes Yes
Does
No NMIF = 1, AE = 1,
DE = 0, and DME
= 0?
Yes
Normal end Transfer ends
Notes: 1. In auto-request mode, transfer begins when NMIF, AE, and TE are all 0 and the DE
and DME bits are set to 1.
2. DREQ = level detection in burst mode (external request), or cycle steal mode.
3. DREQ = edge detection in burst mode (external request), or auto request mode in
burst mode.
189
9.3.2 DMA Transfer Requests
DMA transfer requests are basically generated in either the data transfer source or destination, but
they can also be generated by devices and on-chip supporting modules that are neither the source
nor the destination. Transfers can be requested in three modes: auto-request, external request, and
on-chip module request. The request mode is selected with the RS3–RS0 bits in the DMA channel
control registers 0–3 (CHCR0–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 supporting module
unable to request a transfer, the auto-request mode allows the DMAC to automatically generate a
transfer request signal internally. When the DE bits in CHCR0–CHCR3 and the DME bit in
DMAOR are set to 1, the transfer begins (so long as the TE bits in CHCR0–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 request signal
(DREQ) of an external device. Choose one of the modes shown in table 9.3 according to the
application system. When this mode is selected, if DMA transfer is enabled (DE = 1, DME = 1,
TE = 0, NMIF = 0, AE = 0), a transfer is performed upon a request at the DREQ input. Choose to
detect DREQ by either the falling edge or low level of the signal input with the DS bit in CHCR0–
CHCR3 (DS = 0 specifies level detection, DS = 1 specifies edge detection). The source of the
transfer request does not have to be the data transfer source or destination.
On-Chip Module Request: In this mode a transfer is performed in response to a transfer request
signal (interrupt request signal) of an on-chip module. The transfer request signals include the
receive data full interrupt (RXI) of the serial communication interface (SCI), the transmit data
empty interrupt (TXI) of the SCI, the input capture A/compare match A interrupt request (IMIA)
of the 16-bit integrated pulse timer (ITU), and the A/D conversion end interrupt (ADI) of the A/D
converter (table 9.4). When this mode is selected, if DMA transfer is enabled (DE = 1, DME = 1,
TE = 0, NMIF = 0, AE = 0), a transfer is performed upon input of a transfer request signal. The
190
source of the transfer request does not have to be the data transfer source or destination. When
RXI is set as the transfer request, however, the transfer source must be the SCI’s receive data
register (RDR). Likewise, when TXI is set as the transfer request, the transfer source must be the
SCI’s transmit data register (TDR). If the transfer request is from the A/D converter, the data
transfer source must be an A/D converter register.
Table 9.4 Selecting On-Chip Peripheral Module Request Modes with the RS Bits
DMA
Transfer
RS RS RS RS Request DMA Transfer Request Desti-
3 2 1 0 Source Signal Source nation Bus Mode
0 1 0 0 SCI0 RXI0 (SCI0 receive data full RDR0 Any* Cycle steal
receiver interrupt transfer request)
0 1 0 1 SCI0 TXI0 (SCI0 transmit data Any TDR0 Cycle steal
transmitter empty interrupt transfer
request)
0 1 1 0 SCI1 RXI1 (SCI1 receive data full RDR1 Any* Cycle steal
receiver interrupt transfer request)
0 1 1 1 SCI1 TXI1 (SCI1 transmit data Any* TDR1 Cycle steal
transmitter empty interrupt transfer
request)
1 0 0 0 ITU0 IMIA0 (ITU0 input capture A/ Any* Any* Burst/Cycle
compare match A) steal
1 0 0 1 ITU1 IMIA1 (ITU1 input capture A/ Any* Any* Burst/Cycle
compare match A) steal
1 0 1 0 ITU2 IMIA2 (ITU2 input capture A/ Any* Any* Burst/Cycle
compare match A) steal
1 0 1 1 ITU3 IMIA3 (ITU3 input capture A/ Any* Any* Burst/Cycle
compare match A) steal
1 1 0 1 A/D ADI (A/D conversion end ADDR Any Burst/Cycle
converter interrupt) steal
SCI0, SCI1: Serial communication interface channels 0 and 1
ITU0-ITU3: Channels 0–3 of the 16-bit integrated timer pulse unit
RDR0, RDR1: Receive data registers 0, 1 of SCI
TDR0, TDR1: Transmit data registers 0, 1 of SCI
ADDR: A/D data register of A/D converter
Note: * External memory, memory-mapped external device, on-chip memory, on-chip supporting
module (excluding DMAC)
191
When outputting transfer requests from on-chip supporting modules, the appropriate interrupt
enable bits must be set to output the interrupt signals. Note that transfer request signals from on-
chip supporting modules (interrupt request signals) are sent not just to the DMAC but to the CPU
as well. When an on-chip supporting module is specified as the transfer request source, set the
priority level values in the interrupt priority level registers (IPRC–IPRE) of the interrupt controller
(INTC) at or below the levels set in the I3–I0 bits of the CPU's status register (SR) so that the CPU
does not acknowledge the interrupt request signal.
The DMA transfer request signals in table 9.4 are automatically withdrawn when the
corresponding DMA transfer is performed. If cycle steal mode is being used, the DMA transfer
request (interrupt request) will be cleared at the first transfer; if burst mode is being used, it will be
cleared at the last transfer.
When the DMAC receives simultaneous transfer requests on two or more channels, it selects a
channel according to a predetermined priority order. The three modes (fixed mode, round-robin
mode, and external-pin round-robin mode) are selected by priority bits PR1 and PR0 in the DMA
operation register.
Fixed Mode: In this mode, the priority levels among the channels remain fixed. When the PR1
and PR0 bits are set to 00, the priority order, high to low, is Ch. 0 > Ch. 3 > Ch. 2 > Ch. 1. When
the PR1 and PR0 bits are set to 01, the priority order, high to low, is Ch. 1 > Ch. 3 > Ch. 2 > Ch. 0.
Round-Robin Mode: Each time one word or byte is transferred on one channel, the priority order
is rotated. The channel on which the transfer just finished rotates to the bottom of the priority
order. When necessary, the priority order of channels other than the one that just finished the
transfer can also be shifted to keep the relationship between the channels from changing (figure
9.3). The priority order immediately after a reset is channel 0 > channel 3 > channel 2 > channel 1.
192
(1) When channel 0 transfers
Initial priority order ch0 > ch3 > ch2 > ch1
Channel 0 becomes
bottom priority
Priority order
ch3 > ch2 > ch1 > ch0
after transfer
Figure 9.4 shows how the priority order changes when channel 0 and channel 1 transfers are
requested simultaneously and a channel 3 transfer is requested during the channel 0 transfer. The
DMAC operates as follows:
193
1. Transfer requests are generated simultaneously for channels 1 and 0.
2. Channel 0 has a higher priority, so the channel 0 transfer begins first (channel 1 waits for
transfer).
3. A channel 3 transfer request occurs during the channel 0 transfer (channels 1 and 3 are both
waiting)
4. When the channel 0 transfer ends, channel 0 becomes the lowest priority.
5. At this point, channel 3 has a higher priority than channel 1, so the channel 3 transfer begins
(channel 1 waits for transfer).
6. When the channel 3 transfer ends, channel 3 becomes the lowest priority.
7. The channel 1 transfer begins.
8. When the channel 1 transfer ends, channels 1 and 2 shift downward in priority so that channel
1 becomes the lowest priority.
1
(3) Channel 3
Priority order
(4) Channel 0 changes
1, 3 3>2>1>0
transfer ends
(5) Channel 3
transfer starts
Priority order
(6) Channel 3 changes
1 2>1>0>3
transfer ends
(7) Channel 1
transfer starts
194
External-Pin Round-Robin Mode: External-pin round-robin mode switches the priority levels of
channel 0 and channel 1, which are the channels that can receive transfer requests from external
pins DREQ0 and DREQ1. The priority levels are changed after each (byte or word) transfer on
channel 0 or channel 1 is completed. The channel which just finished the transfer rotates to the
bottom of the priority order. The priority levels of channels 2 and 3 do not change. The initial
priority order after a reset is channel 3 > channel 2 > channel 1 > channel 0.
Figure 9.5 shows how the priority order changes when channel 0 and channel 1 transfers are
requested simultaneously and a channel 0 transfer is requested again after both channels finish
their transfers. The DMAC operates as follows:
195
Transfer request Waiting channel(s) DMAC operation Channel priority
(1) Channels
(2) Channel 1
0 and 1
transfer starts 3>2>1>0
0
Priority order
(3) Channel 1 changes
3>2>0>1
transfer ends
(4) Channel 0
transfer starts
None
Priority order
changes
(5) Channel 0 3>2>1>0
transfer ends
Waiting for
(7) Channel 0 transfer request
(6) Channel 0
transfer starts
196
9.3.4 DMA Transfer Types
The DMAC supports the transfers shown in table 9.5. It can operate in single address mode or dual
address mode, which are defined by how many bus cycles the DMAC takes to access the transfer
source and transfer destination. The actual transfer operation timing varies with the bus mode. The
DMAC has two bus modes: cycle-steal mode and burst mode.
Destination
Memory-
External Mapped On-Chip
Device with External External On-Chip Supporting
Source DACK Memory Device Memory Module
External device with Not available Single Single Not available Not available
DACK
External memory Single Dual Dual Dual Dual
Memory-mapped external Single Dual Dual Dual Dual
device
On-chip memory Not available Dual Dual Dual Dual
On-chip supporting Not available Dual Dual Dual Dual
module
Single: Single address mode
Dual: Dual address mode
Address Modes:
In single address mode, both the transfer source and destination are external; one (selectable) is
accessed by a DACK signal while the other is accessed by an address. In this mode, the
DMAC performs the DMA transfer in 1 bus cycle by simultaneously outputting a transfer
request acknowledge DACK signal to one external device to access it while outputting an
address to the other end of the transfer. Figure 9.6 shows an example of a transfer between an
external memory and an external device with DACK in which the external device outputs data
to the data bus while that data is written in external memory in the same bus cycle.
197
External address bus External data bus
SuperH microcomputer
External
DMAC memory
Read Write
1 2
External device
with DACK
DACK
DREQ
: Data flow
Note: The read/write direction is decided by the RS3-RS0 bits in the CHCRn registers. If
RS3–RS0 = 0010, the direction is as shown in case 1 (circled number above); if RS3–
RS0 = 0011, the direction is as shown in case 2. In the Electrical Characteristics section,
DACK output (read) indicates case 1, and DACK output (write) indicates case 2.
Two types of transfers are possible in single address mode: 1) transfers between external
devices with DACK and memory-mapped external devices, and 2) transfers between external
devices with DACK and external memory. The only transfer request for either of these is the
external request (DREQ). Figure 9.7 shows the DMA transfer timing for single address mode.
The DACK output when a transfer occurs from an external device with DACK to a memory-
mapped external device is the write waveform. The DACK output when a transfer occurs from
a memory-mapped external device to an external device with DACK is the read waveform.
The settings of the acknowledge mode (AM) bits in the channel control registers (CHCR0,
CHCR1) have no effect.
198
CK
CSn
CK
CSn
In dual address mode, both the transfer source and destination are accessed (selectable) by an
address. The source and destination can be located externally or internally. The source is
accessed in the read cycle and the destination in the write cycle, so the transfer is performed in
two separate bus cycles. The transfer data is temporarily stored in the DMAC. Figure 9.8
shows an example of a transfer between two external memories in which data is read from one
memory in the read cycle and written to the other memory in the following write cycle.
199
External data bus
SuperH microcomputer 2
External
DMAC memory
External
memory
1
: Data flow
1: Read cycle
2: Write cycle
In dual address mode transfers, external memory, memory-mapped external devices, on-chip
memory and on-chip supporting modules can be mixed without restriction. Specifically, this
enables the following transfer types:
Transfer requests can be auto requests, external requests, or on-chip supporting module requests.
When the transfer request source is either the SCI or A/D converter, however, either the data
destination or source must be the SCI or A/D converter (figure 9.4). In dual address mode, DACK
is output in read or write cycles other than for internal memory and external supporting modules.
CHCR controls the cycle in which DACK is output.
Figure 9.9 shows the DMA transfer timing in dual address mode.
200
CK
A21–A0
Source address Destination address
CSn
D15–D0
RD
WRH
WRL
DACK
Figure 9.9 DMA Transfer Timing in Dual Address Mode (External Memory Space to
External Memory Space Transfer with DACK Output in Read Cycle)
Bus Modes: There are two bus modes: cycle-steal and burst. Select the mode with the TM bits in
CHCR0–CHCR3.
• Cycle-Steal Mode
In cycle-steal mode, the bus is given to another bus master after a one-transfer-unit (word or
byte) DMA transfer. When another transfer request occurs, the bus is obtained from the other
bus master and a transfer is performed for one transfer unit. When that transfer ends, the bus is
passed to the other bus master. This is repeated until the transfer end conditions are satisfied.
Cycle-steal mode can be used with all categories of transfer destination, transfer source and
transfer request. Figure 9.10 shows an example of DMA transfer timing in cycle-steal mode.
DREQ
Bus cycle CPU CPU CPU DMAC DMAC CPU DMAC DMAC CPU
Read Write Read Write
Figure 9.10 Transfer Example in Cycle-Steal Mode (Dual Address Mode, DREQ Level
Detection)
201
• Burst Mode
Once the bus is obtained, the transfer is performed continuously until the transfer end condition
is satisfied. In external request mode with low-level detection at the DREQ pin, however, when
the DREQ pin is driven high, the bus passes to the other bus master after the bus cycle of the
DMAC that currently has an acknowledged request ends, even if the transfer end conditions
have not been satisfied.
Burst mode cannot be used when the serial communication interface (SCI) is the transfer
request source. Figure 9.11 shows an example of DMA transfer timing in burst mode. The
transfer conditions shown in the figure are:
Single address mode
DREQ level detection
DREQ
Bus cycle CPU CPU CPU DMAC DMAC DMAC DMAC DMAC DMAC CPU
Figure 9.11 Transfer Example in Burst Mode (Single Address Mode, DREQ Level
Detection)
Relationship between Request Modes and Bus Modes by DMA Transfer Category: Table 9.6
shows the relationship between request modes and bus modes by DMA transfer category.
202
Table 9.6 Relationship of Request Modes and Bus Modes by DMA Transfer Category
Transfer
Address Request Bus Size Usable
Mode Transfer Category Mode Mode (bits) Channels
Single External device with DACK and External B/C 8/16 0,1
external memory
External device with DACK and External B/C 8/16 0, 1
memory-mapped external device
Dual External memory and external All*1 B/C 8/16 0–3* 5
memory
External memory and memory- All*1 B/C 8/16 0–3* 5
mapped external device
Memory-mapped external device and All*1 B/C 8/16 0–3* 5
memory-mapped external device
External memory and on-chip All*1 B/C 8/16 0–3* 5
memory
External memory and on-chip All*2 B/C* 3 8/16*4 0–3* 5
supporting module
Memory-mapped external device and All*1 B/C 8/16 0–3* 5
on-chip memory
Memory-mapped external device and All*2 B/C* 3 8/16*4 0–3* 5
on-chip supporting module
On-chip memory and on-chip All*1 B/C 8/16 0–3* 5
memory
On-chip memory and on-chip All*2 B/C* 3 8/16*4 0–3* 5
supporting module
On-chip supporting module and on- All*2 B/C* 3 8/16*4 0–3* 5
chip supporting module
B: Burst, C: Cycle steal
Notes: 1. External requests, auto requests and on-chip supporting module requests are all
available. For on-chip supporting module requests, however, SCI and A/D converter
cannot be specified as the transfer request source.
2. External requests, auto requests and on-chip supporting module requests are all
available. When the SCI or A/D converter is also the transfer request source, however,
the transfer destination or transfer source must be the SCI or A/D converter,
respectively.
3. If the transfer request source is the SCI, cycle-steal only.
4. The access size permitted when the transfer destination or source is an on-chip
supporting module register.
5. If the transfer request is an external request, channels 0 and 1 only.
203
Bus Mode and Channel Priority Order: When a given channel (1) is transferring in burst mode
and there is a transfer request to a channel (2) with a higher priority, the transfer of the channel
with higher priority (2) will begin immediately. When channel 2 is also operating in burst mode,
the channel 1 transfer will continue when the channel 2 transfer has completely finished. When
channel 2 is in cycle-steal mode, channel 1 will begin operating again after channel 2 completes
the transfer of one transfer unit, but the bus will then switch between the two in the order channel
1, channel 2, channel 1, channel 2. Since channel 1 is in burst mode, it will not give the bus to the
CPU. This example is illustrated in figure 9.12.
Bus CPU DMAC DMAC DMAC DMAC DMAC DMAC DMAC CPU
status ch1 ch1 ch2 ch1 ch2 ch1 ch1
Priority order is ch0 > ch3 > ch2 > ch1 (ch1 is in burst mode and ch2 is in cycle-steal mode).
9.3.5 Number of Bus Cycle States and DREQ Pin Sample Timing
Number of States in Bus Cycle: The number of states in the bus cycle when the DMAC is the
bus master is controlled by the bus state controller just as it is when the CPU is the bus master.
The bus cycle in dual address mode is controlled by wait state control register 1 (WCR1) while the
single address mode bus cycle is controlled by wait state control register 2 (WCR2). For details,
see section 8.9, Wait State Control.
DREQ Pin Sampling Timing: Normally, when DREQ input is detected immediately prior to the
rise edge of the clock pulse (CK) in external request mode, a DMAC bus cycle will be generated
and the DMA transfer performed two states later at the earliest. The sampling timing after DREQ
input detection differs by bus mode, address mode, and method of DREQ input detection.
204
• DREQ pin sampling timing in cycle-steal mode
In cycle-steal mode, the sampling timing is the same regardless of whether DREQ is detected
by edge or level. With edge detection, however, once the signal is sampled it will not be
sampled again until the next edge detection. Once DREQ input is detected, the next sampling
is not performed until the first state, among those DMAC bus cycles thereby produced, in
which a DACK signal is output (including the detection state itself). The next sampling occurs
immediately prior to the rising edge of the clock pulse (CK) of the third state after the bus
cycle previous to the bus cycle in which the DACK signal is output.
Figure 9.13 to 9.22 show the sampling timing of the DREQ pin in cycle-steal mode for each
bus cycle. When no DREQ input is detected at the sampling after the aforementioned DREQ
detection, the next sampling occurs in the next state in which a DACK signal is output. If no
DREQ input is detected at this time, sampling occurs at every subsequent state.
CK
DREQ
Bus cycle CPU CPU CPU DMAC CPU CPU CPU CPU
DACK
Figure 9.13 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Single Address Mode, Bus Cycle = 1 State)
205
CK
DREQ
Bus cycle CPU CPU CPU DMAC (R) DMAC (W) CPU CPU CPU
DACK
Note: Illustrates the case when DACK is output during the DMAC read cycle.
Figure 9.14 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Dual Address Mode, Bus Cycle = 1 State)
CK
DREQ
Bus cycle CPU CPU CPU DMAC CPU CPU CPU CPU
DACK
Figure 9.15 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Single Address Mode, Bus Cycle = 2 States)
206
CK
DREQ
Bus cycle CPU CPU CPU DMAC (R) DMAC (W) CPU CPU CPU
DACK
Note: Illustrates the case when DACK is output during the DMAC write cycle.
Figure 9.16 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Dual Address Mode, Bus Cycle = 2 States)
T1 Tw T2 T1 Tw T2
CK
DREQ
DACK
Note: When DREQ is negated at the third state of the DMAC cycle, the next DMA transfer will
be executed because the sampling is performed at the second state of the DMAC cycle.
Figure 9.17 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Single Address Mode, Bus Cycle = 2 States + 1 Wait
State)
207
T1 Tw T2 T1 Tw T2
CK
DREQ
Bus cycle CPU CPU CPU DMAC (R) DMAC (W) CPU CPU
DACK
Figure 9.18 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Dual Address Mode, Bus Cycle = 2 States + 1 Wait State)
Tp Tr Tc Tc Tp Tr Tc Tc
CK
DREQ
DACK
Note: When DREQ is negated at the fourth state of the DMAC cycle, the next DMA transfer will
be executed because the sampling is performed at the second state of the DMAC cycle.
Figure 9.19 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Single Address Mode, Bus Cycle = DRAM Bus Cycle
(Long Pitch Normal Mode))
208
Tp Tr Tc Tc Tp Tr Tc Tc
CK
DREQ
DACK
Note: When DREQ is negated at the fourth state of the DMAC cycle, the next DMA transfer will
be executed because the sampling is performed at the second state of the DMAC cycle.
Figure 9.20 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Dual Address Mode, Bus Cycle = DRAM Bus Cycle
(Long Pitch Normal Mode))
T1 T2 T3 T4 T1 T2 T3 T4
CK
DREQ
DACK
Note: When DREQ is negated at the fourth state of the DMAC cycle, the next DMA transfer will
be executed because the sampling is performed at the second state of the DMAC cycle.
Figure 9.21 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Single Address Mode, Bus Cycle = Address/Data
Multiplex I/O Bus Cycle)
209
T1 T2 T3 T4 T1 T2 T3 T4
CK
DREQ
DACK
Note: When DREQ is negated at the fourth state of the DMAC cycle, the next DMA transfer will
be executed because the sampling is performed at the second state of the DMAC cycle.
Figure 9.22 DREQ Sampling Timing in Cycle-Steal Mode (Output with DREQ Level
Detection and DACK Active-Low) (Dual Address Mode, Bus Cycle = Address/Data
Multiplex I/O Bus Cycle)
In burst mode, the sampling timing differs depending on whether DREQ is detected by edge or
level.
When DREQ input is being detected by edge, once the falling edge of the DREQ signal is
detected, the DMA transfer continues until the transfer end conditions are satisfied, regardless
of the status of the DREQ pin. No sampling happens during this time. After the transfer ends,
sampling occurs every state until the TE bit of CHCR is cleared.
When DREQ input is being detected by level, once the DREQ input is detected, subsequent
sampling is performed at the end of every CPU or DMAC bus cycle in single address mode. In
dual address mode, subsequent sampling is performed at the start of every DMAC read cycle.
In both single address mode and dual address mode, if no DREQ input is detected at this time,
subsequent sampling occurs at every state.
Figures 9.23 and 9.24 show the DREQ pin sampling timing in burst mode when DREQ input is
detected by low level.
210
CK
DREQ
Bus
cycle CPU CPU CPU DMAC DMAC DMAC CPU
DACK
Figure 9.23 DREQ Pin Sampling Timing in Burst Mode (Single Address DREQ Level
Detection, DACK Active-Low, 1 Bus Cycle = 2 States)
CK
DREQ
Bus
cycle CPU CPU DMAC(R) DMAC(W) DMAC(R) DMAC(W) CPU
DACK
Figure 9.24 DREQ Pin Sampling Timing in Burst Mode (Dual Address DREQ Level
Detection, DACK Active-Low, DACK Output in Read Cycle, 1 Bus Cycle = 2 States)
211
9.3.6 DMA Transfer Ending Conditions
The DMA transfer ending conditions differ for individual channel ending and ending on all
channels together.
Individual Channel Ending Conditions: There are two ending conditions. A transfer ends when
the value of the channel’s DMA transfer count register (TCR) is 0, or when the DE bit in the
channel’s CHCR is cleared to 0.
• When TCR is 0: When the TCR value becomes 0 and the corresponding channel's DMA
transfer ends, the transfer end flag bit (TE) is set in CHCR. If the IE (interrupt enable) bit has
been set, a DMAC interrupt (DEI) request is sent to the CPU.
• When DE in CHCR is 0: Software can halt a DMA transfer by clearing the DE bit in the
channel’s CHCR. The TE bit is not set when this happens.
Conditions for Ending All Channels Simultaneously: Transfers on all channels end when 1) the
NMIF (NMI flag) bit or AE (address error flag) bit is set to 1 in DMAOR, or 2) when the DME bit
in DMAOR is cleared to 0.
• Transfers ending when the NMIF or AE bit is set to 1 in DMAOR: When an NMI interrupt or
DMAC address error occurs, the NMIF or AE bit is set to 1 in DMAOR and all channels stop
their transfers. SAR, DAR, and TCR are all updated by the transfer immediately preceding the
halt. The TE bit is not set. To resume transfer after NMI interrupt exception handling or
address error exception handling, clear the appropriate flag bit to 0. When a channel’s DE bit is
then set to 1, the transfer on that channel will restart. To avoid restarting transfer on a
particular channel, keep its DE bit cleared to 0. In dual address mode, DMA transfer will be
halted after the completion of the write cycle that follows the initial read cycle in which the
address error occurs. SAR, DAR, and TCR are updated by the final transfer.
• Transfers ending when DME is cleared to 0 in DMAOR: Clearing the DME bit to 0 in
DMAOR forcibly aborts transfer on all channels at the end of the current cycle. The TE bit is
not set.
212
9.4 Examples of Use
9.4.1 DMA Transfer between On-Chip RAM and Memory-Mapped External Device
In the following example, data is transferred from on-chip RAM to a memory-mapped external
device with an input capture A/compare match A interrupt (IMIA0) from channel 0 of the 16-bit
integrated timer pulse unit (ITU) as the transfer request signal. The transfer is performed by
DMAC channel 3. Table 9.7 shows the transfer conditions and register values.
Table 9.7 Transfer Conditions and Register Settings for Transfer Between On-Chip RAM
and Memory-Mapped External Device
213
9.4.2 Example of DMA Transfer between On-Chip SCI and External Memory
In this example, receive data of on-chip serial communication interface (SCI) channel 0 is
transferred to external memory using DMAC channel 3. Table 9.8 shows the transfer conditions
and register settings.
Table 9.8 Transfer Conditions and Register Settings for Transfer between On-Chip SCI
and External Memory
214
9.4.3 Example of DMA Transfer Between On-Chip A/D Converter and External
Memory
In this example, the results of an A/D conversion by the on-chip A/D converter are transferred to
external memory using DMAC channel 3. Input from channel 0 (AN0) is A/D-converted using
scan mode. Table 9.9 shows the transfer conditions and register settings.
Table 9.9 Transfer Conditions and Register Settings for Transfer Between On-Chip A/D
Converter and External Memory
215
9.5 Usage Notes
1. All registers other than the DMA operation register (DMAOR) and DMA channel control
registers 0–3 (CHCR0–CHCR3) should be accessed in word or longword units.
2. Before rewriting the RS0–RS3 bits in CHCR0–CHCR3, first clear the DE bit to 0 (when
rewriting CHCR with a byte access, be sure to set the DE bit to 0 in advance).
3. Even when an NMI interrupt is input when the DMAC is not operating, the NMIF bit in
DMAOR will be set.
4. Interrupt during DMAC transfer
When an interrupt occurs during DMAC transfer, the following operation takes place.
a. When an NMI interrupt is input, the DMAC stops operation and returns the bus to the
CPU. The CPU then executes the interrupt handling.
b. When an interrupt other than an NMI occurs
• When the DMAC is in burst mode
The DMAC does not return the bus to the CPU in burst mode. Therefore, even when an
interrupt is requested in DMAC operation, the CPU cannot acquire the bus with, the
result that interrupt handling is not executed. When the DMAC completes the transfer
and the CPU acquires the bus, the CPU executes interrupt handling if the interrupt
requested during DMAC transfer is not cleared.*
Note: Clear conditions for an interrupt request:
When an interrupt is requested from an on-chip supporting module, and the interrupt
source flag is cleared
When an interrupt is requested by IRQ (edge detection), and the CPU begins
interrupt handling for the IRQ request source
When an interrupt is requested by IRQ (level detection), and the IRQ interrupt
request signal returns to the high level
• When the DMAC is in cycle-steal mode
The DMAC returns the bus to the CPU every time the DMAC completes a transfer unit
in cycle-steal mode. Therefore, the CPU executes the requested interrupt handling when
it acquires the bus.
5. The CPU and DMAC leave the bus released and the operation of the chip is stopped when the
following conditions are satisfied
• The warp bit (WARP) in the bus control register (BCR) of the bus controller (BSC) is set
• The DMAC is in cycle-steal transfer mode
• The CPU accesses (reads/writes) the on-chip I/O space
Remedy: Clear the warp bit in BCR to 0 to set normal mode.
216
6. Notes on use of the SLEEP instruction
a. Operation contents
When a DMAC bus cycle is entered immediately after executing a SLEEP instruction,
there are cases when DMA transfer is not carried out correctly.
b. Remedy
• Stop operation (for example, by clearing the DMA enable bit (DE) in the DMA channel
control register (CHCRn)) before entering sleep mode.
• To use the DMAC when in sleep mode, first exit sleep mode by means of an interrupt.
In cases when the CPU is not carrying out any other processing but is waiting for the DMAC
to end its transfer during DMAC operation, do not use the SLEEP instruction, but use the
transfer end flag bit (TE) in the channel DMA control register and a polling software loop.
7. Sampling of DREQ
If DREQ is set to level detection in DMA cycle-steal mode, sampling of DREQ may take place
before DACK is output. Note that some system configurations involve unnecessary DMA
transfers.
Operation:
As shown in Figure 9.25, sampling of DREQ is carried out immediately before the rising edge
of the third-state clock (CK) after completion of the bus cycle preceding the DMA bus cycle
where DACK is output.
If DACK is output after the third state of the DMA bus cycle, sampling of DREQ must be
carried out before DACK is output.
Number of states of
DMAC bus cycle
1
217
Especially, if, as shown in figure 9.26, the DMA bus cycle is a full access to DRAM or if a
refresh request is generated, sampling of DREQ takes place before DACK is output as
mentioned above. This phenomenon is found when one of the following transfers is made with
DREQ set to level detection in DMA cycle-steal mode, in a system which employs DRAM
(refresh enabled).
CK
Tp Tr Tc Refresh T1 T2
DACK
• Transfer from a device with DACK to memory in single address mode (not restricted to
DRAM)
• Transfer from DRAM to a device with DACK in single address mode
• Output at DACK write in dual address mode
• Output at DACK read in dual address mode and DMA transfer using DRAM as the source
Remedy:
To prevent unnecessary DMA transfers, configure the system so that DREQ is edge-detected
and the edge corresponding to the next transfer request occurs after DACK output.
8. When the following operations are performed in the order shown when the pin to which DREQ
input is assigned is designated as a general input pin by the pin function controller (PFC) and
inputs a low-level signal, the DREQ falling edge is detected, and a DMA transfer request
accepted, immediately after the setting in (b) is performed:
(a) A channel control register (CHCRn) setting is made so that an interrupt is detected at the
falling edge of DREQ.
(b) The function of the pin to which DREQ input is assigned is switched from general input to
DREQ input by a pin function controller (PFC) setting.
Therefore, when switching the pin function from general input pin to DREQ input, the pin
function controller (PFC) setting should be changed to DREQ input while the pin to which
DREQ input is assigned is high.
218
Section 10 16-Bit Integrated Timer Pulse Unit (ITU)
10.1 Overview
The SuperH microcomputer has an on-chip 16-bit integrated timer pulse unit (ITU) with five 16-
bit timer channels.
10.1.1 Features
• Can process a maximum of twelve different pulse outputs and ten different pulse inputs.
• Has ten general registers (GR), two per channel, that can be set to function independently as
output compare or input capture registers.
• Selection of eight counter input clock sources for all channels
Internal clock: φ, φ/2, φ/4, φ/8,
External clock: TCLKA, TCLKB, TCLKC, TCLKD
• All channels can be set for the following operating modes:
Compare match waveform output: 0 output/1 output/selectable toggle output (0 output/1
output for channel 2)
Input capture function: Selectable rising edge, falling edge, or both rising and falling edges
Counter clearing function: Counters can be cleared by a compare match or input capture.
Synchronizing mode: Two or more timer counters (TCNT) can be written to
simultaneously. Two or more timer counters can be simultaneously cleared by a compare
match or input capture. Counter synchronization functions enable synchronized
input/output.
PWM mode: PWM output can be provided with any duty cycle. When combined with the
counter synchronizing function, enables up to five-phase PWM output.
• Channel 2 can be set to phase counting mode: Two-phase encoder output can be counted
automatically.
• Channels 3 and 4 can be set in the following modes:
Reset-synchronized PWM mode: By combining channels 3 and 4, 3-phase PWM output is
possible with positive and negative waveforms .
Complementary PWM mode: By combining channels 3 and 4, 3-phase PWM output is
possible with non-overlapping positive and negative waveforms.
• Buffer operation: Input capture registers can be double-buffered. Output compare registers can
be updated automatically.
• High-speed access via internal 16-bit bus: The TCNT, GR, and buffer register (BR) 16-bit
registers can be accessed at high speed via a 16-bit bus.
219
• Fifteen interrupt sources: Ten compare match/input capture interrupts (2 sources per channel)
and five overflow interrupts are vectored independently for a total of 15 sources.
• Can activate DMAC: The compare match/input capture interrupts of channels 0–3 can start the
DMAC (one for each of four channels).
• Output trigger can be generated for the programmable timing pattern controller (TPC): The
compare match/input capture signals of channel 0–3 can be used as output triggers for the
TPC.
220
Table 10.1 ITU Functions
221
10.1.2 Block Diagram
ITU Block Diagram (Overall Diagram): Figure 10.1 shows a block diagram of the ITU.
TCLKA–TCLKD IMIA0–IMIA4
Clock Control
IMIB0–IMIB4
selection logic
OVI0–OVI4
φ, φ/2, φ/4, φ/8
Counter control and
TOCXA4, TOCXB4
pulse I/O control unit
TIOCA0–TIOCA4
TIOCB0–TIOCB4
TOCR
16-bit timer channel 4
Bus interface
TSTR
TSNC
Internal
TMDR data
bus
TFCR
222
Block Diagram of Channels 0 and 1: ITU channels 0 and 1 have the same function. Figure 10.2
shows a block diagram of channels 0 and 1.
TCLKA– TIOCAn
TCLKD TIOCBn
Clock selection
φ, φ/2,
φ/4, φ/8
IMIAn
Comparator Control logic IMIBn
OVIn
TCNTn
TIORn
TIERn
GRAn
GRBn
TSRn
TCRn
Module data bus
223
Block Diagram of Channel 2: Figure 10.3 shows a block diagram of channel 2. Channel 2 is
capable of 0 output/1 output only.
TCLKA– TIOCA2
TCLKD TIOCB2
Clock selection
φ, φ/2,
φ/4, φ/8
IMIA2
Comparator Control logic IMIB2
OVI2
TCNT2
GRA2
GRB2
TIOR2
TIER2
TSR2
TCR2
224
Block Diagrams of Channels 3 and 4: Figure 10.4 shows a block diagram of channel 3; figure
10.5 shows a block diagram of channel 4.
TCLKA–
TCLKD
Clock selection
φ, φ/2, TIOCA3
φ/4, φ/8 TIOCB3
IMIA3
Comparator Control logic IMIB3
OVI3
TCNT3
TIOR3
TIER3
GRA3
BRA3
BRB3
TSR3
GRB3
TCR3
Module data bus
225
TCLKA– TOCXA4
TCLKD TOCXB4
Clock selection
φ, φ/2, TIOCA4
φ/4, φ/8 TIOCB4
GCNT4
TIOR4
TIER4
GRA4
BRA4
BRB4
TSR4
GRB4
TCR4
Module data bus
226
10.1.3 Input/Output Pins
Table 10.2 summarizes the ITU pins. External pin functions should be set with the pin function
controller to match to the ITU setting. See section 15, Pin Function Controller, for details. ITU
pins need to be set using the pin function controller (PFC) after the chip is set to ITU mode.
227
10.1.4 Register Configuration
228
Table 10.3 Register Configuration (cont)
229
Table 10.3 Register Configuration (cont)
The timer start register (TSTR) is an eight-bit read/write register that starts and stops the timer
counters (TCNT) of channels 0–4. TSTR is initialized to H'E0 or H'60 by a reset and in standby
mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — STR4 STR3 STR2 STR1 STR0
Initial value: * 1 1 0 0 0 0 0
R/W: — — — R/W R/W R/W R/W R/W
Note: * Undefined
230
• Bits 7–5 (Reserved): Cannot be modified. Bit 7 is read as undefined. Bits 6 and 5 are always
read as 1. The write value to bit 7 should be 0 or 1, and the write value to bits 6 and 5 should
always be 1.
231
10.2.2 Timer Synchro Register (TSNC)
The timer synchro register (TSNC) is an eight-bit read/write register that selects timer
synchronizing modes for channels 0–4. Channels for which 1 is set in the corresponding bit will be
synchronized. TSNC is initialized to H'E0 or H'60 by a reset and in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — SYNC4 SYNC3 SYNC2 SYNC1 SYNC0
Initial value: * 1 1 0 0 0 0 0
R/W: — — — R/W R/W R/W R/W R/W
Note: * Undefined
• Bits 7–5 (Reserved): Bit 7 is read as undefined. Bits 6 and 5 are always read as 1. The write
value to bit 7 should be 0 or 1, and the write value to bits 6 and 5 should always be 1.
• Bit 4 (Timer Synchro 4 (SYNC4)): SYNC4 selects synchronizing mode for channel 4.
• Bit 3 (Timer Synchro 3 (SYNC3)): SYNC3 selects synchronizing mode for channel 3.
• Bit 2 (Timer Synchro 2 (SYNC2)): SYNC2 selects synchronizing mode for channel 2.
232
• Bit 1 (Timer Synchro 1 (SYNC1)): SYNC1 selects synchronizing mode for channel 1.
• Bit 0 (Timer Synchro 0 (SYNC0)): SYNC0 selects synchronizing mode for channel 0.
The timer mode register (TMDR) is an eight-bit read/write register that selects PWM mode for
channels 0–4, sets phase counting mode for channel 2, and sets the conditions for the overflow
flag (OVF). TMDR is initialized to H'80 or H'00 by a reset and in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: — MDF FDIR PWM4 PWM3 PWM2 PWM1 PWM0
Initial value: * 0 0 0 0 0 0 0
R/W: — R/W R/W R/W R/W R/W R/W R/W
Note: Undefined
• Bit 6 (Phase Counting Mode (MDF)): MDF selects phase counting mode for channel 2.
233
When the MDF bit is set to 1 to select phase counting mode, the timer counter (TCNT2)
becomes an up/down-counter and the TCLKA and TCLKB pins become count clock input
pins. TCNT2 counts on both the rising and falling edges of TCLKA and TCLKB, with
increment/decrement chosen as follows:
Count
Direction Decrement Increment
TCLKA pin Rising High Falling Low Rising High Falling Low
TCLKB pin L Rising High Falling High Falling Low Rising
In phase counting mode, selections for external clock edge made with the CKEG1 and CKEG0
bits in timer control register 2 (TCR2) and the counter clock selection made in the TPSC2–
TPSC0 bits are ignored. The phase counting mode described above takes priority. Settings for
counter clear conditions in the CCLR1 and CCLR0 bits in TCR2 and settings for timer I/O
control register 2 (TIOR2), timer interrupt enable register (TIER2), and timer status register 2
(TSR2) compare match/input capture functions and interrupts, however, are valid even in
phase counting mode.
• Bit 5 (Flag Direction (FDIR)): FDIR selects the setting condition for the overflow flag (OVF)
in timer status register 2 (TSR2). This bit is valid no matter which mode channel 2 is operating
in.
• Bit 4 (PWM Mode 4 (PWM4)): PWM4 selects PWM mode for channel 4. When the PWM4 bit
is set to 1 and PWM mode is entered, the TIOCA4 pin becomes a PWM output pin. 1 is output
on a compare match of general register A4 (GRA4); 0 is output on a compare match of general
register B4 (GRB4). When complementary PWM mode or reset-synchronized PWM mode is
set by the CMD1 and CMD0 bits in the timer function control register (TFCR), the setting of
this bit is ignored in favor of the settings of CMD1 and CMD0.
234
• Bit 3 (PWM Mode 3 (PWM3)): PWM3 selects the PWM mode for channel 3. When the
PWM3 bit is set to 1 and PWM mode is entered, the TIOCA3 pin becomes a PWM output pin.
1 is output on a compare match of general register A3 (GRA3); 0 is output on a compare match
of general register B3 (GRB3). When complementary PWM mode or reset-synchronized PWM
mode is set by the CMD1 and CMD0 bits in the timer function control register (TFCR), the
setting of this bit is ignored in favor of the settings of CMD1 and CMD0.
• Bit 2 (PWM Mode 2 (PWM2)): PWM2 selects the PWM mode for channel 2. When the
PWM2 bit is set to 1 and PWM mode is entered, the TIOCA2 pin becomes a PWM output pin.
1 is output on a compare match of general register A2 (GRA2); 0 is output on a compare match
of general register B2 (GRB2).
• Bit 1 (PWM Mode 1 (PWM1)): PWM1 selects the PWM mode for channel 1. When the
PWM1 bit is set to 1 and PWM mode is entered, the TIOCA1 pin becomes a PWM output pin.
1 is output on a compare match of general register A1 (GRA1); 0 is output on a compare match
of general register B1 (GRB1).
• Bit 0 (PWM Mode 0 (PWM0)): PWM0 selects the PWM mode for channel 0. When the
PWM0 bit is set to 1 and PWM mode is entered, the TIOCA0 pin becomes a PWM output pin.
1 is output on a compare match of general register A0 (GRA0); 0 is output on a compare match
of general register B0 (GRB0).
235
10.2.4 Timer Function Control Register (TFCR)
The timer function control register (TFCR) is an 8-bit read/write register that selects
complementary PWM/reset-synchronized PWM for channels 3 and 4 and sets the buffer operation.
TFCR is initialized to H'C0 or H'40 by a reset and in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: — — CMD1 CMD0 BFB4 BFA4 BFB3 BFA3
Initial value: * 1 0 0 0 0 0 0
R/W: — — R/W R/W R/W R/W R/W R/W
Note: Undefined
• Bits 7 and 6 (Reserved): Bit 7 is read as undefined. Bit 6 is always read as 1. The write value to
bit 7 should be 0 or 1. The write value to bit 6 should always be 1.
• Bits 5 and 4 (Combination Mode 1 and 0 (CMD1 and CMD0)): CMD1 and CMD0 select
complementary PWM mode or reset-synchronized mode for channels 3 and 4. Set the
complementary PWM/reset-synchronized PWM mode while the timer counter (TCNT) being
used is off. When these bits are used to set complementary PWM/reset-synchronized PWM
mode, they take priority over the PWM4 and PWM3 bits in TMDR. While the complementary
PWM/reset-synchronized PWM mode settings and the SYNC4 and SYNC3 bit settings of the
timer synchro register (TSNC) are valid simultaneously, when complementary PWM mode is
set, channels 3 and 4 should not be set to operate simultaneously (the SYNC 4 and SYNC 3
bits in TSNC should not both be set to 1).
236
• Bit 3 (Buffer Mode B4 (BFB4)): BFB4 selects buffer mode for GRB4 and BRB4 in channel 4.
• Bit 2 (Buffer Mode A4 (BFA4)): BFA4 selects buffer mode for GRA4 and BRA4 in channel 4.
• Bit 1 (Buffer Mode B3 (BFB3)): BFB3 selects buffer mode for GRB3 and BRB3 in channel 3.
• Bit 0 (Buffer Mode A3 (BFA3)): BFA3 selects buffer mode for GRA3 and BRA3 in channel 3.
237
10.2.5 Timer Output Control Register (TOCR)
The timer output control register (TOCR) is an eight-bit read/write register that inverts the output
level in complementary PWM mode/reset-synchronized PWM mode. Setting bits OLS3 and OLS4
is valid only in complementary PWM mode and reset-synchronized PWM mode. In other output
situations, these bits are ignored. TOCR is initialized to H'FF or H'7F by a reset and in standby
mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — OLS4 OLS3
Initial value: * 1 1 1 1 1 1 1
R/W: — — — — — — R/W R/W
Note: Undefined
• Bits 7–2 (Reserved): Bit 7 is read as undefined. Bits 6–2 are always read as 1. The write value
to bit 7 should be 0 or 1. The write value to bits 6–2 should always be 1.
• Bit 1 (Output Level Select 4 (OLS4)): OLS4 selects the output level for complementary PWM
mode or reset-synchronized PWM mode.
• Bit 0 (Output Level Select 3 (OLS3)): OLS3 selects the output level for complementary PWM
mode or reset-synchronized PWM mode.
238
10.2.6 Timer Counters (TCNT)
The ITU has five 16-bit timer counters (TCNT), one for each channel.
Each TCNT is a 16-bit read/write counter that counts by input from a clock source. The clock
source is selected by timer prescaler bits 2–0 (TPSC2–TPSC0) in the timer control register (TCR).
TCNT0 and TCNT 1 are strictly up-counters. Up/down-counting occurs for TCNT2 when phase
counting mode is selected, or for TCNT3 and TCNT 4 when complementary PWM mode is
selected. In other modes, they are up-counters.
TCNT can be cleared to H'0000 by compare match with the corresponding general register A or B
(GRA, GRB) or input capture to GRA or GRB (counter clear function).
When TCNT overflows (changes from H'FFFF to H'0000), the overflow flag (OVF) in the timer
status register (TSR) is set to 1. The OVF of the corresponding channel TSR is also set to 1 when
TCNT underflows (changes from H'0000 to H'FFFF).
TCNT is connected to the CPU by a 16-bit bus, so it can be written or read by either word access
or byte access. TCNT is initialized to H'0000 by a reset and in standby mode.
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
239
10.2.7 General Registers A and B (GRA and GRB)
Each of the five ITU channels has two 16-bit general registers (GR) for a total of ten registers.
Each GR is a 16-bit read/write register that can function as either an output compare register or an
input capture register. The function is selected by settings in the timer I/O control register (TIOR).
When a general register (GRA/GRB) is used as an output compare register, its value is constantly
compared with the timer counter (TCNT) value. When the two values match (compare match), the
IMFA/IMFB bit is set to 1 in the timer status register (TSR). If compare match output is selected
in TIOR, a specified value is output at the output compare pin.
When a general register is used as an input capture register, an external input capture signal is
detected and the TCNT value is stored. The IMFA/IMFB bit in the corresponding TSR is set to 1
at the same time. The valid edge or edges of the input capture signal are selected in TIOR. The
TIOR setting is ignored when set for PWM mode, complementary PWM mode, or reset-
synchronized PWM mode.
General registers are connected to the CPU by a 16-bit bus, so general registers can be written or
read by either word access or byte access. General registers are initialized as output compare
registers (no pin output) by a reset and in standby mode. The initial value is H'FFFF.
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
240
10.2.8 Buffer Registers A and B (BRA, BRB)
Each buffer register is a 16-bit read/write register that is used in buffer mode. The ITU has four
buffer registers, two each for channels 3 and 4. Buffer operation can be set independently by the
timer function control register (TFCR) bits BFB4, BFA4, BFB3, and BFB3. The buffer registers
are paired with the general registers and their function changes automatically to match the function
of corresponding general register.
The buffer registers are connected to the CPU by a 16-bit bus, so they can be written or read by
either word or byte access. Buffer registers are initialized to H'FFFF by a reset and in standby
mode.
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
241
10.2.9 Timer Control Register (TCR)
The ITU has five 8-bit timer control registers (TCR), one for each channel.
TCR is an 8-bit read/write register that selects the timer counter clock, the edges of the external
clock source, and the counter clear source. TCR is initialized to H'80 or H'00 by a reset and in
standby mode.
Abbrevi-
Channel ation Function
0 TCR0 TCR controls the TCNTs. The TCRs have the same functions on all channels.
When channel 2 is set for phase counting mode, setting the CKEG1, CKEG2
1 TCR1
and TPSC2–TPSC0 bits will have no effect.
2 TCR2
3 TCR3
4 TCR4
Bit: 7 6 5 4 3 2 1 0
Bit name: — CCLR1 CCLR0 CKEG1 CKEG0 TPSC2 TPSC1 TPSC0
Initial value: * 0 0 0 0 0 0 0
R/W: — R/W R/W R/W R/W R/W R/W R/W
Note: * Undefined
242
• Bits 6 and 5 (Counter Clear 1 and 0 (CCLR1 and CCLR0)): CCLR1 and CCLR0 select the
counter clear source.
Bit 6: Bit 5:
CCLR1 CCLR0 Description
0 0 TCNT is not cleared (Initial value)
1 TCNT is cleared by general register A (GRA) compare match or input
capture* 1
1 0 TCNT is cleared by general register B (GRB) compare match or input
capture* 1
1 Synchronizing clear: TCNT is cleared in synchronization with clear of other
timer counters operating in sync*2
Notes: 1. When GR is functioning as an output compare register, TCNT is cleared upon a
compare match. When functioning as an input capture register, TCNT is cleared upon
input capture.
2. The timer synchro register (TSNC) sets the synchronization.
• Bits 4 and 3 (External Clock Edge 1/0 (CKEG1 and CKEG0)): CKEG1 and CKEG0 select
external clock input edge. When channel 2 is set for phase counting mode, settings of the
CKEG1 and CKEG0 bits in TCR are ignored and the phase counting mode operation takes
priority.
Bit 4: Bit 3:
CKEG1 CKEG0 Description
0 0 Count rising edges (Initial value)
1 Count falling edges
1 — Count both rising and falling edges
• Bits 2–0 (Timer Prescaler 2–0 (TPS2–TPS0)): TPS2–TPS0 select the counter clock source.
When TPSC2 = 0 and an internal clock source is selected, the timer counts only falling edges.
When TPSC2 = 1 and an external clock is selected, the count edge is as set by CKEG1 and
CKEG0. When phase counting mode is selected for channel 2 (the MDF bit in the timer mode
register is 1), the settings of TPSC2–TPSC0 in TCR2 are ignored and the phase counting
operation takes priority.
243
Bit 2: Bit 1: Bit 0:
TPSC2 TPSC1 TPSC0 Counter Clock (and Cycle when φ = 10 MHz)
0 0 0 Internal clock φ (Initial value)
1 Internal clock φ/2
1 0 Internal clock φ/4
1 Internal clock φ/8
1 0 0 External clock A (TCLKA)
1 External clock B (TCLKB)
1 0 External clock C (TCLKC)
1 External clock D (TCLKD)
The timer I/O control register (TIOR) is an eight-bit read/write register that selects the output
compare or input capture function for general registers GRA and GRB. It also selects the function
of the TIOCA and TIOCB pins. If output compare is selected, TIOR also selects the output
settings. If input capture is selected, TIOR also selects the input capture edge. TIOR is initialized
to H'88 or H'08 by a reset and in standby mode. Each ITU channel has one TIOR.
Abbrevi-
Channel ation Function
0 TIOR0 TIOR controls the GRs. Some functions vary during PWM. When
channels 3 and 4 are set for complementary PWM mode/reset-
1 TIOR1
synchronized PWM mode, TIOR3 and TIOR4 settings are not valid.
2 TIOR2
3 TIOR3
4 TIOR4
Bit: 7 6 5 4 3 2 1 0
Bit name: — IOB2 IOB1 IOB0 — IOA2 IOA1 IOA0
Initial value: * 0 0 0 1 0 0 0
R/W: — R/W R/W R/W — R/W R/W R/W
Note: * Undefined
244
• Bits 6–4 (I/O Control B2–B0 (IOB2–IOB0)): IOB2–IOB0 selects the GRB function.
• Bit 3 (Reserved): Bit 3 always is read as 1. The write value should always be 1.
• Bits 2–0 (I/O Control A2–A0 (IOA2–IOA0)): IOA2–IOA0 select the GRB function.
245
10.2.11 Timer Status Register (TSR)
The timer status register (TSR) is an eight-bit read/write register containing flags that indicate
timer counter (TCNT) overflow/underflow and general register (GRA/GRB) compare match or
input capture. These flags are interrupt sources. If the interrupt is enabled by the corresponding bit
in the timer interrupt enable register (TIER), an interrupt request is sent to the CPU. TSR is
initialized to H'F8 or H'78 by a reset and in standby mode. Each ITU channel has one TSR.
2 TSR2
3 TSR3
4 TSR4
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — OVF IMFB IMFA
Initial value: *1 1 1 1 1 0 0 0
R/W: — — — — — R/(W)*2 R/(W)*2 R/(W)*2
Notes: 1. Undefined
2. Only 0 can be written, to clear the flag.
• Bits 7–3 (Reserved): Bit 7 is read as undefined. Bits 6–3 are always read as 1. The write value
to bit 7 should be 0 or 1. The write value to bits 6–3 should always be 1.
• Bit 2 (Overflow Flag (OVF)): OVF indicates that a TCNT overflow/underflow has occurred.
246
• Bit 1 (Input Capture/Compare Match B (IMFB)): IMFB indicates a GRB compare match or
input capture.
• Bit 0 (Input Capture/Compare Match A (IMFA)): IMFA indicates a GRA compare match or
input capture.
The timer status interrupt enable register (TIER) is an eight-bit read/write register that controls
enabling/disabling of overflow interrupt requests and general register compare match/input capture
interrupt requests. TIER is initialized to H'F8 or H'78 by a reset and in standby mode. Each ITU
channel has one TIER.
247
Table 10.10 Timer Interrupt Enable Register (TIER)
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — OVIE IMIEB IMIEA
Initial value: * 1 1 1 1 0 0 0
R/W: — — — — — R/W R/W R/W
Note: Undefined
• Bits 7–3 (Reserved): Bit 7 is read as undefined. Bits 6–3 are always read as 1. The write value
to bit 7 should be 0 or 1. The write value to bits 6–3 should always be 1.
• Bit 2 (Overflow Interrupt Enable (OVIE)): When the TSR overflow flag (OVF) is set to 1,
OVIE enables or disables interrupt requests from OVF.
• Bit 1 (Input Capture/Compare Match Interrupt Enable B (IMIEB)): When the IMFB bit in TSR
is set to 1, IMIEB enables or disables interrupt requests by IMFB.
• Bit 0 (Input Capture/Compare Match Interrupt Enable A (IMIEA)): When the IMFA bit in
TSR is set to 1, IMIEA enables or disables interrupt requests by IMFA.
248
10.3 CPU Interface
The timer counters (TCNT), general registers A and B (GRA, GRB), and buffer registers A and B
(BRA, BRB) are 16-bit registers. The SH CPU can access these registers a word at a time using a
16-bit data bus. Byte access is also possible. Read and write operations performed on TCNT in
word units are shown in figures 10.6 and 10.7. Byte-unit read and write operations on TCNTH and
TCNTL are shown in figures 10.8 to 10.11.
H H
Bus Module
CPU L interface L data bus
TCNTH TCNTL
H H
Bus Module
CPU
L interface L data bus
TCNTH TCNTL
H H
Bus Module
CPU L interface L data bus
TCNTH TCNTL
H H
Bus Module
CPU L interface L data bus
TCNTH TCNTL
H H
Bus Module
CPU
L interface L data bus
TCNTH TCNTL
H H
Bus Module
CPU
L interface L data bus
TCNTH TCNTL
250
10.3.2 8-Bit Accessible Registers
All registers other than the TCNT register, general registers, and buffer registers are 8-bit
registers. These are connected to the CPU by an 8-bit data bus. Figures 10.12 and 10.13 illustrate
reading and writing in byte units with the timer control register (TCR). These registers must be
accessed by byte access.
Bus Module
CPU interface data bus
TCR
TCR
251
10.4 Operation
10.4.1 Overview
Ordinary Operation: Each channel has a timer counter (TCNT) and general register (GR). The
TCNT is an up-counter and can also operate as a free-running counter, periodic counter, or
external event counter. General registers A and B (GRA and GRB) can be used as output compare
registers or input capture registers.
Synchronized Operation: The TCNT of a channel set for synchronized operation perform
synchronized presetting. When any TCNT of a channel operating in the synchronized mode is
rewritten, the TCNTs in other channels are simultaneously rewritten as well. The CCLR1 and
CCLR0 bits of the timer control register of multiple channels set for synchronous operation can be
set to clear the TCNTs simultaneously.
PWM Mode: In PWM mode, a PWM waveform is output from the TIOCA pin. Output becomes
1 upon compare match A and 0 upon compare match B. GRA and GRB can be set so that the
PWM waveform output has a duty cycle between 0% and 100%. When set for PWM mode, the
GRA and GRB automatically become output compare registers.
Reset-Synchronized PWM Mode: Three pairs of positive and negative PWM waveforms can be
obtained using channels 3 and 4 (the three phases of the PWM waveform share a transition point
on one side). When set for reset-synchronized PWM mode, GRA3, GRB3, GRA4, and GRB4
automatically become output compare registers. The TIOCA3, TIOCB3, TIOCA4, TOCXA4,
TIOCB4, and TOCXB4 pins also automatically become PWM output pins and TCNT3 becomes
an up-counter. TCNT4 functions independently (although GRA and GRB are isolated from
TCNT4).
Complementary PWM Mode: Three pairs of complementary positive and negative PWM
waveforms whose positive and negative phases do not overlap can be obtained using channels 3
and 4. When set for complementary PWM mode, GRA3, GRB3, GRA4, and GRB4 automatically
become output compare registers. The TIOCA3, TIOCB3, TIOCA4, TOCXA4, TIOCB4, and
TOCXB4 pins also automatically become PWM output pins while TCNT3 and TCNT4 become
up-counters.
Phase Counting Mode: In phase counting mode, the phase differential between two clocks input
from the TCLKA and TCLKB pins is detected and the TCNT2 operates as an up/down-counter. In
phase counting mode, the TCLKA and TCLKB pins become clock inputs and TCNT2 functions as
an up/down-counter.
252
Buffer Mode:
• When GR is an input capture register: The TCNT value is transferred to GR when an input
capture occurs and simultaneously the value previously stored in GR is transferred to BR.
• Complementary PWM mode: When TCNT3 and TCNT4 change count directions, the BR
value is transferred to GR.
Counter Operation: When a start bit (STR0–STR4) in the timer start register (TSTR) is set to 1,
the corresponding timer counter (TCNT) starts counting. There are two counting modes: a free-
running mode and a periodic mode.
1. Set bits TPSC2–TPSC0 in TCR to select the counter clock source. If an external clock
source is selected, set bits CKEG1 and CKEG0 in TCR to select the desired edge of the
external clock signal.
2. To operate as a periodic counter, set CCLR1 and CCLR0 in TCR to select whether to clear
TCNT at GRA compare match or GRB compare match.
3. Set GRA or GRB selected in step 2 as an output compare register using the timer I/O
control register (TIOR).
4. Write the desired cycle value in GRA or GRB selected in step 1.
5. Set the STR bit in TSTR to 1 to start counting.
253
Counting mode selection
No
Counting?
Yes
Select counter
clear source (2)
Select output
compare register (3)
A reset of the counters for channels 0–4 leaves them all in free-running mode. When a
corresponding bit in TSTR is set to 1, the corresponding timer counter operates as a free-
running counter and begins to increment. When the count wraps around from H'FFFF to
H'0000, the overflow flag (OVF) in the timer status register (TSR) is set to 1. If the OVIE bit
in the timer's corresponding interrupt enable register (TIER) is set to 1, an interrupt request
will be sent to the CPU. After TCNT overflows, counting continues from H'0000. Figure 10.15
shows an example of free-running counting.
Periodic counter operation is obtained for a given channel's TCNT by selecting compare match
as a TCNT clear source. (Set GRA or GRB for period setting to output compare register and
select counter clear upon compare match using the CCLR1 and CCLR0 bits in the timer
control register (TCR).) After setting, TCNT begins incrementing as a periodic counter when
the corresponding bit in TSTR is set to 1. When the count matches GRA or GRB, the
IMFA/IMFB bit in TSR is set to 1 and the counter is automatically cleared to H'0000. If the
IMIEA/IMIEB bit of the corresponding TIER is set to 1 at this point, an interrupt request will
be sent to the CPU. After the compare match, TCNT continues counting from H'0000. Figure
10.16 shows an example of periodic counting.
254
TCNT value
H'FFFF
H'0000 Time
STR0–STR4
OVF
GR
H'0000 Time
STR0–STR4
IMF
Internal clock source: Bits TPSC2–TPSC0 in TCR select the system clock (CK) or one of three
internal clock sources (φ/2, φ/4, φ/8) obtained by prescaling the system clock. Figure 10.17
shows the timing.
External clock source: The external clock input pin (TCLKA–TCLKD) source is selected by
bits TPSC2–TPSC0 in TCR and its valid edges are selected with the CKEG1 and CKEG0 bits
in TCR. The rising edge, falling edge, or both edges can be selected. The pulse width of the
external clock signal must be at least 1.5 system clocks when a single edge is selected and at
least 2.5 system clocks when both edges are selected. Shorter pulses will not be counted
correctly. Figure 10.18 shows the timing when both edges are detected.
255
CK
Internal clock
TCNT input
clock
CK
External clock
input pin
TCNT input
clock
Figure 10.18 Count Timing for External Clock Sources (Both-Edge Detection)
Compare-Match Waveform Output Function: For ITU channels 0, 1, 3, and 4, the output from
the corresponding TIOCA and TIOCB pins upon compare matches A and B can be in three
modes: 0-level output, 1-level output, or toggle. Toggle output cannot be selected for channel 2.
1. Set TIOR to select 0 output, 1 output, or toggle output for compare match output. The
compare match output pin will output 0 until the first compare match occurs.
2. Set a value in GRA or GRB to select the compare match timing.
3. Set the STR bit in TSTR to 1 to start counting.
256
Output selection
Select waveform
(1)
output mode
Select
(2)
output timing
Waveform output
Figure 10.19 Procedure for Selecting Compare Match Waveform Output Mode
Figure 10.20 illustrates 0 output/1 output. In the example, TCNT is a free-running counter, 0 is
output upon compare match A, and 1 is output upon compare match B. When the pin level
matches the set level, the pin level does not change.
Figure 10.21 shows an example of toggle output. In the figure, TCNT operates as a periodic
counter cleared by GRB compare match with toggle output at both compare match A and
compare match B.
TCNT value
H'FFFF
GRB
GRA
Time
TIOCA
257
Counter cleared at
TCNT value
GRB compare match
GRB
GRA
Time
Toggle
TIOCB
output
TIOCA Toggle
output
The compare match signal is generated in the last state in which TCNT and the general register
match (when TCNT changes from the matching value to the next value). When a compare
match signal is generated, the output value set in TIOR is output to the output compare pin
(TIOCA, TIOCB). Accordingly, when TCNT matches a general register, the compare match
signal is not generated until the next counter clock pulse. Figure 10.22 shows the output timing
of the compare match signal.
CK
TCNT input
clock
TCNT N N–1
GR N
Compare
match signal
TIOCA
TIOCB
258
Input Capture Mode: In input capture mode, the counter value is captured into a general register
when the input edge is detected at an input capture/output compare pin (TIOCA, TIOCB).
Detection can take place on the rising edge, falling edge, or both edges. The pulse width and cycle
can be measured by using the input capture function.
1. Set TIOR to select the input capture function of GR and select the rising edge, falling edge,
or both edges as the input edge of the input capture signal. Put the corresponding port into
input-capture mode using the pin function controller before setting TIOR.
2. Set the STR bit in TSTR to 1 to start the TCNT count.
Input selection
Capture
259
• Input capture operation
Figure 10.24 illustrates input capture. The falling edge of TIOCB and both edges of TIOCA are
selected as input capture edges. In the example, TCNT is set to clear at GRB input capture.
H'0005
H'0000 Time
TIOCB
TIOCA
GRB H'0180
260
• Input capture timing
Input capture on the rising edge, falling edge, or both edges can be selected by settings in
TIOR. Figure 10.25 shows the timing when the rising edge is selected. The pulse width of the
input capture signal must be at least 1.5 system clocks for single-edge capture, and 2.5 system
clocks for capture of both edges.
CK
Input capture
input
Input capture
signal
TCNT N
GRA/GRB N
261
10.4.3 Synchronizing Mode
In synchronizing mode, two or more timer counters can be rewritten simultaneously (synchronized
preset). Multiple timer counters can also be cleared simultaneously using TCR settings
(synchronized clear). Synchronizing mode enables the general registers to be incremented with a
single time base. All five channels can be set for synchronous operation.
1. Set 1 in the SYNC bit of the timer synchro register (TSNC) to use the channels in the
synchronizing mode.
2. When a value is written in TCNT in any of the synchronized channels, the same value is
simultaneously written in TCNT in the other channels.
3. Set the counter to clear with compare match/input capture using bits CCLR1 and CCLR0 in
TCR.
4. Set the counter clear source to synchronized clear using the CCLR1 and CCLR0 bits.
5. Set the STR bits in TSTR to 1 to start the TCNT count.
Select synchronizing
mode
Channel that No
generated clear
Set TCNT (2) source?
Yes
Select counter (3) Select counter (4)
clear source clear source
Synchronizing preset
Counter clear Synchronized clear
262
Synchronized Operation: Figure 10.27 shows an example of synchronized operation. Channels
0, 1, and 2 are set to synchronized operation and PWM output. Channel 0 is set for a counter clear
upon compare match with GRB0. Channels 1 and 2 are set for counter clears by synchronizing
clears. Accordingly, their timers are sync preset, then sync cleared by a GRB0 compare match,
and then a three-phase PWM waveform is output from the TIOCA0, TIOCA1, and TIOCA2 pins.
See section 10.4.4, PWM Mode, for details on PWM mode.
TCNT0–TCNT2 values
Synchronized clear on GRB0 compare match
GRB0
GRB1
GRA0
GRB2
GRA1
GRA2
Time
TIOCA0
TIOCA1
TIOCA2
263
10.4.4 PWM Mode
PWM mode is controlled using both GRA and GRB in pairs. The PWM waveform is output from
the TIOCA output pin. The PWM waveform’s 1 output timing is set in GRA and the 0 output
timing is set in GRB. A PWM waveform with a duty cycle between 0% and 100% can be output
from the TIOCA pin by selecting either compare match GRA or GRB as the counter clear source
for the timer counter. All five channels can be set to PWM mode.
Table 10.11 lists the combinations of PWM output pins and registers. Note that when GRA and
GRB are set to the same value, the output will not change even if a compare match occurs.
1. Set bits TPSC2–TPSC0 in TCR to select the counter clock source. If an external clock source
is selected, set bits CKEG1 and CKEG0 in TCR to select the desired edge of the external clock
signal.
2. Set CCLR1 and CCLR0 in TCR to select the counter clear source.
3. Set the time at which the PWM waveform should go to 1 in GRA.
4. Set the time at which the PWM waveform should go to 0 in GRB.
5. Set the PWM bit in TMDR to select PWM mode. When PWM mode is selected, regardless of
the contents of TIOR, GRA and GRB become output compare registers specifying the times at
which the PWM waveform goes high and low. TIOCA automatically becomes a PWM output
pin. TIOCB functions according to the setting of bits IOB1 and IOB0 in TIOR.
6. Set the STR bit in TSTR to start the TCNT count.
264
PWM mode
PWM mode
PWM Mode Operation: Figure 10.29 illustrates PWM mode operation. When PWM mode is set,
the TIOCA pin becomes the output pin. Output is 1 when TCNT matches GRA, and 0 when
TCNT matches GRB. TCNT can be cleared by compare match with either GRA or GRB. This can
be used in both free-running and synchronized operation.
Figure 10.30 shows examples of PWM waveforms output with 0% and 100% duty cycles. A 0%
duty waveform can be obtained by setting the counter clear source to GRB and then setting GRA
to a larger value than GRB. A 100% duty waveform can be obtained by setting the counter clear
source to GRA and then setting GRB to a larger value than GRA.
265
TCNT value
Counter cleared by GRA compare match
GRA
GRB
Time
TIOCA
TCNT value
Counter cleared by GRB compare match
GRB
GRA
Time
TIOCA
266
TCNT value
Counter cleared on compare match B
GRB
GRA
H'0000 Time
TIOCA
a. 0% duty
TCNT value
Counter cleared on compare match A
GRA
GRB
H'0000 Time
TIOCA
b. 100% duty
267
10.4.5 Reset-Synchronized PWM Mode
In reset-synchronized PWM mode, three pairs of complementary positive and negative PWM
waveforms that share a common wave turning point can be obtained using channels 3 and 4. When
set for reset-synchronized PWM mode, the TIOCA3, TIOCB3, TIOCA4, TOCXA4, TIOCB4, and
TOCXB4 pins automatically become PWM output pins and TCNT3 becomes an up-counter. Table
10.12 shows the PWM output pins used and table 10.13 shows the settings of the registers used.
Register Setting
TCNT3 Initial setting of H'0000
TCNT4 Not used (functions independently)
GRA3 Sets count cycle for TCNT3
GRB3 Sets the turning point for PWM waveform output by the TIOCA3 and TIOCB3 pins
GRA4 Sets the turning point for PWM waveform output by the TIOCA4 and TOCXA4 pins
GRB4 Sets the turning point for PWM waveform output by the TIOCB4 and TOCXB4 pins
1. Clear the STR3 bit in TSTR to halt TCNT3. Reset-synchronized PWM mode must be set while
TCNT3 is halted.
2. Set bits TPSC2-TPSC0 in TCR to select the counter clock source for channel 3. If an external
clock source is selected, select the external clock edge with bits CKEG1 and CKEG0 in TCR.
3. Set bits CCLR1 and CCLR0 in TCR3 to select GRA3 as a counter clear source.
4. Set bits CMD1 and CMD0 in TFCR to select reset-synchronized PWM mode. TIOCA3-
TIOCB4, TOCXA4, and TOCXB4 automatically become PWM output pins.
5. Reset TCNT3 (to H'0000). TCNT4 need not be set.
268
6. GRA3 is the waveform period register. Set the waveform period value in GRA3. Set the
transition times of the PWM output waveforms in GRB3, GRA4, and GRB4. Set times within
the compare match range of TCNT3.
Reset synchronized
PWM mode
Select reset-synchronized
(4)
PWM mode
269
Reset-Synchronized PWM Mode Operation: Figure 10.32 shows an example of operation in
reset-synchronized PWM mode. TCNT3 operates as an up-counter that is cleared to H'0000 at
compare match with GRA3. TCNT4 runs independently and is isolated from GRA4 and GRB4.
The PWM waveform outputs toggle at each compare match (GRB3, GRA3, and GRB4 with
TCNT3) and when the counter is cleared.
See section 10.4.8, Buffer Mode, for details on simultaneously setting reset-synchronized PWM
mode and buffer operation.
GRA3
GRB3
GRA4
GRB4
Time
TIOCA3
TIOCB3
TIOCA4
TOCXA4
TIOCB4
TOCXB4
270
10.4.6 Complementary PWM Mode
Register Setting
TCNT3 Initial setting of non-overlap cycle (difference with TCNT4)
TCNT4 Initial setting of H'0000
GRA3 Sets upper limit of TCNT3–1
GRB3 Sets the turning point for PWM waveform output by the TIOCA3 and TIOCB3 pins
GRA4 Sets the turning point for PWM waveform output by the TIOCA4 and TOCXA4 pins
GRB4 Sets the turning point for PWM waveform output by the TIOCB4 and TOCXB4 pins
1. Clear the STR3 and STR4 bits in TSTR to halt the timer counters. Complementary PWM
mode must be set while TCNT3 and TCNT4 are halted.
2. Set bits TPSC2–TPSC0 in TCR to select the same counter clock source for channels 3 and 4. If
an external clock source is selected, select the external clock edge with bits CKEG1 and
CKEG0 in TCR. Do not select any counter clear source with bits CCLR1 and CCLR0 in TCR.
3. Set bits CMD1 and CMD0 in TMDB to select complementary PWM mode. TIOCA3–
TIOCB4, TOCXA4, and TOCXB4 automatically become PWM pins.
271
4. Reset TCNT4 (to H'0000). Set the non-overlap offset in TCNT3. Do not set TCNT3 and
TCNT4 to the same value.
5. GRA3 is the waveform period register. Set the upper limit of TCNT3–1*. Set the transition
times of the PWM output waveforms in GRB3, GRA4, and GRB4. Set times within the
compare match range of TCNT3 and TCNT4.
T≤X
(X: initial setting of GRB3, GRA4, and GRB4; T: initial setting of TCNT3)
6. Set the STR3 and STR4 bits in TSTR to 1 to start the TCNT3 and TCNT4 counts.
Select complementary
(3)
PWM mode
Note To re-establish complementary PWM mode after it has been aborted, start settings from
step 1.
272
Complementary PWM Mode Operation: Figure 10.34 shows an example of operation in
complementary PWM mode. TCNT3 and TCNT4 operate as up/down-counters, counting down
from compare match of TCNT3 and GRA3 and counting up when TCNT4 underflows. PWM
waveforms are output by repeated compare matches with GRB3, GRA4, and GRB4 in the
sequence TCNT3, TCNT4, TCNT4, TCNT3 (in this mode, TCNT3 starts out at a higher value
than TCNT4).
Figure 10.35 shows examples of PWM waveforms with 0% and 100% duty cycles (in one phase)
in complementary PWM mode. In this example, the pin output changes upon GRB3 compare
match, so duty cycles of 0% and 100% can be obtained by setting GRB3 to a value larger than
GRA3. Combining buffer operation with the above operation makes it easy to change the duty
while operating. See section 10.4.8, Buffer Mode, for details.
GRA4
GRB4
TCNT4
Time
Up-counting starts at TCNT4 underflow
TIOCA3
TIOCB3
TIOCA4
TOCXA4
TIOCB4
TOCXB4
273
TCNT3, TCNT4 value
GRA3
GRB3
Time
TIOCA3
TIOCB3
0% duty
GRB3
Time
TIOCA3
TIOCB3
100% duty
At the point where the up-count/down-count changes in complementary PWM mode, TCNT3 and
TCNT4 will overshoot and undershoot, respectively. When this occurs, the setting conditions for
the IMFA bit of channel 3 and the overflow flag (OVF) of channel 4 are different from usual.
Transfer conditions for the buffer also differ. The timing is as shown in figures 10.36 and 10.37.
274
TCNT3 N–1 N N+1 N N–1
GRA3 N
IMFA
Set to 1
Buffer transfer
signal (BR to GR)
GR
Underflow Overflow
Set to 1
Buffer transfer
signal (BR to GR)
GR
The IMFA bit of channel 3 is set to 1 for increment pulses and the OVF bit of channel 4 is set to 1
for underflows only. The buffer register (BR) set for the buffer operation is transferred to GR upon
compare match A3 (when incrementing) or TCNT4 underflow.
275
GR Setting in Complementary PWM Mode: Note the following when setting the general
registers in complementary PWM mode and when making changes during operation.
• Initial values: Settings from H'0000 to T–1 (T: TCNT3 initial setting) are prohibited. After
counting starts, this setting is allowed from the point when the first A3 compare match occurs.
• Methods of changing settings: Use buffer operation. Writing directly to general registers may
result in incorrect waveform output.
• When changing settings: See figure 10.38.
GRA3
GR
H' 0000
Prohibited
BR
GR
Buffer Transfers when Changing from Increment to Decrement: When the contents of GR are
in the range GRA3 – T + 1 to GRA3, do not transfer a value outside this range. When the contents
of GR are outside this range, do not a transfer a value within it. Figure 10.39 illustrates a point for
caution regarding changing of GR settings with buffer operation.
GRA3 + 1
GRA3 Changes prohibited
GRA3 – T + 1 TCNT3
GRA3 – T
TCNT4
Buffer Transfers when Changing from Decrement to Increment: When the contents of GR are
in the range H'0000 to T–1, do not transfer a value outside this range. When the contents of GR
are outside this range, do not transfer a value within it. Figure 10.40 illustrates this point for
caution regarding changing of GR settings with buffer operation
276
TCNT3
TCNT4
T
T–1
Changes prohibited
H' 0000
H' FFFF
When GR Settings are Outside the Count Range (H'0000–GRA3): Waveforms with a duty
cycle of 0% and 100% can be output by setting GR outside the count area. Be sure to make the
direction of the count (increment/decrement) when writing a setting from outside the count area
into the buffer register (BR) the same as the count direction when writing the setting that returns to
within the count area in BR.
GRA3
GR
H' 0000
0% duty 100% duty
Output pin
Output pin
BR
GR
The above settings are made by detecting the occurrence of a GRA3 compare match or underflow
of TCNT4 and then writing to BR. They can also be accomplished by starting the DMAC with a
GRA3 compare match.
277
10.4.7 Phase Counting Mode
Phase counting mode detects the phase differential of two external clock inputs (TCLKA and
TCLKB) and increments or decrements TCNT2. When phase counting mode is set, the TCLKA
and TCLKB pins automatically become external clock input pins, regardless of the settings of the
TPSC2–TPSC0 bits in TCR2 or the CKEG1 and CKEG0 bits. TCNT2 also becomes an up/down-
counter. Since the TCR2 CCLR1/CCLR0 bits, TIOR2, TIER2, TSR2, GRA2 and GRB2 are all
enabled, input capture and compare match functions and interrupt sources can be used. Phase
counting is available only for channel 2.
Procedure for Selecting Phase Counting Mode: Figure 10.42 shows the procedure for selecting
phase counting mode.
1. Set the MDF bit in the timer mode register (TMDR) to 1 to select phase counting mode.
2. Select the flag set conditions using the FDIR bit in TMDR.
3. Set the STR2 bit in the timer start register (TSTR) to 1 to start the count.
Phase Counting Operation: Figure 10.43 shows an example of phase counting mode operation.
Table 10.16 lists the up-counting and down-counting conditions for TCNT2. The ITU counts on
both rising and falling edges of TCLKA and TCLKB. The phase differential and overlap of
TCLKA and TCLKB must be 1.5 cycles or more and the pulse width must be 2.5 cycles or more.
278
TCNT2 value
Increment Decrement
TCNT2
Time
TCLKB
TCLKA
Counting
Direction Increment Decrement
TCLKB Rising High Falling Low Rising High Falling Low
TCLKA Low Rising High Falling High Falling Low Rising
TCLKA
TCLKB
Overlap Overlap
Phase differential, overlap: 1.5 cycles minimum
Pulse width: 2.5 cycles minimum
Figure 10.44 Phase Differentials, Overlap, and Pulse Width in Phase Counting Mode
279
10.4.8 Buffer Mode
In buffer mode, the buffer operation functions differ depending on whether the general registers
are set to output compare or input capture, reset-synchronized PWM mode, or complementary
PWM mode. Buffer mode is a function of channels 3 and 4 only. Buffer operations set this way
function as follows.
GR is an Output Compare Register: The value of the buffer register of a channel is transferred
to GR when a compare match occurs in the channel. This is illustrated in figure 10.45.
BR GR Comparator TCNT
GR is an Input Capture Register: TCNT values are transferred to GR when input capture occurs
and the value previously stored in GR is transferred to BR. This operation is illustrated in figure
10.46.
BR GR TCNT
Complementary PWM Mode: When the count direction of TCNT3 and TCNT4 changes, the BR
value is transferred to GR. The following timing is employed for this transfer:
280
Reset-Synchronized PWM Mode: The BR value is transferred to GR upon a GRA3 compare
match.
1. Set TIOR to select the output compare or input capture function of GR.
2. Set bits BFA3, BFB3 and BFB4 in TFCR to select buffer mode for GR.
3. Set the STR bit in TSTR to 1 to start the TCNT count.
Buffer mode
Buffer mode
Buffer Mode Operation: Figure 10.48 shows an example of an operation in buffer mode with
GRA set as an output compare register and GRA and buffer register A (BRA ) set for buffer
operation. TCNT operates as a periodic counter that is cleared by a GRB compare match. TIOCA
and TIOCB are set to toggle at compare matches A and B. Since buffer mode is selected, when
TIOCA toggles at compare match A, the BRA value is simultaneously transferred to GRA. This
operation is repeated at every compare match A. The transfer timing is shown in figure 10.49.
281
TCNT value Counter cleared by compare match B
GRB
H' 0250
H' 0200
H' 0100
TIOCA
Toggle
output
Compare match A
CK
TCNT n n+1
Compare
match signal
Buffer
transfer signal
BR N
GR n N
Figure 10.50 shows an example of input capture operation in buffer mode between GRA and BRA
with GRA as an input capture register. TCNT is cleared by input capture B. The falling edge is
selected as the input capture edge at TIOCB. Both edges are selected as input capture edges at
TIOCA. When the TCNT value is stored in GRA by input capture A, the previous GRA value is
transferred to BRA. The timing is shown in figure 10.51.
282
TCNT value Counter cleared
at input capture B
H' 0180
H' 0160
H' 0005
Time
TIOCB
TIOCA
Input capture A
CK
TIOC pin
Input
capture signal
GR M n n N
BR m M M n
283
An example of buffer operation in complementary PWM mode between GRB3 and BRB3 is
shown in figure 10.52. By making GRB3 larger than GRA3 using buffer operation, a PWM
waveform with a duty cycle of 0% is generated. The transfer from BRB to GRB occurs upon
TCNT3 and GRA compare match and TCNT4 underflow.
H' 0999
TCNT4
GRB3 H' 0999 H' 0999 H' 1FFF H' 1FFF H' 0999
TIOCA3
TIOCB3
284
10.4.9 ITU Output Timing
Output Inversion Timing with TOCR: Output levels can be inverted by inverting the output
level select bits (OLS4 and OLS3) in TOCR in complementary PWM mode and reset-
synchronized PWM mode. Figure 10.53 illustrates the timing.
T1 T2 T3
CK
TOCR
285
10.5 Interrupts
The ITU has two interrupt sources: input capture/compare match and overflow.
Timing for Setting IMFA and IMFB in a Compare Match: The IMF bits in TSR are set to 1 by
a compare match signal generated when TCNT matches a general register. The compare match
signal is generated in the last state in which the values match (when TCNT is updated from the
matching count to the next count). Therefore, when TCNT matches GRA or GRB, the compare
match signal is not generated until the next timer clock input. Figure 10.54 shows the timing of
setting the IMF bits.
CK
TCNT
input clock
TCNT N N+1
GR N
Compare
match signal
IMF
IMI
286
Timing of Setting IMFA, IMFB for Input Capture: IMFA and IMFB are set to 1 by an input
capture signal. At this time, the TCNT contents are transferred to GR. Figure 10.55 shows the
timing.
CK
Input
capture
signal
IMF
TCNT N
GR N
IMI
Figure 10.55 Timing of Setting IMFA and IMFB for Input Capture
Timing of Setting Overflow Flag (OVF): OVF is set to 1 when TCNT overflows from H'FFFF
to H'0000 or underflows from H'0000 to H'FFFF. Figure 10.56 shows the timing.
CK
Overflow
signal
OVF
OVI
The status flags are cleared by being read by the CPU when set to 1, then being written with 0.
This timing is shown in figure 10.57.
T1 T2 T3
CK
IMF, OVF
288
10.5.3 Interrupt Sources and DMAC Activation
The ITU has compare match/input capture A interrupts, compare match/input capture B interrupts
and overflow interrupts for each channel. Each of the fifteen of these three types of interrupts are
allocated their own independently vectored addresses. When the interrupt's interrupt request flag is
set to 1 and the interrupt enable bit is set to 1, the interrupt is requested.
The channel priority order can be changed with the interrupt controller. For more information, see
section 5, Interrupt Controller (INTC). The compare match/input capture A interrupts of channels
0–3 can start the DMAC to transfer data. Table 10.17 lists the interrupt sources.
289
10.6 Notes and Precautions
This section describes contention and other matters requiring special attention during ITU
operation.
If a counter clear signal occurs in the T3 state of a TCNT write cycle, clearing the counter takes
priority and the write is not performed. The timing is shown in figure 10.58.
T1 T2 T3
CK
290
10.6.2 Contention between TCNT Word Write and Increment
If an increment pulse occurs in the T3 state of a TCNT word write cycle, writing takes priority and
TCNT is not incremented. The timing is shown in figure 10.59.
T1 T2 T3
CK
TCNT N M
291
10.6.3 Contention between TCNT Byte Write and Increment
If an increment pulse occurs in the T2 state or T3 state of a TCNT byte write cycle, counter
writing takes priority and the byte data on the side that was previously written is not incremented.
The TCNT byte data that was not written is also not incremented and retains its previous value.
The timing is shown in figure 10.60 (which shows an increment during state T2 of a byte write
cycle to TCNTH).
CK
TCNTH N M
TCNTL X X+1 X
292
10.6.4 Contention between GR Write and Compare Match
If a compare match occurs in the T3 state of a general register (GR) write cycle, writing takes
priority and the compare match signal is inhibited. The timing is shown in figure 10.61.
GR write cycle
T1 T2 T3
CK
Address GR address
Internal
write signal
TCNT N N+1
GR N M
GR write data
Compare
Inhibited
match signal
Figure 10.61 Contention between General Register Write and Compare Match
293
10.6.5 Contention between TCNT Write and Overflow/Underflow
If an overflow occurs in the T3 state of a TCNT write cycle, writing takes priority over counter
incrementing. OVF is set to 1. The same applies to underflows. The timing is shown in figure
10.62.
T1 T2 T3
CK
Internal
write signal
TCNT
input clock
Overflow
signal
TCNT H'FFFF M
OVF
294
10.6.6 Contention between General Register Read and Input Capture
If an input capture signal is generated during the T3 state of a general register read cycle, the value
before input capture is read. The timing is shown in figure 10.63.
GR read cycle
T1 T2 T3
CK
Address GR address
Internal read
signal
Input capture
signal
GR X M
Internal
X
data bus
Figure 10.63 Contention between General Register Read and Input Capture
295
10.6.7 Contention Between Counter Clearing by Input Capture and Counter Increment
If an input capture signal and counter increment signal occur simultaneously, the counter is
cleared by the input capture signal. The counter is not incremented by the increment signal. The
TCNT value before the counter is cleared is transferred to the general register. The timing is
shown in figure 10.64.
CK
Input capture
signal
Counter
clear signal
TCNT
input clock
TCNT N H'0000
GR N
Figure 10.64 Contention between Counter Clearing by Input Capture and Counter
Increment
296
10.6.8 Contention between General Register Write and Input Capture
If an input capture signal is generated during the T3 state of a general register write cycle, the
input capture transfer takes priority and the write to GR is not performed. The timing is shown in
figure 10.65.
GR write cycle
T1 T2 T3
CK
Address GR address
Internal
write signal
Input capture
signal
TCNT M
GR M
Figure 10.65 Contention between General Register Write and Input Capture
When a counter is cleared by compare match, the counter is cleared in the last state in which the
TCNT value matches the GR value (when TCNT is updated from the matching count to the next
count). The actual counter frequency is therefore given by the following formula:
f = φ/(N + 1)
(f: counter frequency; φ: operating frequency; N: value set in GR)
297
10.6.10 Contention between BR Write and Input Capture
When a buffer register (BR) is being used as an input capture register and an input capture signal
is generated in the T3 state of the write cycle, the buffer operation takes priority over the BR write.
The timing is shown in figure 10.66.
BR write cycle
T1 T2 T3
CK
Address BR address
Internal
write signal
Input capture
signal
GR N X
TCNT value
BR M N
298
10.6.11 Note on Writing in Synchronizing Mode
After synchronizing mode is selected, if TCNT is written by byte access, all 16 bits of all
synchronized counters assume the same value as the counter that was addressed.
Example: Figures 10.67 and 10.68 show byte write and word write when channels 2 and 3 are
synchronized
Write A to upper
TCNT2 W X byte of channel 2 TCNT2 A X
TCNT3 Y Z TCNT3 A X
Upper Lower Upper Lower
Write A to lower
byte byte byte byte
byte of channel 3
TCNT2 Y A
TCNT3 Y A
Upper Lower
byte byte
TCNT2 W X TCNT2 A B
When the CMD1 and CMD0 bits in TFCR are set, note the following.
1. Writes to CMD1 and CMD0 should be carried out while TCNT3 and TCNT4 are halted.
2. Changes of setting from reset-synchronized PWM mode to complementary PWM mode and
vice versa are prohibited. Set reset-synchronized PWM mode or complementary PWM mode
after first setting normal operation (clear CMD1 bit to 0).
299
10.6.13 Clearing Complementary PWM Mode
Figure 10.69 shows the procedure for clearing complementary PWM mode. First, reset
combination mode bits CMD1 and CMD0 in the timer function control register (TFCR) from 10 to
either 00 or 01. The mode will switch from complementary PWM mode to normal operating
mode. Next, wait for at least 1 cycle of the counter input clock being used for channels 3 and 4 and
then clear counter start bits STR3 and STR4 in the timer start register (TSTR). The channel 3 and
4 counters, TCNT3 and TCNT4, will stop counting. Clearing complementary PWM mode by any
other procedure may result in changes other than those set for the output waveform when
complementary PWM mode is set again.
If TCNT is cleared (to H'0000) by input capture when its value is H'FFFF, overflow will not
occur.
300
10.6.15 ITU Operating Modes
Register Setting
TSNC TMDR TFCR TOCR TIOR0 TCR0
Reset Output
Operating Comp Sync Level Clear Clock
Mode Sync MDF FDIR PWM PWM PWM Buffer Select IOA IOB Select Select
Synch- SYNC0 — — √ — — — — √ √ √ √
ronized =1
preset
PWM √ — — PWM0 — — — — — √ √ √
=1
Output √ — — PWM0 — — — — IOA2 = 0, √ √ √
compare A =0 others:
function don’t care
Output √ — — √ — — — — √ IOB2 = 0, √ √
compare B others:
function don’t care
Input √ — — PWM0 — — — — IOA2 = 1, √ √ √
capture A =0 others:
function don’t care
Input √ — — PWM0 — — — — √ IOB2 = 1, √ √
capture B =0 others:
function don’t care
Counter Clear Function
Clear at √ — — √ — — — — √ √ CCLR1 √
compare =0
match/ CCLR0
input =1
capture A
Clear at √ — — √ — — — — √ √ CCLR1 √
compare =1
match/ CCLR0
input =0
capture B
Synch- SYNC0 — — √ — — — — √ √ CCLR1 √
ronized =1 =1
clear CCLR0
=1
√: Settable, —: Setting does not affect current mode
Note: In PWM mode, the input capture function cannot be used. When compare match A and
compare match B occur simultaneously, the compare match signal is inhibited.
301
Table 10.19 ITU Operating Modes (Channel 1)
Register Setting
TSNC TMDR TFCR TOCR TIOR1 TCR1
Reset Output
Operating Comp Sync Level Clear Clock
Mode Sync MDF FDIR PWM PWM PWM Buffer Select IOA IOB Select Select
Synch- SYNC1 — — √ — — — — √ √ √ √
ronized =1
preset
PWM √ — — PWM1 — — — — — √*1 √ √
=1
Output √ — — PWM1 — — — — IOA2 = 0, √ √ √
compare A =0 others:
function don’t care
Output √ — — √ — — — — √ IOB2 = 0, √ √
compare B others:
function don’t care
Input √ — — PWM1 — — — — IOA2 = 1, √ √ √
capture A =0 others:
function don’t care
Input √ — — PWM1 — — — — √ IOB2 = 1, √ √
capture B =0 others:
function don’t care
Counter Clear Function
Clear at √ — — √ — — — — √ √ CCLR1 √
compare =0
match/ CCLR0
input =1
capture A
Clear at √ — — √ — — — — √ √ CCLR1 √
compare =1
match/ CCLR0
input =0
capture B
Synch- SYNC1 — — √ — — — — √ √ CCLR1 √
ronized =1 =1
clear CCLR0
=1
√: Settable, —: Setting does not affect current mode
Note: * In PWM mode, the input capture function cannot be used. When compare match A and
compare match B occur simultaneously, the compare match signal is inhibited.
302
Table 10.20 ITU Operating Modes (Channel 2)
Register Setting
TSNC TMDR TFCR TOCR TIOR2 TCR2
Reset Output
Operating Comp Sync Level Clear Clock
Mode Sync MDF FDIR PWM PWM PWM Buffer Select IOA IOB Select Select
Synch- SYNC2 — — √ — — — — √ √ √ √
ronized =1
preset
PWM √ — — PWM2 — — — — — √ √ √
=1
Output √ — — PWM2 — — — — IOA2 = 0, √ √ √
compare A =0 others:
function don’t care
Output √ — — √ — — — — √ IOB2 = 0, √ √
compare B others:
function don’t care
Input √ — — PWM2 — — — — IOA2 = 1, √ √ √
capture A =0 others:
function don’t care
Input √ — — PWM2 — — — — √ IOB2 = 1, √ √
capture B =0 others:
function don’t care
Counter Clear Function
Clear at √ — — √ — — — — √ √ CCLR1 √
compare =0
match/ CCLR0
input =1
capture A
Clear at √ — — √ — — — — √ √ CCLR1 √
compare =1
match/ CCLR0
input =0
capture B
Synch- SYNC2 — — √ — — — — √ √ CCLR1 √
ronized =1 =1
clear CCLR0
=1
Phase √ MDF √ √ — — — — √ √ √ —
counting =1
√: Settable, —: Setting does not affect current mode
Note: In PWM mode, the input capture function cannot be used. When compare match A and
compare match B occur simultaneously, the compare match signal is inhibited.
303
Table 10.21 ITU Operating Modes (Channel 3)
Register Setting
TSNC TMDR TFCR TOCR TIOR3 TCR3
Reset Output
Operating Comp Sync Level Clear Clock
Mode Sync MDF FDIR PWM PWM PWM Buffer Select IOA IOB Select Select
Synch- SYNC3 — — √ √*2 √ √ — √ √ √ √
ronized =1
preset
PWM √ — — PWM3 CMD1 CMD1 √ — — √*1 √ √
mode =1 =0 =0
Output √ — — PWM3 CMD1 CMD1 √ — IOA2 = 0, √ √ √
compare A =0 =0 =0 others:
function don’t care
Output √ — — √ CMD1 CMD1 √ — √ IOB2 = 0, √ √
compare B =0 =0 others:
function don’t care
Input √ — — PWM3 CMD1 CMD1 √ — IOA2 = 1, √ √ √
capture A =0 =0 =0 others:
function don’t care
Input √ — — PWM3 CMD1 CMD1 √ — √ IOB2 = 1, √ √
capture B =0 =0 =0 others:
function don’t care
Counter Clear Function
Clear at √ — — √ CMD1 √*3 √ — √ √ CCLR1 √
compare = 1, =0
match/ CMD0 CCLR0
input =0 =1
capture A inhib-
ited
Clear at √ — — √ CMD1 CMD1 √ — √ √ CCLR1 √
compare =0 =0 =1
match/ CCLR0
input =0
capture B
Synch- SYNC3 — — √ CMD1 √ √ — √ √ CCLR1 √
ronized =1 = 1, =1
clear CMD0 CCLR0
=0 =1
inhib-
ited
304
Table 10.21 ITU Operating Modes (Channel 3) (cont)
Register Setting
TSNC TMDR TFCR TOCR TIOR3 TCR3
Reset Output
Operating Comp Sync Level Clear Clock
Mode Sync MDF FDIR PWM PWM PWM Buffer Select IOA IOB Select Select
Comple- √*2 — — — CMD1 CMD1 √ √ — — CCLR1 √*4
mentary =1 =1 =0
PWM mode CMD0 CMD0 CCLR0
=0 =0 =0
Reset √ — — — CMD1 CMD1 √ √ — — CCLR1 √
synchron- =1 =1 =0
ized PWM CMD0 CMD0 CCLR0
mode =1 =1 =1
Buffer √ — — √ √ √ BFA3 = — √ √ √ √
(BRA) 1,
others:
don’t
care
Buffer √ — — √ √ √ BFB3 = — √ √ √ √
(BRB) 1,
others:
don’t
care
√: Settable, —: Setting does not affect current mode
Notes: 1. In PWM mode, the input capture function cannot be used. When compare match A and
compare match B occur simultaneously, the compare match signal is inhibited.
2. When set for complementary PWM mode, do not simultaneously set channel 3 and
channel 4 to function synchronously.
3. Counter clearing by input capture A cannot be used when reset-synchronized PWM
mode is set.
4. Clock selection when complementary PWM mode is set should be the same for
channels 3 and 4.
305
Table 10.22 ITU Operating Modes (Channel 4)
Register Setting
TSNC TMDR TFCR TOCR TIOR4 TCR4
Reset Output
Operating Comp Sync Level Clear Clock
Mode Sync MDF FDIR PWM PWM PWM Buffer Select IOA IOB Select Select
Synch- SYNC4 — — √ √*2 √ √ — √ √ √ √
ronized =1
preset
PWM √ — — PWM4 CMD1 CMD1 √ — — √*1 √ √
=1 =0 =0
Output √ — — PWM4 CMD1 CMD1 √ — IOA2 = 0, √ √ √
compare A =0 =0 =0 others:
function don’t care
Output √ — — √ CMD1 CMD1 √ — √ IOB2 = 0, √ √
compare B =0 =0 others:
function don’t care
Input √ — — PWM4 CMD1 CMD1 √ — IOA2 = 1, √ √ √
capture A =0 =0 =0 others:
function don’t care
Input √ — — PWM4 CMD1 CMD1 √ — √ IOB2 = 1, √ √
capture B =0 =0 =0 others:
function don’t care
Counter Clear Function
Clear at √ — — √ CMD1 √*3 √ — √ √ CCLR1 √
compare = 1, =0
match/ CMD0 CCLR0
input =0 =1
capture A inhib-
ited
Clear at √ — — √ CMD1 √*3 √ — √ √ CCLR1 √
compare = 1, =1
match/ CMD0 CCLR0
input =0 =0
capture B inhib-
ited
Synch- SYNC4 — — √ CMD1 √*3 √ — √ √ CCLR1 √
ronized =1 = 1, =1
clear CMD1 CCLR0
=0 =1
inhib-
ited
306
Table 10.22 ITU Operating Modes (Channel 4) (cont)
Register Setting
TSNC TMDR TFCR TOCR TIOR4 TCR4
Reset Output
Operating Comp Sync Level Clear Clock
Mode Sync MDF FDIR PWM PWM PWM Buffer Select IOA IOB Select Select
Comple- √*2 — — — CMD1 CMD1 √ √ — — CCLR1 √*4
mentary =1 =1 =0
PWM CMD0 CMD0 CCLR0
=0 =0 =0
Reset √ — — — CMD1 CMD1 √ √ — — √*5 √*5
synchron- =1 =1
ized PWM CMD0 CMD0
=1 =1
Buffer √ — — √ √ √ BFA4 = — √ √ √ √
(BRA) 1,
others:
don’t
care
Buffer √ — — √ √ √ BFB4 = — √ √ √ √
(BRB) 1,
others:
don’t
care
√: Settable, —: Setting does not affect current mode
Notes: 1. In PWM mode, the input capture function cannot be used. When compare match A and
compare match B occur simultaneously, the compare match signal is inhibited.
2. When set for complementary PWM mode, do not simultaneously set channel 3 and
channel 4 to function synchronously.
3. Counter clearing works with reset-synchronized PWM mode, but TCNT4 runs
independently. The output waveform is not affected.
4. Clock selection when complementary PWM mode is set should be the same for
channels 3 and 4.
5. In reset-synchronized PWM mode, TCNT4 runs independently. The output waveform is
not affected.
307
308
Section 11 Programmable Timing Pattern Controller (TPC)
11.1 Overview
The SuperH microcomputer has an on-chip programmable timing pattern controller (TPC). The
TPC can provide pulse outputs by using the 16-bit integrated timer pulse unit (ITU) as a time base.
The TPC pulse outputs are divided into 4-bit groups 3–0. These can operate simultaneously or
independently.
11.1.1 Features
• 16-bit output data: Maximum 16-bit data can be output. TPC output can be enabled on a bit-
by-bit basis.
• Four output groups: Output trigger signals can be selected in 4-bit groups to provide up to four
different 4-bit outputs.
• Selectable output trigger signals: Output trigger signals can be selected by group from the
4-channel compare-match signals of the 16-bit integrated timer pulse unit (ITU).
• Non-overlap mode: A non-overlap interval can be set to come between multiple pulse outputs.
• Can connect to DMA controller: The compare-match signals selected as output trigger signals
can activate the DMA controller for sequential output of data without CPU intervention.
309
11.1.2 Block Diagram
PBCR1 PBCR2
NDERA NDERB
Control logic
TPMR TPCR
TP15 Internal
TP14 Pulse output
TP13 data
pin group 3 bus
TP12
TP11 NDRB
TP10 Pulse output
TP9 pin group 2
TP8 PBDR
TP7
TP6 Pulse output
TP5 pin group 1
TP4
TP3 NDRA
TP2 Pulse output
TP1 pin group 0
TP0
TPC
310
11.1.3 Input/Output Pins
311
11.1.4 Registers
Initial Access
Name Abbreviation R/W Value Address* 1 Size
Port B control register 1 PBCR1 R/W H'0000 H'5FFFFCC 8, 16
Port B control register 2 PBCR2 R/W H'0000 H'5FFFFCE 8, 16
Port B data register PBDR R/(W)*2 H'0000 H'5FFFFC2 8, 16
TPC output mode register TPMR R/W H'F0 H'5FFFFF0 8, 16
TPC output control register TPCR R/W H'FF H'5FFFFF1 8, 16
Next data enable register B NDERB R/W H'00 H'5FFFFF2 8, 16
Next data enable register A NDERA R/W H'00 H'5FFFFF3 8, 16
Next data register A NDRA R/W H'00 H'5FFFFF5/ 8, 16
H'5FFFFF7*3
Next data register B NDRB R/W H'00 H'5FFFFF4/ 8, 16
H'5FFFFF6*3
Notes: 1. Only the values of bits A27–A24 and A8–A0 are valid; bits A23–A9 are ignored. For
details on the register addresses, see section 8.3.5, Area Descriptions.
2. Bits used for TPC output cannot be written to.
3. These addresses change depending on the TPCR settings. When TPC output groups 0
and 1 have the same output trigger, the NDRA address is H'5FFFFF5; when their
output triggers are different, the NDRA address for group 0 is H'5FFFFF7 and the
address for group 1 is H'5FFFFF5. Likewise, when TPC output groups 2 and 3 have the
same output trigger, the NDRB address is H'5FFFFF4; when their output triggers are
different, the NDRB address for group 0 is H'5FFFFF6 and the address for group 1 is
H'5FFFFF4.
312
11.2 Register Descriptions
Port B control registers 1 and 2 (PBCR1 and PBCR2) are 16-bit read/write registers that set the
functions of port B pins. Port B consists of the dual-use pins TP15–TP0. Bits corresponding to the
pins to be used for TPC output must be set to 11. For details, see the port B description in section
15, Pin Function Controller (PFC).
PCBR1:
Bit: 15 14 13 12 11 10 9 8
Bit name: PB15 PB15 PB14 PB14 PB13 PB13 PB12 PB12
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB11 PB11 PB10 PB10 PB9MD1 PB9MD0 PB8MD1 PB8MD0
MD1 MD0 MD1 MD0
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
PCBR2:
Bit: 15 14 13 12 11 10 9 8
Bit name: PB7MD1 PB7MD0 PB6MD1 PB6MD0 PB5MD1 PB5MD0 PB4MD1 PB4MD0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB3MD1 PB3MD0 PB2MD1 PB2MD0 PB1MD1 PB1MD0 PB0MD1 PB0MD0
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
313
11.2.2 Port B Data Register (PBDR)
The port B data register (PBDR) is a 16-bit read/write register that stores output data for groups 0–
3 when TPC output is used. For details of PBDR, see section 16, I/O Ports.
Bit: 15 14 13 12 11 10 9 8
Bit name: PB15DR PB14DR PB13DR PB12DR PB11DR PB10DR PB9DR PB8DR
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)*
Note: * Bits set to TPC output by NDERA or NDERB are read-only.
Bit: 7 6 5 4 3 2 1 0
Bit name: PB7DR PB6DR PB5DR PB4DR PB3DR PB2DR PB1DR PB0DR
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)*
Note: * Bits set to TPC output by NDERA or NDERB are read-only.
NDRA is an eight-bit read/write register that stores the next output data for TPC output groups 1
and 0 (TP7–TP0). When used for TPC output, the contents of NDRA are transferred to the
corresponding PBDR bits when the ITU compare match specified in the TPC output control
register, TPCR, occurs.
The address of NDRA differs depending on whether TPCR settings select the same trigger or
different triggers for TPC output groups 1 and 0. NDRA is initialized to H'00 by a reset. It is not
initialized in standby mode.
Same Trigger for TPC Output Groups 1 and 0: If TPC output groups 1 and 0 are triggered by
the same compare match, the address of NDRA is H'FFFFF5. The upper 4 bits become group 1
and the lower 4 bits become group 0. Address H'5FFFFF7 in such cases consists entirely of
reserved bits. These bits cannot be modified and are always read as 1.
Address H'5FFFFF5:
• Bits 7–4 (Next Data 7–4 (NDR7–NDR4)): NDR7–NDR4 store the next output data for TPC
output group 1.
• Bits 3–0 (Next Data 3–0 (NDR3–NDR0)): NDR3–NDR0 store the next output data for TPC
output group 0.
314
Bit: 7 6 5 4 3 2 1 0
Bit name: NDR7 NDR6 NDR5 NDR4 NDR3 NDR2 NDR1 NDR0
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
Address H'5FFFFF7:
• Bits 7–0 (Reserved): These bits are always read as 1. The write value should always be 1.
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 1 1 1 1 1 1 1 1
R/W: — — — — — — — —
Different Triggers for TPC Output Groups 1 and 0: If TPC output groups 1 and 0 are triggered
by different compare matches, the address of the upper 4 bits of NDRA (group 1) is H'5FFFFF5
and the address of the lower 4 bits of NDRA (group 0) is H'5FFFFF7. Bits 3–0 of address
H'5FFFFF5 and bits 7–4 of address H'5FFFFF7 are reserved bits. The write value should always
be 1. These bits are always read as 1.
Address H'5FFFFF5:
• Bits 7–4 (Next Data 7–4 (NDR7–NDR4)): NDR7–NDR4 store the next output data for TPC
output group 1.
• Bits 3–0 (Reserved): These bits are always read as 1. The write value should always be 1.
Bit: 7 6 5 4 3 2 1 0
Bit name: NDR7 NDR6 NDR5 NDR4 — — — —
Initial value: 0 0 0 0 1 1 1 1
R/W: R/W R/W R/W R/W — — — —
Address H'5FFFFF7:
• Bits 7–4 (Reserved): These bits are always read as 1. The write value should always be 1.
• Bits 3–0 (Next Data 3–0 (NDR3–NDR0)): NDR3–NDR0 store the next output data for TPC
output group 0.
315
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — NDR3 NDR2 NDR1 NDR0
Initial value: 1 1 1 1 0 0 0 0
R/W: — — — — R/W R/W R/W R/W
NDRB is an eight-bit read/write register that stores the next output data for TPC output groups 3
and 2 (TP15–TP8). When used for TPC output, the contents of NDRB are transferred to the
corresponding PBDR bits when the ITU compare match specified in the TPC output control
register, TPCR, occurs.
The address of NDRB differs depending on whether TPCR settings select the same trigger or
different triggers for TPC output groups 3 and 2. NDRB is initialized to H'00 by a reset. It is not
initialized in standby mode.
Same Trigger for TPC Output Groups 3 and 2: If TPC output groups 3 and 2 are triggered by
the same compare match, the address of NDRB is H'FFFFF4. The upper 4 bits become group 3
and the lower 4 bits become group 2. Address H'5FFFFF6 consists entirely of reserved bits. These
bits are always read as 1, and the write value should always be 1.
Address H'5FFFFF4:
• Bits 7–4 (Next Data 15–12 (NDR15–NDR12)): NDR15–NDR12 store the next output data for
TPC output group 3.
• Bits 3–0 (Next Data 11–8 (NDR11–NDR8)): NDR11–NDR8 store the next output data for
TPC output group 2.
Bit: 7 6 5 4 3 2 1 0
Bit name: NDR15 NDR14 NDR13 NDR12 NDR11 NDR10 NDR9 NDR8
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
Address H'5FFFFF6:
• Bits 7–0 (Reserved): These bits are always read as 1. The write value should always be 1.
316
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 1 1 1 1 1 1 1 1
R/W: — — — — — — — —
Different Triggers for TPC Output Groups 3 and 2: If TPC output groups 3 and 2 are triggered
by different compare matches, the address of the upper 4 bits of NDRB (group 3) is H'5FFFFF4
and the address of the lower 4 bits of NDRB (group 2) is H'5FFFFF6. Bits 3–0 of address
H'5FFFFF4 and bits 7–4 of address H'5FFFFF6 are reserved bits. These bits are always read as 1.
The write value should always be 1.
Address H'5FFFFF4:
• Bits 7–4 (Next Data 15–12 (NDR15–NDR12)): NDR15–NDR12 store the next output data for
TPC output group 3.
• Bits 3–0 (Reserved): These bits are always read as 1. The write value should always be 1.
Bit: 7 6 5 4 3 2 1 0
Bit name: NDR15 NDR14 NDR13 NDR12 — — — —
Initial value: 0 0 0 0 1 1 1 1
R/W: R/W R/W R/W R/W — — — —
Address H'5FFFFF6:
• Bits 7–4 (Reserved): These bits are always read as 1. The write value should always be 1.
• Bits 3–0 (Next Data 11–8 (NDR11–NDR8)): NDR11–NDR8 store the next output data for
TPC output group 2.
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — NDR11 NDR10 NDR9 NDR8
Initial value: 1 1 1 1 0 0 0 0
R/W: — — — — R/W R/W R/W R/W
317
11.2.5 Next Data Enable Register A (NDERA)
NDERA is an eight-bit read/write register that enables TPC output groups 1 and 0 (TP7–TP0) on a
bit-by-bit basis.
When the bits enabled for TPC output by NDERA generate the ITU compare match selected in the
TPC output control register, the value of the next data register A (NDRA) is automatically
transferred to the corresponding PBDR bits and the output value is updated. For disabled bits,
there is no transfer and the output value does not change. NDERA is initialized to H'00 by a reset.
It is not initialized in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: NDER7 NDER6 NDER5 NDER4 NDER3 NDER2 NDER1 NDER0
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
NDERB is an eight-bit read/write register that enables TPC output groups 3 and 2 (TP15–TP8) on
a bit-by-bit basis.
When the bits enabled for TPC output by NDERB generate the ITU compare match selected in the
TPC output control register, the value of the next data register B (NDRB) is automatically
transferred to the corresponding PBDR bits and the output value is updated. For disabled bits,
there is no transfer and the output value does not change. NDERB is initialized to H'00 by a reset.
It is not initialized in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: NDER15 NDER14 NDER13 NDER12 NDER11 NDER10 NDER9 NDER8
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
318
• Bits 7–0 (Next Data Enable 15–8 (NDER15–NDER8)): NDER15–NDER8 select
enabling/disabling for TPC output groups 3 and 2 (TP15–TP8) in bit units.
Bit 7–0:
NDER15–NDER8 Description
0 Disables TPC outputs TP15–TP8 (transfer from NDR15–NDR8 to
PB15–PB8 is disabled) (Initial value)
1 Enables TPC outputs TP15–TP8 (transfer from NDR15–NDR8 to
PB15–PB8 is enabled)
TPCR is an eight-bit read/write register that selects output trigger signals for TPC outputs. TPCR
is initialized to H'FF by a reset. It is not initialized in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: G3CMS1 G3CMS0 G2CMS1 G2CMS0 G1CMS1 G1CMS0 G0CMS1 G0CMS0
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
• Bits 7 and 6 (Group 3 Compare Match Select 1 and 0 (G3CMS1 and G3CMS0)): G3CMS1
and G3CMS0 select the compare match that triggers TPC output group 3 (TP15–TP12).
319
• Bits 5 and 4 (Group 2 Compare Match Select 1 and 0 (G2CMS1 and G2CMS0)): G2CMS1
and G2CMS0 select the ITU channel that triggers TPC output group 2 (TP11–TP8).
• Bits 3 and 2 (Group 1 Compare Match Select 1 and 0 (G1CMS1 and G1CMS0)): G1CMS1
and G1CMS0 select the ITU channel that triggers TPC output group 1 (TP7–TP4).
• Bits 1 and 0 (Group 0 Compare Match Select 1 and 0 (G0CMS1 and G0CMS0)): G0CMS1
and G0CMS0 select the ITU channel that triggers TPC output group 0 (TP3–TP0).
320
11.2.8 TPC Output Mode Register (TPMR)
TPMR is an eight-bit read/write register that selects between the TPC’s ordinary output and non-
overlap output modes in group units. During non-overlap operation, the output waveform cycle is
set in ITU general register B (GRB) for use as the output trigger and a non-overlap period is set in
general register A (GRA). The output value then changes on compare matches A and B. For
details, see section 11.3.4, TPC Output Non-Overlap Operation. TPMR is initialized to H'F0 by a
reset. It is not initialized in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — G3NOV G2NOV G1NOV G0NOV
Initial value: 1 1 1 1 0 0 0 0
R/W: — — — — R/W R/W R/W R/W
• Bits 7–4 (Reserved): These bits are always read as 1. The write value should always be 1.
• Bit 3 (Group 3 Non-Overlap Mode (G3NOV)): G3NOV selects ordinary or non-overlap mode
for TPC output group 3 (TP15–TP12).
• Bit 2 (Group 2 Non-Overlap Mode (G2NOV)): G2NOV selects ordinary or non-overlap mode
for TPC output group 2 (TP11–TP8).
321
• Bit 1 (Group 1 Non-Overlap Mode (G1NOV)): G1NOV selects ordinary or non-overlap mode
for TPC output group 1 (TP7–TP4).
• Bit 0 (Group 0 Non-Overlap Mode (G0NOV)): G0NOV selects ordinary or non-overlap mode
for TPC output group 0 (TP3–TP0).
11.3 Operation
11.3.1 Overview
When corresponding bits in the PBCR1, PBCR2, NDERA and NDERB registers are set to 1, TPC
output is enabled and the PBDR data register values are output. After that, when the compare
match event selected by TPCR occurs, the next data register contents (NDRA and NDRB) are
transferred to PBDR and output values are updated. Figure 11.2 illustrates the TPC output
operation.
322
CR NDER
Q Q
Output trigger
signal
C
Port function Internal
select Q DR D Q NDR D data bus
TPC
output pin
If new data is written in next data registers A and B before the next compare match occurs, a
maximum 16 bits of data can be output at each successive compare match. See section 11.3.4,
TPC Output Non-Overlap Operation, for details on non-overlap operation.
If TPC output is enabled, next data register (NDRA/NDRB) contents are transferred to the data
register (PBDR) and output when the selected compare match occurs. Figure 11.3 shows the
timing of these operations. The example is for ordinary output upon compare match A with groups
2 and 3.
323
CK
TCNT N N+1
GRA N
Compare
match A
signal
NDRB n
PBDR m n
TP15–TP8 m n
Figure 11.3 Transfer and Output Timing for NDRB Data (Example)
1. Select GRA as the output compare register (output disable) with the timer I/O control register
(TIOR).
2. Set the TPC output trigger cycle.
3. Select the counter clock with the TPSC2–TPSC0 bits in the timer control register (TCR).
Select the counter clear sources with the CCLR1 and CCLR0 bits.
4. Set the timer interrupt enable register (TIER) to enable IMIA interrupts. Transfers to NDR can
also be set using the DMAC.
5. Set the initial output value in the I/O port data register to be used by the TPC.
6. Set the I/O port control register to be used by the TPC as the TP pin function (11).
7. Set to 1 the bit that performs TPC output to the next data enable register (NDER).
8. Select the ITU compare match that will be the TPC output trigger using the TPC output control
register (TPCR).
9. Set the next TPC output value in NDR.
10. Set 1 in the STR bit of the timer start register (TSTR) and start the timer counter.
11. Set the next output value in NDR whenever an IMIA interrupt is generated.
324
Ordinary TPC
output operation
Compare
match? No
Yes
Set next TPC output value (11)
325
Five-Phase Pulse Output (Figure 11.5):
Figure 11.5 shows an example of 5-phase pulse output generated at regular intervals using TPC
output.
1. Set the GRA register of the ITU that serves as output trigger as the output compare register.
Set the cycle time in GRA of the ITU and select counter clearing upon compare match A. Set
the IMIEA bit in TIER to 1 to enable the compare match A interrupt.
2. Write H'FFC0 in PBCR1, write H'F8 in NDERB, and set G3CMS0, G3CMS1, G2CMS1, and
G2CMS0 in TPCR to set the ITU compare match selected in step 1 as the output trigger. Write
output data H'80 in NDRB.
3. When the selected ITU channel starts operating and a compare match occurs, the values in
NDRB are transferred to PBDR and output. The compare match/input capture A (IMIA)
interrupt handling routine writes the next output data (H'C0) in NDRB.
4. Five-phase pulse output can be obtained by writing H'40, H'60, H'20, H'30, H'10, H'18, H'08,
H'88… at successive compare match interrupts. If the DMA controller is set for activation by
compare match, pulse output can be obtained without imposing a load on the CPU.
TCNT
value TCNT Compare matches
GRA
H'0000 Time
NDRB 80 C0 40 60 20 30 10 18 08 88 80 C0
PBDR 8000 C000 4000 6000 2000 3000 1000 1800 0800 8800 8000 C000
TP15
TP14
TP13
TP12
TP11
326
11.3.4 TPC Output Non-Overlap Operation
1. Select GRA and GRB as output compare registers (output disable) with the timer I/O control
register (TIOR).
2. Set the TPC output trigger cycle in GRB and the non-overlap cycle in GRA.
3. Select the counter clock with the TPSC2–TPSC0 bits in the timer control register (TCR).
Select the counter clear sources with the CCLR1 and CCLR0 bits.
4. Set the timer interrupt enable register (TIER) to enable IMIA interrupts. Transfers to NDR can
also be set using the DMAC.
5. Set the initial output value in the I/O port data register to be used by the TPC.
6. Set the I/O port control register to be used by the TPC as the TP pin function (11).
7. Set to 1 the bit that performs TPC output to the next data enable register (NDER).
8. Select the ITU compare match that will be the TPC output trigger using the TPC output control
register (TPCR).
9. Select the group that performs non-overlap operation in the TPC output mode register
(TPMR).
10. Set the next TPC output value in NDR.
11. Set 1 in the STR bit of the timer start register (TSTR) and start the timer counter.
12. Set the next output value in NDR whenever an IMIA interrupt is generated.
327
TPC output non-
overlap operation
Compare
match A? No
Yes
Set next TPC output value (12)
Figure 11.6 Example of Setting Procedure for TPC Output Non-Overlap Operation
328
TPC Output Non-Overlap Operation (Four-Phase Complementary Non-Overlap Output)
(Figure 11.7):
1. Set the GRA and GRB registers of the ITU that serves as output triggers as output compare
registers. Set the cycle in GRB and the non-overlap cycle time in GRA and select counter
clearing upon compare match B. Set the IMIEA bit in TIER to 1 to enable the IMIA interrupt.
2. Write H'FFFF in PBCR1, write H'FF in NDERB, and set G3CMS1, G3CMS0, G2CMS1 and
G2CMS0 in TPCR to set the ITU compare match selected in step 1 as the output trigger. Set
the G3NOV and G2NOV bits in TPMR to 1 to set non-overlap operation. Write output data
H'95 in NDRB.
3. When the selected ITU channel starts operating and a GRB compare match occurs, 1 output
changes to 0 output; when a GRA compare match occurs, 0 output changes to 1 output. (The
change from 0 output to 1 output is delayed by the value set in GRA.) The IMIA interrupt
handling routine writes the next output data (H'65) in NDRB.
4. Four-phase complementary non-overlap output can be obtained by writing H'59, H'56, H'95…
at successive IMIA interrupts. If the DMA controller is set for activation by compare match,
pulse output can be obtained without imposing a load on the CPU.
329
TCNT
value
GRB
TCNT
GRA
H'0000 Time
NDRB 95 65 59 56 95 65
PBDR 00 95 05 65 41 59 50 56 14 95 05 65
Non-overlap cycle
TP15
TP14
TP13
TP12
TP11
TP10
TP9
TP8
330
11.3.5 TPC Output by Input Capture
TPC can also be output by using input capture rather than ITU compare matches. The general
register A (GRA) of the ITU selected by TPCR functions as an input capture register and TPC
output occurs in response to an input capture signal. Figure 11.8 shows the timing.
CK
TIOC pin
Input
capture
signal
NDR N
DR M N
331
11.4 Usage Notes
During non-overlap operation, transfers from NDR to data registers (DR) occur as follows.
CR NDER
Q Q
Compare match A
Compare match B
C
Port function
select Q DR D Q NDR D
332
When a compare match B occurs before the compare match A, the 0 data transfer can be
performed before the 1 data transfer, so a non-overlapping waveform can be output. In such cases,
be sure not to change the NDR contents until the compare match A after the compare match B
occurs (non-overlap period). This can be ensured by writing the next data to NDR in the IMIA
interrupt handling routine. The DMAC can also be started using an IMIA interrupt. However,
these write operations should be performed prior to the next compare match B. The timing is
shown in figure 11.10.
Compare
match A
Compare
match B
NDR write NDR write
NDR
DR
0 output 0/1 output 0 output 0/1 output
333
334
Section 12 Watchdog Timer (WDT)
12.1 Overview
The SuperH microcomputer has a one-channel watchdog timer (WDT) for monitoring system
operations. If the system becomes uncontrolled and the timer counter overflows without being
rewritten correctly by the CPU, an overflow signal (WDTOVF) is output externally. The WDT
can simultaneously generate an internal reset signal for the entire chip.
When this watchdog function is not needed, the WDT can be used as an interval timer. In the
interval timer operation, an interval timer interrupt is generated at each counter overflow. The
WDT is also used in recovering from standby mode.
12.1.1 Features
335
12.1.2 Block Diagram
ITI
Overflow φ/2
(interrupt Interrupt φ/64
signal) control φ/128
Clock Clock φ/256
select φ/512
φ/1024
WDTOVF Reset φ/4096
Internal control φ/8192
reset signal* Internal
clock sources
Bus
Module bus interface
WDT
336
12.1.4 Register Configuration
Table 12.2 summarizes the three WDT registers. They are used to select the clock, switch the
WDT mode, and control the reset signal.
Initial Address
Name Abbreviation R/W Value Write*1 Read* 2
Timer control/status register TCSR R/(W)*3 H'18 H'5FFFFB8 H'5FFFFB8
Timer counter TCNT R/W H'00 H'5FFFFB9
Reset control/status register RSTCSR R/(W)*3 H'1F H'5FFFFBA H'5FFFFBB
Notes: 1. Write by word transfer. A byte or longword write cannot be used.
2. Read by byte transfer. The correct value cannot be obtained by a word or longword
read.
3. Only 0 can be written in bit 7, to clear the flag.
TCNT is an eight-bit readable and writable up-counter. TCNT differs from other registers in that it
is more difficult to write. See section 12.2.4, Register Access, for details. When the timer enable
bit (TME) in the timer control/status register (TCSR) is set to 1, the timer counter starts counting
pulses of an internal clock source selected by clock select bits 2–0 (CKS2–CKS0) in TCSR. When
the value of TCNT overflows (changes from H'FF to H'00), a watchdog timer overflow signal
(WDTOVF) or 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 reset and when the TME bit is cleared to 0. It
is not initialized in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
337
12.2.2 Timer Control/Status Register (TCSR)
The timer control/status register (TCSR) is an eight-bit read/write register. TCSR differs from
other registers in being more difficult to write. See section 12.2.4, Register Access, for details. Its
functions include selecting the timer mode and clock source. Bits 7–5 are initialized to 000 by a
reset and in standby mode. Bits 2–0 are initialized to 000 by a reset, but retain their values in
standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: OVF WT/IT TME — — CKS2 CKS1 CKS0
Initial value: 0 0 0 1 1 0 0 0
R/W: R/(W)* R/W R/W — — R/W R/W R/W
• Bit 7 (Overflow Flag (OVF)): OVF indicates that TCNT has overflowed from H'FF to H'00 in
interval timer mode. It is not set in watchdog timer mode.
• Bit 6 (Timer Mode Select (WT/IT)): WT/IT selects whether to use the WDT as a watchdog
timer or interval timer. When TCNT overflows, the WDT either generates an interval timer
interrupt (ITI) or generates a WDTOVF signal, depending on the mode selected.
338
• Bits 4 and 3 (Reserved): These bits are always read as 1. The write value should always be 1.
• Bits 2–0 (Clock Select 2–0 (CKS2–CKS0)): CKS2–CKS0 select one of eight internal clock
sources for input to TCNT. The clock signals are obtained by dividing the frequency of the
system clock (φ).
Description
Bit 2: CKS2 Bit 1: CKS1 Bit 0: CKS0 Clock Source Overflow Interval* (φ = 20 MHz)
0 0 0 φ/2 (Initial value) 25.6 µs
0 0 1 φ/64 819.2 µs
0 1 0 φ/128 1.6 ms
0 1 1 φ/256 3.3 ms
1 0 0 φ/512 6.6 ms
1 0 1 φ/1024 13.1 ms
1 1 0 φ/4096 52.4 ms
1 1 1 φ/8192 104.9 ms
Note: * The overflow interval listed is the time from when the TCNT begins counting at H'00 until an
overflow occurs.
RSTCSR is an eight-bit read/write register that controls output of the reset signal generated by
timer counter (TCNT) overflow and selects the internal reset signal type. RSTCSR differs from
other registers in that it is more difficult to write. See section 12.2.4, Notes on Register Access, for
details. RSTCR is initialized to H'1F by input of a reset signal from the RES pin, but is not
initialized by the internal reset signal generated by overflow of the WDT. It is initialized to H'1F
in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: WOVF RSTE RSTS — — — — —
Initial value: 0 0 0 1 1 1 1 1
R/W: R/(W)* R/W R/W — — — — —
Note: * Only 0 can be written in bit 7, to clear the flag.
339
• Bit 7 (Watchdog Timer Overflow (WOVF)): WOVF indicates that TCNT has overflowed
(from H'FF to H'00) in watchdog timer mode. It is not set in interval timer mode.
• Bit 6 (Reset Enable (RSTE)): RSTE selects whether to reset the chip internally if the TCNT
overflows in watchdog timer mode.
• Bit 5 (Reset Select (RSTS)): RSTS selects the type of internal reset generated if TCNT
overflows in watchdog timer mode.
• Bits 4–0 (Reserved): These bits are always read as 1. The write value should always be 1.
The watchdog timer’s TCNT, TCSR, and RSTCSR registers differ from other registers in that they
are more difficult to write. The procedures for writing and reading these registers are given below.
Writing to TCNT and TCSR: These registers must be written by a word transfer instruction.
They cannot be written by byte transfer instructions. TCNT and TCSR both have the same write
address. The write data must be contained in the lower byte of the written word. The upper byte
must be H'5A (for TCNT) or H'A5 (for TCSR) (figure 12.2). This transfers the write data from the
lower byte to TCNT or TCSR.
340
Writing to TCNT
15 8 7 0
Address: H'5FFFFB8 H'5A Write data
Writing to TCSR
15 8 7 0
Address: H'5FFFFB8 H'A5 Write data
Reading from TCNT, TCSR, and RSTCSR: TCNT, TCSR, and RSTCSR are read like other
registers. Use byte transfer instructions. The read addresses are H'5FFFFB8 for TCSR,
H'5FFFFB9 for TCNT, and H'5FFFFBB for RSTCSR.
341
12.3 Operation
To use the WDT as a watchdog timer, set the WT/IT and TME bits in TCSR to 1. Software must
prevent TCNT overflow by rewriting the TCNT value (normally by writing H'00) before overflow
occurs. If TCNT fails to be rewritten and overflows due to a system crash or the like, a WDTOVF
signal is output (figure 12.4). The WDTOVF signal can be used to reset external system devices.
The WDTOVF signal is output for 128 φ clock cycles.
If the RSTE bit in RSTCSR is set to 1, a signal to reset the chip will be generated internally
simultaneous to the WDTOVF signal when TCNT overflows. Either a power-on reset or a manual
reset can be selected by the RSTS bit in RSTCSR. The internal reset signal is output for 512 φ
clock cycles.
When a watchdog reset is generated simultaneously with input at the RES pin, the software
distinguishes the RES reset from the watchdog reset by checking the WOVF bit in RSTCSR. The
RES reset takes priority. The WOVF bit is cleared to 0.
342
TCNT
value
Overflow
H'FF
H'00 Time
WDTOVF
signal
128 φ clocks
Internal
reset signal*
512 φ clocks
343
12.3.2 Operation in Interval Timer Mode
To use the WDT as an interval timer, clear WT/IT to 0 and set TME to 1. An interval timer
interrupt (ITI) is generated each time the timer counter overflows. This function can be used to
generate interval timer interrupts at regular intervals (figure 12.5).
TCNT value
Overflow Overflow Overflow Overflow
H'FF
H'00 Time
The watchdog timer has a special function to clear standby mode with an NMI interrupt. When
using standby mode, set the WDT as described below.
Transition to Standby Mode: The TME bit in TCSR must be cleared to 0 to stop the watchdog
timer counter before it enters standby mode. The chip cannot enter standby mode while the TME
bit is set to 1. Set bits CKS2–CKS0 so that the counter overflow interval is equal to or longer than
the oscillation settling time. See section 20.3, AC Characteristics, for the oscillation settling time.
Recovery from Standby Mode: When an NMI request signal is received in standby mode, the
clock oscillator starts running and the watchdog timer starts counting at the rate selected by bits
CKS2–CKS0 before standby mode was entered. When TCNT overflows (changes from H'FF to
H'00), the system clock (φ) is presumed to be stable and usable; clock signals are supplied to the
entire chip and standby mode ends.
For details on standby mode, see section 19, Power Down State.
344
12.3.4 Timing of Overflow Flag (OVF) Setting
In interval timer mode, when TCNT overflows the OVF flag in TCSR is set to 1 and an interval
timer interrupt is requested (figure 12.6).
CK
Overflow signal
(internal signal)
OVF
When TCNT overflows the WOVF bit in RSTCSR is set to 1 and a WDTOVF signal is output.
When the RSTE bit is set to 1, TCNT overflow enables an internal reset signal to be generated for
the entire chip (figure 12.7).
CK
Overflow signal
(internal signal)
WOVF
345
12.4 Usage Notes
If a timer counter clock pulse is generated during the T3 state of a write cycle to TCNT, the write
takes priority and the timer counter is not incremented (figure 12.8).
T1 T2 T3
CK
Internal
write signal
TCNT
input clock
TCNT N M
If the values of bits CKS2–CKS0 are altered while the WDT is running, the count may increment
incorrectly. Always stop the watchdog timer (by clearing the TME bit to 0) before changing the
values of bits CKS2–CKS0.
To prevent incorrect operation, always stop the watchdog timer (by clearing the TME bit to 0)
before switching between interval timer mode and watchdog timer mode.
346
12.4.4 System Reset With WDTOVF
If a WDTOVF signal is input to the RES pin, the chip cannot initialize correctly. Avoid logical
input of the WDTOVF output signal to the RES input pin. To reset the entire system with the
WDTOVF signal, use the circuit shown in figure 12.9.
SuperH microcomputer
Reset signal to
entire system WDTOVF
If the RSTE bit is cleared to 0 in watchdog timer mode, the chip will not reset internally when a
TCNT overflow occurs, but TCNT and TCSR in the WDT will reset.
347
348
Section 13 Serial Communication Interface (SCI)
13.1 Overview
The SuperH microcomputer has a serial communication interface (SCI) with two independent
channels. Both channels are functionally identical. The SCI supports both asynchronous and
synchronous serial communication. It also has a multiprocessor communication function for serial
communication between two or more processors.
13.1.1 Features
• Asynchronous mode
Serial data communication is synchronized using a start-stop method in character units. The
SCI can communicate with a universal asynchronous receiver/transmitter (UART), an
asynchronous communication interface adapter (ACIA), or any other chip that employs
standard asynchronous serial communication. It can also communicate with two or more
other processors using the multiprocessor communication function. There are twelve
selectable serial data communication formats.
Data length: seven or eight bits
Stop bit length: one or two bits
Parity: even, odd, or none
Multiprocessor bit: one or none
Receive error detection: parity, overrun, and framing errors
Break detection: by reading the RxD level directly when a framing error occurs
• Synchronous mode
Serial data communication is synchronized with a clock signal. The SCI can communicate
with other chips having a synchronous communication function. There is one serial data
communication format.
Data length: eight bits
Receive error detection: overrun errors
• Full duplex communication: The transmitting and receiving sections are independent, so the
SCI can transmit and receive simultaneously. Both sections use double buffering, so
continuous data transfer is possible in both the transmit and receive directions.
• On-chip baud rate generator with selectable bit rates
• Internal or external transmit/receive clock source: baud rate generator (internal) or SCK pin
(external)
349
• Four types of interrupts: Transmit-data-empty, transmit-end, receive-data-full, and receive-
error interrupts are requested independently. The transmit-data-empty and receive-data-full
interrupts can start the direct memory access controller (DMAC) to transfer data.
Bus interface
Internal
Module data bus
data bus
SCR
φ
RxD RSR TSR SMR Baud rate φ/4
generator φ/16
Transmit/ φ/64
receive control
TxD
Parity Clock
generation
Parity check
External clock
SCK
TEI
TXI
RXI
ERI
SCI
350
13.1.3 Input/Output Pins
Table 13.2 summarizes the SCI internal registers. These registers select the communication mode
(asynchronous or synchronous), specify the data format and bit rate, and control the transmitter
and receiver sections.
351
Table 13.2 Registers
Initial Access
Channel Address* 1 Name Abbreviation R/W Value size
0 H'05FFFEC0 Serial mode register SMR0 R/W H'00 8, 16
H'05FFFEC1 Bit rate register BRR0 R/W H'FF 8, 16
H'05FFFEC2 Serial control register SCR0 R/W H'00 8, 16
H'05FFFEC3 Transmit data register TDR0 R/W H'FF 8, 16
H'05FFFEC4 Serial status register SSR0 R/(W)*2 H'84 8, 16
H'05FFFEC5 Receive data register RDR0 R H'00 8, 16
1 H'05FFFEC8 Serial mode register SMR1 R/W H'00 8, 16
H'05FFFEC9 Bit rate register BRR1 R/W H'FF 8, 16
H'05FFFECA Serial control register SCR1 R/W H'00 8, 16
H'05FFFECB Transmit data register TDR1 R/W H'FF 8, 16
H'05FFFECC Serial status register SSR1 R/(W)*2 H'84 8, 16
H'05FFFECD Receive data register RDR1 R H'00 8, 16
Notes: 1. Only the values of bits A27–A24 and A8–A0 are valid; bits A23–A9 are ignored. For
details on the register addresses, see section 8.3.5, Area Descriptions.
2. Only 0 can be written, to clear flags.
The receive shift register (RSR) receives serial data. Data input at the RxD pin is loaded into RSR
in the order received, LSB (bit 0) first. In this way the SCI converts received data to parallel form.
When one byte has been received, it is automatically transferred to the receive data register
(RDR). The CPU cannot read or write to RSR directly.
Bit: 7 6 5 4 3 2 1 0
Bit name:
R/W: — — — — — — — —
The receive data register (RDR) stores serial receive data. The SCI completes the reception of one
byte of serial data by moving the received data from the receive shift register (RSR) into RDR for
storage. RSR is then ready to receive the next data. This double buffering allows the SCI to
receive data continuously.
352
The CPU can read but not write to RDR. RDR is initialized to H'00 by a reset and in standby
mode.
Bit: 7 6 5 4 3 2 1 0
Bit name:
Initial value: 0 0 0 0 0 0 0 0
R/W: R R R R R R R R
The transmit shift register (TSR) transmits serial data. The SCI loads transmit data from the
transmit data register (TDR) into TSR, then transmits the data serially from the TxD pin, LSB (bit
0) first. After transmitting one data byte, the SCI automatically loads the next transmit data from
TDR into TSR and starts transmitting again. If the TDRE bit in SSR is 1, however, the SCI does
not load the TDR contents into TSR. The CPU cannot read or write to TSR directly.
Bit: 7 6 5 4 3 2 1 0
Bit name:
R/W: — — — — — — — —
The transmit data register (TDR) is an eight-bit register that stores data for serial transmission.
When the SCI detects that the transmit shift register (TSR) is empty, it moves transmit data written
in TDR into TSR and starts serial transmission. Continuous serial transmission is possible by
writing the next transmit data in TDR during serial transmission from TSR.
The CPU can always read and write to TDR. TDR is initialized to H'FF by a reset and in standby
mode.
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
353
13.2.5 Serial Mode Register
The serial mode register (SMR) is an eight-bit register that specifies the SCI serial communication
format and selects the clock source for the baud rate generator.
The CPU can always read and write to SMR. SMR is initialized to H'00 by a reset and in standby
mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: C/A CHR PE O/E STOP MP CKS1 CKS0
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
• Bit 7 (Communication Mode (C/A)): C/A selects whether the SCI operates in asynchronous or
synchronous mode.
• Bit 6 (Character Length (CHR)): CHR selects seven-bit or eight-bit data in asynchronous
mode. In synchronous mode, the data length is always eight bits, regardless of the CHR setting.
• Bit 5 (Parity Enable (PE)): PE selects whether to add a parity bit to transmit data and check the
parity of receive data, in asynchronous mode. In synchronous mode, a parity bit is neither
added nor checked, regardless of the PE setting.
Bit 5: PE Description
0 Parity bit not added or checked (Initial value)
1 Parity bit added and checked. When PE is set to 1, an even or odd
parity bit is added to transmit data, depending on the parity mode (O/E)
setting. Receive data parity is checked according to the even/odd (O/E)
mode setting.
354
• Bit 4 (Parity Mode (O/E): O/E selects even or odd parity when parity bits are added and
checked. The O/E setting is used only in asynchronous mode and only when the parity enable
bit (PE) is set to 1 to enable parity addition and checking. The O/E setting is ignored in
synchronous mode, or in asynchronous mode when parity addition and checking is disabled.
• Bit 3 (Stop Bit Length (STOP)): STOP selects one or two bits as the stop bit length in
asynchronous mode. This setting is used only in asynchronous mode. It is ignored in
synchronous mode because no stop bits are added.
In receiving, 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 the second stop bit is 0, it is treated as the start bit of
the next incoming character.
Bit 2: MP Description
0 Multiprocessor function disabled (Initial value)
1 Multiprocessor format selected
355
• Bits 1 and 0 (Clock Select 1 and 0 (CKS1 and CKS0)): CKS1 and CKS0 select the internal
clock source of the on-chip baud rate generator. Four clock sources are available: φ, φ/4, φ/16,
and φ/64. For further information on the clock source, bit rate register settings, and baud rate,
see section 13.2.8, Bit Rate Register (BRR).
The serial control register (SCR) enables the SCI transmitter/receiver, selects serial clock output in
asynchronous mode, enables and disables interrupts, and selects the transmit/receive clock source.
The CPU can always read and write to SCR. SCR is initialized to H'00 by a reset and in standby
mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: TIE RIE TE RE MPIE TEIE CKE1 CKE0
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
• Bit 7 (Transmit Interrupt Enable (TIE)): TIE enables or disables the transmit-data-empty
interrupt (TXI) requested when the transmit data register empty bit (TDRE) in the serial status
register (SSR) is set to 1 due to transfer of serial transmit data from TDR to TSR.
356
• Bit 6 (Receive Interrupt Enable (RIE)): RIE enables or disables the receive-data-full interrupt
(RXI) requested when the receive data register full bit (RDRF) in the serial status register
(SSR) is set to 1 due to transfer of serial receive data from RSR to RDR. Also enables or
disables receive-error interrupt (ERI) requests.
Bit 5: TE Description
0 Transmitter disabled (Initial value)
The transmit data register empty bit (TDRE) in the serial status register
(SSR) is fixed at 1.
1 Transmitter enabled. Serial transmission starts when the transmit data
register empty (TDRE) bit in the serial status register (SSR) is cleared
to 0 after writing transmit data into TDR. Select the transmit format in
SMR before setting TE to 1.
Bit 4: RE Description
0 Receiver disabled (Initial value)
Clearing RE to 0 does not affect the receive flags (RDRF, FER, PER,
ORER). These flags retain their previous values.
1 Receiver enabled. Serial reception starts when a start bit is detected in
asynchronous mode, or serial clock input is detected in synchronous
mode. Select the receive format in SMR before setting RE to 1.
357
Bit 3: MPIE Description
0 Multiprocessor interrupts are disabled (normal receive operation)
(Initial value)
MPE is cleared to 0 when:
1. MPIE is cleared to 0, or
2. Multiprocessor bit (MPB) is set to 1 in receive data.
1 Multiprocessor interrupts are enabled: Receive-data-full interrupt
requests (RXI), receive-error interrupt requests (ERI), and setting of
the RDRF, FER, and ORER status flags in the serial status register
(SSR) are disabled until the multiprocessor bit is set to 1.
The SCI does not transfer receive data from RSR to RDR, does not
detect receive errors, and does not set the RDRF, FER, and ORER
flags in the serial status register (SSR). When it receives data that
includes MPB = 1, MPB is set to 1, and the SCI automatically clears
MPIE to 0, generates RXI and ERI interrupts (if the TIE and RIE bits in
SCR are set to 1), and allows FER and ORER to be set.
• Bit 2 (Transmit-End Interrupt Enable (TEIE)): TEIE enables or disables the transmit-end
interrupt (TEI) requested if TDR does not contain new transmit data when the MSB is
transmitted.
• Bits 1 and 0 (Clock Enable 1 and 0 (CKE1 and CKE0)): CKE1 and CKE0 select the SCI clock
source and enable or disable clock output from the SCK pin. Depending on the combination of
CKE1 and CKE0, the SCK pin can be used for general-purpose input/output, serial clock
output, or serial clock input. The SCK pin function should be selected in advance with the pin
function controller (PFC).
The CKE0 setting is valid only in asynchronous mode, and only when the SCI is internally
clocked (CKE1 = 0). The CKE0 setting is ignored in synchronous mode, or when an external
clock source is selected (CKE1 = 1). Select the SCI operating mode in the serial mode register
(SMR) before setting CKE1 and CKE0. For further details on selection of the SCI clock
source, see table 13.9 in section 13.3, Operation.
358
Bit 1: Bit 0:
CKE1 CKE0 Description*1
0 0 Asynchronous mode Internal clock, SCK pin used for input pin (input signal
is ignored) or output pin (output level is undefined)* 2
Synchronous mode Internal clock, SCK pin used for serial clock output*2
0 1 Asynchronous mode Internal clock, SCK pin used for clock output*3
Synchronous mode Internal clock, SCK pin used for serial clock output
1 0 Asynchronous mode External clock, SCK pin used for clock input* 4
Synchronous mode External clock, SCK pin used for serial clock input
1 1 Asynchronous mode External clock, SCK pin used for clock input* 4
Synchronous mode External clock, SCK pin used for serial clock input
Notes: 1. The SCK pin is multiplexed with other functions. Set the pin function controller (PFC) to
select the SCK function and SCK input/output for the SCK pin.
2. Initial value
3. The output clock frequency is the same as the bit rate.
4. The input clock frequency is 16 times the bit rate.
The serial status register (SSR) is an 8-bit register containing multiprocessor bit values, and status
flags that indicate the SCI operating status.
The CPU can always read and write to SSR, but cannot write 1 in the status flags (TDRE, RDRF,
ORER, PER, and FER). These flags can be cleared to 0 only if they have first been read (after
being set to 1). Bits 2 (TEND) and 1 (MPB) are read-only bits that cannot be written. SSR is
initialized to H'84 by a reset and in standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: TDRE RDRF ORER FER PER TEND MPB MPBT
Initial value: 1 0 0 0 0 1 0 0
R/W: R/(W)* R/(W)* R/(W)* R/(W)* R/(W)* R R R/W
Note: * Only 0 can be written, to clear the flag.
• Bit 7 (Transmit Data Register Empty (TDRE)): TDRE indicates that the SCI has loaded
transmit data from TDR into TSR and new serial transmit data can be written in TDR.
359
Bit 7: TDRE Description
0 TDR contains valid transmit data
TDRE is cleared to 0 when:
• Software reads TDRE after it has been set to 1, then writes 0 in TDRE
• The DMAC writes data in TDR
1 TDR does not contain valid transmit data (Initial value)
TDRE is set to 1 when:
• The chip is reset or enters standby mode
• The TE bit in the serial control register (SCR) is cleared to 0
• TDR contents are loaded into TSR, so new data can be written in TDR
• Bit 6 (Receive Data Register Full (RDRF)): RDRF indicates that RDR contains received data.
• Bit 5 (Overrun Error (ORER)): Indicates that data reception ended abnormally due to an
overrun error.
360
Bit 5: ORER Description
0 Receiving is in progress or has ended normally* 1 (Initial value)
ORER is cleared to 0 when:
• The chip is reset or enters standby mode
• Software reads ORER after it has been set to 1, then writes 0 in ORER
1 A receive overrun error occurred*2
ORER is set to 1 if reception of the next serial data ends when RDRF is set to 1
Notes: 1. Clearing the RE bit to 0 in the serial control register does not affect the ORER bit, which
retains its previous value.
2. RDR continues to hold the data received before the overrun error, so subsequent
receive data is lost. Serial receiving cannot continue while ORER is set to 1. In
synchronous mode, serial transmitting is disabled.
• Bit 4 (Framing Error (FER)): FER indicates that data reception ended abnormally due to a
framing error in the asynchronous mode.
• Bit 3 (Parity Error (PER)): PER indicates that data reception (with parity) ended abnormally
due to a parity error in asynchronous mode.
361
Bit 3: PER Description
0 Receiving is in progress or has ended normally (Initial value)
Clearing the RE bit to 0 in the serial control register does not affect the PER bit,
which retains its previous value.
PER is cleared to 0 when:
• The chip is reset or enters standby mode
• Software reads PER after it has been set to 1, then writes 0 in PER
1 A receive parity error occurred. When a parity error occurs, the SCI transfers the
receive data into RDR but does not set RDRF. Serial receiving cannot continue
while PER is set to 1. In synchronous mode, serial transmitting is also disabled.
PER is set to 1 if the number of 1s in receive data, including the parity bit, does
not match the even or odd parity setting of the parity mode bit (O/E) in the serial
mode register (SMR).
• Bit 2 (Transmit End (TEND)): TEND indicates that when the last bit of a serial character was
transmitted, TDR did not contain new transmit data, so transmission has ended. TEND is a
read-only bit and cannot be written.
• Bit 1 (Multiprocessor Bit (MPB)): MPB stores the value of the multiprocessor bit in receive
data when a multiprocessor format is selected for receiving in asynchronous mode. The MPB
is a read-only bit and cannot be written.
362
• Bit 0 (Multiprocessor Bit Transfer (MPBT)): MPBT stores the value of the multiprocessor bit
added to transmit data when a multiprocessor format is selected for transmitting in
asynchronous mode. The MPBT setting is ignored in synchronous mode, when a
multiprocessor format is not selected, or when the SCI is not transmitting.
The bit rate register (BRR) is an eight-bit register that, together with the baud rate generator clock
source selected by the CKS1 and CKS0 bits in the serial mode register (SMR), determines the
serial transmit/receive bit rate.
The CPU can always read and write to BRR. BRR is initialized to H'FF by a reset and in standby
mode. SCI0 and SCI1 have independent baud rate generator control, so different values can be set
in the two channels.
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
Table 13.3 shows examples of BRR settings in asynchronous mode; table 13.4 shows examples of
BBR settings in synchronous mode.
363
Table 13.3 Bit Rates and BRR Settings in Asynchronous Mode
φ (MHz)
2 2.097152
Bit Rate Error (%) Error (%)
(bits/s) n N n N
110 1 141 0.03 1 148 –0.04
150 1 103 0.16 1 108 0.21
300 0 207 0.16 0 217 0.21
600 0 103 0.16 0 108 0.21
1200 0 51 0.16 0 54 –0.70
2400 0 25 0.16 0 26 1.14
4800 0 12 0.16 0 13 –2.48
9600 — — — 0 6 –2.48
19200 — — — — — —
31250 0 1 0.00 — — —
38400 — — — — — —
Table 13.3 Bit Rates and BRR Settings in Asynchronous Mode (cont)
φ (MHz)
2.4576 3 3.6864
Bit Rate(bits/s) n N Error (%) n N Error (%) n N Error (%)
110 1 174 –0.26 1 212 0.03 2 64 0.70
150 1 127 0.00 1 155 0.16 1 191 0.00
300 0 255 0.00 1 77 0.16 1 95 0.00
600 0 127 0.00 0 155 0.16 0 191 0.00
1200 0 63 0.00 0 77 0.16 0 95 0.00
2400 0 31 0.00 0 38 0.16 0 47 0.00
4800 0 15 0.00 0 19 –2.34 0 23 0.00
9600 0 7 0.00 0 9 –2.34 0 11 0.00
19200 0 3 0.00 0 4 –2.34 0 5 0.00
31250 — — — 0 2 0.00 — — —
38400 0 1 0.00 — — — 0 2 0.00
364
Table 13.3 Bit Rates and BRR Settings in Asynchronous Mode (cont)
φ (MHz)
4 4.9152 5
Bit Rate(bits/s) n N Error (%) n N Error (%) n N Error (%)
110 2 70 0.03 2 86 0.31 2 88 –0.25
150 1 207 0.16 1 255 0.00 2 64 0.16
300 1 103 0.16 1 127 0.00 1 129 0.16
600 0 207 0.16 0 255 0.00 1 64 0.16
1200 0 103 0.16 0 127 0.00 0 129 0.16
2400 0 51 0.16 0 63 0.00 0 64 0.16
4800 0 25 0.16 0 31 0.00 0 32 –1.36
9600 0 12 0.16 0 15 0.00 0 15 1.73
19200 — — — 0 7 0.00 0 7 1.73
31250 0 3 0.00 0 4 –1.70 0 4 0.00
38400 — — — 0 3 0.00 0 3 1.73
Table 13.3 Bit Rates and BRR Settings in Asynchronous Mode (cont)
φ (MHz)
6 6.144 7.3728
Bit Rate(bits/s) n N Error (%) n N Error (%) n N Error (%)
110 2 106 –0.44 2 108 0.08 2 130 –0.07
150 2 77 0.16 2 79 0.00 2 95 0.00
300 1 155 0.16 1 159 0.00 1 191 0.00
600 1 77 0.16 1 79 0.00 1 95 0.00
1200 0 155 0.16 0 159 0.00 0 191 0.00
2400 0 77 0.16 0 79 0.00 0 95 0.00
4800 0 38 0.16 0 39 0.00 0 47 0.00
9600 0 19 –2.34 0 19 0.00 0 23 0.00
19200 0 9 –2.34 0 9 0.00 0 11 0.00
31250 0 5 0.00 0 5 2.40 — — —
38400 0 4 –2.34 0 4 0.00 0 5 0.00
365
Table 13.3 Bit Rates and BRR Settings in Asynchronous Mode (cont)
φ (MHz)
8 9.8304 10 12
Bit Rate Error Error Error Error
(bits/s) n N (%) n N (%) n N (%) n N (%)
110 2 141 0.03 2 174 –0.26 2 177 –0.25 2 212 0.03
150 2 103 0.16 2 127 0.00 2 129 0.16 2 155 0.16
300 1 207 0.16 1 255 0.00 2 64 0.16 2 77 0.16
600 1 103 0.16 1 127 0.00 1 129 0.16 1 155 0.16
1200 0 207 0.16 0 255 0.00 1 64 0.16 1 77 0.16
2400 0 103 0.16 0 127 0.00 0 129 0.16 0 155 0.16
4800 0 51 0.16 0 63 0.00 0 64 0.16 0 77 0.16
9600 0 25 0.16 0 31 0.00 0 32 –1.36 0 38 0.16
19200 0 12 0.16 0 15 0.00 0 15 1.73 0 19 –2.34
31250 0 7 0.00 0 9 –1.70 0 9 0.00 0 11 0.00
38400 — — — 0 7 0.00 0 7 1.73 0 9 –2.34
Table 13.3 Bit Rates and BRR Settings in Asynchronous Mode (cont)
φ (MHz)
12.288 14 14.7456 16
Bit Rate Error Error Error Error
(bits/s) n N (%) n N (%) n N (%) n N (%)
110 2 217 0.08 2 248 –0.17 3 64 0.70 3 70 0.03
150 2 159 0.00 2 181 0.16 2 191 0.00 2 207 0.16
300 2 79 0.00 2 90 0.16 2 95 0.00 2 103 0.16
600 1 159 0.00 1 181 0.16 1 191 0.00 1 207 0.16
1200 1 79 0.00 1 90 0.16 1 95 0.00 1 103 0.16
2400 0 159 0.00 0 181 0.16 0 191 0.00 0 207 0.16
4800 0 79 0.00 0 90 0.16 0 95 0.00 0 103 0.16
9600 0 39 0.00 0 45 –0.93 0 47 0.00 0 51 0.16
19200 0 19 0.00 0 22 –0.93 0 23 0.00 0 25 0.16
31250 0 11 2.40 0 13 0.00 0 14 –1.70 0 15 0.00
38400 0 9 0.00 — — — 0 11 0.00 0 12 0.16
366
Table 13.3 Bit Rates and BRR Settings in Asynchronous Mode (cont)
φ (MHz)
17.2032 18 19.6608 20
Bit Rate Error Error Error Error
(bits/s) n N (%) n N (%) n N (%) n N (%)
110 3 75 0.48 3 79 –0.12 3 86 0.31 3 88 –0.25
150 2 223 0.00 2 233 0.16 2 255 0.00 3 64 0.16
300 2 111 0.00 2 116 0.16 2 127 0.00 2 129 0.16
600 1 223 0.00 1 233 0.16 1 255 0.00 2 64 0.16
1200 1 111 0.00 1 116 0.16 1 127 0.00 1 129 0.16
2400 0 223 0.00 0 233 0.16 0 255 0.00 1 64 0.16
4800 0 111 0.00 0 116 0.16 0 127 0.00 0 129 0.16
9600 0 55 0.00 0 58 –0.69 0 63 0.00 0 64 0.16
19200 0 27 0.00 0 28 1.02 0 31 0.00 0 32 –1.36
31250 0 16 1.20 0 17 0.00 0 19 –1.70 0 19 0.00
38400 0 13 0.00 0 14 –2.34 0 15 0.00 0 15 1.73
367
Table 13.4 Bit Rates and BRR Settings in Synchronous Mode
φ (MHz)
Bit Rate 2 4 8 10 16 20
(bits/s) n N n N n N n N n N n N
110 3 70 — — — — — — — — — —
250 2 124 2 249 3 124 — — 3 249 — —
500 1 249 2 124 2 249 — — 3 124 — —
1k 1 124 1 249 2 124 — — 2 249 — —
2.5k 0 199 1 99 1 199 1 249 2 99 2 124
5k 0 99 0 199 1 99 1 124 1 199 1 249
10k 0 49 0 99 0 199 0 249 1 99 1 124
25k 0 19 0 39 0 79 0 99 0 159 0 199
50k 0 9 0 19 0 39 0 49 0 79 0 99
100k 0 4 0 9 0 19 0 24 0 39 0 49
250k 0 1 0 3 0 7 0 9 0 15 0 19
500k 0 0* 0 1 0 3 0 4 0 7 0 9
1M 0 0* 0 1 — — 0 3 0 4
2.5M — — 0 0* — — 0 1
5M — — 0 0*
Note: Settings with an error of 1% or less are recommended.
Blank: No setting available
—: Setting possible, but error occurs
*: Continuous transmission/reception not possible
368
SMR Settings
n Clock Source CKS1 CKS0
0 φ 0 0
1 φ/4 0 1
2 φ/16 1 0
3 φ/64 1 1
The bit rate error for asynchronous mode is given by the following formula:
Error (%) = {(φ × 10 6)/[(N + 1) × B × 64 × 2 2n – 1] – 1 } × 100
369
Table 13.5 indicates the maximum bit rates in asynchronous mode when the baud rate generator is
used. Tables 13.6 and 13.7 show the maximum rates for external clock input.
Table 13.5 Maximum Bit Rates for Various Frequencies with Baud Rate Generator
(Asynchronous Mode)
Settings
φ (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
5 156250 0 0
6 187500 0 0
6.144 192000 0 0
7.3728 230400 0 0
8 250000 0 0
9.8304 307200 0 0
10 312500 0 0
12 375000 0 0
12.288 384000 0 0
14 437500 0 0
14.7456 460800 0 0
16 500000 0 0
17.2032 537600 0 0
18 562500 0 0
19.6608 614400 0 0
20 625000 0 0
370
Table 13.6 Maximum Bit Rates with External Clock Input (Asynchronous Mode)
371
Table 13.7 Maximum Bit Rates with External Clock Input (Synchronous Mode)
13.3 Operation
13.3.1 Overview
The SCI has an asynchronous mode in which characters are synchronized individually, and a
synchronous mode in which communication is synchronized with clock pulses. Serial
communication is possible in either mode. Asynchronous/synchronous mode and the
communication format are selected in the serial mode register (SMR), as shown in table 13.8. The
SCI clock source is selected by the C/A bit in the serial mode register (SMR) and the CKE1 and
CKE0 bits in the serial control register (SCR), as shown in table 13.9.
Asynchronous Mode:
372
Synchronous Mode:
Table 13.8 Serial Mode Register Settings and SCI Communication Formats
373
Table 13.9 SMR and SCR Settings and SCI Clock Source Selection
In asynchronous mode, each transmitted or received character begins with a start bit and ends with
a stop bit. Serial communication is synchronized one character at a time.
The transmitting and receiving sections of the SCI are independent, so full duplex communication
is possible. The transmitter and receiver are both double buffered, so data can be written and read
while transmitting and receiving are in progress, enabling continuous transmitting and receiving.
Figure 13.2 shows the general format of asynchronous serial communication. In asynchronous
serial communication, the communication line is normally held in the mark (high) state. The SCI
monitors the line and starts serial communication when the line goes to the space (low) state,
indicating a start bit. One serial character consists of a start bit (low), data (LSB first), parity bit
(high or low), and stop bit (high), in that order.
When receiving in asynchronous mode, the SCI synchronizes on the falling edge of the start bit.
The SCI samples each data bit on the eighth pulse of a clock with a frequency 16 times the bit rate.
Receive data is latched at the center of each bit.
374
Idle (mark) state
1 (LSB) (MSB) 1
Serial 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 1
data
Start Parity Stop
bit bit bit
Transmit/receive data
1 bit 7 or 8 bits 1 or 1 or
no bit 2 bits
Figure 13.2 Data Format in Asynchronous Communication (Example: 8-Bit Data with
Parity and Two Stop Bits)
375
Transmit/Receive Formats: Table 13.10 shows the 12 communication formats that can be selected
in asynchronous mode. The format is selected by settings in the serial mode register (SMR).
SMR Bits
CHR PE MP STOP 1 2 3 4 5 6 7 8 9 10 11 12
Clock: An internal clock generated by the on-chip baud rate generator or an external clock input
from the SCK pin can be selected as the SCI transmit/receive clock. The clock source is selected
by the C/A bit in the serial mode register (SMR) and bits CKE1 and CKE0 in the serial control
register (SCR) (table 13.9).
When an external clock is input at the SCK pin, it must have a frequency equal to 16 times the
desired bit rate.
376
When the SCI operates on an internal clock, it can output a clock signal at the SCK pin. The
frequency of this output clock is equal to the bit rate. The phase is aligned as in figure 13.3 so that
the rising edge of the clock occurs at the center of each transmit data bit.
0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 1
1 frame
Figure 13.3 Phase Relationship Between Output Clock and Serial Data (Asynchronous
Mode)
When changing the communication mode or format, always clear the TE and RE bits to 0 before
following the procedure given below. Clearing TE to 0 sets TDRE to 1 and initializes the transmit
shift register (TSR). Clearing RE to 0, however, does not initialize the RDRF, PER, FER, and
ORER flags and receive data register (RDR), which retain their previous contents.
When an external clock is used, the clock should not be stopped during initialization or subsequent
operation. SCI operation becomes unreliable if the clock is stopped.
Figure 13.4 shows a sample flowchart for initializing the SCI. The procedure for initializing the
SCI is as follows:
377
Start of initialization
Wait
No
1-bit interval elapsed?
Yes
Set TE or RE to 1 in SCR; Set RIE,
TIE, TEIE, and MPIE as necessary (4)
End
Transmitting Serial Data (Asynchronous Mode): Figure 13.5 shows a sample flowchart for
transmitting serial data. The procedure for transmitting serial data is as follows:
1. SCI initialization: select the TxD pin function with the PFC.
2. SCI status check and transmit data write: read the serial status register (SSR), check that the
TDRE bit is 1, then write transmit data in the transmit data register (TDR) and clear TDRE to
0.
3. To continue transmitting serial data: read the TDRE bit to check whether it is safe to write (1);
if so, write data in TDR, then clear TDRE to 0. When the DMAC is started by a transmit-data-
empty interrupt request (TXI) to write data in TDR, the TDRE bit is checked and cleared
automatically.
4. To output a break signal at the end of serial transmission: set the DR bit to 0, then clear TE to 0
in SCR and set the TxD pin function as output port with the PFC.
378
Initialize (1)
Start transmitting
No
TDRE = 1?
Yes
Write transmit data in TDR and
clear TDRE bit to 0 in SSR
(3)
No
All data transmitted?
Yes
No
TEND = 1?
Yes
No
Output break signal?
(4)
Yes
Set DR = 0
Transmission ends
379
In transmitting serial data, the SCI operates as follows:
1. The SCI monitors the TDRE bit in SSR. When TDRE is cleared to 0, the SCI recognizes that
the transmit data register (TDR) contains new data, and loads this data from TDR into the
transmit shift register (TSR).
2. After loading the data from TDR into TSR, the SCI sets the TDRE bit to 1 and starts
transmitting. If the transmit-data-empty interrupt enable bit (TIE) is set to 1 in SCR, the SCI
requests a transmit-data-empty interrupt (TXI) at this time.
Serial transmit data is transmitted in the following order from the TxD pin:
380
Start Parity Stop Start Parity Stop
1 bit Data bit bit bit Data bit bit 1
Serial
0 D0 D1 D7 0/1 1 0 D0 D1 D7 0/1 1 Idle (mark)
data state
TDRE
TEND
1 frame
Figure 13.6 Example of SCI Transmit Operation in Asynchronous Mode (8-Bit Data with
Parity and One Stop Bit)
Receiving Serial Data (Asynchronous Mode): Figure 13.7 shows a sample flowchart for
receiving serial data. The procedure for receiving serial data is listed below.
1. SCI initialization: select the RxD pin function with the PFC.
2. Receive error handling and break detection: if a receive error occurs, read the ORER, PER and
FER bits in SSR to identify the error. After executing the necessary error handling, clear
ORER, PER, and FER all to 0. Receiving cannot resume if ORER, PER, or FER remains set to
1. When a framing error occurs, the RxD pin can be read to detect the break state.
3. SCI status check and receive data read: read the serial status register (SR), check that RDRF is
set to 1, then read receive data from the receive data register (RDR) and clear RDRF to 0. The
RXI interrupt can also be used to determine if the RDRF bit has changed from 0 to 1.
4. To continue receiving serial data: read RDRF and RDR, and clear RDRF to 0 before the stop
bit of the current frame is received. If the DMAC is started by a receive-data-full interrupt
(RXI) to read RDR, the RDRF bit is cleared automatically, so this step is unnecessary.
381
Initialization (1)
Start receiving
Yes
PER, FER, ORER = 1?
(2)
No Error handling
No
RDRF = 1?
Yes
No
Total count received?
Yes
Clear the RE bit in SCR to 0
Reception ends
382
Start of error handling
No
ORER = 1?
Yes
Overrun error handling
No
FER = 1?
Yes
Yes
Break?
No
Framing error handling Clear RE bit to 0 in SCR
No
PER = 1?
Yes
End
383
In receiving, the SCI operates as follows:
1. The SCI monitors the receive data line. When it detects a start bit (0), the SCI synchronizes
internally and starts receiving.
2. Receive data is shifted into RSR in order from the LSB to the MSB.
3. The parity bit and stop bit are received. After receiving these bits, the SCI makes the following
checks:
a. Parity check: The number of 1s in the receive data must match the even or odd parity
setting of the O/E bit in SMR.
b. Stop bit check: The stop bit value must be 1. If there are two stop bits, only the first stop bit
is checked.
c. Status check: RDRF must be 0 so that receive data can be loaded from RSR into RDR.
If these checks all pass, the SCI sets RDRF to 1 and stores the received data in RDR. If one of
the checks fails (receive error), the SCI operates as indicated in table 13.11.
Note: When a receive error flag is set, further receiving is disabled. The RDRF bit is not set
to 1. Be sure to clear the error flags.
4. After setting RDRF to 1, if the receive-data-full interrupt enable bit (RIE) is set to 1 in SCR,
the SCI requests a receive-data-full interrupt (RXI). If one of the error flags (ORER, PER, or
FER) is set to 1 and the receive-data-full interrupt enable bit (RIE) in SCR is also set to 1, the
SCI requests a receive-error interrupt (ERI).
384
Start Parity Stop Start Parity Stop
1 bit Data bit bit bit Data bit bit 1
Serial Idle (mark)
0 D0 D1 D7 0/1 1 0 D0 D1 D7 0/1 0
data state
TDRE
Figure 13.8 Example of SCI Receive Operation (8-Bit Data with Parity and One Stop Bit)
The multiprocessor communication function enables several processors to share a single serial
communication line. The processors communicate in asynchronous mode using a format with an
additional multiprocessor bit (multiprocessor format).
Receiving processors skip incoming data until they receive data with the multiprocessor bit set to
1. When they receive data with the multiprocessor bit set to 1, receiving processors compare the
data with their IDs. The receiving processor with a matching ID continues to receive further
incoming data. Processors with IDs not matching the received data skip further incoming data
until they again receive data with the multiprocessor bit set to 1. Multiple processors can send and
receive data in this way.
Figure 13.9 shows an example of communication between processors using the multiprocessor
format.
385
Transmitting
processor
Serial
H'01 H'AA
data
(MPB = 1) (MPB = 0)
Communication Formats: Four formats are available. Parity-bit settings are ignored when a
multiprocessor format is selected. For details see table 13.8.
Transmitting Multiprocessor Serial Data: Figure 13.10 shows a sample flowchart for
transmitting multiprocessor serial data. The procedure for transmitting multiprocessor serial data is
listed below.
1. SCI initialization: select the TxD pin function with the PFC.
2. SCI status check and transmit data write: read the serial status register (SSR), check that the
TDRE bit is 1, then write transmit data in the transmit data register (TDR). Also set MPBT
(multiprocessor bit transfer) to 0 or 1 in SSR. Finally, clear TDRE to 0.
3. To continue transmitting serial data: read the TDRE bit to check whether it is safe to write (1);
if so, write data in TDR, then clear TDRE to 0. When the DMAC is started by a transmit-data-
empty interrupt request (TXI) to write data in TDR, the TDRE bit is checked and cleared
automatically.
4. To output a break signal at the end of serial transmission: set the DR bit to 0 (I/O data port
register), then clear TE to 0 in SCR and set the TxD pin function as output port with the PFC.
386
Initialize (1)
Start transmitting
No
TDRE = 1?
Yes
Write transmit data in TDR
and set MPBT in SSR
No (3)
All data transmitted?
Yes
Read TEND bit in SSR
TEND = 1? No
Yes
Yes
Set DR = 0
End
387
In transmitting serial data, the SCI operates as follows:
1. The SCI monitors the TDRE bit in SSR. When TDRE is cleared to 0 the SCI recognizes that
the transmit data register (TDR) contains new data, and loads this data from TDR into the
transmit shift register (TSR).
2. After loading the data from TDR into TSR, the SCI sets the TDRE bit to 1 and starts
transmitting. If the transmit-data-empty interrupt enable bit (TIE) in SCR is set to 1, the SCI
requests a transmit-data-empty interrupt (TXI) at this time.
Serial transmit data is transmitted in the following order from the TxD pin (figure 13.11):
3. The SCI checks the TDRE bit when it outputs the stop bit. If TDRE is 0, the SCI loads data
from TDR into TSR, outputs the stop bit, then begins serial transmission of the next frame. If
TDRE is 1, the SCI sets the TEND bit in SSR to 1, outputs the stop bit, then continues output
of 1-bits in the mark state. If the transmit-end interrupt enable bit (TEIE) in SCR is set to 1, a
transmit-end interrupt (TEI) is requested at this time.
Multi- Multi-
Start processor Stop Start processor Stop
1 bit Data bit bit bit Data bit bit 1
Serial
0 D0 D1 D7 0/1 1 0 D0 D1 D7 0/1 1 Idle (mark)
data state
TDRE
TEND
1 frame
Figure 13.11 Example of SCI Multiprocessor Transmit Operation (8-Bit Data with
Multiprocessor Bit and One Stop Bit)
388
Receiving Multiprocessor Serial Data: Figure 13.12 shows a sample flowchart for receiving
multiprocessor serial data. The procedure for receiving multiprocessor serial data is listed below.
1. SCI initialization: select the RxD pin function with the PFC.
2. ID receive cycle: set the MPIE bit in the serial control register (SCR) to 1.
3. SCI status check and compare to ID reception: read the serial status register (SSR), check that
RDRF is set to 1, then read data from the receive data register (RDR) and compare with the
processor's own ID. If the ID does not match the receive data, set MPIE to 1 again and clear
RDRF to 0. If the ID matches the receive data, clear RDRF to 0.
4. Receive error handling and break detection: if a receive error occurs, read the ORER and FER
bits in SSR to identify the error. After executing the necessary error handling, clear both
ORER and FER to 0. Receiving cannot resume if ORER or FER remain set to 1. When a
framing error occurs, the RxD pin can be read to detect the break state.
5. SCI status check and data receiving: read SSR, check that RDRF is set to 1, then read data
from the receive data register (RDR).
389
Initialization (1)
Start receiving
Yes
FER = 1 or ORER = 1?
No
Read the RDRF bit in SSR (3)
No
RDRF = 1?
Yes
Read the receive data in RDR
No
Own ID?
Yes
Read the ORER and FER
bits in SSR
No
Read the RDRF bit in SSR (5)
No
RDRF = 1?
Yes
Read the receive data in RDR
No (4)
Total count received?
Error handling
Yes
Clear the RE bit in SCR to 0
Reception ends
390
Start of error handling
No
ORER = 1?
Yes
No
FER = 1?
Yes
Yes
Break?
No
Framing error handling Clear RE bit to 0 in SCR
End
Figure 13.12 Sample Flowchart for Receiving Multiprocessor Serial Data (cont)
391
Figure 13.13 shows an example of SCI receive operation using a multiprocessor format.
MPB
MPIE
RDRF
RDR
ID1
value
Figure 13.13 Example of SCI Receive Operation (Own ID Does Not Match Data) (8-Bit
Data with Multiprocessor Bit and One Stop Bit)
392
Start Stop Start Stop
1 bit Data ID2 MPB bit bit Data 2 MPB bit 1
Serial
0 D0 D1 D7 1 1 0 D0 D1 D7 0 1 Idle (mark)
data state
MPB
MPIE
RDRF
RDR
value ID1 ID2 Data2
Figure 13.13 Example of SCI Receive Operation (Own ID Matches Data) (8-Bit Data with
Multiprocessor Bit and One Stop Bit) (cont)
In synchronous mode, the SCI transmits and receives data in synchronization with clock pulses.
This mode is suitable for high-speed serial communication.
The SCI transmitter and receiver share the same clock but are otherwise independent, so full
duplex communication is possible. The transmitter and receiver are also double buffered, so
continuous transmitting or receiving is possible by reading or writing data while transmitting or
receiving is in progress.
393
Transfer direction
One unit (character or frame) of serial data
* *
Serial clock
LSB MSB
Serial data Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7
In synchronous serial communication, each data bit is output on the communication line from one
falling edge of the serial clock to the next. Data is guaranteed valid at the rising edge of the serial
clock. In each character, the serial data bits are transmitted in order from the LSB (first) to the
MSB (last). After output of the MSB, the communication line remains in the state of the MSB. In
synchronous mode, the SCI transmits or receives data by synchronizing with the falling edge of
the serial clock.
Communication Format: The data length is fixed at eight bits. No parity bit or multiprocessor bit
can be added.
Clock: An internal clock generated by the on-chip baud rate generator or an external clock input
from the SCK pin can be selected as the SCI transmit/receive clock. The clock source is selected
by the C/A bit in the serial mode register (SMR) and bits CKE1 and CKE0 in the serial control
register (SCR). See table 13.6.
When the SCI operates on an internal clock, it outputs the clock signal at the SCK pin. Eight clock
pulses are output per transmitted or received character. When the SCI is not transmitting or
receiving, the clock signal remains in the high state.
Figure 13.15 shows an example of SCI transmit operation. In transmitting serial data, the SCI
operates as follows.
1. The SCI monitors the TDRE bit in SSR. When TDRE is cleared to 0 the SCI recognizes that
the transmit data register (TDR) contains new data, and loads this data from TDR into the
transmit shift register (TSR).
2. After loading the data from TDR into TSR, the SCI sets the TDRE bit to 1 and starts
transmitting. If the transmit-data-empty interrupt enable bit (TIE) in SCR is set to 1, the SCI
requests a transmit-data-empty interrupt (TXI) at this time.
394
If clock output is selected, the SCI outputs eight serial clock pulses. If an external clock source
is selected, the SCI outputs data in synchronization with the input clock. Data is output from
the TxD pin in order from the LSB (bit 0) to the MSB (bit 7).
3. The SCI checks the TDRE bit when it outputs the MSB (bit 7). If TDRE is 0, the SCI loads
data from TDR into TSR, transmits the MSB, then begins serial transmission of the next frame.
If TDRE is 1, the SCI sets the TEND bit in SSR to 1, transmits the MSB, then holds the
transmit data pin (TxD) in the MSB state. If the transmit-end interrupt enable bit (TEIE) in
SCR is set to 1, a transmit-end interrupt (TEI) is requested at this time.
4. After the end of serial transmission, the SCK pin is held in the high state.
Transmit direction
Serial clock
LSB MSB
Serial data Bit 0 Bit 1 Bit 7 Bit 0 Bit 1 Bit 6 Bit 7
TDRE
TEND
Transmitting and Receiving Data: SCI Initialization (Synchronous Mode): Before transmitting
or receiving, software must clear the TE and RE bits to 0 in the serial control register (SCR), then
initialize the SCI as follows.
When changing the communication mode or format, always clear the TE and RE bits to 0 before
following the procedure given below. Clearing TE to 0 sets TDRE to 1 and initializes the transmit
shift register (TSR). Clearing RE to 0, however, does not initialize the RDRF, PER, FER, and
ORER flags and receive data register (RDR), which retain their previous contents.
395
1. Select the communication format in the serial mode register (SMR).
2. Write the value corresponding to the bit rate in the bit rate register (BRR) unless an external
clock is used.
3. Select the clock source in the serial control register (SCR). Leave RIE, TIE, TEIE, MPIE, TE
and RE cleared to 0.
4. Wait for at least the interval required to transmit or receive one bit, then set TE or RE in the
serial control register (SCR) to 1. Also set RIE, TIE, TEIE and MPIE. Setting the
corresponding bit of the pin function controller, TE, and RE enables the SCI to use the TxD or
RxD pin.
Start of initialization
No
1-bit interval elapsed?
Yes
Set TE or RE to 1 in SCR;
Set RIE, TIE, TEIE, and MPIE (4)
End
396
Transmitting Serial Data (Synchronous Mode): Figure 13.17 shows a sample flowchart for
transmitting serial data. The procedure for transmitting serial data is listed below.
1. SCI initialization: select the TxD pin function with the PFC.
2. SCI status check and transmit data write: read the serial status register (SSR), check that the
TDRE bit is 1, then write transmit data in the transmit data register (TDR) and clear TDRE to
0.
3. To continue transmitting serial data: read the TDRE bit to check whether it is safe to write (1);
if so, write data in TDR, then clear TDRE to 0. When the DMAC is started by a transmit-data-
empty interrupt request (TXI) to write data in TDR, the TDRE bit is checked and cleared
automatically.
Initialize (1)
Start transmitting
No
TDRE = 1?
Yes
Write transmit data in TDR and
clear TDRE bit to 0 in SSR
No (3)
All data transmitted?
Yes
No
TEND = 1?
Yes
Clear TE bit SCR to 0
Transmission ends
397
Receiving Serial Data (Synchronous Mode): Figure 13.18 shows a sample flowchart for
receiving serial data. When switching from asynchronous mode to synchronous mode, make sure
that ORER, PER, and FER are cleared to 0. If PER or FER is set to 1, the RDRF bit will not be set
and both transmitting and receiving will be disabled. Figure 13.19 shows an example of SCI
receive operation.
1. SCI initialization: select the RxD pin function with the PFC.
2. Receive error handling and break detection: if a receive error occurs, read the ORER bit in
SSR to identify the error. After executing the necessary error handling, clear ORER to 0.
Transmitting/receiving cannot resume if ORER remains set to 1.
3. SCI status check and receive data read: read the serial status register (SSR), check that RDRF
is set to 1, then read receive data from the receive data register (RDR) and clear RDRF to 0.
The RXI interrupt can also be used to determine if the RDRF bit has changed from 0 to 1.
4. To continue receiving serial data: read RDR, and clear RDRF to 0 before the frame MSB (bit
7) of the current frame is received. If the DMAC is started by a receive-data-full interrupt
(RXI) to read RDR, the RDRF bit is cleared automatically, so this step is unnecessary.
398
Initialization (1)
Start receiving
Yes
ORER = 1?
(2)
No Error handling
No
RDRF = 1?
Yes
Read receive data in RDR (4)
and clear RDRF bit in SSR to 0
No
Total count received?
Yes
Clear RE bit in SCR to 0
Reception ends
399
Error handling
No
ORER = 1?
Yes
Overrun error handling
End
Receive direction
Serial
clock
Serial
Bit 7 Bit 0 Bit 7 Bit 0 Bit 1 Bit 6 Bit 7
data
RDRF
ORER
RXI interrupt handler
RXI request reads data in RDR RXI request Overrun
and clears RDRF to 0 error, ERI
request
1 frame
1. The SCI synchronizes with serial clock input or output and initializes internally.
2. Receive data is shifted into RSR in order from the LSB to the MSB. After receiving the data,
the SCI checks that RDRF is 0 so that receive data can be loaded from RSR into RDR. If this
check passes, the SCI sets RDRF to 1 and stores the received data in RDR. If the check does
not pass (receive error), the SCI operates as indicated in table 13.8. When the error flag is set
400
to 1 and the RDRF bit is cleared to 0, the RDRF bit will not be set to 1 during reception. When
restarting reception, be sure to clear the error flag to 0.
3. After setting RDRF to 1, if the receive-data-full interrupt enable bit (RIE) is set to 1 in SCR,
the SCI requests a receive-data-full interrupt (RXI). If the ORER bit is set to 1 and the receive-
data-full interrupt enable bit (RIE) in SCR is also set to 1, the SCI requests a receive-error
interrupt (ERI).
Transmitting and Receiving Serial Data Simultaneously (Synchronous Mode): Figure 13.20
shows a sample flowchart for transmitting and receiving serial data simultaneously. The procedure
for transmitting and receiving serial data simultaneously is listed below.
1. SCI initialization: select the TxD and RxD pin function with the PFC.
2. SCI status check and transmit data write: read the serial status register (SSR), check that the
TDRE bit is 1, then write transmit data in the transmit data register (TDR) and clear TDRE to
0. The TXI interrupt can also be used to determine if the TDRE bit has changed from 0 to 1.
3. Receive error handling: if a receive error occurs, read the ORER bit in SSR to identify the
error. After executing the necessary error handling, clear ORER to 0. Transmitting/receiving
cannot resume if ORER remains set to 1.
4. SCI status check and receive data read: read the serial status register (SSR), check that RDRF
is set to 1, then read receive data from the receive data register (RDR) and clear RDRF to 0.
The RXI interrupt can also be used to determine if the RDRF bit has changed from 0 to 1.
5. To continue transmitting and receiving serial data: read the RDRF bit and RDR, and clear
RDRF to 0 before the MSB (bit 7) of the current frame is received. Also read the TDRE bit to
check whether it is safe to write (1); if so, write data in TDR, then clear TDRE to 0 before the
MSB (bit 7) of the current frame is transmitted. When the DMAC is started by a transmit-data-
empty interrupt request (TXI) to write data in TDR, the TDRE bit is checked and cleared
automatically. When the DMAC is started by a receive-data-full interrupt (RXI) to read RDR,
the RDRF bit is cleared automatically.
401
Initialization (1)
No
TDRE = 1?
Yes
Write transmit data to TDR
and clear TDRE bit in
SSR to 0
Yes
ORER = 1?
(3)
No Error handling
No
RDRF = 1?
Yes
Read receive data in
RDR and clear RDRF bit (5)
in SSR to 0
Total
No
count transmitted and
received?
Yes
Clear TE and RE bits in
SCR to 0
Transmitting/receiving ends
The SCI has four interrupt sources in each channel: transmit-end (TEI), receive-error (ERI),
receive-data-full (RXI), and transmit-data-empty (TXI). Table 13.12 lists the interrupt sources and
indicates their priority. These interrupts can be enabled and disabled by the TIE, RIE, and TEIE
bits in the serial control register (SCR). Each interrupt request is sent separately to the interrupt
controller.
TXI is requested when the TDRE bit in SSR is set to 1. TXI can start the direct memory access
controller (DMAC) to transfer data. TDRE is automatically cleared to 0 when the DMAC executes
a data transfer to the transmit data register (TDR).
RXI is requested when the RDRF bit in SSR is set to 1. RXI can start the DMAC to transfer data.
RDRF is automatically cleared to 0 when the DMAC executes a data transfer to the receive data
register (RDR). ERI is requested when the ORER, PER, or FER bit in SSR is set to 1. ERI cannot
start the DMAC.
TEI is requested when the TEND bit in SSR is set to 1. TEI cannot start the DMAC. A TXI
interrupt indicates that transmit data writing is enabled. A TEI interrupt indicates that the transmit
operation is complete.
TDR Write and TDRE Flags: The TDRE bit in the serial status register (SSR) is a status flag
indicating loading of transmit data from TDR into TSR. The SCI sets TDRE to 1 when it transfers
data from TDR to TSR. Data can be written in TDR regardless of the status of the TDRE bit. If
new data is written in TDR when TDRE is 0, the old data stored in TDR will be lost because this
data has not yet been transferred to TSR. Before writing transmit data to TDR, be sure to check
that TDRE is set to 1.
Simultaneous Multiple Receive Errors: Table 13.13 indicates the state of the SSR status flags
when multiple receive errors occur simultaneously. When an overrun error occurs, the RSR
contents cannot be transferred to RDR, so receive data is lost.
403
Table 13.13 SSR Status Flags and Transfer of Receive Data
Receive Data
SSR Status Flags Transfer
Receive Error Status RDRF ORER FER PER RSR → RDR
Overrun error 1 1 0 0 X
Framing error 0 0 1 0 O
Parity error 0 0 0 1 O
Overrun error + framing error 1 1 1 0 X
Overrun error + parity error 1 1 0 1 X
Framing error + parity error 0 0 1 1 O
Overrun error + framing error + parity 1 1 1 1 X
error
O: Receive data is transferred from RSR to RDR.
X: Receive data is not transferred from RSR to RDR.
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 FER is set and the parity error flag (PER) may also be set. In the break state, the SCI
receiver continues to operate, so if the FER bit is cleared to 0, it will be set to 1 again.
Sending a Break Signal: When TE is cleared to 0 the TxD pin becomes an I/O port, the level and
direction (input or output) of which are determined by the data register (DR) of the I/O port and
the control register (CR) of the PFC. This feature can be used to send a break signal. The DR
value substitutes for the mark state until the PFC setting is performed. The DR bits should
therefore be set as an output port that outputs 1 beforehand. To send a break signal during serial
transmission, clear the DR bit to 0, and select output port as the TxD pin function by the PFC.
When TE is cleared to 0, the transmitter is initialized, regardless of its current state.
Receive Error Flags and Transmitter Operation (Synchronous Mode Only): When a receive
error flag (ORER, PER, or FER) is set to 1, the SCI will not start transmitting even if TDRE is set
to 1. Be sure to clear the receive error flags to 0 before starting to transmit. Note that clearing RE
to 0 does not clear the receive error flags.
Receive Data Sampling Timing and Receive Margin in Asynchronous Mode: In asynchronous
mode, the SCI operates on a base clock of 16 times the bit rate frequency. In receiving, the SCI
synchronizes internally with the falling edge of the start bit, which it samples on the base clock.
Receive data is latched on the rising edge of the eighth base clock pulse. See figure 13.21.
404
16 clocks
8 clocks
Internal 0 1 2 3 4 5 6 7 8 9 10111213 1415 0 1 2 3 4 5 6 7 8 9 10111213 1415 0 1 2 3 4 5
base clock
–7.5 clocks +7.5 clocks
Receive
data (RxD) Start bit D0 D1
Synchronization
sampling
timing
Data
sampling
timing
The receive margin in asynchronous mode can therefore be expressed as shown in equation 1.
Equation 1:
1 D – 0.5
M = 0.5 – – (L – 0.5)F – (1 + F ) × 100%
2N N
M: Receive margin (%)
N: Ratio of clock frequency to bit rate (N = 16)
D: Clock duty cycle (D = 0 to 1.0)
L: Frame length (L = 9 to 12)
F: 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.
Equation 2:
D = 0.5, F = 0
M = (0.5 – 1/(2 × 16)) × 100%
= 46.875% (2)
405
Constraints on DMAC Use:
• When using an external clock source for the serial clock, update TDR with the DMAC, and
then input the transmit clock after the elapse of five system clocks or more. If a transmit clock
is input in the first four system clocks after TDR is written, an error may occur (figure 13.22).
• Before reading the receive data register (RDR) with the DMAC, select the receive-data-full
interrupt of the SCI as an activation source using the resource select bit (RS) in the channel
control register (CHCR).
SCK
t
TDRE
D0 D1 D2 D3 D4 D5 D6 D7
Caution on Synchronous Internal Clock Mode: When receiving, RDRF is set to 1 when RE is
cleared to 0 1.5 clocks after the rising edge of the RxD D7 bit SCK output, but copying to RDR is
not possible.
406
Section 14 A/D Converter
14.1 Overview
14.1.1 Features
• 10-bit resolution
• Eight analog input channels
• User definable analog conversion voltage range
• The analog conversion voltage range can be set with the analog reference power pin (AVref) as
the analog reference voltage
• Rapid conversion time: 6.7 µs per channel (at 20 MHz)
• Single mode or scan mode (selectable)
Single mode: One-channel A/D conversion
Scan mode: A/D conversion repeated on one to four channels
• Four 16-bit data registers: A/D conversion results are transferred to and stored in the data
registers corresponding to channels
• Sample-and-hold circuit
• External trigger input can start A/D conversion
• ADI: A/D interrupt request
Can be generated at end of each conversion cycle
Can start direct memory access controller (DMAC)
407
14.1.2 Block Diagram
Internal
Bus interface
Module data bus data bus
Successive approxi-
mations register
AVCC
ADDRC
ADDRD
ADCSR
ADDRA
ADDRB
ADCR
Vref 10-bit
D/A
AVSS
AN0
AN1 +
AN2 φ/8
AN3 –
Analog Control circuit φ/16
AN4 multi- Comparator
AN5 plexer
AN6 Sample-and-
AN7 hold circuit
ADI
interrupt
ADTRG signal
A/D converter
408
14.1.3 Configuration of Input Pins
Table 14.1 lists input pins for the A/D converter. The eight analog input pins are grouped into two
sets. Group 0 comprises analog input pins 0–3 (AN0–AN3) and group 1 comprises pins 4–7
(AN4–AN7). Pins AVCC and AVSS are the power supply pins for the analog circuits of the A/D
converter. AVref is the analog reference voltage for A/D conversion.
409
14.1.4 Configuration of A/D Registers
The four A/D data registers (ADDRA–ADDRD) are 16-bit read-only registers that store the
results of the A/D conversion. Each result consists of 10 bits. The first 8 bits are stored in the
upper byte of the data register corresponding to the selected channel. The last two bits are stored in
the lower byte of the data register. Bits 5–0 of the lower byte are reserved and are always read as
0. Each data register is assigned to two analog input channels (table 14.3).
The A/D data registers are always readable by the CPU. The upper byte can be read directly and
the lower byte is read via a temporary register (TEMP). See section 14.3, CPU Interface, for
details. The A/D data registers are initialized to H'0000 by a reset and in standby mode.
410
Bit: 15 14 13 12 11 10 9 8
ADDRn: 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
ADDRn: AD1 AD0 — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R R R R R R R R
n = A–D
The A/D control/status register (ADCSR) is an 8-bit read/write register that controls the operation
of the A/D converter (mode selection, etc.). ADCSR is initialized to H'00 by a reset and in standby
mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: ADF ADIE ADST SCAN CKS CH2 CH1 CH0
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
Note: Only 0 can be written, to clear the flag.
411
• Bit 7 (A/D End Flag (ADF)): ADF indicates that A/D conversion is completed.
• Bit 6 (A/D Interrupt Enable (ADIE)): ADIE selects whether or not an A/D interrupt (ADI) is
requested when A/D conversion is completed.
• Bit 5 (A/D Start (ADST)): ADST selects the start or halting of A/D conversion. Whenever the
A/D converter is operating, this bit is set to 1. It can also be set to 1 by the A/D conversion
trigger input pin (ADTRG).
• Bit 4 (Scan Mode (SCAN)): SCAN selects either scan mode or single mode for operation. See
section 14.4, Operation, for descriptions of these modes. The mode should be changed only
when the ADST bit is cleared to 0.
412
• Bit 3 (Clock Select (CKS)): CKS selects the A/D conversion time. The conversion time should
be changed only when the ADST bit is cleared to 0.
• Bits 2–0 (Channel Select 2–0 (CH2–CH0)): CH2–CH0 select analog input channels together
with the SCAN bit. The channel selection should be changed only when the ADST bit is
cleared to 0.
The A/D control register (ADCR) is an 8-bit read/write register that selects whether or not to start
the A/D conversion when an external trigger is input. ADCR is initialized to H'7F by a reset and in
standby mode.
Bit: 7 6 5 4 3 2 1 0
Bit name: TRGE — — — — — — —
Initial value: 0 1 1 1 1 1 1 1
R/W: R/W — — — — — — —
413
• Bit 7 (Trigger Enable (TRGE)): TRGE selects whether or not to start A/D conversion when an
external trigger is input.
• Bits 6–0 (Reserved): These bits are always read as 1. The write value should always be 1.
The A/D data registers (ADDRA–ADDRD) are 16-bit registers, but they are connected to the CPU
by an 8-bit data bus. Therefore, the upper byte of each register can be read directly, but the lower
byte is accessed through an 8-bit temporary register (TEMP).
When the CPU reads the upper byte of an A/D data register, the upper byte is transferred to the
CPU and the lower byte to TEMP. When the lower byte is accessed, the value in TEMP is
transferred to the CPU.
A program should first read the upper byte, then the lower byte of the A/D data register. This can
be performed by reading ADDR from the upper byte end using a word transfer instruction
(MOV.W, etc.). Reading only the upper byte would assure the CPU of obtaining consistent data. If
the program reads only the lower byte, however, consistent data will not be guaranteed.
Figure 14.2 shows the data flow during access to A/D data registers.
414
Upper byte read
TEMP
[H'40]
ADDRn H ADDRn L
n = A to D
[H'AA] [H'40]
TEMP
[H'40]
ADDRn H ADDRn L
n = A to D
[H'AA] [H'40]
415
14.4 Operation
The A/D converter operates by successive approximations with a 10-bit resolution. Its two modes,
single mode and scan mode, are described below.
In single mode, A/D conversion is performed on a single channel. A/D conversion starts when the
ADST bit in the A/D control/status register (ADCSR) is set to 1 by software or an external trigger
input. During the conversion process the ADST bit remains set at 1. When the conversion is
completed, the ADST bit is automatically cleared to 0.
When the conversion is completed, the ADF bit is set to 1. If the interrupt enable bit (ADIE) in
ADCSR is also set to 1, an A/D conversion interrupt (ADI) is requested. When ADCSR is read
and 1 is written in the ADF bit, the ADF bit is cleared to 0.
Before changing a mode or analog input channel, clear the ADST bit in ADCSR to 0 to stop A/D
conversion in order to prevent malfunctions. Setting the ADST bit to 1 after changing the mode or
channel starts A/D conversion again (changing the mode or channel and setting the ADST bit can
be performed simultaneously).
The following is an example of the A/D conversion process in single mode when channel 1 (AN1)
is selected. See figure 14.3 for the timing.
1. The program selects single mode (SCAN = 0) and input channel AN1 (CH2 = CH1 = 0, CH0 =
1), enables the A/D interrupt request (ADIE = 1), and sets the ADST bit to 1 to start A/D
conversion.
2. At the end of the conversion process the A/D converter transfers the result to register ADDRB,
sets the ADF bit to 1, clears the ADST bit to 0, and halts.
3. Since ADF = 1 and ADIE = 1, an A/D interrupt is requested.
4. The A/D interrupt handling routine is started.
5. The interrupt handling routine reads the ADF value; since it is 1, it writes a 0 into the ADF bit.
6. The interrupt handling routine reads and processes the A/D conversion result (ADDRB).
7. The routine ends.
Steps 2–7 can now be repeated by setting the ADST bit to 1 again.
416
Set*
ADIE
Set* Set*
ADST A/D conversion starts
Clear* Clear*
ADF
Channel 0 (AN0)
Waiting
operating
Channel 1 (AN1)
Waiting Waiting Waiting
operating A/D conversion 1 A/D conversion result 2
Channel 2 (AN2) Waiting
operating
ADDRC
417
14.4.2 Scan Mode (SCAN = 1)
Scan mode can be used to monitor analog inputs on one or more channels. When the ADST bit in
ADCSR is set to 1 by software or an external trigger input, A/D conversion starts with the first
channel (AN0 when CH2 = 0, AN4 when CH2 = 1) in the group.
If the scan group includes more than one channel, conversion of the second channel (AN1 or
AN5) begins as soon as conversion of the first channel ends.
Conversion of the selected channels continues cyclically until the ADST bit is cleared to 0. The
conversion results are stored in the data registers corresponding to the selected channels.
Before changing a mode or analog input channels, clear the ADST bit in ADCSR to 0 to stop A/D
conversion in order to prevent malfunctions. Setting the ADST bit to 1 after changing the mode or
channel selects the first channel and starts A/D conversion again (changing the mode or channel
and setting the ADST bit can be performed simultaneously).
The following is an example of the A/D conversion process in scan mode when three channels in
group 0 are selected (AN0, AN1, and AN2). See figure 14.4 for the timing.
1. The program selects scan mode (SCAN = 1), scan group 0 (CH2 = 0), and analog input
channels AN0–AN2 (CH1 = 1, CH2 = CH0 = 0), then sets the ADST bit to 1 to start A/D
conversion.
2. The A/D converter samples the input at the first channel (AN0), converts the voltage level to a
digital value, and transfers the result to register ADDRA. Next, the second channel (AN1) is
automatically selected and conversion begins.
3. Then it does the same for the third channel (AN2).
4. After all selected channels (AN0–AN2) have been converted, the A/D converter sets the ADF
bit to 1 and begins conversion on channel AN0 again. If the ADIE bit is set to 1, an A/D
interrupt (ADI) is requested after the A/D conversion.
5. Steps 2–4 are repeated cyclically as long as the ADST bit remains set at 1.
To stop A/D conversion, clear the ADST bit to 0. The moment the ADST bit is set to 1 again,
A/D conversion begins with the first channel (AN0).
418
Continuous A/D conversion
2.
Notes: 1.
Set*1 Clear*1
ADST
Clear*1
ADF
A/D conversion time
Channel 0 (AN0)
operating Waiting Waiting Waiting
A/D conversion 1
A/D conversion 4
Channel 1 (AN1)
operating Waiting Waiting *2 Waiting
A/D conversion 2 A/D conversion 5
Transfer
ADDRA A/D conversion result 1 A/D conversion result 4
419
14.4.3 Input Sampling Time and A/D Conversion Time
With a built-in sample-and-hold circuit, the A/D converter performs input sampling at time tD
after control/status register (ADSCR) access is started. See figure 14.5 for A/D conversion timing
and table 14.4 for A/D conversion times.
The total conversion time includes t D and the input sampling time, as shown in figure 14.5. The
purpose of tD is to synchronize the ADCSR write time with the A/D conversion process; therefore
the duration of tD is variable. As a result, the total conversion time varies within the ranges shown
in table 14.4.
In scan mode, the ranges given in table 14.4 apply to the first conversion. The duration of the
second and subsequent conversion processes is fixed at 256 states (CKS = 0) or 128 states (CKS =
1).
*1
CK
Address *2
Write
signal
Input sampling
timing
ADF
tD tSPL
tCONV
420
Table 14.4 A/D Conversion Time (Single Mode)
CKS = 0 CKS = 1
Item Symbol Min Typ Max Min Typ Max
A/D start delay tD 10 — 17 6 — 9
Input sampling time t SPL — 64 — — 32 —
Total A/D conversion time t CONV 259 — 266 131 — 134
Note: Values are the number of states (tcyc).
The A/D converter can be started when an external trigger is input. The external trigger is input
from the ADTRG input pin when the trigger enable (TRGE) bit in the A/D control register
(ADCR) is set to 1. When the ADTRG input pin is asserted low, the A/D start (ADST) bit in the
A/D control/status register (ADCSR) is set to 1 and A/D conversion begins. All other operations
are the same as when the ADST bit is set to 1, regardless of whether the mode is single or scan.
For the timing, see figure 14.6.
CK
ADTRG
External
trigger signal
ADST
A/D conversion
421
14.6 Definitions of A/D Conversion Accuracy
The A/D converter compares an analog value input from an analog input channel to its analog
reference value and converts it into 10-bit digital data. The absolute accuracy of this A/D
conversion is the deviation between the input analog value and the output digital value. It includes
the following errors:
• Offset error
• Full-scale error
• Quantization error
• Nonlinearity error
These four error quantities are explained below using figure 14.9. In the figure, the 10 bits of the
A/D converter have been simplified to 3 bits.
Offset error is the deviation between actual and ideal A/D conversion characteristics when the
digital output value changes from the minimum (zero voltage) 0000000000 (000 in the figure) to
000000001 (001 in the figure)(figure 14.7, item (1)). Full-scale error is the deviation between
actual and ideal A/D conversion characteristics when the digital output value changes from
1111111110 (110 in the figure) to the maximum 1111111111 (111 in the figure)(figure 14.9, item
(2)). Quantization error is the intrinsic error of the A/D converter and is expressed as 1/2 LSB
(figure 14.9, item (3)). Nonlinearity error is the deviation between actual and ideal A/D conversion
characteristics between zero voltage and full-scale voltage (figure 14.9, item (4)). Note that it does
not include offset, full-scale, or quantization error.
Ideal A/D
conversion Ideal A/D
characteristic conversion
111
characteristic
110
101
100
(4) Nonlinearity
011 error
010 (3) Quantization Actual A/D
error convertion
001
characteristic
000
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8 FS FS
Analog input Analog input
(1) Offset error
FS: Full-scale voltage voltage voltage
422
14.7 A/D Converter Usage Notes
When using the A/D converter, note the points listed in section 14.7.1 below.
• Analog Input Voltage Range: During A/D conversion, the voltages input to the analog input
pins ANn should be in the range AVSS ≤ ANn ≤ AVref.
• Relationships of AVCC and AVSS to VCC and V SS: AVCC , AVSS, VCC and V SS should be
related as follows: AVCC = VCC ± 10% and AVSS = VSS. If the A/D converter is not used, set
AVCC = VCC and AVSS = VSS.
• AVref Input Range: The analog reference voltage input at the AVref pin should be in the range
AVref ≤ AVCC . If the converter is not used, set AVref = VCC .
• When the converter is neither in use nor in standby mode, connect AVCC and AVref to the
power voltage (VCC ).
To prevent damage from voltage surges at the analog input pins (AN0–AN7), connect an input
protection circuit like the one shown in figure 14.8. The circuit shown also includes an RC filter to
prevent errors due to noise. This circuit is shown as an example: The circuit constants should be
selected according to actual application conditions. Table 14.4 list the analog input pin
specifications and figure 14.9 shows an equivalent circuit diagram of the analog input ports.
AVCC
AVref
SuperH microcomputer
100 Ω
AN0–AN7
* *
0.1 µF
AVSS
Note: *
10 µF 0.01 µF
423
1.0 kΩ
AN0–AN7
20 pF 1 MΩ
Analog multiplexer
A/D converter
424
Section 15 Pin Function Controller (PFC)
15.1 Overview
The pin function controller (PFC) is composed of registers for selecting the function of
multiplexed pins and the direction of input/output. The pin function and input/output direction can
be selected for each pin individually without regard to the operating mode of the chip. Table 15.1
lists the multiplexed pins.
A PA14 I/O (port) IRQ2 input (INTC) DACK1 output (DMAC) — 68* 3 73* 3
A PA13 I/O (port) IRQ1 input (INTC) TCLKB input (ITU) DREQ0 input (DMAC) 67 72
3
A PA12 I/O (port) IRQ0 input (INTC) TCLKA input (ITU) DACK0 output (DMAC) 66* 71* 3
A PA11 I/O (port) DPH I/O (D bus) TIOCB1 I/O (ITU) — 65 70
A PA9 I/O (port) AH output (BSC) ADTRG input (A/D) IRQOUT output (INTC) 63 68
425
Table 15.1 List of Multiplexed Pins (cont)
B PB13 I/O (port) IRQ5 input (INTC) SCK1 I/O (SCI) TP13 output (TPC) 112 119
B PB12 I/O (port) IRQ4 input (INTC) SCK0 I/O (SCI) TP12 output (TPC) 111 118
B PB11 I/O (port) TxD1 output (SCI) TP11 output (TPC) — 110 117
B PB10 I/O (port) RxD1 input (SCI) TP10 output (TPC) — 109 116
B PB9 I/O (port) TxD0 output (SCI) TP9 output (TPC) — 108 115
B PB8 I/O (port) RxD0 input (SCI) TP8 output (TPC) — 107 114
B PB7 I/O (port) TCLKD input (ITU) TOCXB4 output (ITU) TP7 output (TPC) 105 112
B PB6 I/O (port) TCLKC input (ITU) TOCXA4 output (ITU) TP6 output (TPC) 104 111
B PB5 I/O (port) TIOCB4 I/O (ITU) TP5 output (TPC) — 103 110
B PB4 I/O (port) TIOCA4 I/O (ITU) TP4 output (TPC) — 102 109
B PB3 I/O (port) TIOCB3 I/O (ITU) TP3 output (TPC) — 101 108
B PB2 I/O (port) TIOCA3 I/O (ITU) TP2 output (TPC) — 100 107
B PB1 I/O (port) TIOCB2 I/O (ITU) TP1 output (TPC) — 98 105
B PB0 I/O (port) TIOCA2 I/O (ITU) TP0 output (TPC) — 97 103
426
SCI: Serial communication interface
TPC: Programmable timing pattern controller
Port: I/O port
Notes: 1. The bus control register of the bus state controller handles switching between the two
functions.
2. The function of port C pins automatically changes to analog input (AN0–AN7) when the
A/D converter begins to operate.
3. The initial setting is DACK (output).
The port A I/O register (PAIOR) is a 16-bit read/write register that selects input or output for the
16 pins of port A. Bits PA15IOR–PA0IOR correspond to pins PA15/IRQ3/DREQ1–
PA0/CS4/TIOCA0. PAIOR is enabled when the port A pins function as input/outputs (PA15–
PA0) and for ITU input capture and output compare (TIOCA1, TIOCA0, TIOCB1, and TIOCB0).
For other functions, they are disabled. For port A pin functions PA15–PA0 and TIOCA1,
TIOCA0, TIOCB1, and TIOCB0, a given pin in port A is an output pin if its corresponding
PAIOR bit is set to 1, and an input pin if the bit is cleared to 0.
427
Bit: 15 14 13 12 11 10 9 8
Bit name: PA15 PA14 PA13 PA12 PA11 PA10 PA9 PA8
IOR IOR IOR IOR IOR IOR IOR IOR
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
IOR IOR IOR IOR IOR IOR IOR IOR
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
PACR1 and PACR2 are 16-bit read/write registers that select the functions of the sixteen
multiplexed pins of port A. PACR1 selects the function of the upper eight bits of port A; PACR2
selects the function of the lower eight bits of port A. PACR1 and PACR2 are initialized to H'3302
and H'FF95 respectively by a power-on reset but are not initialized by a manual reset, or in
standby mode or sleep mode.
PACR1:
Bit: 15 14 13 12 11 10 9 8
Bit name: PA15 PA15 PA14 PA14 PA13 PA13 PA12 PA12
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
Initial value: 0 0 1 1 0 0 1 1
R/W: 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
Bit name: PA11 PA11 PA10 PA10 PA9 PA9 — PA8
MD1 MD0 MD1 MD0 MD1 MD0 MD
Initial value: 0 0 0 0 0 0 1 0
R/W: R/W R/W R/W R/W R/W R/W — R/W
• Bits 15 and 14 (PA15 Mode (PA15MD1 and PA15MD0)): PA15MD1 and PA15MD0 select
the function of the PA15/IRQ3/DREQ1 pin.
428
Bit 15: Bit 14:
PA15MD1 PA15MD0 Function
0 0 Input/output (PA15) (Initial value)
1 Interrupt request input (IRQ3)
1 0 Reserved
1 DMA transfer request input (DREQ1)
• Bits 13 and 12 (PA14 Mode (PA14MD1 and PA14MD0)): PA14MD1 and PA14MD0 select
the function of the PA14/IRQ2/DACK1 pin.
• Bits 11 and 10 (PA13 Mode (PA13MD1 and PA13MD0)): PA13MD1 and PA13MD0 select
the function of the PA13/IRQ1/DREQ0/TCLKB pin.
• Bits 9 and 8 (PA12 Mode (PA12MD1 and PA12MD0)): PA12MD1 and PA12MD0 select the
function of the PA12/IRQ0/DACK0/TCLKA pin.
Bit 9: Bit 8:
PA12MD1 PA12MD0 Function
0 0 Input/output (PA12)
1 Interrupt request input (IRQ0)
1 0 ITU timer clock input (TCLKA)
1 DMA transfer acknowledge output (DACK0) (Initial value)
429
• Bits 7 and 6 (PA11 Mode (PA11MD1 and PA11MD0)): PA11MD1 and PA11MD0 select the
function of the PA11/DPH/TIOCB1 pin.
Bit 7: Bit 6:
PA11MD1 PA11MD0 Function
0 0 Input/output (PA11) (Initial value)
1 Upper data bus parity input/output (DPH)
1 0 ITU input capture/output compare (TIOCB1)
1 Reserved
• Bits 5 and 4 (PA10 Mode (PA10MD1 and PA10MD0)): PA10MD1 and MA10MD0 select the
function of the PA10/DPL/TIOCA1 pin.
Bit 5: Bit 4:
PA10MD1 PA10MD0 Function
0 0 Input/output (PA10) (Initial value)
1 Lower data bus parity input/output (DPL)
1 0 ITU input capture/output compare (TIOCA1)
1 Reserved
• Bits 3 and 2 (PA9 Mode (PA9MD1 and PA9MD0)): PA9MD1 and PA9MD0 select the
function of the PA9/AH/IRQOUT/ADTRG pin.
Bit 3: Bit 2:
PA9MD1 PA9MD0 Function
0 0 Input/output (PA9) (Initial value)
1 Address hold output (AH)
1 0 A/D conversion trigger input (ADTRG)
1 Interrupt request output (IRQOUT)
• Bit 1 (Reserved): This bit is always read as 1. The write value should always be 1.
• Bit 0 (PA8 Mode (PA8MD)): PA8MD selects the function of the PA8/BREQ pin.
430
PACR2:
Bit: 15 14 13 12 11 10 9 8
Bit name: — PA7MD — PA6MD — PA5MD — PA4MD
Initial value: 1 1 1 1 1 1 1 1
R/W: — R/W — R/W — R/W — R/W
Bit: 7 6 5 4 3 2 1 0
Bit name: PA3MD1 PA3MD0 PA2MD1 PA2MD0 PA1MD1 PA1MD0 PA0MD1 PA0MD0
Initial value: 1 0 0 1 0 1 0 1
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
• Bit 15 (Reserved): This bit is always read as 1. The write value should always be 1.
• Bit 14 (PA7 Mode (PA7MD)): PA7MD selects the function of the PA7/BACK pin.
• Bit 13 (Reserved): This bit is always read as 1. The write value should always be 1.
• Bit 12 (PA6 Mode (PA6MD)): PA6MD selects the function of the PA6/RD pin.
• Bit 11 (Reserved): This bit is always read as 1. The write value should always be 1.
• Bit 10 (PA5 Mode (PA5MD)): PA5MD selects the function of the PA5/WRH (LBS) pin.
• Bit 9 (Reserved): This bit is alway read as 1. The write value should always be 1.
431
• Bit 8 (PA4 Mode (PA4MD)): PA4MD selects the function of the PA4/WRL (WR) pin.
• Bits 7 and 6 (PA3 Mode (PA3MD1 and PA3MD0)): PA3MD1 and PA3MD0 select the
function of the PA3/CS7/WAIT pin. This pin has a pull-up MOS that is used when it functions
as a WAIT pin to allow selection of pull-up or no pull-up (for the WAIT pin) using the wait
state control register of the bus state controller (BSC). There is no pull-up when it functions as
PA3 or CS7.
• Bits 5 and 4 (PA2 Mode (PA2MD1 and PA2MD0)): PA2MD1 and PA2MD0 select the
function of the PA2/CS6/TIOCB0 pin.
• Bits 3 and 2 (PA1 Mode (PA1MD1 and PA1MD0)): PA1MD1 and PA1MD0 select the
function of the PA1/CS5/RAS pin.
432
• Bits 1 and 0 (PA0 Mode (PA0MD1 and PA0MD0)): PA0MD1 and PA0MD0 select the
function of the PA0/CS4/TIOCA0 pin.
The port A I/O register (PAIOR) is a 16-bit read/write register that selects input or output for the
16 pins of port A. Bits PB15IOR–PB0IOR correspond to pins of port B. PBIOR is enabled when
the port B pins function as input/outputs (PB15–PB0), for ITU input capture and output compare
(TIOCA4, TIOCA3, TIOCA2, TIOCB4, TIOCB3, and TIOCB2), and as serial clocks (SCK1,
SCK0). For other functions, they are disabled. For port B pin functions PB15–PB0, and TIOCA4,
TIOCA3, TIOCA2, TIOCB4, TIOCB3, and TIOCB2, and SCK1/SCK0, a given pin in port B is an
output pin if its corresponding PBIOR bit is set to 1, and an input pin if the bit is cleared to 0.
Bit: 15 14 13 12 11 10 9 8
Bit name: PB15 PB14 PB13 PB12 PB11 PB10 PB9 PB8
IOR IOR IOR IOR IOR IOR IOR IOR
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
IOR IOR IOR IOR IOR IOR IOR IOR
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
433
15.3.4 Port B Control Registers (PBCR1 and PBCR2)
PBCR1 and PBCR2 are 16-bit read/write registers that select the functions of the sixteen
multiplexed pins of port B. PBCR1 selects the function of the upper eight bits of port B; PBCR2
selects the function of the lower eight bits of port B. PBCR1 and PBCR2 are initialized to H'0000
by a power-on reset, but are not initialized by a manual reset, or in standby mode or sleep mode.
PBCR1:
Bit: 15 14 13 12 11 10 9 8
Bit name: PB15 PB15 PB14 PB14 PB13 PB13 PB12 PB12
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB11 PB11 PB10 PB10 PB9 PB9 PB8 PB8
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
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
• Bits 15 and 14 (PB15 Mode (PB15MD1 and PB15MD0)): PB15MD1 and PB15MD0 select the
function of the PB15/TP15/IRQ7 pin.
• Bits 13 and 12 (PB14 Mode (PB14MD1 and PB14MD0)): PB14MD1 and PB14MD0 select the
function of the PB14/TP14/IRQ6 pin.
434
• Bits 11 and 10 (PB13 Mode (PB13MD1 and PB13MD0)): PB13MD1 and PB13MD0 select the
function of the PB13/TP13/IRQ5/SCK1 pin.
• Bits 9 and 8 (PB12 Mode (PB12MD1 and PB12MD0)): PB12MD1 and PB12MD0 select the
function of the PB12/TP12/IRQ4/SCK0 pin.
• Bits 7 and 6: PB11 Mode (PB11MD1 and PB11MD0): PB11MD1 and PB11MD0 select the
function of the PB11/TP11/TxD1 pin.
• Bits 5 and 4 (PB10 Mode (PB10MD1 and PB10MD0): PB10MD1 and PB10MD0 select the
function of the PB10/TP10/RxD1 pin.
435
• Bits 3 and 2 (PB9 Mode (PB9MD1 and PB9MD0)): PB9MD1 and PB9MD0 select the
function of the PB9/TP9/TxD0 pin.
• Bits 1 and 0 (PB8 Mode (PB8MD1 and PB8MD0)): PB8MD1 and PB8MD0 select the
function of the PB8/TP8/RxD0 pin.
PBCR2:
Bit: 15 14 13 12 11 10 9 8
Bit name: PB7MD1 PB7MD0 PB6MD1 PB6MD0 PB5MD1 PB5MD0 PB4MD1 PB4MD0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB3MD1 PB3MD0 PB2MD1 PB2MD0 PB1MD1 PB1MD0 PB0MD1 PB0MD0
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
436
• Bits 15 and 14 (PB7 Mode (PB7MD1 and PB7MD0)): PB7MD1 and PB7MD0 select the
function of the PB7/TP7/TOCXB4/TCLKD pin.
• Bits 13 and 12 (PB6 Mode (PB6MD1 and PB6MD0)): PB6MD1 and PB6MD0 select the
function of the PB6/TP6/TOCXA4/TCLKC pin.
• Bits 11 and 10 (PB5 Mode (PB5MD1 and PB5MD0)): PB5MD1 and PB5MD0 select the
function of the PB5/TP5/TIOCB4 pin.
• Bits 9 and 8 (PB4 Mode (PB4MD1 and PB4MD0)): PB4MD1 and PB4MD0 select the
function of the PB4/TP4/TIOCA4 pin.
437
• Bits 7 and 6 (PB3 Mode (PB3MD1 and PB3MD0)): PB3MD1 and PB3MD0 select the
function of the PB3/TP3/TIOCB3 pin.
• Bits 5 and 4 (PB2 Mode (PB2MD1 and PB2MD0)): PB2MD1 and PB2MD0 select the
function of the PB2/TP2/TIOCA3 pin.
• Bits 3 and 2 (PB1 Mode (PB1MD1 and PB1MD0)): PB1MD1 and PB1MD0 select the
function of the PB1/TP1/TIOCB2 pin.
• Bits 1 and 0 (PB0 Mode (PB0MD1 and PB0MD0)): PB0MD1 and PB0MD0 select the
function of the PB0/TP0/TIOCA2 pin.
438
15.3.5 Column Address Strobe Pin Control Register (CASCR)
CASCR is a 16-bit read/write register that allows selection between column address strobe and
chip select pin functions. CASCR is initialized to H'5FFF by a power-on reset, but is not
initialized by a manual reset, or in standby mode or sleep mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: CASH CASH CASL CASL — — — —
MD1 MD0 MD1 MD0
Initial value: 0 1 0 1 1 1 1 1
R/W: R/W R/W R/W R/W — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 1 1 1 1 1 1 1 1
R/W: — — — — — — — —
• Bits 15 and 14 (CASH Mode (CASHMD1 and CASHMD0)): CASHMD1 and CASHMD0
select the function of the CS1/CASH pin.
• Bits 13 and 12 (CASL Mode (CASLMD1 and CASLMD0)): CASLMD1 and CASLMD0
select the function of the CS3/CASL pin.
• Bits 11–0 (Reserved): These bits are always read as 1. The write value should always be 1.
439
440
Section 16 I/O Ports (I/O)
16.1 Overview
There are three ports, A, B, and C. Ports A and B are 16-bit I/O ports, while port C is an 8-bit
input port. The pins of the ports are all multiplexed for use as general-purpose I/Os (or inputs in
the case of port C) or for other functions. (Use the pin function controller (PFC) to select the
function of multiplexed pins.) Ports A, B, and C each have one data register for storing pin data.
16.2 Port A
Port A is a 16-pin input/output port, as shown in figure 16.1. The PA3/CS7/WAIT pin of port A
has a pull-up MOS so that when it is functioning as a WAIT pin, the wait state control register of
the bus state controller can be used to select whether to pull up the WAIT pin or not. It is not
pulled up when the pin is functioning as either PA3 or CS7.
441
Table 16.1 Port A Register
PADR is a 16-bit read/write register that stores data for port A. Bits PA15DR–PA0DR correspond
to the PA15/IRQ3/DREQ1–PA0/CS4/TIOCA0 pins. When the pins are used as ordinary outputs,
they will output whatever value is written in PADR; when PADR is read, the register value will be
output regardless of the pin status. When the pins are used as ordinary inputs, the pin status rather
than the register value is read directly when PADR is read. When a value is written to PADR, that
value can be written into PADR, but it will not affect the pin status. Table 16.2 shows port A data
register read/write operations.
PADR is initialized by a power-on reset. However, PADR is not initialized by a manual reset, or
in standby mode or sleep mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: PA15DR PA14DR PA13DR PA12DR PA11DR PA10DR PA9DR PA8DR
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PA7DR PA6DR PA5DR PA4DR PA3DR PA2DR PA1DR PA0DR
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
442
16.3 Port B
443
16.3.2 Port B Data Register (PBDR)
PBDR is a 16-bit read/write register that stores data for port B. Bits PB15DR–PB0DR correspond
to the PB15/TP15/IRQ7–PB0/TP0/TIOCA2 pins. When the pins are used as ordinary outputs, they
will output whatever value is written in PBDR; when PBDR is read, the register value will be
output regardless of the pin status. When the pins are used as ordinary inputs, the pin status rather
than the register value is read directly when PBDR is read. When a value is written to PBDR, that
value can be written into PBDR, but it will not affect the pin status. When the pin function is set to
timing pattern output and the TPC output is enabled by the TPC next data enable register (NDER),
no value can be written to PBDR. Table 16.4 shows port B data register read/write operations.
PBDR is initialized by a power-on reset. However, PBDR is not initialized by a manual reset, or in
standby mode or sleep mode.
Bit: 15 14 13 12 11 10 9 8
Bit name: PB15DR PB14DR PB13DR PB12DR PB11DR PB10DR PB9DR PB8DR
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB7DR PB6DR PB5DR PB4DR PB3DR PB2DR PB1DR PB0DR
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
444
16.4 Port C
445
16.4.2 Port C Data Register (PCDR)
PCDR is an 16-bit read-only register that stores data for port C (writes to bits 15–8 are ignored,
and the read value is always undefined). Bits PC7DR–PC0DR correspond to the PC7/AN7–
PC0/AN0 pins respectively. Any values written to these bits will be ignored and will not affect the
pin status. When the bits are read, the pin status rather than the bit value is read directly. When
analog input of the A/D converter is being sampled, however, every bit is read as 1. Table 16.6
shows port C data register read/write operations (bits 7–0).
PCDR is not initialized by a power-on reset or manual reset, or in standby mode or sleep mode
(bits 15–8 are always undefined; bits 7–0 always reflect the pin status).
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: — — — — — — — —
R/W: R R R R R R R R
Bit: 7 6 5 4 3 2 1 0
Bit name: PC7DR PC6DR PC5DR PC4DR PC3DR PC2DR PC1DR PC0DR
Initial value: — — — — — — — —
R/W: R R R R R R R R
446
Section 17 ROM
17.1 Overview
The SH7034 microcomputer has 64 kbytes of on-chip ROM (mask ROM or PROM). The on-chip
ROM is connected to the CPU and the direct memory access controller (DMAC) through a 32-bit
data bus (figure 17.1). The CPU can access the on-chip ROM in 8-, 16- and 32-bit widths and the
DMAC can access the ROM in 8- and 16-bit widths. Data in the on-chip ROM can always be
accessed in one cycle.
On-chip ROM
Note: The addresses shown in the figure are the uppermost shadow addresses in the on-chip
ROM space.
The operating mode determines whether the on-chip ROM is valid or not. The operating mode is
selected using mode-setting pins MD0–MD2 as shown in table 17.1. When using the on-chip
ROM, select mode 2; otherwise, select mode 0 or 1. The on-chip ROM is allocated to addresses
H'0000000–H'000FFFF of memory area 0. Memory area 0 (H'0000000–H'0FFFFFF and
H'8000000–H'8FFFFFF) is divided into 64-kbyte shadows. No matter which shadow is accessed,
the on-chip ROM is accessed. See section 8, Bus State Controller (BSC), for more information on
shadows.
447
Table 17.1 Operating Modes and ROM
When the SH7034 is set to PROM mode, programs can be written in the PROM version in the
same way as with ordinary EPROM, using a general-purpose EPROM programmer.
To program the on-chip PROM, set the pins as shown in figure 17.2 and use the chip in PROM
mode.
Mount the socket adapter on the SH7034 as shown in figure 17.2. This allows the on-chip PROM
to be programmed in exactly the same way as ordinary 32-pin EPROMs (HN27C101). Figure 17.2
shows the correspondence between SH7034 pins and HN27C101 pins. Figure 17.3 shows the
memory map of the on-chip ROM.
The address range of the HN27C101 (128 kbytes) is H'00000–H'1FFFF. The on-chip PROM (64
kbytes) is not found in the latter half (H'10000–H'1FFFF).
When programming with a PROM programmer, the program address range must be set to H'0000–
H'FFFF. The data for the H'10000–H'1FFFF address area should all be H'FF. Set byte mode, not
page mode.
448
SH7034 EPROM Socket HN27C101
Pin Number Pin Name Adapter Pin Name Pin Number
77 VPP VPP 1
76 NMI A9 26
4 AD0 I/O0 13
5 AD1 I/O1 14
6 AD2 I/O2 15
7 AD3 I/O3 17
8 AD4 I/O4 18
9 AD5 I/O5 19
10 AD6 I/O6 20
11 AD7 I/O7 21
23 A0/HBS A0 12
24 A1 A1 11
25 A2 A2 10
26 A3 A3 9
27 A4 A4 8
28 A5 A5 7
29 A6 A6 6
30 A7 A7 5
32 A8 A8 27
33 A9 OE 24
34 A10 A10 23
35 A11 A11 25
36 A12 A12 4
37 A13 A13 28
38 A14 A14 29
39 A15 A15 3
41 A16 A16 2
55 PA2/CS6/TIOCB0 PGM 31
56 PA3/CS7/WAIT CE 22
42 A17 VCC 32
44 A18 VSS 16
15, 43, 70, 75, 83, 84, 99 VCC
80 MD0 • VPP: PROM program
81 MD1 power adapter (12.5 V)
• A16–A0: Address input
82 MD2
• I/O7–I/O0: Data input/
85, 86 AVCC, AVref
output
79 RES
• OE: Output enable
3, 12, 22, 31, 40, VSS • PGM: Program enable
52, 61, 72, 96, 106 • CE: Chip enable
87–90, 92–95 PC0/AN0–PC3/AN3
PC4/AN4–PC7/AN7
91 AVSS
Pins other than the above NC (leave open)
449
Addresses in MCU Addresses in
modes 0, 1, and 2* PROM mode
H'0000000 H'0000
On-chip
ROM space
(area 0)
H'000FFFF H'FFFF
Note: * Addresses in the figure are the uppermost shadow addresses of the on-chip ROM
space.
The write/verify specifications in PROM mode are the same as for the standard EPROM
HN27C101. Page programming is not supported, so do not set the PROM programmer to page
programming mode. Naturally, PROM programmers that only support page programming mode
cannot be used. When selecting a PROM programmer, check that the byte-by-byte high-speed,
high-reliability programming method is supported.
There are two on-chip PROM programming modes: write and verify (which reads and confirms
the data written). Use the pins to select the modes (table 17.2).
450
Table 17.2 Selecting PROM Programming Mode
Pin
Mode CE OE PGM VPP VCC I/O7–I/O0 A16–A0
Write 0 1 0 VPP VCC Data input Address input
Verify 0 0 1 Data output
Program inhibit 0 0 0 High impedance
0 1 1
1 0 0
1 1 1
Symbols:
0: Low
1: High
VPP: VPP level
VCC: VCC level
451
Start
Address = 0
n=0
n+1→n
No
No Verify Address + 1 →
result OK? Address
Yes
Data write
(tOPW = 0.2 n ms)
Final No
address?
Yes
Set EPROM
programmer to read mode
(VCC = 5.0 V ± 0.25 V,
VPP = VCC)
No Results of
No good reading all address
OK?
VCC: Power supply Yes
VPP: PROM program power supply
tPW: Initial programming pulse width End
tOPW: Overprogramming pulse width
452
Electrical Characteristics: Tables 17.3 and 17.4 show the electrical characteristics of
programming. Figure 17.5 shows the timing.
Table 17.3 DC Characteristics (VCC = 6.0 V ± 0.25 V, VPP = 12.5 ± 0.3 V, VSS = 0 V,
Ta = 25 ± 5˚C)
453
Table 17.4 AC Characteristics (VCC = 6.0 V ± 0.25 V, VPP = 12.5 ± 0.3 V, VSS = 0 V,
Ta = 25 ± 5˚C)
Test
Item Symbol Min Typ Max Unit Conditions
Address setup time t AS 2 — — µs Figure 17.5*1
OE setup time t OES 2 — — µs
Data setup time t DS 2 — — µs
Address hold time t AH 0 — — µs
Data hold time t DH 2 — — µs
Data output disable time t DF *2 — — 130 ns
VPP setup time t VPS 2 — — µs
PGM pulse width in initial programming t PW 0.19 0.20 0.21 ms
PGM pulse width in overprogramming t OPW *3 0.19 — 5.25 ms
VCC setup time t VCS 2 — — µs
CE setup time t CES 2 — — µs
Data output delay time t OE 0 — 150 ns
Notes: 1. Input pulse level: 0.45–2.4 V
Input rise, fall time ≤ 20 ns
Input timing reference levels: 0.8 V, 2.0 V
Output timing reference levels: 0.8 V, 2.0 V
2. t DF is defined at the point where the output is in the open state and the output level
cannot be referenced.
3. t OPW is defined by the value given in the flowchart.
454
Write Verify
Address
tAS tAH
VPP
VPP
VCC tVPS
VCC + 1
VCC
VCC tVCS
CE
tCES
PGM
tPW tOES tOE
(tOPW)*
OE
1. Always write using the prescribed voltage and timing. The write voltage (programming
voltage) VPP is 12.5 V (when the EPROM programmer is set to the Hitachi specifications for
HN27C101, VPP is 12.5 V.) Applying a voltage in excess of the rated voltage may damage the
device. Pay particular attention to overshoot in the EPROM programmer.
2. Before programming, always check that the index marks on the EPROM programmer socket,
socket adapter, and device are aligned with each other. If they are not correctly aligned, an
overcurrent may be generated, damaging the device.
3. Do not touch the socket adapter or device during writing. Contact can cause malfunctions that
will prevent data from being written accurately.
455
4. Page programming mode cannot be used. Always set the equipment to byte programming
mode.
5. The capacity of the on-chip ROM is 64 kbytes, so the data of PROM programmer addresses
H'10000–H'1FFFF should be H'FF. Always set the range for PROM addresses to H'0000–
H'FFFF.
6. When write errors occur on consecutive addresses, stop writing. Check to see if there are any
abnormalities in the EPROM programmer and socket adapter.
After programming, it is recommended that the device be left to stand at a high temperature to
increase the reliability of data retention. Letting it stand at a high temperature is a type of
screening method that can eliminate of initial data retention defects of the on-chip PROM's
memory cells within a short period of time. Figure 17.6 shows the flow from programming of the
on-chip PROM, including screening, to mounting on the device board.
Mount on board
If abnormalities are found when the program is written and verified or the program is read and
checked after writing/verification or letting the chip stand at high temperature, contact Hitachi's
engineering department.
456
Section 18 RAM
18.1 Overview
The SH7032 microcomputer has 8-kbytes of on-chip RAM; the SH7034 has 4 kbytes. The on-chip
RAM is linked to the CPU and direct memory access controller (DMAC) with a 32-bit data bus
(figure 18.1). The CPU can access data in the on-chip RAM in byte, word, or longword units. The
DMAC can access byte or word data. On-chip RAM data can always be accessed in one state,
making the RAM ideal for use as a program area, stack area, or data area, which require high-
speed access. The contents of the on-chip RAM are held in both the sleep and standby modes.
Memory area 7 addresses H'FFFE000 to H'FFFFFFF are allocated to the on-chip RAM in the
SH7032. In the SH7034, addresses H'FFFF000 to H'FFFFFFF are allocated.
457
SH7032
Internal data bus (32 bits)
On-chip RAM
Note: Addresses in the figure are the lowest shadow addresses in on-chip RAM space.
SH7034
Internal data bus (32 bits)
On-chip RAM
Note: Addresses in the figure are the lowest shadow addresses in on-chip RAM space.
18.2 Operation
458
Section 19 Power-Down State
19.1 Overview
In the power-down state, all CPU functions are halted. This lowers power consumption of the SH
microprocessor dramatically.
1. Sleep mode
2. Standby mode
Sleep mode and standby mode are entered from the program execution state according to the
transition conditions given in table 19.1. Table 19.1 also describes procedures for exiting each
mode and the states of the CPU and supporting functions.
State
Entering Supporting CPU I/O Exiting
Mode Procedure Clock CPU Functions Registers RAM Ports Procedure
Sleep Execute Runs Halted Run Held Held Held • Interrupt
mode SLEEP • DMA
instruction address error
with SBY bit
set to 0 in • Power-on reset
SBYCR • Manual reset
Standby Execute Halted Halted Halted* 1 Held Held Held or • NMI interrupt
mode SLEEP high-Z*2 • Power-on reset
instruction
with SBY bit • Manual reset
set to 1 in
SBYCR
SBYCR: Standby control register
SBY: Standby bit
Notes: 1. Some of the registers of the on-chip supporting modules are not initialized in standby
mode. For details, see table 19.3, Register States in Standby Mode, in section 19.4.1,
Transition to Standby Mode, or the descriptions of registers given where the on-chip
supporting modules are covered.
2. The status of I/O ports in standby mode are set by the port high-impedance bit (HIZ) in
SBYCR. See section 19.2, Standby Control Register (SBYCR), for details. The status of
pins other than the I/O ports are described in appendix B, Pin States.
459
19.1.2 Register
Bit: 7 6 5 4 3 2 1 0
Bit name: SBY HIZ — — — — — —
Initial value: 0 0 0 1 1 1 1 1
R/W: R/W R/W — — — — — —
• Bit 7 (Standby (SBY)): SBY enables transition to standby mode. The SBY bit cannot be set to
1 while the timer enable bit (bit TME) in timer control/status register TCSR of the watchdog
timer (WDT) is set to 1. To enter standby mode, clear the TME bit to 0 to halt the WDT and
then set the SBY bit.
SBY Description
0 Executing SLEEP instruction puts the chip into sleep mode (Initial value)
1 Executing SLEEP instruction puts the chip into standby mode
• Bit 6 (Port High-Impedance (HIZ)): HIZ selects whether I/O ports remain in their previous
states during standby, or are placed in the high-impedance state when standby mode is entered.
The HIZ bit cannot be set to 1 while the TME bit is set to 1. To place the pins of the I/O ports
in high impedance, clear the TME bit to 0 before setting the HIZ bit.
HIZ Description
0 Port states are maintained during standby (Initial value)
1 Ports are placed in the high-impedance state in standby
• Bits 5–0 (Reserved): Bit 5 is a read-only bit that is always read as 0. Only write 0 in bit 5.
Writing to bits 4–0 is disabled. These bits are always read as 1.
460
19.3 Sleep Mode
Execution of the SLEEP instruction when the standby bit (SBY) in the standby control register
(SBYCR) is cleared to 0 causes a transition from the program execution state to sleep mode.
Although the CPU halts immediately after executing the SLEEP instruction, the contents of its
internal registers remain unchanged. The on-chip supporting modules do not halt in sleep mode.
Sleep mode is exited by an interrupt, DMA address error, power-on reset, or manual reset.
Exit by Interrupt: When an interrupt occurs, sleep mode is exited and interrupt exception
handling is executed. Sleep mode is not exited if the interrupt cannot be accepted because its
priority level is equal to or less than the mask level set in the CPU’s status register (SR). Likewise,
sleep mode is not exited if the interrupt is disabled by the on-chip supporting module.
Exit by DMA Address Error: If the DMAC operates during sleep mode and a DMA address
error occurs, sleep mode is exited and DMA address error exception handling is executed.
Exit by Power-On Reset: If the RES signal goes low while the NMI signal is high, sleep mode is
exited and the power-on reset state is entered. If the NMI signal is brought from low to high in
order to set the chip for a power-on reset, an NMI interrupt will occur whenever the rising edge of
NMI is selected as the valid edge (with NMI edge select bit NMIE in the interrupt control register
(ICR) of the interrupt controller). When this occurs, the NMI interrupt clears sleep mode.
Exit by Manual Reset: If the RES signal goes low while the NMI signal is low, sleep mode is
exited and the manual reset state is entered. If the NMI signal is brought from high to low in order
to set the chip for a manual reset, sleep mode will be exited by an NMI interrupt whenever the
falling edge of NMI is selected as the valid edge (with the NMIE bit).
To enter standby mode, set the standby bit (SBY) to 1 in the standby control register (SBYCR),
then execute the SLEEP instruction. The chip switches from the program execution state to
standby mode. Standby mode greatly reduces power consumption by halting not only the CPU,
but the clock and on-chip supporting modules as well. Some registers of the on-chip supporting
modules are initialized, others are not (See table 19.3). As long as the specified voltage is
supplied, however, CPU register contents and on-chip RAM data are held. The I/O port state (hold
461
or high impedance) depends on the port high-impedance bit (HIZ) in SBYCR. For details on the
states of these pins, see appendix B, Pin States.
462
19.4.2 Exiting Standby Mode
Exit by NMI: When a rising edge or falling edge (as selected by the NMIE bit in the interrupt
control register (ICR) of the interrupt controller (INTC)) is detected at the NMI pin, the clock
oscillator begins operating. At first, clock pulses are supplied only to the watchdog timer. After the
time that was selected before entering standby mode using clock select bits 2–0 (CKS2–CKS0) in
the timer control/status register (TCSR) of the watchdog timer (WDT), the watchdog timer
overflows. After the overflow, the clock is considered stable and supplied to the entire chip.
Standby mode is exited and the NMI exception handling sequence begins.
When standby mode is cleared by an NMI interrupt, bits CKS2–CKS0 must be set so that the
WDT overflow interval is equal to or greater than the clock settling time. When standby mode is
cleared when the falling edge has been selected with the NMI bit, be sure that the NMI pin is high
when standby mode is entered (when the clock is halted) and low when the chip returns from
standby mode (clock starts up after the oscillator is stabilized). Likewise, when standby mode is
cleared when the rising edge has been selected with the NMI bit, be sure that the NMI pin is low
when standby mode is entered (clock halted) and high when the chip returns from standby mode
(clock starts up after the oscillator is stabilized).
Exit by Power-On Reset: If the RES signal goes low while the NMI signal is high, standby mode
is exited and the power-on reset state is entered. If the NMI signal is brought from low to high in
order to set the chip for a power-on reset, standby mode will not be exited by an NMI interrupt,
because the NMI signal is initialized for the falling edge in standby mode (by the NMIE bit).
Exit by Manual Reset: If the RES signal goes low while the NMI signal is low, standby mode is
exited and the manual reset state is entered. If the NMI signal is brought from high to low in order
to set the chip for a manual reset, standby mode will first be exited by an NMI interrupt, because
the NMI signal is initialized for the falling edge in standby mode (by the NMIE bit).
In this example, standby mode is entered on the falling edge of the NMI signal and exited on the
rising edge of the NMI signal. Figure 19.1 shows the timing.
After an NMI interrupt is accepted on a high-to-low transition at the NMI pin while NMI edge
select bit NMIE in the interrupt control register (ICR) is cleared to 0 to select falling edge
detection, the NMI exception handling routine sets NMIE to 1 (selecting rising edge detection)
and sets the SBY bit to 1. Finally, it executes a SLEEP instruction to enter standby mode.
463
Oscillator
CK
NMI
NMIE
SSBY
464
Section 20 Electrical Characteristics
20.1.2 DC Characteristics
Table 20.2 lists DC characteristics. Table 20.3 lists the permissible output current values.
Usage Conditions:
• Do not release AVCC , AVref and AVSS when the A/D converter is not in use. Connect AVCC
and AVref to VCC and AVSS to VSS.
• The current consumption value is measured under conditions of VIH min = VCC – 0.5 V and
VIL max = 0.5 V with no load on any output pin and the on-chip pull-up MOS off.
• Even when the A/D converter is not used or is in standby mode, connect AVCC and AVref to
the power voltage(VCC).
465
Table 20.2 DC Characteristics
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz, Ta = –20 to +75°C*)
466
Table 20.2 DC Characteristics (cont)
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz, Ta = –20 to +75°C*)
467
Table 20.2 DC Characteristics (cont)
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*)
468
Table 20.2 DC Characteristics (cont)
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*)
469
Table 20.2 DC Characteristics (cont)
Conditions: VCC = 3.0 V to 5.5 V, AVCC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*)
470
Table 20.2 DC Characteristics (cont)
Conditions: VCC = 3.0 V to 5.5 V, AVCC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*)
471
Usage Notes:
1. If the A/D converter is not used, do not leave the AVCC, Vref, and AVSS pins open. Connect
AVCC and AVref to VCC, and connect AVSS to VSS .
2. Current dissipation values are for VIH min = VCC - 0.5 V and VIL max = 0.5 V with all output
pins unloaded and the on-chip pull-up transistors in the off state.
3. ICC depends on VCC and f as follows:
ICC max = 1.0 (mA) + 1.29 (mA/MHz · V) × VCC × f [ordinary operation]
ICC max = 1.0 (mA) + 1.00 (mA/MHz · V) × VCC × f [sleep]
4. When the A/D converter is not used, and in standby mode, AVCC and AVref must still be
connected to the power supply (VCC).
5. The ZTAT and mask versions have the same functions, and the electrical characteristics of
both are within specification, but characteristic-related performance values, operating margins,
noise margins, noise emission, etc., are different. Caution is therefore required in carrying out
system design, and when switching between ZTAT and mask versions.
472
Table 20.3 Permitted Output Current Values
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*)
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*)
Case A Case B
12.5 MHz 16.6 MHz 20 MHz
Item Symbol Min Typ Max Min Typ Max Min Typ Max Unit
Output low-level I OL — — 10 — — 10 — — 10 mA
permissible current
(per pin)
Output low-level ∑ IOL — — 80 — — 80 — — 80 mA
permissible current
(total)
Output high-level –I OH — — 2.0 — — 2.0 — — 2.0 mA
permissible current
(per pin)
Output high-level –∑ IOH — — 25 — — 25 — — 25 mA
permissible current
(total)
Caution: To ensure reliability of the chip, do not exceed the output current values given in table
20.3.
473
20.1.3 AC Characteristics
The following AC timing chart represents the AC characteristics, not signal functions. For signal
functions, see the explanation in the text.
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*)
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*)
Case A Case B
474
tcyc
tEXH tEXL
tEXr tEXf
tCYC
tCH tCL
CK
tCf tCr
CK
VCC
tOSC2
tOSC1
RES
475
(2) Control Signal Timing
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*)
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*)
Case A Case B
12.5 MHz 16.6 MHz 20 MHz
Item Symbol Min Max Min Max Min Max Unit Figure
RES setup time t RESS 320 — 240 — 200 — ns 20.4
RES pulse width t RESW 20 — 20 — 20 — t cyc
NMI reset setup time t NMIRS 320 — 240 — 200 — ns
NMI reset hold time t NMIRH 320 — 240 — 200 — ns
NMI setup time t NMIS 160 — 120 — 100 — ns 20.5
NMI hold time t NMIH 80 — 60 — 50 — ns
IRQ0–IRQ7 setup time (edge t IRQES 160 — 120 — 100 — ns
detection)
IRQ0–IRQ7 setup time (level t IRQLS 160 — 120 — 100 — ns
detection)
IRQ0–IRQ7 hold time t IRQEH 80 — 60 — 50 — ns
IRQOUT output delay time t IRQOD — 80 — 60 — 50 ns 20.6
Bus request setup time t BRQS 80 — 60 — 50 — ns 20.7
Bus acknowledge delay time 1 t BACD1 — 80 — 60 — 50 ns
Bus acknowledge delay time 2 t BACD2 — 80 — 60 — 50 ns
Bus 3-state delay time t BZD — 80 — 60 — 50 ns
476
CK
tRESS tRESS
RES
tNMIRS tRESW tNMIRH
NMI
CK
tNMIS tNMIH
NMI
tIRQES tIRQEH
IRQ edge
tIRQLS
IRQ level
CK
tIRQOD tIRQOD
IRQOUT
477
CK
tBRQS
tBRQS
BREQ
(Input)
tBACD1 tBACD2
BACK
(Output)
tBZD
RD,
WR, RAS,
CAS, CSn tBZD
A21–A0
478
(3) Bus Timing
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz, Ta = –20 to +75°C*
479
Table 20.6 Bus Timing (1) (cont)
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%,AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz, Ta = –20 to +75°C*
480
Table 20.6 Bus Timing (1) (cont)
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz, Ta = –20 to +75°C*
481
Table 20.7 Bus Timing (2)
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*
482
Table 20.7 Bus Timing (2) (cont)
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*
483
Table 20.7 Bus Timing (2) (cont)
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*
DACK0, DACK1 delay time 3*7 t DACD3 — 25 ns 20.9, 20.13, 20.14, 20.19
DACK0, DACK1 delay time 4 t DACD4 — 25 ns 20.11, 20.12
DACK0, DACK1 delay time 5 t DACD5 — 25 ns
Read delay time 35% duty *2 t RDD — t cyc × 0.35 + 12 ns 20.8, 20.9, 20.11-20.15,
50% duty — t cyc × 0.5 + 15 ns 20.19
484
T1
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
tRDD tRDAC1*1 tRSD
RD (Read)
DACK0
DACK1
Notes: 1. For tRDAC1, use t cyc × 0.65 – 20 (for 35% duty) or t cyc × 0.5 – 20 (for 50% duty)
instead of tcyc – t RDD – t RDS.
2. For tACC1, use t cyc – 30 instead of t cyc – t AD (or tCSD1) – tRDS.
3. t RDH is measured from A21–A0, CSn, or RD, whichever is negated first.
485
T1 T2
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
RD (Read)
WRH, WRL,
WR (Write)
tWDD1 tWDH
AD15–AD0
(Write)
tWPDD1 tWPDH
DPH, DPL
(Write)
tDACD3 tDACD3
DACK0
DACK1
(Write)
Notes: 1. For tRDAC2, use t cyc × (n + 1.65) – 20 (for 35% duty) or tcyc × (n + 1.5) – 20 (for
50% duty) instead of tcyc × (n + 2) – tRDD – tRDS.
2. For tACC2, use t cyc × (n + 2) – 30 instead of tcyc × (n + 2) – tAD (or tCSD1) – tRDH.
3. t RDH is measured from A21–A0, CSn, or RD, whichever is negated first.
486
T1 TW T2
CK
A21–A0
HBS, LBS
CSn
tRDAC2*1
RD
(Read)
tACC2*2
AD15–AD0
DPH, DPL
(Read)
DACK0
DACK1
(Read)
WRH, WRL,
WR (Write)
AD15–AD0
DPH, DPL
(Write)
DACK0
DACK1
(Write)
tWTS tWTH tWTS tWTH
WAIT
Notes: 1. For tRDAC2, use t cyc × (n+1.65) – 20 (for 35% duty) or tcyc × (n+1.5) – 20 (for 50%
duty) instead of t cyc × (n+2) – tRDD – tRDS.
2. For tACC2, use t cyc × (n+2) – 30 instead of tcyc × (n+2) – tAD (or tCSD1) – tRDS.
487
Tp Tr Tc
CK
tAD tAD
Notes: 1. For tCAC1, use t cyc × 0.65 – 19 (for 35% duty) or t cyc × 0.5 – 19 (for 50% duty)
instead of tcyc – t AD – t ASC – tRDS.
2. For tACC1, use t cyc – 30 instead of t cyc – t AD – t RDS.
3. For tRAC1, use t cyc × 1.5 – 20 instead of t cyc × 1.5 – t RASD1 – tRDS.
4. t RDH is measured from A21–A0, RAS, or CAS, whichever is negated first.
488
Tp Tr Tc Tc Tc Tc
CK
tAD tAD
A21–A0 Row address Column address Column address Column address Column address
tRASD1 tRASD2
RAS
tASC tCP
CAS
tRDD
tRSD
RD(Read)
WRH, WRL,
WR(Read)
tACP
tCAC1*1
Notes: 1. For tCAC1, use tcyc × 0.65 – 19 (for 35% duty) or t cyc x 0.5 – 19 (for 50% duty) instead
of t cyc – t AD – t ASC – tRDS.
It is not necessary to meet the tRDS specification as long as the t CAC1 specification is
met.
2. For tACC1, use tcyc – 30 instead of t cyc – t AD – t RDS .
It is not necessary to meet the tRDS specification as long as the t ACC1 specification is
met.
3. For tRAC1, use tcyc × 1.5 – 20 instead of t cyc × 1.5 – t RASD1 – t RDS .
It is not necessary to meet the tRDS specification as long as the t RAC1 specification is
met.
4. t RDH is measured from A21—A0 or CAS, whichever is negated first.
5. t RDH is measured from A21—A0, RAS, or CAS, whichever is negated first.
Figure 20.12 (a) DRAM Bus Cycle (Short-Pitch, High-Speed Page Mode: Read)
489
Silent
Tp Tr Tc cycle Tc
CK
tAD tAD
tRASD1 tRASD2
RAS
tASC
CAS
RD (Write)
tWSD3 tWSD4
WRH, WRL,
WR (Write)
tWDD2 tWDH
AD15–AD0
DPH, DPL
(Write)
tWPDD2 tWPDH
DPH, DPL
(Write)
Figure 20.12 (b) DRAM Bus Cycle (Short-Pitch, High-Speed Page Mode: Write)
Note: For details of the silent cycle, see section 8.5.5, DRAM Burst Mode.
490
Tp Tr Tc1 Tc2
CK
tAD tAD
491
Tp Tr Tc1 Tc2 Tc1 Tc2
CK
tAD tAD
WRH, WRL,
WR (Read)
tCAC2*1
tACC2*2 tRDS tRDH*4 tRDH*5
AD15–AD0 tRAC2*3
DPH, DPL
(Read)
tDACD1 tDACD2 tDACD1 tDACD2
DACK0
DACK1
(Read)
RD(Write)
tWSD1 tWSD2 tWSD1 tWSD2
WRH, WRL,
WR(Write)
tWDD1 tWDH tWDD1 tWDH
AD15–AD0
(Write)
tWPDD1 tWPDH tWPDD1 tWPDH
DPH, DPL
(Write)
tDACD3 tDACD3 tDACD3 tDACD3
DACK0
DACK1
(Write)
492
Tp Tr Tc1 Tw Tc2
CK
tRSD
RAS
CAS tRDD
RD(Read)
WRH, WRL,
WR(Read) tCAC2*1
tACC2*2
tRAC2*3
AD15–AD0
DPH, DPL
(Read)
DACK0
DACK1
(Read)
RD(Write)
WRH, WRL,
WR(Write)
AD15–AD0
(Write)
DPH, DPL
(Write)
DACK0
DACK1
(Write)
tWTS tWTH tWTS tWTH
WAIT
Figure 20.15 DRAM Bus Cycle: (Long-Pitch, High-Speed Page Mode + Wait State)
493
TRp TRr TRc
CK
tRASD1 tRASD2
RAS
tCSR tCASD3
tCASD2
CAS
WRH, WRL,
WR
CK
tRASD1 tRASD2
RAS tCSR
tCASD3
tCASD2
CAS
WRH,
WRL,
WR
494
TRp TRr TRc TRcc
CK
tRASD1 tRASD2
RAS
tCSR
tCASD3
tCASD2
CAS
495
T1 T2 T3 T4
CK
tAD
A21–A0
HBS, LBS
tCSD3 tCSD4
CS6
tAHD1 tAHD2
AH
tRDD tRSD
RD
(Read)
tDACD1 tDACD2
DACK0
DACK1
(Read)
tWSD1 tWSD2
WRH, WRL,
WR (Write)
tMAD tMAH tWDD1 tWDH
AD15–AD0
(Write) Address Data (output)
tDACD3 tDACD3
DACK0
DACK1
(Write) tWTH
tWTS
WAIT
496
T1
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
tWSD1 tWSD4
WRH, WRL,
WR (Write)
tDACD1 tDACD2
DACK0
DACK1
(Write)
497
Table 20.8 Bus Timing (3)
Conditions: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*
498
Table 20.8 Bus Timing (3) (cont)
Conditions: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*
499
Table 20.8 Bus Timing (3) (cont)
Conditions: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, VCC = AVCC ±10%, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*
500
T1
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
tRDD tRDAC1*1 tRSD
RD (Read)
DACK0
DACK1
Notes: 1. For tRDAC1, use t cyc × 0.65 – 35 (for 35% duty) or t cyc × 0.5 – 35 (for 50% duty)
instead of tcyc – t RDD – t RDS.
2. For tACC1, use t cyc – 44 instead of t cyc – t AD (or tCSD1) – tRDS.
3. t RDH is measured from A21–A0, CSn, or RD, whichever is negated first.
501
T1 T2
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
RD (Read)
WRH, WRL,
WR (Write)
tWDD1 tWDH
AD15–AD0
(Write)
tWPDD1 tWPDH
DPH, DPL
(Write)
tDACD3 tDACD3
DACK0
DACK1
(Write)
Notes: 1. For tRDAC2, use t cyc × (n + 1.65) – 35 (for 35% duty) or tcyc × (n + 1.5) – 35 (for
50% duty) instead of tcyc × (n + 2) – tRDD – tRDS.
2. For tACC2, use t cyc × (n + 2) – 44 instead of tcyc × (n + 2) – tAD (or tCSD1) – tRDS480.
3. t RDH is measured from A21–A0, CSn, or RD, whichever is negated first.
502
T1 TW T2
CK
A21–A0
HBS, LBS
CSn
tRDAC2*1
RD
(Read)
tACC2*2
AD15–AD0
DPH, DPL
(Read)
DACK0
DACK1
(Read)
WRH, WRL,
WR (Write)
AD15–AD0
DPH, DPL
(Write)
DACK0
DACK1
(Write)
tWTS tWTH tWTS tWTH
WAIT
Notes: 1. For tRDAC2, use t cyc × (n + 1.65) – 35 (for 35% duty) or tcyc × (n + 1.5) – 35 (for
50% duty) instead of tcyc × (n + 2) – tRDD – tRDS.
2. For tACC2, use t cyc × (n + 2) – 44 instead of tcyc × (n + 2) – tAD (or tCSD1) – tRDS.
503
Tp Tr Tc
CK
tAD tAD
tRAH tRASD2
tRASD1
RAS
tDS
tASC tCASD1
tRSD
CAS tRDD
RD(Read)
tWCH
WRH, WRL,
WR(Read) tDACD1 tDACD2
DACK0
DACK1
(Read)
tCAC1*1
tACC1*2
tRAC1*3 tRDH*4
AD15–AD0 tRDS
DPH, DPL
(Read)
RD(Write) tWCS
tWSD3 tWSD4
WRH, WRL,
WR(Write)
tWDD2 tWDH
AD15–AD0
(Write)
tWPDH
tWPDD2
DPH, DPL
(Write)
tDACD4 tDACD5
DACK0
DACK1
(Write)
Notes: 1. For tCAC1, use t cyc × 0.65 – 35 (for 35% duty) or tcyc × 0.5 – 35 (for 50% duty)
instead of tcyc – t AD – t ASC – tRDS.
2. For tACC1, use t cyc – 44 instead of t cyc – t AD – t RDS.
3. For tRAC1, use t cyc × 1.5 – 35 instead of t cyc × 1.5 – t RASD1 – tRDS.
4. t RDH is measured from A21–A0, RAS, or CAS, whichever is negated first.
504
Tp Tr Tc Tc Tc Tc
CK
tAD tAD
A21–A0 Row address Column address Column address Column address Column address
tRASD1 tRASD2
RAS
tASC tCP
CAS
tRDD
tRSD
RD(Read)
WRH, WRL,
WR(Read)
tACP
tCAC1*1
Notes: 1. For tCAC1, use tcyc × 0.65 – 35 (for 35% duty) or t cyc × 0.5 – 35 (for 50% duty) instead
of t cyc – t AD – t ASC – tRDS .
It is not necessary to meet the tRDS specification as long as the t CAC1 specification is
met.
2. For tACC1, use tcyc – 44 instead of t cyc – t AD – t RDS .
It is not necessary to meet the tRDS specification as long as the t ACC1 specification is
met.
3. For tRAC1, use tcyc × 1.5 – 35 instead of t cyc × 1.5 – t RASD1 – t RDS .
It is not necessary to meet the tRDS specification as long as the t RAC1 specification is
met.
4. t RDH is measured from A21—A0 or CAS, whichever is negated first.
5. t RDH is measured from A21—A0, RAS, or CAS, whichever is negated first.
Figure 20.25 (a) DRAM Bus Cycle (Short-Pitch, High-Speed Page Mode: Read)
505
Silent
Tp Tr Tc cycle Tc
CK
tAD tAD
tRASD1 tRASD2
RAS
tASC
CAS
RD (Write)
tWSD3 tWSD4
WRH, WRL,
WR (Write)
tWDD2 tWDH
AD15–AD0
DPH, DPL
(Write)
tWPDD2 tWPDH
DPH, DPL
(Write)
Figure 20.25 (b) DRAM Bus Cycle (Short-Pitch, High-Speed Page Mode: Write)
Note: For details of the silent cycle, see section 8.5.5, DRAM Burst Mode.
506
Tp Tr Tc1 Tc2
CK
tAD tAD
RAS
tDS
tCASD2 tCASD3
CAS tRDD
tRSD
RD(Read)
tWCH
WRH, WRL,
WR(Read) tCAC2*1
tACC2*2
AD15–AD0 tRDH*4
tRAC2*3 tRDS
DPH, DPL
(Read)
tDACD2
DACK0 tDACD1
DACK1
(Read)
RD(Write)
tWSD1 tWSD2
WRH, WRL,
WR(Write)
tWDH
tWDD1
AD15–AD0
(Write)
tWPDH
tWPDD1
DPH, DPL
(Write)
tDACD3 tDACD3
DACK0
DACK1
(Write)
507
Tp Tr Tc1 Tc2 Tc1 Tc2
CK
tAD tAD
WRH, WRL,
WR(Read)
tCAC2*1
tACC2*2 tRDS tRDH*4 tRDH*5
AD15–AD0 tRAC2*3
DPH, DPL
(Read)
tDACD1 tDACD2 tDACD1 tDACD2
DACK0
DACK1
(Read)
RD(Write)
tWSD1 tWSD2 tWSD1 tWSD2
WRH, WRL,
WR(Write)
tWDD1 tWDH tWDD1 tWDH
AD15–AD0
(Write)
tWPDD1 tWPDH tWPDD1 tWPDH
DPH, DPL
(Write)
tDACD3 tDACD3 tDACD3 tDACD3
DACK0
DACK1
(Write)
508
Tp Tr Tc1 Tw Tc2
CK
tRSD
RAS
tRDD
CAS
RD(Read)
WRH, WRL,
WR(Read) tCAC2*1
tACC2*2
tRAC2*3
AD15–AD0
DPH, DPL
(Read)
DACK0
DACK1
(Read)
RD(Write)
WRH, WRL,
WR(Write)
AD15–AD0
(Write)
DPH, DPL
(Write)
DACK0
DACK1
(Write)
tWTS tWTH tWTS tWTH
WAIT
Figure 20.28 DRAM Bus Cycle: (Long-Pitch, High-Speed Page Mode + Wait State)
509
TRp TRr TRc
CK
tRASD1 tRASD2
RAS tCSR
tCASD3
tCASD2
CAS
WRH,
WRL,
WR
CK
tRASD1 tRASD2
RAS tCSR
tCASD3
tCASD2
CAS
WRH,
WRL,
WR
CK
tRASD1 tRASD2
RAS
tCSR
tCASD3
tCASD2
CAS
510
T1 T2 T3 T4
CK
tAD
A21–A0
HBS, LBS
tCSD3 tCSD4
CS6
tAHD1 tAHD2
AH
tRDD tRSD
RD
(Read)
tDACD3 tDACD3
DACK0
DACK1
(Write) tWTH
tWTS
WAIT
511
T1
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
tWSD1 tWSD4
WRH, WRL,
WR (Write)
tDACD1 tDACD2
DACK0
DACK1
(Write)
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*
Case A Case B
12.5 MHz 16.6 MHz 20 MHz
Item Symbol Min Max Min Max Min Max Unit Figure
DREQ0, DREQ1 setup time t DRQS 80 — 40 — 27 — ns 20.34
DREQ0, DREQ1 hold time t DRQH 30 — 30 — 30 — ns
DREQ0, DREQ1 Pulse width t DRQW 1.5 — 1.5 — 1.5 — t cyc 20.35
512
CK
tDRQS
DREQ0, DREQ1
level
tDRQS tDRQH
DREQ0, DREQ1
edge
tDRQS
DREQ0, DREQ1
level release
CK
DREQ0, DREQ1
edge
tDRQW
513
(5) 16-bit Integrated Timer Pulse Unit Timing
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, Ta = –20 to +75°C*
Case A Case B
12.5 MHz 16.6 MHz 20 MHz
Item Symbol Min Max Min Max Min Max Unit Figure
Output compare delay time t TOCD — 100 — 100 — 100 ns 20.36
Input capture setup time t TICS 50 — 45 — 35 — ns
Timer clock input setup time t TCKS 50 — 50 — 50 — ns 20.37
Timer clock pulse width t TCKWH/L 1.5 — 1.5 — 1.5 — t cyc
(single edge)
Timer clock pulse width t TCKWL/L 2.5 — 2.5 — 2.5 — t cyc
(both edges)
CK
tTOCD
Output
compare*1
tTICS
Input
capture*2
514
CK
tTCKS tTCKS
TCLKA–
TCLKD
tTCKWL tTCKWH
Table 20.11 Programmable Timing Pattern Controller and I/O Port Timing
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*
Case C: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, φ = 20 MHz, Ta = –20 to +75°C*
Cases A, B and C
Item Symbol Min Max Unit Figure
Port output delay time t PWD — 100 ns 20.38
Port input hold time t PRH 50 — ns
Port input setup time t PRS 50 — ns
515
T1 T2 T3
CK
tPRS tPRH
Ports A–C
(Read)
tPWD
Ports A–C
(Write)
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*
Case C: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, φ = 20 MHz, Ta = –20 to +75°C*
Cases A, B and C
Item Symbol Min Max Unit Figure
WDTOVF delay time t WOVD — 100 ns 20.39
CK
tWOVD tWOVD
WDTOVF
516
(8) Serial Communication Interface Timing
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*
Case C: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, f = 20 MHz, Ta = –20 to +75°C*
Cases A, B and C
Item Symbol Min Max Unit Figure
Input clock cycle t scyc 4 — t cyc 20.40
Input clock cycle (synchronous mode) t scyc 6 — t cyc
Input clock pulse width t sckw 0.4 0.6 t scyc
Input clock rise time t sckr — 1.5 t cyc
Input clock fall time t sckf — 1.5 t cyc
Transmit data delay time (synchronous t TXD — 100 ns 20.41
mode)
Receive data setup time (synchronous t RXS 100 — ns
mode)
Receive data hold time (synchronous t RXH 100 — ns
mode)
SCK0, SCK1
tscyc
517
tscyc
SCK0, SCK1
tTXD
TxD0, TxD1
(transmit data)
tRXS tRXH
RxD0, RxD1
(receive data)
Case A: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to AVCC,
VSS = AVSS = 0 V, φ = 12.5 MHz, Ta = –20 to +75°C*
Case B: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, φ = 16.6 MHz, Ta = –20 to +75°C*
Case C: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to AVCC,
VSS = AVSS = 0 V, φ = 20 MHz, Ta = –20 to +75°C*
Cases A, B and C
Item Symbol Min typ Max Unit Figure
External trigger input pulse width t TRGW 2.0 — — t cyc 20.42
External trigger input start delay time t TRGS 50 — — ns
A/D conversion CKS = 0 tD 10 — 17 t cyc 20.43
start delay time
CKS = 1 6 — 9 t cyc
Input sampling time CKS = 0 t SPL — 64 — t cyc
CKS = 1 — 32 — t cyc
A/D conversion CKS = 0 t CONV 259 — 266 t cyc
time
CKS = 1 131 — 134 t cyc
518
1 state
CK
ADTRG
input
tTRGW tTRGS tTRGW
ADST
tCONV
tD tSPL
Max.
3 states 14 states
CK
Address
Analog input
sampling
signal
ADF
519
(10) AC Characteristics Test Conditions
IOL
IOH
520
20.1.4 A/D Converter Characteristics
Conditions: VCC = 5.0 V ±10%, AVCC = 5.0 V ±10%, AVCC = VCC ±10%, AVref = 4.5 V to
AVCC, VSS = AVSS = 0 V, Ta = –20 to +75°C*
Conditions: VCC = 3.0 to 5.5 V, AV CC = 3.0 to 5.5 V, AV CC = VCC ±10%, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, Ta = –20 to +75°C*
12.5 MHz
Item Min Typ Max Unit
Resolution 10 10 10 bit
Conversion time — — 11.2 µS
Analog input capacitance — — 20 pF
Permissible signal-source impedance — — 3 kΩ
Nonlinearity error — — ±4.0 LSB
Offset error — — ±4.0 LSB
Full-scale error — — ±4.0 LSB
Quantization error — — ±0.5 LSB
Absolute accuracy — — ±6.0 LSB
521
20.2 SH7034B 3.3 V 20 MHz Version Electrical Characteristics
20.2.2 DC Characteristics
Table 20.17 lists DC characteristics. Table 20.18 lists the permissible output current values.
Usage Conditions:
• Do not release AVCC , AVref and AVSS when the A/D converter is not in use. Connect AVCC
and AVref to VCC and AVSS to VSS.
• The current consumption value is measured under conditions of VIH min = VCC – 0.5 V and
VIL max = 0.5 V with no load on any output pin and the on-chip pull-up MOS off.
• Even when the A/D converter is not used or is in standby mode, connect AVCC and AVref to
the power voltage(VCC).
522
Table 20.17 DC Characteristics
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
523
Table 20.17 DC Characteristics (cont)
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
Sleep — 30 40 mA f = 20 MHz
Standby — 0.1 5 µA Ta ≤ 50°C
— — 10 µA 50°C < Ta
Analog power Ordinary AI CC — 0.5 1 mA
supply current operation,
Sleep
Standby — 0.1 5 µA
Reference Ordinary AI ref — 0.5 1 mA
power supply operation,
current Sleep
Standby — 0.1 5 µA
RAM standby VRAM 2.0 — — V
voltage
524
Usage Notes:
1. If the A/D converter is not used, do not leave the AVCC, Vref, and AVSS pins open. Connect
AVCC and AVref to VCC, and connect AVSS to VSS .
2. Current dissipation values are for VIH min = VCC - 0.5 V and VIL max = 0.5 V with all output
pins unloaded and the on-chip pull-up transistors in the off state.
3. When the A/D converter is not used, and in standby mode, AVCC and AVref must still be
connected to the power supply (VCC).
4. The Characteristic-related performance values, operating margins, noise margins, noise
emissions, etc., of this LSI are different from HD6417034A, etc. Caution is therefore required
in carrying out system design, when switching from ZTAT version.
525
Table 20.18 Permitted Output Current Values
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, Ta = –20 to +75°C*
20 MHz
Item Symbol Min Typ Max Unit
Output low-level permissible current (per pin) I OL — — 10 mA
Output low-level permissible current (total) ∑ IOL — — 80 mA
Output high-level permissible current (per pin) –I OH — — 2.0 mA
Output high-level permissible current (total) –∑ IOH — — 25 mA
Caution: To ensure reliability of the chip, do not exceed the output current values given in table
20.18.
526
20.2.3 AC Characteristics
The following AC timing chart represents the AC characteristics, not signal functions. For signal
functions, see the explanation in the text.
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, Ta = –20 to +75°C*
20 MHz
Item Symbol Min Max Unit Figures
EXTAL input high level pulse width t EXH 15 — ns 20.45
EXTAL input low level pulse width t EXL 15 — ns
EXTAL input rise time t EXr — 5 ns
EXTAL input fall time t EXf — 5 ns
Clock cycle time t cyc 50 250 ns 20.45, 20.46
Clock high pulse width t CH 17.5 — ns 20.46
Clock low pulse width t CL 17.5 — ns
Clock rise time t Cr — 5 ns
Clock fall time t Cf — 5 ns
Reset oscillation settling time t OSC1 10 — ms 20.47
Software standby oscillation settling time t OSC2 10 — ms
527
tcyc
tEXH tEXL
tEXr tEXf
tCYC
tCH tCL
CK
tCf tCr
CK
VCC
tOSC2
tOSC1
RES
528
(2) Control Signal Timing
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, Ta = –20 to +75°C*
20 MHz
Item Symbol Min Max Unit Figure
RES setup time t RESS 200 — ns 20.48
RES pulse width t RESW 20 — t cyc
NMI reset setup time t NMIRS 200 — ns
NMI reset hold time t NMIRH 200 — ns
NMI setup time t NMIS 100 — ns 20.49
NMI hold time t NMIH 50 — ns
IRQ0–IRQ7 setup time (edge detection) t IRQES 100 — ns
IRQ0–IRQ7 setup time (level detection) t IRQLS 100 — ns
IRQ0–IRQ7 hold time t IRQEH 50 — ns
IRQOUT output delay time t IRQOD — 50 ns 20.50
Bus request setup time t BRQS 50 — ns 20.51
Bus acknowledge delay time 1 t BACD1 — 50 ns
Bus acknowledge delay time 2 t BACD2 — 50 ns
Bus 3-state delay time t BZD — 50 ns
529
CK
tRESS tRESS
RES
tNMIRS tRESW tNMIRH
NMI
CK
tNMIS tNMIH
NMI
tIRQES tIRQEH
IRQ edge
tIRQLS
IRQ level
CK
tIRQOD tIRQOD
IRQOUT
530
CK
tBRQS
tBRQS
BREQ
(Input)
tBACD1 tBACD2
BACK
(Output)
tBZD
RD,
WR, RAS,
CAS, CSn tBZD
A21–A0
531
(3) Bus Timing
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
532
Table 20.21 Bus Timing (cont)
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
533
Table 20.21 Bus Timing (cont)
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
534
Notes: 1. HBS and LBS signals are 25 ns.
2. When frequency is 10 MHz or more.
3. n is the number of wait cycles.
4. Access time from addresses A0 to A21 is tcyc-25 ns.
5. –5ns for parity output of DRAM long-pitch access.
6. It is not necessary to meet the tRDS specification as long as the access time
specification is met.
7. In the relationship of tCASD2 and tCASD3 with respect to tDACD3 , a Min-Max combination
does not occur because of the logic structure.
T1
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
tRDD tRDAC1*1 tRSD
RD (Read)
DACK0
DACK1
Notes: 1. For tRDAC1, use t cyc × 0.65 – 20 (for 35% duty) or t cyc × 0.5 – 20 (for 50% duty)
instead of tcyc – t RDD – t RDS.
2. For tACC1, use t cyc – 30 instead of t cyc – t AD (or tCSD1) – tRDS.
3. t RDH is measured from A21–A0, CSn, or RD, whichever is negated first.
535
T1 T2
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
RD (Read)
WRH, WRL,
WR (Write)
tWDD1 tWDH
AD15–AD0
(Write)
tWPDD1 tWPDH
DPH, DPL
(Write)
tDACD3 tDACD3
DACK0
DACK1
(Write)
Notes: 1. For tRDAC2, use t cyc × (n + 1.65) – 20 (for 35% duty) or tcyc × (n + 1.5) – 20 (for
50% duty) instead of tcyc × (n + 2) – tRDD – tRDS.
2. For tACC2, use t cyc × (n + 2) – 30 instead of tcyc × (n + 2) – tAD (or tCSD1) – tRDH.
3. t RDH is measured from A21–A0, CSn, or RD, whichever is negated first.
536
T1 TW T2
CK
A21–A0
HBS, LBS
CSn
tRDAC2*1
RD
(Read)
tACC2*2
AD15–AD0
DPH, DPL
(Read)
DACK0
DACK1
(Read)
WRH, WRL,
WR (Write)
AD15–AD0
DPH, DPL
(Write)
DACK0
DACK1
(Write)
tWTS tWTH tWTS tWTH
WAIT
Notes: 1. For tRDAC2, use t cyc × (n+1.65) – 20 (for 35% duty) or tcyc × (n+1.5) – 20 (for 50%
duty) instead of t cyc × (n+2) – tRDD – tRDS.
2. For tACC2, use t cyc × (n+2) – 30 instead of tcyc × (n+2) – tAD (or tCSD1) – tRDS.
537
Tp Tr Tc
CK
tAD tAD
tACC1*2 tRDH*4
AD15–AD0 tRAC1*3 tRDS
DPH, DPL
(Read)
RD(Write) tWSD3 tWSD4
tWCS
WRH, WRL,
WR(Write)
tWDD2 tWDH
AD15–AD0
(Write)
tWPDH
tWPDD2
DPH, DPL
(Write)
tDACD4 tDACD5
DACK0
DACK1
(Write)
Notes: 1. For tCAC1, use t cyc × 0.65 – 19 (for 35% duty) or t cyc × 0.5 – 19 (for 50% duty)
instead of tcyc – t AD – t ASC – tRDS.
2. For tACC1, use t cyc – 30 instead of t cyc – t AD – t RDS.
3. For tRAC1, use t cyc × 1.5 – 20 instead of t cyc × 1.5 – t RASD1 – tRDS.
4. t RDH is measured from A21–A0, RAS, or CAS, whichever is negated first.
538
Tp Tr Tc Tc Tc Tc
CK
tAD tAD
A21–A0 Row address Column address Column address Column address Column address
tRASD1 tRASD2
RAS
tASC tCP
CAS
tRDD
tRSD
RD(Read)
WRH, WRL,
WR(Read)
tACP
tCAC1*1
Notes: 1. For tCAC1, use tcyc × 0.65 – 19 (for 35% duty) or t cyc x 0.5 – 19 (for 50% duty) instead
of t cyc – t AD – t ASC – tRDS .
It is not necessary to meet the tRDS specification as long as the t CAC1 specification is
met.
2. For tACC1, use tcyc – 30 instead of t cyc – t AD – t RDS .
It is not necessary to meet the tRDS specification as long as the t ACC1 specification is
met.
3. For tRAC1, use tcyc × 1.5 – 20 instead of t cyc × 1.5 – t RASD1 – t RDS .
It is not necessary to meet the tRDS specification as long as the t RAC1 specification is
met.
4. t RDH is measured from A21—A0 or CAS, whichever is negated first.
5. t RDH is measured from A21—A0, RAS, or CAS, whichever is negated first.
Figure 20.56 (a) DRAM Bus Cycle (Short-Pitch, High-Speed Page Mode: Read)
539
Silent
Tp Tr Tc cycle Tc
CK
tAD tAD
tRASD1 tRASD2
RAS
tASC
CAS
RD (Write)
tWSD3 tWSD4
WRH, WRL,
WR (Write)
tWDD2 tWDH
AD15–AD0
DPH, DPL
(Write)
tWPDD2 tWPDH
DPH, DPL
(Write)
Figure 20.56 (b) DRAM Bus Cycle (Short-Pitch, High-Speed Page Mode: Write)
Note: For details of the silent cycle, see section 8.5.5, DRAM Burst Mode.
540
Tp Tr Tc1 Tc2
CK
tAD tAD
541
Tp Tr Tc1 Tc2 Tc1 Tc2
CK
tAD tAD
WRH, WRL,
WR (Read)
tCAC2*1
tACC2*2 tRDS tRDH*4 tRDH*5
AD15–AD0 tRAC2*3
DPH, DPL
(Read)
tDACD1 tDACD2 tDACD1 tDACD2
DACK0
DACK1
(Read)
RD(Write)
tWSD1 tWSD2 tWSD1 tWSD2
WRH, WRL,
WR(Write)
tWDD1 tWDH tWDD1 tWDH
AD15–AD0
(Write)
tWPDD1 tWPDH tWPDD1 tWPDH
DPH, DPL
(Write)
tDACD3 tDACD3 tDACD3 tDACD3
DACK0
DACK1
(Write)
542
Tp Tr Tc1 Tw Tc2
CK
tRSD
RAS
CAS tRDD
RD(Read)
WRH, WRL,
WR(Read) tCAC2*1
tACC2*2
tRAC2*3
AD15–AD0
DPH, DPL
(Read)
DACK0
DACK1
(Read)
RD(Write)
WRH, WRL,
WR(Write)
AD15–AD0
(Write)
DPH, DPL
(Write)
DACK0
DACK1
(Write)
tWTS tWTH tWTS tWTH
WAIT
Figure 20.59 DRAM Bus Cycle: (Long-Pitch, High-Speed Page Mode + Wait State)
543
TRp TRr TRc
CK
tRASD1 tRASD2
RAS
tCSR tCASD3
tCASD2
CAS
WRH, WRL,
WR
CK
tRASD1 tRASD2
RAS tCSR
tCASD3
tCASD2
CAS
WRH,
WRL,
WR
544
TRp TRr TRc TRcc
CK
tRASD1 tRASD2
RAS
tCSR
tCASD3
tCASD2
CAS
545
T1 T2 T3 T4
CK
tAD
A21–A0
HBS, LBS
tCSD3 tCSD4
CS6
tAHD1 tAHD2
AH
tRDD tRSD
RD
(Read)
tDACD1 tDACD2
DACK0
DACK1
(Read)
tWSD1 tWSD2
WRH, WRL,
WR (Write)
tMAD tMAH tWDD1 tWDH
AD15–AD0
(Write) Address Data (output)
tDACD3 tDACD3
DACK0
DACK1
(Write) tWTH
tWTS
WAIT
546
T1
CK
tAD
A21–A0
HBS, LBS
tCSD1 tCSD2
CSn
tWSD1 tWSD4
WRH, WRL,
WR (Write)
tDACD1 tDACD2
DACK0
DACK1
(Write)
547
(4) DMAC Timing
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, Ta = –20 to +75°C*
20 MHz
Item Symbol Min Max Unit Figure
DREQ0, DREQ1 setup time t DRQS 27 — ns 20.65
DREQ0, DREQ1 hold time t DRQH 30 — ns
DREQ0, DREQ1 Pulse width t DRQW 1.5 — t cyc 20.66
CK
tDRQS
DREQ0, DREQ1
level
tDRQS tDRQH
DREQ0, DREQ1
edge
tDRQS
DREQ0, DREQ1
level release
548
CK
DREQ0, DREQ1
edge
tDRQW
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, Ta = –20 to +75°C*
20 MHz
Item Symbol Min Max Unit Figure
Output compare delay time t TOCD — 100 ns 20.67
Input capture setup time t TICS 35 — ns
Timer clock input setup time t TCKS 50 — ns 20.68
Timer clock pulse width t TCKWH/L 1.5 — t cyc
(single edge)
Timer clock pulse width t TCKWL/L 2.5 — t cyc
(both edges)
CK
tTOCD
Output
compare*1
tTICS
Input
capture*2
Notes: 1. TIOCA0–TIOCA4, TIOCB0–TIOCB4, TOCXA4, TOCXB4
2. TIOCA0–TIOCA4, TIOCB0–TIOCB4
549
CK
tTCKS tTCKS
TCLKA–
TCLKD
tTCKWL tTCKWH
Table 20.24 Programmable Timing Pattern Controller and I/O Port Timing
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
T1 T2 T3
CK
tPRS tPRH
Ports A–C
(Read)
tPWD
Ports A–C
(Write)
550
(7) Watchdog Timer Timing
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
CK
tWOVD tWOVD
WDTOVF
551
(8) Serial Communication Interface Timing
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
SCK0, SCK1
tscyc
552
tscyc
SCK0, SCK1
tTXD
TxD0, TxD1
(transmit data)
tRXS tRXH
RxD0, RxD1
(receive data)
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, φ = 20 MHz*1 , Ta = –20 to +75°C*2
553
1 state
CK
ADTRG
input
tTRGW tTRGS tTRGW
ADST
tCONV
tD tSPL
Max.
3 states 14 states
CK
Address
Analog input
sampling
signal
ADF
554
(10) AC Characteristics Test Conditions
IOL
IOH
555
20.2.4 A/D Converter Characteristics
Conditions: VCC = 3.3 V ±0.3V, AVCC = 3.3 V ±0.3V, AVCC = VCC ±0.3V, AVref = 3.0 V to
AVCC, VSS = AVSS = 0 V, Ta = –20 to +75°C*
20 MHz
Item Min Typ Max Unit
Resolution 10 10 10 bit
Conversion time — — 6.7 µS
Analog input capacitance — — 20 pF
Permissible signal-source impedance — — 1 kΩ
Nonlinearity error* — — ±4.0 LSB
Offset error* — — ±4.0 LSB
Full-scale error* — — ±4.0 LSB
Quantization error* — — ±0.5 LSB
Absolute accuracy — — ±6.0 LSB
Note: * Reference value
556
Appendix A On-Chip Supporting Module Registers
The addresses and bit names of the on-chip supporting module registers are listed below. 16- and
32-bit registers are shown as two or four levels of 8 bits each.
557
Table A.1 8-Bit Access Space (8-Bit and 16-Bit Accessible, 32-Bit Access Disabled)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFE00– — — — — — — — — — —
H'5FFFEBF
H'5FFFEC0 SMR0 C/A CHR PE O/E STOP MP CKS1 CKS0 SCI
H'5FFFEC1 BRR0 (channel 0)
H'5FFFEC2 SCR0 TIE RIE TE RE MPIE TEIE CKE1 CKE0
H'5FFFEC3 TDR0
H'5FFFEC4 SSR0 TDRE RDRF ORER FER PER TEND MPB MPBT
H'5FFFEC5 RDR0
H'5FFFEC6 — — — — — — — — —
H'5FFFEC7 — — — — — — — — —
H'5FFFEC8 SMR1 C/A CHR PE O/E STOP MP CKS1 CKS0 SCI
H'5FFFEC9 BRR1 (channel 1)
H'5FFFECA SCR1 TIE RIE TE RE MPIE TEIE CKE1 CKE0
H'5FFFECB TDR1
H'5FFFECC SSR1 TDRE RDRF ORER FER PER TEND MPB MPBT
H'5FFFECD RDR1
H'5FFFECE– — — — — — — — — —
H'5FFFEDF
H'5FFFEE0 ADDRAH AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 A/D
H'5FFFEE1 ADDRAL AD1 AD0 — — — — — —
H'5FFFEE2 ADDRBH AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2
H'5FFFEE3 ADDRBL AD1 AD0 — — — — — —
H'5FFFEE4 ADDRCH AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2
H'5FFFEE5 ADDRCL AD1 AD0 — — — — — —
H'5FFFEE6 ADDRDH AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2
H'5FFFEE7 ADDRDL AD1 AD0 — — — — — —
H'5FFFEE8 ADCSR ADF ADIE ADST SCAN CKS CH2 CH1 CH0
H'5FFFEE9 ADCR TRGE — — — — — — —
H'5FFFEEA– — — — — — — — — —
H'5FFFEEF
558
Table A.2 16-bit Access Space (In Principle, 8-Bit, 16-Bit and 32-Bit Accessible)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFF00 TSTR*1 — — — STR4 STR3 STR2 STR1
ITU STR0
H'5FFFF01 TSNC*1 — — — SYNC4 SYNC3 SYNC2 SYNC1 SYNC0 (chan-
nels 0–4
H'5FFFF02 TMDR*1 — MDF FDIR PWM4 PWM3 PWM2 PWM1 PWM0
shared)
H'5FFFF03 TFCR*1 — — CMD1 CMD0 BFB4 BFA4 BFB3 BFA3
H'5FFFF04 TCR0*1 — CCLR1 CCLR0 CKEG1 CKEG0 TPSC2 TPSC1 TPSC0 ITU
H'5FFFF05 TIOR0*1 — IOB2 IOB1 IOB0 — IOA2 IOA1 IOA0 (chan-
nel 0)
H'5FFFF06 TIER0*1 — — — — — OVIE IMIEB IMIEA
H'5FFFF07 TSR0* 1 — — — — — OVF IMFB IMFA
H'5FFFF08 TCNT0
H'5FFFF09
H'5FFFF0A GRA0
H'5FFFF0B
H'5FFFF0C GRB0
H'5FFFF0D
H'5FFFF0E TCR1*1 — CCLR1 CCLR0 CKEG1 CKEG0 TPSC2 TPSC1 TPSC0 ITU
H'5FFFF0F TIORL*1 — IOB2 IOB1 IOB0 — IOA2 IOA1 IOA0 (chan-
nel 1)
H'5FFFF10 TIERl*1 — — — — — OVIE IMIEB IMIEA
H'5FFFF11 TSR1* 1 — — — — — OVF IMFB IMFA
H'5FFFF12 TCNT1
H'5FFFF13
H'5FFFF14 GRA1
H'5FFFF15
H'SFFFF16 GRB1
H'5FFFF17
H'5FFFF18 TCR2*1 — CCLR1 CCLR0 CKEG1 CKEG0 TPSC2 TPSC1 TPSC0 ITU
H'5FFFF19 TIOR2*1 — IOB2 IOB1 IOB0 — IOA2 IOA1 IOA0 (chan-
nel 2)
H'5FFFF1A TIER2*1 — — — — — OVIE IMIEB IMIEA
H'5FFFF1B TSR2* 1 — — — — — OVF IMFB IMFA
H'5FFFF1C TCNT2
H'5FFFF1D
H'5FFFF1E GRA2
H'5FFFF1F
H'5FFFF20 GRB2
H'5FFFF21
559
Table A.2 16-bit Access Space (In Principle, 8-Bit, 16-Bit and 32-Bit Accessible) (cont)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFF22 TCR3*1 — CCLR1 CCLR0 CKEG1 CKEG0 TPSC2 TPSC1 TPSC0 ITU (chan-
H'5FFFF23 TIOR3*1 — IOB2 IOB1 IOB0 — IOA2 IOA1 IOA0 nel 3)
H'5FFFF24 TIER3*1 — — — — — OVIE IMIEB IMIEA
H'5FFFF25 TSR3* 1 — — — — — OVF IMFB IMFA
H'5FFFF26 TCNT3
H'5FFFF27
H'5FFFF28 GRA3
H'5FFFF29
H'5FFFF2A GRB3
H'5FFFF2B
H'5FFFF2C BRA3
H'5FFFF2D
H'5FFFF2E BRB3
H'5FFFF2F
H'5FFFF31 TOCR*1 — — — — — — OLS4 OLS3 ITU (chan-
nels 0–4
shared)
H'5FFFF32 TCR4*1 — CCLR1 CCLR0 CKEG1 CKEG0 TPSC2 TPSC1 TPSC0 ITU (chan-
H'5FFFF33 TIOR4*1 — IOB2 IOB1 IOB0 — IOA2 IOA1 IOA0 nel 4)
H'5FFFF34 TIER4*1 — — — — — OVIE IMIEB IMIEA
H'5FFFF35 TSR4* 1 — — — — — OVF IMFB IMFA
H'5FFFF36 TCNT4
H'5FFFF37
H'5FFFF38 GRA4
H'5FFFF39
H'5FFFF3A GRB4
H'5FFFF3B
H'5FFFF3C BRA4
H'5FFFF3D
H'5FFFF3E BRB4
H'5FFFF3F
560
Table A.2 16-bit Access Space (In Principle, 8-Bit, 16-Bit and 32-Bit Accessible) (cont)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFF40 SAR0*5 DMAC
H'5FFFF41 channel 0
H'5FFFF42
H'5FFFF43
H'5FFFF44 DAR0* 5
H'5FFFF45
H'5FFFF46
H'5FFFF47
H'5FFFF48 DMAOR*2 — — — — — — PR1 PR0
H'5FFFF49 — — — — — AE NMIF DME
H'5FFFF4A TCR0*5
H'5FFFF4B
H'5FFFF4C — — — — — — — — —
H'5FFFF4D — — — — — — — — —
H'5FFFF4E CHCR0 DM1 DM0 SM1 SM0 RS3 RS2 RS1 RS0
H'5FFFF4F AM AL DS TM TS IE TE DE
H'5FFFF50 SAR1*5 DMAC
H'5FFFF51 channel 1
H'5FFFF52
H'5FFFF53
H'5FFFF54 DAR1* 5
H'5FFFF55
H'5FFFF56
H'5FFFF57
H'5FFFF58 — — — — — — — — —
H'5FFFF59 — — — — — — — — —
H'5FFFF5A TCR1*5
H'5FFFF5B
H'5FFFF5C — — — — — — — — —
H'5FFFF5D — — — — — — — — —
H'5FFFF5E CHCR1 DM1 DM0 SM1 SM0 RS3 RS2 RS1 RS0
H'5FFFF5F AM AL DS TM TS IE TE DE
561
Table A.2 16-bit Access Space (In Principle, 8-Bit, 16-Bit and 32-Bit Accessible) (cont)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFF60 SAR2*5 DMAC
H'5FFFF61 channel 2
H'5FFFF62
H'5FFFF63
H'5FFFF64 DAR2* 5
H'5FFFF65
H'5FFFF66
H'5FFFF67
H'5FFFF68 — — — — — — — — —
H'5FFFF69 — — — — — — — — —
H'5FFFF6A TCR2*5
H'5FFFF6B
H'5FFFF6C — — — — — — — — —
H'5FFFF6D — — — — — — — — —
H'5FFFF6E CHCR2 DM1 DM0 SM1 SM0 RS3 RS2 RS1 RS0
H'5FFFF6F AM AL DS TM TS IE TE DE
H'5FFFF70 SAR3*5 DMAC
H'5FFFF71 channel 3
H'5FFFF72
H'5FFFF73
H'5FFFF74 DAR3* 5
H'5FFFF75
H'5FFFF76
H'5FFFF77
H'5FFFF78 — — — — — — — — —
H'5FFFF79 — — — — — — — — —
H'5FFFF7A TCR3*5
H'5FFFF7B
H'5FFFF7C — — — — — — — — —
H'5FFFF7D — — — — — — — — —
H'5FFFF7E CHCR3 DM1 DM0 SM1 SM0 RS3 RS2 RS1 RS0
H5FFFF7F AM AL DS TM TS IE TE DE
562
Table A.2 16-bit Access Space (In Principle, 8-Bit, 16-Bit and 32-Bit Accessible) (cont)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFF80– — — — — — — — — — INTC
H'5FFFF83
H'5FFFF84 IPRA
H'5FFFF85
H'5FFFF86 IPRB
H'5FFFF87
H'5FFFF88 IPRC
H'5FFFF89
H'5FFFF8A IPRD
H'5FFFF8B
H'5FFFF8C IPRE
H'5FFFF8D
H'5FFFF8E ICR NMIL — — — — — — NMIE
H'5FFFF8F IRQ0S IRQ1S IRQ2S IRQ3S IRQ4S IRQ5S IRQ6S IRQ7S
H'5FFFF90 BARH BA31 BA30 BA29 BA28 BA27 BA26 BA25 BA24 UBC
H'5FFFF91 BA23 BA22 BA21 BA20 BA19 BA18 BA17 BA16
H'5FFFF92 BARL BA15 BA14 BA13 BA12 BA11 BA10 BA9 BA8
H'5FFFF93 BA7 BA6 BA5 BA4 BA3 BA2 BA1 BA0
H'5FFFF94 BAMRH BAM31 BAM30 BAM29 BAM28 BAM27 BAM26 BAM25 BAM24
H'5FFFF95 BAM23 BAM22 BAM21 BAM20 BAM19 BAM18 BAM17 BAM16
H'5FFFF96 BAMRL BAM15 BAM14 BAM13 BAM12 BAM11 BAM10 BAM9 BAM8
H'5FFFF97 BAM7 BAM6 BAM5 BAM4 BAM3 BAM2 BAM1 BAM0
H'5FFFF98 BBR — — — — — — — —
H'5FFFF99 CD1 CD0 ID1 ID0 RW1 RW0 SZ1 SZ0
H'5FFFF9A– — — — — — — — — —
H'5FFFF9F
563
Table A.2 16-bit Access Space (In Principle, 8-Bit, 16-Bit and 32-Bit Accessible) (cont)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFFA0 BCR DRAME IOE WARP RDDTY BAS — — — BSC
H'5FFFFA1 — — — — — — — —
H'5FFFFA2 WCR1 RW7 RW6 RW5 RW4 RW3 RW2 RW1 RW0
H'5FFFFA3 — — — — — — WW1 —
H'5FFFFA4 WCR2 DRW7 DRW6 DRW5 DRW4 DRW3 DRW2 DRW1 DRW0
H'5FFFFA5 DWW7 DWW6 DWW5 DWW4 DWW3 DWW2 DWW1 DWW0
H'5FFFFA6 WCR3 WPU A02LW1 A02LW0 A6LW1 A6LW0 — — —
H'5FFFFA7 — — — — — — — —
H'5FFFFA8 DCR CW2 RASD TPC BE CDTY MXE MXC1 MXC0
H'5FFFFA9 — — — — — — — —
H'5FFFFAA PCR PEF PFRC PEO PCHK1 PCHK0
H'5FFFFAB — — — — — — — —
H'5FFFFAC RCR — — — — — — — —
H'5FFFFAD RFSHE RMODE RLW1 RLW0 — — — —
H'5FFFFAE RTCSR — — — — — — — —
H'5FFFFAF CMF CMIE CKS2 CKS1 CKS0
H'5FFFFB0 RTCNT — — — — — — — —
H'5FFFFB1
H'5FFFFB2 RTCOR — — — — — — — —
H'5FFFFB3
H'5FFFFB4– — — — — — — — — —
H'5FFFFB7
H'5FFFFB8 TCSR*3 OVF WT/lT TME — — CKS2 CKS1 CKS0 WDT
H'5FFFFB9 TCNT*3
H'5FFFFBA — — — — — — — — —
H'5FFFFBB RSTCSR*3 WOVF RSTE RSTS — — — — —
H'5FFFFBC SBYCR SBY HIZ — — — — — — Power
down
state
H'5FFFFBD– — — — — — — — — — —
H'5FFFFBF
564
Table A.2 16-bit Access Space (In Principle, 8-Bit, 16-Bit and 32-Bit Accessible) (cont)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFFC0 PADR PA15 PA14 PA13 PA12 PA11 PA10 PA9 PA8 Port A
DR DR DR DR DR DR DR DR
H'5FFFFC1 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
DR DR DR DR DR DR DR DR
H'5FFFFC2 PBDR PB15 PB14 PB13 PB12 PB11 PB10 PB9 PB8 Port B
DR DR DR DR DR DR DR DR
H'5FFFFC3 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
DR DR DR DR DR DR DR DR
H'5FFFFC4 PAIOR PA15 PA14 PA13 PA12 PA11 PA10 PA9 PA8 PFC
IOR IOR IOR IOR IOR IOR IOR IOR
H'5FFFFC5 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
IOR IOR IOR IOR IOR IOR IOR IOR
H'5FFFFC6 PBIOR PB15 PB14 PB13 PB12 PB11 PB10 PB9 PB8
IOR IOR IOR IOR IOR IOR IOR IOR
H'SFFFFC7 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
IOR IOR IOR IOR IOR IOR IOR IOR
H'5FFFFC8 PACR1 PA15 PA15 PA14 PA14 PA13 PA13 PA12 PA12
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
H'5FFFFC9 PA11 PA11 PA10 PA10 PA9 PA9 — PA8
MD1 MD0 MD1 MD0 MD1 MD0 MD
H'5FFFFCA PACR2 — PA7 — PA6 — PA5 — PA4
MD MD MD MD
H'5FFFFCB PA3 PA3 PA2 PA2 PA1 PA1 PA0 PA0
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
H'5FFFFCC PBCR1 PB15 PB15 PB14 PB14 PB13 PB13 PB12 PB12
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
H'5FFFFCD PB11 PB11 PB10 PB10 PB9 PB9 PB8 PB8
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
H'5FFFFCE PBCR2 PB7 PB7 PB6 PB6 PB5 PB5 PB4 PB4
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
H'5FFFFCF PB3 PB3 PB2 PB2 PB1 PB1 PB0 PB0
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
H'5FFFFD0 PCDR — — — — — — — — Port C
H'5FFFFD1 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
DR DR DR DR DR DR DR DR
565
Table A.2 16-bit Access Space (In Principle, 8-Bit, 16-Bit and 32-bit Accessible) (cont)
Bit Name
Address Register 7 6 5 4 3 2 1 0 Module
H'5FFFFD2– — — — — — — — — — PFC
H'5FFFFED
H'5FFFFEE CASCR CASH CASH CASL CASL — — — —
MD1 MD0 MD1 MD0
H'5FFFFEF — — — — — — — — TPC
H'5FFFFF0 TPMR — — — — G3N G2N G1N G0N
OV OV OV OV
H'5FFFFF1 TPCR G3C G3C G2C G2C G1C G1C G0C G0C
MS1 MS0 MS1 MS0 MS1 MS0 MS1 MS0
H'5FFFFF2 NDERB NDE NDE NDE NDE NDE NDE NDE NDE
R15 R14 R13 R12 R11 R10 R9 R8
H'5FFFFF3 NDERA NDE NDE NDE NDE NDE NDE NDE NDE
R7 R6 R5 R4 R3 R2 R1 R0
H'5FFFFF4 NDRB*4 NDR15 NDR14 NDR13 NDR12 — — — —
H'5FFFFF5 NDRA*4 NDR7 NDR6 NDR5 NDR4 — — — —
H'5FFFFF6 NDRB*4 — — — — NDR11 NDR10NDR9 NDR8
H'5FFFFF7 NDRA*4 — — — — NDR3 NDR2 NDR1 NDR0
H'5FFFFF8– — — — — — — — — —
H'5FFFFFF
Notes 1. Only 8-bit accessible. 16-bit and 32-bit access disabled.
2. Register shared by all channels.
3. Address for read. For writing, the addresses are H'5FFFFB8 for TCR and TCNT and
H'5FFFFBA for RSTCSR. For more information, see section 12, Watchdog Timer
(WDT), particularly section 12.2.4, Notes on Register Access.
4. When the output triggers for TPC output group 0 and TPC output group 1 set by TPCR
are the same, the NDRA address is H'5FFFFF5; when the output triggers are different,
the NDRA address for group 0 is H'5FFFFF7 and the NDRA address for group 1 is
H'5FFFFF5. Likewise, when the output triggers for TPC output group 2 and TPC output
group 3 set by TPCR are the same, the NDRB address is H'5FFFFF4; when the output
triggers are different, the NDRB address for group 2 is H'5FFFFF6 and the NDRB
address for group 3 is H'5FFFFF4.
5. 16-bit and 32-bit accessible. 8-bit access disabled.
566
A.2 Register Tables
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: C/A CHR PE O/E STOP MP CKS1 CKS0
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
567
A.2.2 Bit Rate Register (BRR) SCI
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: TIE RIE TE RE MPIE TEIE CKE1 CKE0
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
568
Table A.5 SCR Bit Functions
569
A.2.4 Transmit Data Register (TDR) SCI
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: TDRE RDRF ORER FER PER TEND MPB MPBT
Initial value: 1 0 0 0 0 1 0 0
R/W: R/(W)* R/(W)* R/(W)* R/(W)* R/(W)* R R R/W
Note: * Only 0 can be written, to clear the flags.
570
Table A.7 SSR Bit Functions
571
Table A.11 SSR Bit Functions (cont)
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name:
Initial value: 0 0 0 0 0 0 0 0
R/W: R R R R R R R R
572
A.2.7 A/D Data Register AH–DL (ADDRAH–ADDRL) A/D
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: 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
Bit name: AD1 AD0 — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R R R R R R R R
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: ADF ADIE ADST SCAN CKS CH2 CH1 CH0
Initial value: 0 0 0 0 0 1 0 0
R/W: R/(W)* R/W R/W R/W R/W R/W R/W R/W
Note: Only 0 can be written, to clear the flag.
573
Table A.9 ADCSR Bit Functions
574
A.2.9 A/D Control Register (ADCR) A/D
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: TRGE — — — — — — —
Initial value: 0 1 1 1 1 1 1 1
R/W: R/W — — — — — — —
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — STR4 STR3 STR2 STR1 STR0
Initial value: 1 1 1 0 0 0 0 0
R/W: — — — R/W R/W R/W R/W R/W
575
Table A.11 TSTR Bit Functions
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — SYNC4 SYNC3 SYNC2 SYNC1 SYNC0
Initial value: * 1 1 0 0 0 0 0
R/W: — — — R/W R/W R/W R/W R/W
Note: Undetermined
576
Table A.12 TSNC Bit Functions
577
A.2.12 Timer Mode Register (TMDR) ITU
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — MDF FDIR PWM4 PWM3 PWM2 PWM1 PWM0
Initial value: * 0 0 0 0 0 0 0
R/W: — R/W R/W R/W R/W R/W R/W R/W
Note: * Undetermined
578
A.2.13 Timer Function Control Register (TFCR) ITU
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — CMD1 CMD0 BFB4 BFA4 BFB3 BFA3
Initial value: * 1 0 0 0 0 0 0
R/W: — — R/W R/W R/W R/W R/W R/W
Note: * Undetermined
579
A.2.14 Timer Control Registers 0–4 (TCR0–TCR4) ITU
• Start Address: H'5FFFF04 (channel 0), H'5FFFF0E (channel 1), H'5FFFF18 (channel 2),
H'5FFFF22 (channel 3), H'5FFFF32 (channel 4)
• Bus Width: 8
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — CCLR1 CCLR0 CKEG1 CKEG0 TPSC2 TPSC1 TPSC0
Initial value: * 0 0 0 0 0 0 0
R/W: — R/W R/W R/W R/W R/W R/W R/W
Note: * Undetermined
580
A.2.15 Timer I/O Control Registers 0–4 (TIOR0–TIOR4) ITU
• Start Address: H'5FFFF05 (channel 0), H'5FFFF0F (channel 1), H'5FFFF19 (channel 2),
H'5FFFF23 (channel 3), H'5FFFF33 (channel 4)
• Bus Width: 8
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — IOB2 IOB1 IOB0 — IOA2 IOA1 IOA0
Initial value: * 0 0 0 1 0 0 0
R/W: — R/W R/W R/W — R/W R/W R/W
Note: * Undetermined
581
A.2.16 Timer Interrupt Enable Registers 0–4 (TIER0–TIER4) ITU
• Start Address: H'5FFFF06 (channel 0), H'5FFFF10 (channel 1), H'5FFFF1A (channel 2),
H'5FFFF24 (channel 3), H'5FFFF34 (channel 4),
• Bus Width: 8
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — OVIE IMIEB IMIEA
Initial value: * 1 1 1 1 0 0 0
R/W: — — — — — R/W R/W R/W
Note: * Undetermined
582
A.2.17 Timer Status Registers 0–4 (TSR0–TSR4) ITU
• Start Address: H'5FFFF07 (channel 0), H'5FFFF11 (channel 1), H'5FFFF1B (channel 2),
H'5FFFF25 (channel 3), H'5FFFF35 (channel 4),
• Bus Width: 8
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — OVF IMFB IMFA
Initial value: *1 1 1 1 1 0 0 0
R/W: — — — — — R/(W)*2 R/(W)*2 R/(W)*2
Notes: 1. Undetermined
2. Only 0 can be written, to clear the flag.
583
A.2.18 Timer Counter 0–4 (TCNT0–TCNT4) ITU
• Start Address: H'5FFFF08 (channel 0), H'5FFFF12 (channel 1), H'5FFFF1C (channel 2),
H'5FFFF26 (channel 3), H'5FFFF36 (channel 4)
• Bus Width: 8/16/32
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
584
A.2.19 General Registers A0–4 (GRA0–GRA4) ITU
• Start Address: H'5FFFF0A (channel 0), H'5FFFF14 (channel 1), H'5FFFF1E (channel 2),
H'5FFFF28 (channel 3), H'5FFFF38 (channel 4)
• Bus Width: 8/16/32
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
585
A.2.20 General Registers B0–4 (GRB0–GRB4) ITU
• Start Address: H'5FFFF0C (channel 0), H'5FFFF16 (channel 1), H'5FFFF20 (channel 2),
H'5FFFF2A (channel 3), H'5FFFF3A (channel 4)
• Bus Width: 8/16/32
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
586
A.2.21 Buffer Registers A3, 4 (BRA3, BRA4) ITU
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
587
A.2.22 Buffer Registers B3, 4 (BRB3, BRB4) ITU
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
588
A.2.23 Timer Output Control Register (TOCR) ITU
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — OLS4 OLS3
Initial value: * 1 1 1 1 1 1 1
R/W: — — — — — — R/W R/W
Note: * Undetermined
589
A.2.24 DMA Source Address Registers 0–3 (SAR0–SAR3) DMAC
• Start Address: H'5FFFF40 (channel 0), H'5FFFF50 (channel 1), H'5FFFF60 (channel 2),
H'5FFFF70 (channel 3)
• Bus Width: 16/32
Register Overview:
Bit: 31 30 29 28 27 26 25 24
Bit name:
Initial value: * * * * * * * *
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
Bit: 23 22 21 20 19 18 17 16
Bit name:
Initial value: * * * * * * * *
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
Bit name:
Initial value: * * * * * * * *
R/W: 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
Bit name:
Initial value: * * * * * * * *
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
Note: * Undetermined
590
A.2.25 DMA Destination Address Registers 0–3 (DAR0–DAR3) DMAC
• Start Address: H'5FFFF44 (channel 0), H'5FFFF54 (channel 1), H'5FFFF64 (channel 2),
H'5FFFF74 (channel 3)
• Bus Width: 16/32
Register Overview:
Bit: 31 30 29 28 27 26 25 24
Bit name:
Initial value: * * * * * * * *
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
Bit: 23 22 21 20 19 18 17 16
Bit name:
Initial value: * * * * * * * *
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
Bit name:
Initial value: * * * * * * * *
R/W: 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
Bit name:
Initial value: * * * * * * * *
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
Note: * Undetermined
591
A.2.26 DMA Transfer Count Registers 0–3 (TCR0–TCR3) DMAC
• Start Address: H'5FFFF4A (channel 0), H'5FFFF5A (channel 1), H'5FFFF6A (channel 2),
H'5FFFF7A (channel 3)
• Bus Width: 16/32
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
Initial value: * * * * * * * *
R/W: 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
Bit name:
Initial value: * * * * * * * *
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
Note: * Undetermined
592
A.2.27 DMA Channel Control Registers 0–3 (CHCR0–CHCR3) DMAC
• Start Address: H'5FFFF4E (channel 0), H'5FFFF5E (channel 1), H'5FFFF6E (channel 2),
H'5FFFF7E (channel 3)
• Bus Width: 8/16/32
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: DM1 DM0 SM1 SM0 RS3 RS2 RS1 RS0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: AM AL DS TM TS IE TE DE
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W*2 R/W*2 R/W*2 R/W R/W R/W R/(W)*1 R/W
Notes: 1. Only 0 can be written, to clear the flag.
2. Writing is valid only for CHCR0 and CHCR1.
593
Table A.28 CHCR0–CHCR3 Bit Functions
594
Table A.28 CHCR0–CHCR3 Bit Functions (cont)
595
A.2.28 DMA Operation Registers (DMAOR) DMAC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — PR1 PR0
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — R/W R/W
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — AE NMIF DME
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — R/(W)* R/(W)* R/W
Note: * Only 0 can be written, to clear the flag.
596
A.2.29 Interrupt Priority Setting Register A (IPRA) INTC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
597
A.2.30 Interrupt Priority Setting Register B (IPRB) INTC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
598
A.2.31 Interrupt Priority Setting Register C (IPRC) INTC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
599
A.2.32 Interrupt Priority Setting Register D (IPRD) INTC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
600
A.2.33 Interrupt Priority Setting Register E (IPRE) INTC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name:
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
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W — — — —
601
A.2.34 Interrupt Control Register (ICR) INTC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: NMIL — — — — — — NMIE
Initial value: * 0 0 0 0 0 0 0
R/W: R — — — — — — R/W
Bit: 7 6 5 4 3 2 1 0
Bit name: IRQ0S IRQ1S IRQ2S IRQ3S IRQ4S IRQ5S IRQ6S IRQ7S
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
Note: * NMI pin input high: 1
NMI pin input low: 0
602
A.2.35 Break Address Register H (BARH) UBC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: BA31 BA30 BA29 BA28 BA27 BA26 BA25 BA24
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
Bit: 7 6 5 4 3 2 1 0
Bit name: BA23 BA22 BA21 BA20 BA19 BA18 BA17 BA16
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
603
A.2.36 Break Address Register L (BARL) UBC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: BA15 BA14 BA13 BA12 BA11 BA10 BA9 BA8
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
Bit: 7 6 5 4 3 2 1 0
Bit name: BA7 BA6 BA5 BA4 BA3 BA2 BA1 BA0
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
604
A.2.37 Break Address Mask Register H (BAMRH) UBC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: BAM31 BAM30 BAM29 BAM28 BAM27 BAM26 BAM25 BAM24
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
Bit: 7 6 5 4 3 2 1 0
Bit name: BAM23 BAM22 BAM21 BAM20 BAM19 BAM18 BAM17 BAM16
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
605
A.2.38 Break Address Mask Register L (BAMRL) UBC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: BAM15 BAM14 BAM13 BAM12 BAM11 BAM10 BAM9 BAM8
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
Bit: 7 6 5 4 3 2 1 0
Bit name: BAM7 BAM6 BAM5 BAM4 BAM3 BAM2 BAM1 BAM0
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
606
A.2.39 Break Bus Cycle Register (BBR) UBC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: CD1 CD0 ID1 ID0 RW1 RW0 SZ1 SZ0
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
607
A.2.40 Bus Control Register (BCR) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: DRAME IOE WARP RDDTY BAS — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W R/W — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
608
A.2.41 Wait State Control Register 1 (WCR1) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: RW7 RW6 RW5 RW4 RW3 RW2 RW1 RW0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — WW1 —
Initial value: 1 1 1 1 1 1 1 1
R/W: — — — — — — R/W* —
Note: * Only write 0 in the WW1 bit when area 1 is DRAM space. When it is external memory
space, do not write 0.
609
Table A.42 Bit Functions (cont)
Description
DRAM Space Area 1 External Memory Space
Bit Bit Name Value (BCRDRAME = 1) (BCRDRAME = 1)
1 Write wait 0 Column address cycle: 1 cycle Setting prohibited
state control (short-pitch)
(WW1) 1 Column address cycle: Wait state Wait state is 2 cycles + WAIT
is 2 cycles + WAIT (long-pitch)
(Initial value)
Note: * During a CBR refresh, the WAIT signal is ignored and the wait state inserted using the
RLW1 and RLW0 bits.
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: DRW7 DRW6 DRW5 DRW4 DRW3 DRW2 DRW1 DRW0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: DWW7 DWW6 DWW5 DWW4 DWW3 DWW2 DWW1 DWW0
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
610
Table A.43 WCR2 Bit Functions
Description
Number of Single Mode DMA
External Space Cycle States
WAIT Pin External DRAM Multiplex
Bit Bit Name Value Signal Input Memory Space Space I/O
15–8 Single mode 0 Not sampled • Areas 1, 3–5, 7: Column Wait state is 4
DMA memory during single fixed at 1 cycle address cycle: cycles plus
read wait state mode DMA • Areas 0, 2, 6: Fixed at 1 WAIT
control (DRW7– memory read 1 cycle + long cycle (short-
DRW0) cycle wait state pitch)
1 Sampled • Areas 1, 3–5, 7: Column
during single wait state is 2 address cycle:
mode DMA cycles plus Wait state is 2
memory read WAIT cycles plus
cycle • Areas 0, 2, 6: WAIT (long-
(Initial value) 1 cycle + long pitch)
wait state, or
wait state from
WAIT
7–0 Single mode 0 Not sampled • Areas 1, 3–5, 7: Column Wait state is 4
DMA memory during single fixed at 1 cycle address cycle: cycles plus
write wait state mode DMA • Areas 0, 2, 6: Fixed at 1 WAIT
control (DWW7– memory write 1 cycle + long cycle (short-
DWW0) cycle wait state pitch)
1 Sampled • Areas 1, 3–5, 7: Column
during single wait state is 2 address cycle:
mode DMA cycles plus Wait state is 2
memory write WAIT cycles plus
cycle • Areas 0, 2, 6: WAIT (long-
(Initial value) 1 cycle + long pitch)
wait state, or
wait state from
WAIT
611
A.2.43 Wait State Control Register 3 (WCR3) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: WPU A02LW1 A02LW0 A6LW1 A6LW0 — — —
Initial value: 1 1 1 1 1 0 0 0
R/W: R/W R/W R/W R/W R/W — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
612
A.2.44 DRAM Area Control Register (DCR) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: CW2 RASD TPC BE CDTY MXE MXC1 MXC0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
613
Table A.45 DCR Bit Functions
614
A.2.45 Parity Control Register (PCR) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: PEF PFRC PEO PCHK1 PCHK0 — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W R/W — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
615
A.2.46 Refresh Control Register (RCR) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: RFSHE RMODE RLW1 RLW0 — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W — — — —
616
A.2.47 Refresh Timer Control/Status Register (RTCSR) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: CMF CMIE CKS2 CKS1 CKS0 — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: R/W R/W R/W R/W R/W — — —
617
A.2.48 Refresh Timer Counter (RTCNT) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
618
A.2.49 Refresh Timer Constant Register (RTCOR) BSC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: 0 0 0 0 0 0 0 0
R/W: — — — — — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: OVF WT/IT TME — — CKS2 CKS1 CKS0
Initial value: 0 0 0 1 1 0 0 0
R/W: R/(W)* R/W R/W — — R/W R/W R/W
Note: Only 0 can be written, to clear the flag.
619
Table A.51 TCSR Bit Functions
620
A.2.51 Timer Counter (TCNT) WDT
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name:
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
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: WOVF RSTE RSTS — — — — —
Initial value: 0 0 0 1 1 1 1 1
R/W: R/(W)* R/W R/W — — — — —
Note: Only 0 can be written, to clear the flag.
621
Table A.53 RSTCSR Bit Functions
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: SBY HIZ — — — — — —
Initial value: 0 0 0 1 1 1 1 1
R/W: R/W R/W — — — — — —
622
A.2.54 Port A Data Register (PADR) Port A
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: PA15DR PA14DR PA13DR PA12DR PA11DR PA10DR PA9DR PA8DR
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PA7DR PA6DR PA5DR PA4DR PA3DR PA2DR PA1DR PA0DR
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
623
A.2.55 Port B Data Register (PBDR) Port B
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: PB15DR PB14DR PB13DR PB12DR PB11DR PB10DR PB9DR PB8DR
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB7DR PB6DR PB5DR PB4DR PB3DR PB2DR PB1DR PB0DR
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
624
A.2.56 Port C Data Register (PCDR) Port C
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: — — — — — — — —
Initial value: — — — — — — — —
R/W: R R R R R R R R
Bit: 7 6 5 4 3 2 1 0
Bit name: PC7 DR PC6 DR PC5 DR PC4 DR PC3 DR PC2 DR PC1 DR PC0 DR
Initial value: — — — — — — — —
R/W: R R R R R R R R
625
A.2.57 Port A I/O Register (PAIOR) PFC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: PA15 PA14 PA13 PA12 PA11 PA10 PA9 PA8
IOR IOR IOR IOR IOR IOR IOR IOR
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
IOR IOR IOR IOR IOR IOR IOR IOR
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
626
A.2.58 Port B I/O Register (PBIOR) PFC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: PB15 PB14 PB13 PB12 PB11 PB10 PB9 PB8
IOR IOR IOR IOR IOR IOR IOR IOR
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
IOR IOR IOR IOR IOR IOR IOR IOR
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
627
A.2.59 Port A Control Register 1 (PACR1) PFC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: PA15 PA15 PA14 PA14 PA13 PA13 PA12 PA12
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
Initial value: 0 0 1 1 0 0 1 1
R/W: 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
Bit name: PA11 PA11 PA10 PA10 PA9 PA9 — PA8
MD1 MD0 MD1 MD0 MD1 MD0 MD
Initial value: 0 0 0 0 0 0 1 0
R/W: R/W R/W R/W R/W R/W R/W — R/W
628
Table A.60 PACR1 Bit Functions
629
A.2.60 Port A Control Register 2 (PACR2) PFC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: — PA7MD — PA6MD — PA5MD — PA4MD
Initial value: 1 1 1 1 1 1 1 1
R/W: — R/W — R/W — R/W — R/W
Bit: 7 6 5 4 3 2 1 0
Bit name: PA3MD1 PA3MD0 PA2MD1 PA2MD0 PA1MD1 PA1MD0 PA0MD1 PA0MD0
Initial value: 1 0 0 1 0 1 0 1
R/W: R/W R/W R/W R/W R/W R/W R/W R/W
630
Table A.61 PACR2 Bit Functions
631
A.2.61 Port B Control Register 1 (PBCR1) PFC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: PB15 PB15 PB14 PB14 PB13 PB13 PB12 PB12
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB11 PB11 PB10 PB10 PB9 PB9 PB8 PB8
MD1 MD0 MD1 MD0 MD1 MD0 MD1 MD0
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
632
Table A.62 PBCR1 Bit Functions
633
A.2.62 Port B Control Register 2 (PBCR2) PFC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: PB7MD1 PB7MD0 PB6MD1 PB6MD0 PB5MD1 PB5MD0 PB4MD1 PB4MD0
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
Bit: 7 6 5 4 3 2 1 0
Bit name: PB3MD1 PB3MD0 PB2MD1 PB2MD0 PB1MD1 PB1MD0 PB0MD1 PB0MD0
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
634
Table A.63 PBCR2 Bit Functions
635
A.2.63 Column Address Strobe Pin Control Register (CASCR) PFC
Register Overview:
Bit: 15 14 13 12 11 10 9 8
Bit name: CASH CASH CASL CASL — — — —
MD1 MD0 MD1 MD0
Initial value: 0 1 0 1 1 1 1 1
R/W: R/W R/W R/W R/W — — — —
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 1 1 1 1 1 1 1 1
R/W: — — — — — — — —
636
A.2.64 TPC Output Mode Register (TPMR) TPC
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — G3NOV G2NOV G1NOV G0NOV
Initial value: 1 1 1 1 0 0 0 0
R/W: — — — — R/W R/W R/W R/W
637
A.2.65 TPC Output Control Register (TPCR) TPC
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: G3CMS1 G3CMS0 G2CMS1 G2CMS0 G1CMS1 G1CMS0 G0CMS1 G0CMS0
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
638
Table A.66 TPCR Bit Functions
639
A.2.66 Next Data Enable Register A (NDERA) TPC
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: NDER7 NDER6 NDER5 NDER4 NDER3 NDER2 NDER1 NDER0
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
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: NDER15 NDER14 NDER13 NDER12 NDER11 NDER10 NDER9 NDER8
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
640
A.2.68 Next Data Register A (NDRA) TPC
(When the Output Triggers of TPC Output Groups 0 and 1 are the Same)
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: NDR7 NDR6 NDR5 NDR4 NDR3 NDR2 NDR1 NDR0
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
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 1 1 1 1 1 1 1 1
R/W: — — — — — — — —
641
A.2.70 Next Data Register A (NDRA) TPC
(When the Output Triggers of TPC Output Groups 0 and 1 are Different)
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: NDR7 NDR6 NDR5 NDR4 — — — —
Initial value: 0 0 0 0 1 1 1 1
R/W: R/W R/W R/W R/W — — — —
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — NDR3 NDR2 NDR1 NDR0
Initial value: 1 1 1 1 0 0 0 0
R/W: — — — — R/W R/W R/W R/W
642
A.2.72 Next Data Register B (NDRB) TPC
(When the Output Triggers of TPC Output Groups 2 and 3 are the Same)
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: NDR15 NDR14 NDR13 NDR12 NDR11 NDR10 NDR9 NDR8
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
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — — — — —
Initial value: 1 1 1 1 1 1 1 1
R/W: — — — — — — — —
643
A.2.74 Next Data Register B (NDRB) TPC
(When the Output Triggers of TPC Output Groups 2 and 3 are Different)
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: NDR15 NDR14 NDR13 NDR12 — — — —
Initial value: 0 0 0 0 1 1 1 1
R/W: R/W R/W R/W R/W — — — —
Register Overview:
Bit: 7 6 5 4 3 2 1 0
Bit name: — — — — NDR11 NDR10 NDR9 NDR8
Initial value: 1 1 1 1 0 0 0 0
R/W: — — — — R/W R/W R/W R/W
644
A.3 Register Status in Reset and Power-Down States
645
Table A.77 Register Status in Reset and Power-Down States (cont)
646
Table A.78 Register Status in Reset and Power-Down States (cont)
647
Appendix B Pin States
Table B.1 Pin State In Resets, Power-Down State, and Bus-Released State
Pin State
Reset Power-Down
Bus
Category Pin Power-On Manual Standby Sleep Released
Clock CK O O H*1 O O
System control RES I I I I I
WDTOVF H H H*1 O O
BREQ — I Z I I
BACK Z O Z O L
Interrupt NMI I I I I I
IRQ7–IRQ0 — I Z I I
IRQOUT — O O* 1 H O
Address bus A21–A0 H O Z H Z
Data bus AD15–AD0 Z Z Z Z Z
DPH,DPL — Z Z Z Z
Bus control WAIT I I*2 Z I*2 I*2
CS7 — O Z H Z
CS6–CS0 Z O Z H Z
RD H O Z H Z
WRH (LBS),WRL H O Z H Z
(WR)
RAS — O O* 1 O Z
CASH,CASL — O O O Z
AH — O Z H Z
Direct memory access DREQ0,DREQ1 — I Z I I
controller (DMAC) DACK0,DACK1 Z O K* 1 O O
16-bit integrated timer TIOCA0–TIOCA4 — I K* 1 I/O I/O
pulse unit (ITU) TIOCB0–TIOCB4 — I K* 1 I/O I/O
TOCXA4, — I K* 1 O O
TOCXB4
TCLKA–TCLKD — I Z I I
Timing pattern TP15–TP0 — I K* 1 O O
controller (TPC)
648
Table B.1 Pin State In Resets, Power-Down State, and Bus-Released State (cont)
Pin State
Reset Power-Down
Bus
Category Pin Power-On Manual Standby Sleep Released
Serial communication TxD0–TxD1 — Z K* 1 O O
interface (SCI) RxD0,RxD1 — I Z I I
SCK0,SCK1 — I Z I/O I/O
A/D converter AN7–AN0 Z Z Z I I
ADTRG — I Z I I
I/O ports PA14, PA12, — I/O K* 1 I/O I/O
PA7–PA0
PA15, PA13, Z I/O K* 1 I/O I/O
PA11–PA8,
PB15–PB0
PC7–PC0 Z I Z I I
—: One of the multiplexed pin functions is allocated, but the pin functions in the reset state are
different.
I: Input
O: Output
H: High
L: Low
Z: High impedance
K: Input pins are high-impedance, output pins hold their state.
Notes: 1. When the port high impedance bit (HIZ) in the standby control register (SBYCR) is set
to 1, the output pins become high-impedance.
2. When the pin pull-up control bit (WPU) in the wait state control register (WCR3) is set to
1, the WAIT pin is pulled up, but if set to 0, it is not pulled up.
649
The following table shows the states of bus control pins and external bus pins in accesses of
various address spaces.
650
Table B.2 Pin States in Address Space Accesses (cont)
651
Table B.2 Pin States in Address Space Accesses (cont)
DRAM Space
16-Bit Space
2-CAS System 2-WE System
8-Bit Upper Lower Upper Lower
Pin Name Space Byte Byte Word Byte Byte Word
CS7–CS2, High High High High High High High
CS0
CS1 Low — — — Low Low Low
RAS RAS RAS RAS RAS RAS RAS RAS
CASH High CASH High CASH High High High
CASL CAS High CASL CASL CASL CASL CASL
AH Low Low Low Low Low Low Low
RD R Low Low Low Low Low Low Low
W High High High High High High High
WRH R High High High High High High High
W High High High High Low High Low
WRL R High High High High High High High
W Low Low Low Low High Low Low
A0 A0 A0 A0 A0 A0 A0 A0
A21–A1 Address Address Address Address Address Address Address
AD15–AD8 High-Z Data High-Z Data Data High-Z Data
AD7–AD0 Data High-Z Data Data High-Z Data Data
DPH High-Z Parity High-Z Parity Parity High-Z Parity
DPL Parity High-Z Parity Parity High-Z Parity Parity
R: Read
W: Write
—: The CS1 pin is used as the CASH signal output pin.
RAS: When a row address is output from A21–A0, an address strobe signal is output.
CAS: When a column address is output from A21–A0, an address strobe signal is output.
CASH: When a column address is output from A21–A0 during an upper byte access, an address
strobe signal is output.
CASL: When a column address is output from A21–A0 during a lower byte access, an address
strobe signal is output.
Parity: When a DRAM space parity check is selected with the parity check enable bits
(PCHK1,PCHK0) in the parity control register (PCR), this pin is used as the parity pin.
652
Table B.2 Pin States in Address Space Accesses (cont)
653
Appendix C Package Dimensions
Figure C.1 and figure C.2 show the package dimensions of the SH microcomputer.
As of January, 2001
Unit: mm
23.2 ± 0.3
20
84 57
85 56
23.2 ± 0.3
0.65
112 29
1 28
*0.32 ± 0.08
3.05 Max
*0.17 ± 0.05
0.15 ± 0.04
1.23 1.6
0° – 8°
0.10 +0.15
–0.10
0.8 ± 0.3
0.10
654
As of January, 2001
16.0 ± 0.2 Unit: mm
14
90 61
91 60
16.0 ± 0.2
0.4
120 31
1 30
*0.17 ± 0.05
0.15 ± 0.04
1.20 Max
*0.17 ± 0.05
0.07 M
0.15 ± 0.04
1.00
1.2 1.0
0° – 8°
0.10 ± 0.10 0.5 ± 0.1
0.10
655
656
SH7032 and SH7034 Hardware Manual
Publication Date: 1st Edition, September 1994
5th Edition, September 2001
Published by: Customer Service Division
Semiconductor & Integrated Circuits
Hitachi, Ltd.
Edited by: Technical Documentation Group
Hitachi Kodaira Semiconductor Co., Ltd.
Copyright © Hitachi, Ltd., 1994. All rights reserved. Printed in Japan.