M32195F4TFP
M32195F4TFP
32192/32195/32196 Group
32 Hardware Manual
RENESAS MCU
M32R FAMILY / M32R/ECU SERIES
All information contained in these materials, including products and product specifications,
represents information on the product at the time of publication and is subject to change by
Renesas Technology Corp. without notice. Please review the latest information published
by Renesas Technology Corp. through various means, including the Renesas Technology
Corp. website (http://www.renesas.com).
Rev. 1.10
Revision date: Apr. 06, 2007 www.renesas.com
Notes regarding these materials
1. This document is provided for reference purposes only so that Renesas customers may select the appropriate
Renesas products for their use. Renesas neither makes warranties or representations with respect to the
accuracy or completeness of the information contained in this document nor grants any license to any
intellectual property rights or any other rights of Renesas or any third party with respect to the information in
this document.
2. Renesas shall have no liability for damages or infringement of any intellectual property or other rights arising
out of the use of any information in this document, including, but not limited to, product data, diagrams, charts,
programs, algorithms, and application circuit examples.
3. You should not use the products or the technology described in this document for the purpose of military
applications such as the development of weapons of mass destruction or for the purpose of any other military
use. When exporting the products or technology described herein, you should follow the applicable export
control laws and regulations, and procedures required by such laws and regulations.
4. All information included in this document such as product data, diagrams, charts, programs, algorithms, and
application circuit examples, is current as of the date this document is issued. Such information, however, is
subject to change without any prior notice. Before purchasing or using any Renesas products listed in this
document, please confirm the latest product information with a Renesas sales office. Also, please pay regular
and careful attention to additional and different information to be disclosed by Renesas such as that disclosed
through our website. (http://www.renesas.com )
5. Renesas has used reasonable care in compiling the information included in this document, but Renesas
assumes no liability whatsoever for any damages incurred as a result of errors or omissions in the information
included in this document.
6. When using or otherwise relying on the information in this document, you should evaluate the information in
light of the total system before deciding about the applicability of such information to the intended application.
Renesas makes no representations, warranties or guaranties regarding the suitability of its products for any
particular application and specifically disclaims any liability arising out of the application and use of the
information in this document or Renesas products.
7. With the exception of products specified by Renesas as suitable for automobile applications, Renesas
products are not designed, manufactured or tested for applications or otherwise in systems the failure or
malfunction of which may cause a direct threat to human life or create a risk of human injury or which require
especially high quality and reliability such as safety systems, or equipment or systems for transportation and
traffic, healthcare, combustion control, aerospace and aeronautics, nuclear power, or undersea communication
transmission. If you are considering the use of our products for such purposes, please contact a Renesas
sales office beforehand. Renesas shall have no liability for damages arising out of the uses set forth above.
8. Notwithstanding the preceding paragraph, you should not use Renesas products for the purposes listed below:
(1) artificial life support devices or systems
(2) surgical implantations
(3) healthcare intervention (e.g., excision, administration of medication, etc.)
(4) any other purposes that pose a direct threat to human life
Renesas shall have no liability for damages arising out of the uses set forth in the above and purchasers who
elect to use Renesas products in any of the foregoing applications shall indemnify and hold harmless Renesas
Technology Corp., its affiliated companies and their officers, directors, and employees against any and all
damages arising out of such applications.
9. You should use the products described herein within the range specified by Renesas, especially with respect
to the maximum rating, operating supply voltage range, movement power voltage range, heat radiation
characteristics, installation and other product characteristics. Renesas shall have no liability for malfunctions or
damages arising out of the use of Renesas products beyond such specified ranges.
10. Although Renesas endeavors to improve the quality and reliability of its products, IC products have specific
characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use
conditions. Please be sure to implement safety measures to guard against the possibility of physical injury, and
injury or damage caused by fire in the event of the failure of a Renesas product, such as safety design for
hardware and software including but not limited to redundancy, fire control and malfunction prevention,
appropriate treatment for aging degradation or any other applicable measures. Among others, since the
evaluation of microcomputer software alone is very difficult, please evaluate the safety of the final products or
system manufactured by you.
11. In case Renesas products listed in this document are detached from the products to which the Renesas
products are attached or affixed, the risk of accident such as swallowing by infants and small children is very
high. You should implement safety measures so that Renesas products may not be easily detached from your
products. Renesas shall have no liability for damages arising out of such detachment.
12. This document may not be reproduced or duplicated, in any form, in whole or in part, without prior written
approval from Renesas.
13. Please contact a Renesas sales office if you have any questions regarding the information contained in this
document, Renesas semiconductor products, or if you have any other inquiries.
General Precautions in the Handling of MPU/MCU Products
The following usage notes are applicable to all MPU/MCU products from Renesas. For detailed usage notes
on the products covered by this manual, refer to the relevant sections of the manual. If the descriptions under
General Precautions in the Handling of MPU/MCU Products and in the body of the manual differ from each
other, the description in the body of the manual takes precedence.
12-45,62 Add a note about switching from general-purpose to serial interface pin
13-27 Correct the description of RBO bit
13-28 Add descriptions to LBM bit and RST bit
(REVISION HISTORY-1)
REVISION HISTORY 32192/32195/32196 Group Hardware Manual
(REVISION HISTORY-2)
Before Use
• Guide to Understanding the Register Table
(1) Bit number: Indicates a register’s bit number.
(2) Register border: The registers enclosed with thick border lines must be accessed in halfwords or words.
(3) Status after reset: The initial state of each register after reset is indicated in hexadecimal or binary.
(4) Status after reset: The initial state of each register after reset is indicated bitwise.
0: This bit is “0” after reset.
1: This bit is “1” after reset.
?: This bit is undefined after reset.
(5) The shaded bits mean that they have no functions assigned.
(6) Read conditions:
R: This bit can be accessed for read.
?: The value read from this bit is undefined. (Reading this bit has no effect.)
0: The value read from this bit is always “0”.
1: The value read from this bit is always “1”.
(7) Write conditions:
W: This bit can be accessed for write.
N: This bit is write protected.
0: To write to this bit, always write “0”.
1: To write to this bit, always write “1”.
–: Writing to this bit has no effect. (It does not matter whether this bit is set to “0” or “1” by writing in software.)
Note: Care must be taken when writing to this bit. See Note in each register table.
(1)
XXXRegister(XXX) <Address: H’XXXX XXXX>
(5)
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15 (2)
AAA BBB CCC
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (4)
(3)
<After reset: H’0000>
b Bit name Function R W
0 AAA 0: • • • • • • • • • bit R W
• • • • • • • • • bit 1: • • • • • • • • • bit
1 BBB 0: • • • • • • • • • bit R W
• • • • • • • • • bit 1: • • • • • • • • • bit
2 CCC 0: • • • • • • • • • bit R (Note 1)
• • • • • • • • • bit 1: • • • • • • • • • bit
3–15 No function assigned. Fix to “0”. 0 0
Note 1: Only writing “0” is effective. Writing “1” has no effect, in which case the bit retains the value it had before the write.
(6) (7)
• Notation of active-low pins (signals)
The symbol “#” suffixed to the pin (or signal) names means that the pins (or signals) are active-low.
Table of Contents
CHAPTER 1 OVERVIEW
CHAPTER 2 CPU
CHAPTER 7 RESET
• The M32R-FPU contains a 32 bits × 16 bits high-speed multiplier which enables the M32R-FPU to
execute a 32 bits × 32 bits integral multiplication instruction in three CPUCLK periods.
• The M32R-FPU supports the following four types of multiply-accumulate instructions (or multiplication
instructions) which each can be executed in one CPUCLK period using a 56-bit accumulator.
• The M32R-FPU has some special instructions to round the value stored in the accumulator to 16 or
32 bits or shift the accumulator value before storing in a register to have its digits adjusted. Because
these instructions too are executed in one CPUCLK period, when used in combination with high-
speed data transfer instructions such as Load & Address Update or Store & Address Update, they
enable the M32R-FPU to exhibit superior data processing capability comparable to that of a DSP.
• The M32R-FPU supports single-precision floating-point arithmetic fully compliant with IEEE 754
standards. Specifically, five exceptions specified in IEEE 754 standards (Inexact, Underflow, Divi-
sion by Zero, Overflow and Invalid Operation) and four rounding modes (round to nearest, round
toward 0, round toward + Infinity and round toward – Infinity) are supported. What’s more, because
general-purpose registers are used to perform floating-point arithmetic, the overhead associated
with transferring the operand data can be reduced.
• The 32192/32195/32196 contains a RAM that can be accessed with zero wait state, allowing to
design a high-speed embedded system.
• The internal flash memory can be written to while mounted on a printed circuit board (on-board
writing). Use of flash memory facilitates development work, because the chip used at the develop-
ment stage can be used directly in mass-production, allowing for a smooth transition from prototype
to mass-production without the need to change the printed circuit board.
• The internal flash memory can be rewritten as many as 100 times.
• The internal flash memory has a virtual flash emulation function, allowing the internal RAM to be
superficially mapped into part of the internal flash memory. When combined with the internal Real-
Time Debugger (RTD) and the M32R family’s common debug interface (Scalable Debug Interface or
SDI), this function makes the ROM table data tuning easy.
• The internal RAM can be accessed for reading or rewriting data from an external device indepen-
dently of the M32R-FPU by using the Real-Time Debugger. The external device is communicated
using the Real-Time Debugger’s exclusive clock-synchronous serial interface.
• The 32192/32195/32196 contains a clock frequency multiplier, which is schematically shown in Figure 1.1.1
below.
1/2
CLKO CLKOUT(external bus clock)
SEL (32MHz-40MHz or 16MHz-20MHz)
Internal Bus
M32R-FPU Core Interface
(Max. 160MHz)
DMAC
Multiplier/Accumulator (10 channels)
(32 bits x 16 bits + 56 bits) Internal 32-bit bus
Single-precision FPU
(fully IEEE 754 compliant) Multijunction Timer
(MJT: 55 channels)
Internal 32-bit bus
Internal RAM
(M32192F8: 176 Kbytes) Interrupt Controller
(M32195F4: 32 Kbytes) (8 levels)
(M32196F8: 64 Kbytes)
Wait Controller
Real-Time Direct RAM
Debugger Interface
(RTD) (DRI)
Full CAN
(2 channels)
PLL Clock Generator
External Bus
Interface
Internal Power Supply
Generator (VDC) Data Address
VCC-BUS
XIN P93/TO16/SCLKI5/SCLKO5
Clock Serial
XOUT P94/TO17/TXD5/DD15 Interface
Reset RESET# P95/TO18/RXD5/DD14 Port 9
DRI
MOD0 P96/TO19/DD13
VCCE
Mode MOD1 P97/TO20/DD12
MOD2 (Note 1) P100/TO8
Flash FP P101/TO9/CRX0
Interrupt CAN
controller SBI# P102/TO10/CTX0
16
AD0IN0-AD0IN15 P103/TO11/TIN24
Port 10
AVCC0 P104/TO12/TIN25/DD3
A/D converter
AVSS0 P105/TO13/SCLKI4/SCLKO4/DD2
DRI
Serial
VREF0 P106/TO14/TXD4/DD1 Interface
P00/DB0/TO21/DD0- 8 P107/TO15/RXD4/DD0
VCCE
Multi- Port 0
Data junction P07/DB7/TO28/DD7
timer 8 P110/TO0/TO29/DD11- Port 11 Multi-
bus P10/DB8/TO29/DD8- 8 P117/TO7/TO36/DD4
Port 1 junction
P17/DB15/TO36/DD15 timer
M32192F8xFP, M32195F4xFP, M32196F8xFP
DRI Port 2
P20/A23/DD24- 8 P124/TCLK0/A9/DD3 Address
P27/A30/DD31 bus
P125/TCLK1/A10/DD2
Address Multi- P30/A15/TIN4/DD16- 4 Port 12
bus P33/A18/TIN7/DD19
VCC-BUS
junction
Port 3 P126/TCLK2/CS2#/DD1 Bus
timer P34/A19/TIN30/DD20- 4 control
P37/A22/TIN33/DD23 P127/TCLK3/CS3#/DD0
DRI
P41/BLW#/BLE# P130/TIN16/PWMOFF0/DIN0
P131/TIN17/PWMOFF1/DIN1
P42/BHW#/BHE#
Bus control P132/TIN18/DIN2
P43/RD#
Port 4
P44/CS0#/TIN8, P133/TIN19/DIN3
Multi- 2 Port 13
junction P45/CS1#/TIN9 P134/TIN20/TXD3/DIN4 Serial
Address timer P46/A13/TIN10, 2 Interface
bus P47/A14/TIN11 P135/TIN21/RXD3
Port 6 3 P136/TIN22/CRX1
P61-P63 CAN
P137/TIN23/CTX1
VCC-BUS
P70/CLKOUT/WR#/BCLK
P150/TIN0/CLKOUT/WR# Bus
P71/WAIT# Port 15
Bus control/ control/
Clock Multi- P153/TIN3/WAIT# Clock
junction P72/HREQ#/TIN27
VCCE
VCCER
EXCVCC 2
Power 2
supply VCC-BUS
VDDE
EXCVDD
VSS 6
VCC-BUS
XIN P93/TO16/SCLKI5/SCLKO5
Clock Serial
XOUT P94/TO17/TXD5/DD15 Interface
Reset RESET# P95/TO18/RXD5/DD14 Port 9
DRI
MOD0 P96/TO19/DD13
VCCE
Mode MOD1 P97/TO20/DD12
MOD2 (Note 1) P100/TO8
Flash FP P101/TO9/CRX0
Interrupt CAN
controller SBI# P102/TO10/CTX0
16
AD0IN0-AD0IN15 P103/TO11/TIN24
Port 10
AVCC0 P104/TO12/TIN25/DD3
A/D converter
AVSS0 P105/TO13/SCLKI4/SCLKO4/DD2
DRI
Serial
VREF0 P106/TO14/TXD4/DD1 Interface
P00/DB0/TO21/DD0- 8 P107/TO15/RXD4/DD0
VCCE
Multi- Port 0
Data junction P07/DB7/TO28/DD7
timer 8 P110/TO0/TO29/DD11- Port 11 Multi-
bus P10/DB8/TO29/DD8- 8
Port 1 P117/TO7/TO36/DD4 junction
P17/DB15/TO36/DD15 timer
DRI Port 2
P20/A23/DD24- 8 P124/TCLK0/A9/DD3 Address
P27/A30/DD31 bus
P125/TCLK1/A10/DD2
Address Multi- P30/A15/TIN4/DD16- 4 Port 12
bus junction P33/A18/TIN7/DD19 VCC-BUS P126/TCLK2/CS2#/DD1
Port 3 Bus
timer P34/A19/TIN30/DD20- 4 control
P37/A22/TIN33/DD23 P127/TCLK3/CS3#/DD0
DRI
P41/BLW#/BLE# P130/TIN16/PWMOFF0/DIN0
P131/TIN17/PWMOFF1/DIN1
M32192F8xWG
P42/BHW#/BHE#
Bus control P132/TIN18/DIN2
P43/RD#
Port 4
P44/CS0#/TIN8, P133/TIN19/DIN3
Multi- 2 Port 13
junction P45/CS1#/TIN9 P134/TIN20/TXD3/DIN4 Serial
Address timer P46/A13/TIN10, 2 Interface
bus P47/A14/TIN11 P135/TIN21/RXD3
Port 6
3 P136/TIN22/CRX1
P61-P63 CAN
P137/TIN23/CTX1
VCC-BUS
P70/CLKOUT/WR#/BCLK
P150/TIN0/CLKOUT/WR# Bus
P71/WAIT# Port 15
Bus control/ control/
Clock Multi- P153/TIN3/WAIT# Clock
junction P72/HREQ#/TIN27
VCCE
VCCER 2
EXCVCC 2
Power 2
supply VCC-BUS
VDDE
EXCVDD
VSS 12
THERMAL-BALL (Note 2) 49
P75/RTDRXD/RXD3/NBDD1
P77/RTDCLK/CRX1/NBDD3
P76/RTDACK/CTX1/NBDD2
P74/RTDTXD/TXD3/NBDD0
P93/TO16/SCLKI5/SCLKO5
P70/CLKOUT/WR#/BCLK
P95/TO18/RXD5/DD14
P94/TO17/TXD5/DD15
P111/TO1/TO30/DD10
P110/TO0/TO29/DD11
P117/TO7/TO36/DD4
P116/TO6/TO35/DD5
P115/TO5/TO34/DD6
P114/TO4/TO33/DD7
P113/TO3/TO32/DD8
P112/TO2/TO31/DD9
P72/HREQ#/TIN27
P73/HACK#/TIN26
P102/TO10/CTX0
P101/TO9/CRX0
P97/TO20/DD12
P96/TO19/DD13
P71/WAIT#
P100/TO8
EXCVDD
RESET#
MOD1
MOD0
VDDE
VCCE
SBI#
VSS
P63
P62
P61
FP
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
JTMS 109 72 VSS
JTCK/NBDCLK 110 71 P87/SCLKI1/SCLKO1/TO21
JTRST 111 70 P86/RXD1/TO22
JTDO/NBDEVNT# 112 69 P85/TXD1/TO23
JTDI/NBDSYNC# 113 68 P84/SCLKI0/SCLKO0/TO24
P103/TO11/TIN24 114 67 P83/RXD0/TO25
P104/TO12/TIN25/DD3 115 66 P82/TXD0/TO26
P105/TO13/SCLKI4/SCLKO4/DD2 116 65 VCCER
P106/TO14/TXD4/DD1 117 64 P175/RXD2/TO27
P107/TO15/RXD4/DD0 118 63 P174/TXD2/TO28
P124/TCLK0/A9/DD3 119 62 VSS
P125/TCLK1/A10/DD2 120 61 EXCVCC
P126/TCLK2/CS2#/DD1 121 60 AVSS0
P127/TCLK3/CS3#/DD0 122 59 AD0IN15
MOD2(Note 1) 123 58 AD0IN14
P130/TIN16/PWMOFF0/DIN0
P131/TIN17/PWMOFF1/DIN1
124
125
M32192F8xFP 57
56
AD0IN13
AD0IN12
P132/TIN18/DIN2
P133/TIN19/DIN3
126
127
M32195F4xFP 55
54
AD0IN11
AD0IN10
AD0IN9
P134/TIN20/TXD3/DIN4
P135/TIN21/RXD3
128
129 M32196F8xFP 53
52 AD0IN8
P136/TIN22/CRX1 130 51 AD0IN7
P137/TIN23/CTX1 131 50 AD0IN6
VCCE 132 49 AD0IN5
P150/TIN0/CLKOUT/WR# 133 48 AD0IN4
P153/TIN3/WAIT# 134 47 AD0IN3
P41/BLW#/BLE# 135 46 AD0IN2
P42/BHW#/BHE# 136 45 AD0IN1
EXCVCC 137 44 AD0IN0
VSS 138 43 AVCC0
P43/RD# 139 42 VREF0
P44/CS0#/TIN8 140 41 P17/DB15/TO36/DD15
P45/CS1#/TIN9 141 40 P16/DB14/TO35/DD14
P46/A13/TIN10 142 39 P15/DB13/TO34/DD13
P47/A14/TIN11 143 38 P14/DB12/TO33/DD12
P220/CTX0/HACK# 144 37 P13/DB11/TO32/DD11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
P221/CRX0/HREQ#
P225/A12/CS3#
VSS
XIN
XOUT
VCC-BUS
P224/A11/CS2#
P30/A15/TIN4/DD16
P31/A16/TIN5/DD17
P32/A17/TIN6/DD18
P33/A18/TIN7/DD19
P34/A19/TIN30/DD20
P35/A20/TIN31/DD21
P36/A21/TIN32/DD22
P37/A22/TIN33/DD23
P20/A23/DD24
P21/A24/DD25
P22/A25/DD26
P23/A26/DD27
VCC-BUS
VSS
P24/A27/DD28
P25/A28/DD29
P26/A29/DD30
P27/A30/DD31
P00/DB0/TO21/DD0
P01/DB1/TO22/DD1
P02/DB2/TO23/DD2
P03/DB3/TO24/DD3
P04/DB4/TO25/DD4
P05/DB5/TO26/DD5
P06/DB6/TO27/DD6
P07/DB7/TO28/DD7
P10/DB8/TO29/DD8
P11/DB9/TO30/DD9
P12/DB10/TO31/DD10
Figure 1.4.1 Pin Assignment Diagram of the M32192F8xFP, M32195F4xFP, and M32196F8xFP (Top View)
P93/TO16
P115/TO5 P112/TO2 /SCLKI5 P75/RTDRXD P72/HREQ#
15 VSS VDDE P100/TO8
/TO34/DD6 /TO31/DD9
VSS FP N.C. N.C.
/RXD3/NBDD1 /TIN27
SBI# P61 EXCVDD
/SCLKO5
P87/SCLKI1
JTDO JTCK P117/TO7 P114/TO4 P110/TO0 P94/TO17 P76/RTDACK P73/HACK# P70/CLKOUT P86/RXD1
13 JTRST
/TO33/DD7 /TO29/DD11
N.C. MOD0
/TXD5/DD15 /CTX1/NBDD2 /TIN26 /WR#/BCLK
/SCLKO1 N.C.
/TO22
/NBDEVNT# /NBDCLK /TO36/DD4 /TO21
P105/TO13
P107/TO15 P106/TO14 /SCLKI4 P124/TCLK0 THERMAL- THERMAL- THERMAL- THERMAL- THERMAL- THERMAL- THERMAL- P174/TXD2 P82/TXD0 P175/RXD2
11 BALL BALL BALL BALL BALL BALL BALL VCCER
/RXD4/DD0 /TXD4/DD1 /SCLKO4 /A9/DD3 /TO28 /TO26 /TO27
(Note 2) (Note 2) (Note 2) (Note 2) (Note 2) (Note 2) (Note 2)
/DD2
THERMAL- THERMAL- THERMAL- THERMAL- THERMAL- THERMAL- THERMAL-
P126/TCLK2 P125/TCLK1
10 N.C. N.C. BALL BALL BALL BALL BALL BALL BALL N.C. N.C. N.C. N.C.
/CS2#/DD1 /A10/DD2
(Note 2) (Note 2) (Note 2) (Note 2) (Note 2) (Note 2) (Note 2)
P45/CS1# P46/A13 P47/A14 P44/CS0# P31/A16 P35/A20 P20/A23 P26/A29 P02/DB2 P17/DB15
4 TIN9 /TIN10 /TIN11 /TIN8 /TIN5/DD17 /TIN31/DD21 /DD24
VCC-BUS VSS
/DD30 /TO23/DD2
VREF0 N.C.
/TO36/DD15
VSS
P220/CTX0 P221/CRX0 P225/A12 P32/A17 P21/A24 P25/A28 P01/DB1 P05/DB5 P10/DB8 P15/DB13 P16/DB14
3 /HACK# /HREQ# /CS3#
VCC-BUS VCCER
/TIN6/DD18
N.C.
/DD25 /DD29 /TO22/DD1 /TO26/DD5 /TO29/DD8 /TO34/DD13 /TO35/DD14
N.C.
P30/A15 P33/A18 P36/A21 P22/A25 P24/A27 P00/DB0 P04/DB4 P07/DB7 P12/DB10 P13/DB11 P14/DB12
2 VSS N.C. N.C. VSS
/TIN4/DD16 /TIN7/DD19 /TIN32/DD22 /DD26 /DD28 /TO21/DD0 /TO25/DD4 /TO28/DD7 /TO31/DD10 /TO32/DD11 /TO33/DD12
A B C D E F G H J K L M N P R
The pins directed for input go to a high-impedance state (Hi-Z) when reset. The term “when reset” means that
input on RESET# pin is held “L” (the device remains reset), and that the RESET# pin is released back “H” (the
device comes out of reset).
Table 1.4.1 Pin Assignments of the M32192F8xFP, M32195F4xFP, and M32196F8xFP (1/4)
Function Pin state when reset
Pin Power
Symbol Type Condition
No. DRI function supply State during State upon
Port Function 1 Function 2 Function Type
NBD function reset exiting reset
1 P221/CRX0/HREQ# P221 CRX0(Note 1) HREQ#(Note 1) - Input P221 Input Hi-Z Hi-Z
During single-chip and
Input/ VCC-BUS P225 Input Hi-Z Hi-Z
2 P225/A12/CS3# P225 A12 CS3#(Note 1) - external extension modes
output
During processor mode A12 Output Hi-Z Undefined
3 VSS - VSS - - - - VSS - - -
4 XIN - XIN - - Input XIN Input - -
VCC-BUS
5 XOUT - XOUT - - Output XOUT Output XOUT XOUT
6 VCC-BUS - VCC-BUS - - - - VCC-BUS - - -
During single-chip and
Input/ P224 Input Hi-Z Hi-Z
7 P224/A11/CS2# P224 A11 CS2#(Note 1) - external extension modes
output
During processor mode A11 Output Hi-Z Undefined
During single-chip and
Input/ P30 Input Hi-Z Hi-Z
8 P30/A15/TIN4/DD16 P30 A15 TIN4 DD16 external extension modes
output
During processor mode A15 Output Hi-Z Undefined
During single-chip and
Input/ P31 Input Hi-Z Hi-Z
9 P31/A16/TIN5/DD17 P31 A16 TIN5 DD17 external extension modes
output
During processor mode A16 Output Hi-Z Undefined
During single-chip and
Input/ P32 Input Hi-Z Hi-Z
10 P32/A17/TIN6/DD18 P32 A17 TIN6 DD18 external extension modes
output
During processor mode A17 Output Hi-Z Undefined
During single-chip and
Input/ P33 Input Hi-Z Hi-Z
11 P33/A18/TIN7/DD19 P33 A18 TIN7 DD19 external extension modes
output
During processor mode A18 Output Hi-Z Undefined
During single-chip and
Input/ P34 Input Hi-Z Hi-Z
12 P34/A19/TIN30/DD20 P34 A19 TIN30 DD20 external extension modes
output
During processor mode A19 Output Hi-Z Undefined
During single-chip and
Input/ P35 Input Hi-Z Hi-Z
13 P35/A20/TIN31/DD21 P35 A20 TIN31 DD21 VCC-BUS external extension modes
output
During processor mode A20 Output Hi-Z Undefined
During single-chip and
Input/ P36 Input Hi-Z Hi-Z
14 P36/A21/TIN32/DD22 P36 A21 TIN32 DD22 external extension modes
output
During processor mode A21 Output Hi-Z Undefined
During single-chip and
Input/ P37 Input Hi-Z Hi-Z
15 P37/A22/TIN33/DD23 P37 A22 TIN33 DD23 external extension modes
output
During processor mode A22 Output Hi-Z Undefined
During single-chip and
Input/ P20 Input Hi-Z Hi-Z
16 P20/A23/DD24 P20 A23 - DD24 external extension modes
output
During processor mode A23 Output Hi-Z Undefined
During single-chip and
Input/ P21 Input Hi-Z Hi-Z
17 P21/A24/DD25 P21 A24 - DD25 external extension modes
output
During processor mode A24 Output Hi-Z Undefined
During single-chip and
Input/ P22 Input Hi-Z Hi-Z
18 P22/A25/DD26 P22 A25 - DD26 external extension modes
output
During processor mode A25 Output Hi-Z Undefined
During single-chip and
Input/ P23 Input Hi-Z Hi-Z
19 P23/A26/DD27 P23 A26 - DD27 external extension modes
output
During processor mode A26 Output Hi-Z Undefined
20 VCC-BUS - VCC-BUS - - - - VCC-BUS - - -
21 VSS - VSS - - - - VSS - - -
During single-chip and
Input/ P24 Input Hi-Z Hi-Z
22 P24/A27/DD28 P24 A27 - DD28 external extension modes
output
During processor mode A27 Output Hi-Z Undefined
During single-chip and
Input/ P25 Input Hi-Z Hi-Z
23 P25/A28/DD29 P25 A28 - DD29 external extension modes
output
During processor mode A28 Output Hi-Z Undefined
During single-chip and
Input/ P26 Input Hi-Z Hi-Z
24 P26/A29/DD30 P26 A29 - DD30 VCC-BUS external extension modes
output
During processor mode A29 Output Hi-Z Undefined
During single-chip and
Input/ P27 Input Hi-Z Hi-Z
25 P27/A30/DD31 P27 A30 - DD31 external extension modes
output
During processor mode A30 Output Hi-Z Undefined
During single-chip and
Input/ P00 Input Hi-Z Hi-Z
26 P00/DB0/TO21/DD0 P00 DB0 TO21(Note 1) DD0(Note 1) external extension modes
output
During processor mode DB0 Input/output Hi-Z Hi-Z
Table 1.4.1 Pin Assignments of the M32192F8xFP, M32195F4xFP, and M32196F8xFP (2/4)
Function Pin state when reset
Pin Power
Symbol DRI function Type Condition State during State upon
No. Port Function 1 Function 2 supply Function Type
NBD function reset exiting reset
During single-chip and
P01/DB1/ Input/ P01 Input Hi-Z Hi-Z
27 P01 DB1 TO22(Note 1) DD1(Note 1) external extension modes
TO22/DD1 output
During processor mode DB1 Input/output Hi-Z Hi-Z
During single-chip and
P02/DB2/ Input/ P02 Input Hi-Z Hi-Z
28 P02 DB2 TO23(Note 1) DD2(Note 1) external extension modes
TO23/DD2 output
During processor mode DB2 Input/output Hi-Z Hi-Z
During single-chip and
P03/DB3/ Input/ P03 Input Hi-Z Hi-Z
29 P03 DB3 TO24(Note 1) DD3(Note 1) external extension modes
TO24/DD3 output
During processor mode DB3 Input/output Hi-Z Hi-Z
During single-chip and
P04/DB4/ Input/ P04 Input Hi-Z Hi-Z
30 P04 DB4 TO25(Note 1) DD4(Note 1) external extension modes
TO25/DD4 output
During processor mode DB4 Input/output Hi-Z Hi-Z
During single-chip and
P05/DB5/ Input/ P05 Input Hi-Z Hi-Z
31 P05 DB5 TO26(Note 1) DD5(Note 1) external extension modes
TO26/DD5 output
During processor mode DB5 Input/output Hi-Z Hi-Z
During single-chip and
P06/DB6/ Input/ P06 Input Hi-Z Hi-Z
32 P06 DB6 TO27(Note 1) DD6(Note 1) external extension modes
TO27/DD6 output
During processor mode DB6 Input/output Hi-Z Hi-Z
During single-chip and
P07/DB7/ Input/ P07 Input Hi-Z Hi-Z
33 P07 DB7 TO28(Note 1) DD7(Note 1) external extension modes
TO28/DD7 output
During processor mode DB7 Input/output Hi-Z Hi-Z
During single-chip and
P10/DB8/ Input/ P10 Input Hi-Z Hi-Z
34 P10 DB8 TO29(Note 1) DD8(Note 1) VCC-BUS external extension modes
TO29/DD8 output
During processor mode DB8 Input/output Hi-Z Hi-Z
During single-chip and
P11/DB9/ Input/ P11 Input Hi-Z Hi-Z
35 P11 DB9 TO30(Note 1) DD9(Note 1) external extension modes
TO30/DD9 output
During processor mode DB9 Input/output Hi-Z Hi-Z
During single-chip and
P12/DB10/ Input/ P12 Input Hi-Z Hi-Z
36 P12 DB10 TO31(Note 1) DD10(Note 1) external extension modes
TO31/DD10 output
During processor mode DB10 Input/output Hi-Z Hi-Z
During single-chip and
P13/DB11/ Input/ P13 Input Hi-Z Hi-Z
37 P13 DB11 TO32(Note 1) DD11(Note 1) external extension modes
TO32/DD11 output
During processor mode DB11 Input/output Hi-Z Hi-Z
During single-chip and
P14/DB12/ Input/ P14 Input Hi-Z Hi-Z
38 P14 DB12 TO33(Note 1) DD12(Note 1) external extension modes
TO33/DD12 output
During processor mode DB12 Input/output Hi-Z Hi-Z
During single-chip and
P15/DB13/ Input/ P15 Input Hi-Z Hi-Z
39 P15 DB13 TO34(Note 1) DD13(Note 1) external extension modes
TO34/DD13 output
During processor mode DB13 Input/output Hi-Z Hi-Z
During single-chip and
P16/DB14/ Input/ P16 Input Hi-Z Hi-Z
40 P16 DB14 TO35(Note 1) DD14(Note 1) external extension modes
TO35/DD14 output
During processor mode DB14 Input/output Hi-Z Hi-Z
During single-chip and
P17/DB15/ Input/ P17 Input Hi-Z Hi-Z
41 P17 DB15 TO36(Note 1) DD15(Note 1) external extension modes
TO36/DD15 output
During processor mode DB15 Input/output Hi-Z Hi-Z
42 VREF0 - VREF0 - - - AVCC0 VREF0 - - -
43 AVCC0 - AVCC0 - - - - AVCC0 - - -
44 AD0IN0 - AD0IN0 - - Input AD0IN0 Input Hi-Z Hi-Z
45 AD0IN1 - AD0IN1 - - Input AD0IN1 Input Hi-Z Hi-Z
46 AD0IN2 - AD0IN2 - - Input AD0IN2 Input Hi-Z Hi-Z
47 AD0IN3 - AD0IN3 - - Input AD0IN3 Input Hi-Z Hi-Z
48 AD0IN4 - AD0IN4 - - Input AD0IN4 Input Hi-Z Hi-Z
49 AD0IN5 - AD0IN5 - - Input AD0IN5 Input Hi-Z Hi-Z
50 AD0IN6 - AD0IN6 - - Input AD0IN6 Input Hi-Z Hi-Z
51 AD0IN7 - AD0IN7 - - Input AD0IN7 Input Hi-Z Hi-Z
AVCC0
52 AD0IN8 - AD0IN8 - - Input AD0IN8 Input Hi-Z Hi-Z
53 AD0IN9 - AD0IN9 - - Input AD0IN9 Input Hi-Z Hi-Z
54 AD0IN10 - AD0IN10 - - Input AD0IN10 Input Hi-Z Hi-Z
55 AD0IN11 - AD0IN11 - - Input AD0IN11 Input Hi-Z Hi-Z
56 AD0IN12 - AD0IN12 - - Input AD0IN12 Input Hi-Z Hi-Z
57 AD0IN13 - AD0IN13 - - Input AD0IN13 Input Hi-Z Hi-Z
58 AD0IN14 - AD0IN14 - - Input AD0IN14 Input Hi-Z Hi-Z
59 AD0IN15 - AD0IN15 - - Input AD0IN15 Input Hi-Z Hi-Z
Table 1.4.1 Pin Assignments of the M32192F8xFP, M32195F4xFP, and M32196F8xFP (3/4)
Function Pin state when reset
Pin Power
Symbol DRI function Type Condition State during State upon
No. Port Function 1 Function 2 supply Function Type
NBD function reset exiting reset
60 AVSS0 - AVSS0 - - - - AVSS0 - - -
61 EXCVCC - EXCVCC - - - - EXCVCC - - -
62 VSS - VSS - - - - VSS - - -
63 P174/TXD2/TO28 P174 TXD2 TO28(Note 1) - Input/output P174 Input Hi-Z Hi-Z
VCCE
64 P175/RXD2/TO27 P175 RXD2 TO27(Note 1) - Input/output P175 Input Hi-Z Hi-Z
65 VCCER - VCCER - - Input/output - VCCER - - -
66 P82/TXD0/TO26 P82 TXD0 TO26(Note 1) - Input/output P82 Input Hi-Z Hi-Z
67 P83/RXD0/TO25 P83 RXD0 TO25(Note 1) - Input/output P83 Input Hi-Z Hi-Z
P84/SCLKI0/ SCLKI0/ Input/
68 P84 TO24(Note 1) - P84 Input Hi-Z Hi-Z
SCLKO0/TO24 SCLKO0 output
VCCE
69 P85/TXD1/TO23 P85 TXD1 TO23(Note 1) - Input/output P85 Input Hi-Z Hi-Z
70 P86/RXD1/TO22 P86 RXD1 TO22(Note 1) - Input/output P86 Input Hi-Z Hi-Z
P87/SCLKI1/ SCLKI1/ Input/
71 P87 TO21(Note 1) - P87 Input Hi-Z Hi-Z
SCLKO1/TO21 SCLKO1 output
72 VSS - VSS - - - - VSS - - -
73 EXCVDD - EXCVDD - - - - EXCVDD - - -
74 P61 P61 - - - Input/output P61 Input Hi-Z Hi-Z
75 P62 P62 - - - Input/output P62 Input Hi-Z Hi-Z
76 P63 P63 - - - Input/output P63 Input Hi-Z Hi-Z
77 SBI# SBI# - - Input SBI# Input Hi-Z Hi-Z
P70/CLKOUT/WR# CLKOUT/ Input/
78 P70 BCLK - P70 Input Hi-Z Hi-Z
/BCLK WR# output
79 P71/WAIT# P71 WAIT# - - Input/output P71 Input Hi-Z Hi-Z
80 P72/HREQ#/TIN27 P72 HREQ# TIN27 - Input/output P72 Input Hi-Z Hi-Z
81 P73/HACK#/TIN26 P73 HACK# TIN26 - Input/output P73 Input Hi-Z Hi-Z
P74/RTDTXD/ Input/
82 P74 RTDTXD TXD3(Note 1) NBDD0 P74 Input Hi-Z Hi-Z
TXD3/NBDD0 output
P75/RTDRXD/ Input/
83 P75 RTDRXD RXD3(Note 1) NBDD1 P75 Input Hi-Z Hi-Z
RXD3/NBDD1 output
P76/RTDACK/ Input/
84 P76 RTDACK CTX1(Note 1) NBDD2 P76 Input Hi-Z Hi-Z
CTX1/NBDD2 output VCCE
P77/RTDCLK/ Input/
85 P77 RTDCLK CRX1(Note 1) NBDD3 P77 Input Hi-Z Hi-Z
CRX1/NBDD3 output
P93/TO16/ SCLKI5/ Input/
86 P93 TO16 - P93 Input Hi-Z Hi-Z
SCLKI5/SCLKO5 SCLKO5 output
P94/TO17/ Input/
87 P94 TO17 TXD5 DD15(Note 1) P94 Input Hi-Z Hi-Z
TXD5/DD15 output
P95/TO18/ Input/
88 P95 TO18 RXD5 DD14(Note 1) P95 Input Hi-Z Hi-Z
RXD5/DD14 output
89 P96/TO19/DD13 P96 TO19 - DD13(Note 1) Input/output P96 Input Hi-Z Hi-Z
90 P97/TO20/DD12 P97 TO20 - DD12(Note 1) Input/output P97 Input Hi-Z Hi-Z
91 RESET# - RESET# - - Input RESET# Input Hi-Z Hi-Z
92 MOD0 - MOD0 - - Input MOD0 Input Hi-Z Hi-Z
93 MOD1 - MOD1 - - Input MOD1 Input Hi-Z Hi-Z
94 FP - FP - - Input FP Input Hi-Z Hi-Z
95 VCCE - VCCE - - - - VCCE - - -
96 VSS - VSS - - - - VSS - - -
97 P110/TO0/TO29/DD11 P110 TO0 TO29(Note 1) DD11(Note 1) Input/output P110 Input Hi-Z Hi-Z
98 P111/TO1/TO30/DD10 P111 TO1 TO30(Note 1) DD10(Note 1) Input/output P111 Input Hi-Z Hi-Z
99 P112/TO2/TO31/DD9 P112 TO2 TO31(Note 1) DD9(Note 1) Input/output P112 Input Hi-Z Hi-Z
100 P113/TO3/TO32/DD8 P113 TO3 TO32(Note 1) DD8(Note 1) Input/output P113 Input Hi-Z Hi-Z
101 P114/TO4/TO33/DD7 P114 TO4 TO33(Note 1) DD7(Note 1) Input/output P114 Input Hi-Z Hi-Z
102 P115/TO5/TO34/DD6 P115 TO5 TO34(Note 1) DD6(Note 1) Input/output VCCE P115 Input Hi-Z Hi-Z
103 P116/TO6/TO35/DD5 P116 TO6 TO35(Note 1) DD5(Note 1) Input/output P116 Input Hi-Z Hi-Z
104 P117/TO7/TO36/DD4 P117 TO7 TO36(Note 1) DD4(Note 1) Input/output P117 Input Hi-Z Hi-Z
105 P100/TO8 P100 TO8 - - Input/output P100 Input Hi-Z Hi-Z
106 P101/TO9/CRX0 P101 TO9 CRX0(Note 1) - Input/output P101 Input Hi-Z Hi-Z
107 P102/TO10/CTX0 P102 TO10 CTX0(Note 1) - Input/output P102 Input Hi-Z Hi-Z
108 VDDE - VDDE - - - - VDDE - - -
109 JTMS (Note 2) - JTMS - - Input JTMS Input Hi-Z Hi-Z
110 JTCK/NBDCLK (Note 2) - JTCK - NBDCLK Input JTCK Input Hi-Z Hi-Z
111 JTRST (Note 2) - JTRST - - Input JTRST Input Hi-Z Hi-Z
112 JTDO/NBDEVNT# (Note 2) - JTDO - NBDEVNT# Output JTDO Output Hi-Z Hi-Z
113 JTDI/NBDSYNC# (Note 2) - JTDI - NBDSYNC# Input JTDI Input Hi-Z Hi-Z
VCCE
114 P103/TO11/TIN24 P103 TO11 TIN24 - Input/output P103 Input Hi-Z Hi-Z
115 P104/TO12/TIN25/DD3 P104 TO12 TIN25 DD3(Note 1) Input/output P104 Input Hi-Z Hi-Z
P105/TO13/ SCLKI4/ Input/
116 P105 TO13 DD2(Note 1) P105 Input Hi-Z Hi-Z
SCLKI4/SCLKO4/DD2 SCLKO4 output
117 P106/TO14/TXD4/DD1 P106 TO14 TXD4 DD1(Note 1) Input/output P106 Input Hi-Z Hi-Z
Table 1.4.1 Pin Assignments of the M32192F8xFP, M32195F4xFP, and M32196F8xFP (4/4)
Function Pin state when reset
Pin Power
Symbol Type Condition
No. DRI function supply State during State upon
Port Function 1 Function 2 Function Type
NBD function reset exiting reset
118 P107/TO15/RXD4/DD0 P107 TO15 RXD4 DD0(*) Input/output P107 Input Hi-Z Hi-Z
During single-chip and
Input/ P124 Input Hi-Z Hi-Z
119 P124/TCLK0/A9/DD3 P124 TCLK0 A9 DD3(*) external extension modes
output
During processor mode A9 Output Hi-Z Hi-Z
During single-chip and
Input/ P125 Input Hi-Z Hi-Z
120 P125/TCLK1/A10/DD2 P125 TCLK1 A10 DD2(*) external extension modes
output
During processor mode A10 Output Hi-Z Hi-Z
P126/TCLK2/ Input/
121 P126 TCLK2 CS2#(*) DD1(*) P126 Input Hi-Z Hi-Z
CS2#/DD1 output
P127/TCLK3/ Input/
122 P127 TCLK3 CS3#(*) DD0(*) P127 Input Hi-Z Hi-Z
CS3#/DD0 output
123 MOD2 - MOD2 - - - VCCE MOD2 - - -
P130/TIN16/ TIN16/ Input/
124 P130 - DIN0 P130 Input Hi-Z Hi-Z
PWMOFF0/DIN0 PWMOFF0 output
P131/TIN17/ TIN17/ Input/
125 P131 - DIN1 P131 Input Hi-Z Hi-Z
PWMOFF1/DIN1 PWMOFF1 output
126 P132/TIN18/DIN2 P132 TIN18 - DIN2 Input/output P132 Input Hi-Z Hi-Z
127 P133/TIN19/DIN3 P133 TIN19 - DIN3 Input/output P133 Input Hi-Z Hi-Z
P134/TIN20/ Input/
128 P134 TIN20 TXD3(*) DIN4 P134 Input Hi-Z Hi-Z
TXD3/DIN4 output
129 P135/TIN21/RXD3 P135 TIN21 RXD3(*) - Input/output P135 Input Hi-Z Hi-Z
130 P136/TIN22/CRX1 P136 TIN22 CRX1(*) - Input/output P136 Input Hi-Z Hi-Z
131 P137/TIN23/CTX1 P137 TIN23 CTX1(*) - Input/output P137 Input Hi-Z Hi-Z
132 VCCE - VCCE - - - - VCCE - - -
P150/TIN0/ CLKOUT(*)/ Input/
133 P150 TIN0 - P150 Input Hi-Z Hi-Z
CLKOUT/WR# WR#(*) output
134 P153/TIN3/WAIT# P153 TIN3 WAIT#(*) - Input/output P153 Input Hi-Z Hi-Z
During single-chip mode P41 Input Hi-Z Hi-Z
BLW#/ Input/
135 P41/BLW#/BLE# P41 - - VCC-BUS During external extension and BLW#/
BLE# output Output Hi-Z "H" level
processor modes BLE#
During single-chip mode P42 Input Hi-Z Hi-Z
BHW#/ Input/
136 P42/BHW#/BHE# P42 - - During external extension and BHW#/
BHE# output Output Hi-Z "H" level
processor modes BHE#
137 EXCVCC - EXCVCC - - - - EXCVCC - - -
138 VSS - VSS - - - - VSS - - -
During single-chip mode P43 Input Hi-Z Hi-Z
Input/
139 P43/RD# P43 RD# - - During external extension and
output RD# Output Hi-Z "H" level
processor modes
During single-chip and
Input/ P44 Input Hi-Z Hi-Z
140 P44/CS0#/TIN8 P44 CS0# TIN8 - external extension modes
output
During processor mode CS0# Output Hi-Z "H" level
During single-chip and
Input/ P45 Input Hi-Z Hi-Z
141 P45/CS1#/TIN9 P45 CS1# TIN9 - external extension modes
output VCC-BUS
During processor mode CS1# Output Hi-Z "H" level
During single-chip and
Input/ P46 Input Hi-Z Hi-Z
142 P46/A13/TIN10 P46 A13 TIN10 - external extension modes
output
During processor mode A13 Output Hi-Z Undefined
During single-chip and
Input/ P47 Input Hi-Z Hi-Z
143 P47/A14/TIN11 P47 A14 TIN11 - external extension modes
output
During processor mode A14 Output Hi-Z Undefined
144 P220/CTX0/HACK# P220 CTX0(*) HACK#(*) - Input/output P220 Input Hi-Z Hi-Z
b0 b31 b0 b31
R0 R8
R1 R9
R2 R10
R3 R11
R4 R12
R5 R13
R6 R14 (Link register)
R7 R15 (Stack pointer) (Note 1)
Note 1: The stack pointer functions as either the SPI or the SPU depending on
the value of the SM bit in the PSW.
CRn b0 b31
CR0 PSW Processor Status Word Register
CR1 CBR Condition Bit Register
CR2 SPI Interrupt Stack Pointer
CR3 SPU User Stack Pointer
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
BSM BIE BC SM IE C
? ? 0 0 0 0 0 ? 0 0 0 0 0 0 0 0
<Upon exiting reset: B’0000 0000 0000 0000 ??00 000? 0000 0000>
b Bit Name Function R W
0–15 No function assigned. Fix to "0." 0 0
16 BSM Saves value of SM bit when EIT occurs R W
Backup SM Bit
17 BIE Saves value of IE bit when EIT occurs R W
Backup IE Bit
18–22 No function assigned. Fix to "0." 0 0
23 BC Saves value of C bit when EIT occurs R W
Backup C Bit
24 SM 0: Uses R15 as the interrupt stack pointer R W
Stack Mode Bit 1: Uses R15 as the user stack pointer
25 IE 0: Does not accept interrupt R W
Interrupt Enable Bit (Note 1) 1: Accepts interrupt
26–30 No function assigned. Fix to "0." 0 0
31 C Indicates carry, borrow or overflow resulting R W
Condition Bit from operations (instruction dependent)
Note 1: Interrupt which is controlable is External Interrupt (EI). Reserved Instruction Exception (RIE), Address Exept (AE), Reset
Interrupt (RI), System Break Interrupt (SBI) and Trap are not controlled.
The Processor Status Word Register (PSW) indicates the M32R-FPU status. It consists of the current PSW
field which is regularly used, and the BPSW field where a copy of the PSW field is saved when EIT occurs.
The PSW field consists of the Stack Mode (SM) bit, the Interrupt Enable (IE) bit and the Condition (C) bit.
The BPSW field consists of the Backup Stack Mode (BSM) bit, the Backup Interrupt Enable (BIE) bit and the
Backup Condition (BC) bit.
Upon exiting the reset state, BSM, BIE and BC are undefined. All other bits are "0."
The Condition Bit Register (CBR) is derived from the PSW register by extracting its Condition (C) bit. The value
written to the PSW register’s C bit is reflected in this register. The register can only be read. (Writing to the
register with the MVTC instruction is ignored.)
Upon exiting the reset state, the value of CBR is H’0000 0000.
b0 b31
CBR 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C
2.3.3 Interrupt Stack Pointer: SPI (CR2) and User Stack Pointer: SPU (CR3)
The Interrupt Stack Pointer (SPI) and the User Stack Pointer (SPU) retain the address of the current stack
pointer. These registers can be accessed as the general-purpose register R15. R15 switches between repre-
senting the SPI and SPU depending on the value of the Stack Mode (SM) bit in the PSW.
Upon exiting the reset state, the values of the SPI and SPU are undefined.
b0 b31
SPI SPI
b0 b31
SPU SPU
The Backup PC (BPC) is used to save the value of the Program Counter (PC) when an EIT occurs. Bit 31 is
fixed to "0."
When an EIT occurs, the register sets either the PC value when the EIT occurred or the PC value for the next
instruction depending on the type of EIT. The BPC value is loaded to the PC when the RTE instruction is
executed. However, the values of the lower 2 bits of the PC are always "00" when returned. (PC always returns
to the word-aligned address.)
Upon exiting the reset state, the value of the BPC is undefined.
b0 b31
BPC BPC 0
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
FS FX FU FZ FO FV
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
EX EU EZ EO EV DN CE CX CU CZ CO CV RM
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
2.4 Accumulator
The Accumulator (ACC) is a 56-bit register used for DSP function instructions.
The accumulator is handled as a 64-bit register when accessed for read or write. When reading data from the
accumulator, the value of bit 8 is sign-extended. When writing data to the accumulator, bits 0 to 7 are ignored.
The accumulator is also used for the multiply instruction “MUL,” in which case the accumulator value is destroyed
by instruction execution.
Use the MVTACHI and MVTACLO instructions for writing to the accumulator. The MVTACHI and MVTACLO
instructions write data to the high-order 32 bits (bits 0–31) and the low-order 32 bits (bits 32–63), respectively.
Use the MVFACHI, MVFACLO and MVFACMI instructions for reading data from the accumulator. The
MVFACHI, MVFACLO and MVFACMI instructions read data from the high-order 32 bits (bits 0–31), the low-order
32 bits (bits 32–63) and the middle 32 bits (bits 16–47), respectively.
Upon exiting the reset state, the value of accumulator is undefined.
ACC
Write and read ranges of MVTACHI Write and read ranges of MVTACLO
and MVFACHI instructions and MVFACLO instructions
Note 1: When read, bits 0 to 7 always show the sign-extended value of the value of bit 8. Writing to this
bit field is ignored.
b0 b31
PC PC 0
The data types that can be handled by the M32R-FPU instruction set are signed or unsigned 8, 16 and 32-bit
integers and single-precision floating-point numbers. The signed integers are represented by 2’s complements.
b0 b7
Signed byte
S
(8-bit) integer
b0 b7
Unsigned byte
(8-bit) integer
b0 b15
Signed halfword S
(16-bit) integer
b0 b15
Unsigned halfword
(16-bit) integer
b0 b31
Signed word
S
(32-bit) integer
b0 b31
Unsigned word
(32-bit) integer
b0 b1 b8 b9 b31
Single-precision S E F
floating-point number
The data sizes in the M32R-FPU registers are always words (32 bits).
When loading byte (8-bit) or halfword (16-bit) data from memory into a register, the data is sign-extended
(LDB, LDH instructions) or zero-extended (LDUB, LDUH instructions) to a word (32-bit) quantity before
being loaded in the register.
When storing data from a register into a memory, the 32-bit data, the 16-bit data on the LSB side and the
8-bit data on the LSB side of the register are stored into memory by the ST, STH and STB instructions,
respectively.
From memory
<Load>
Sign-extended (LDB instruction) or (LDB, LDUB instructions)
b0 zero-extended (LDUB instruction) 24 b31
Rn Byte
Rn Halfword
Rn Word
<Store>
b0 24 b31
Rn Byte
Rn Halfword
Rn Word
The data sizes in memory can be byte (8 bits), halfword (16 bits) or word (32 bits). Although byte data can
be located at any address, halfword and word data must be located at the addresses aligned with a
halfword boundary (least significant address bit = "0") or a word boundary (two low-order address bits =
"00"), respectively. If an attempt is made to access memory data that overlaps the halfword or word
boundary, an address exception occurs.
Address
+0 address +1 address +2 address +3 address
b0 7 8 15 16 23 24 b31
Byte
Byte
Byte
Byte
Byte
b0 15 b31
Halfword
Halfword
Halfword
b0 b31
Word Word
(3) Endian
The diagrams below show a general endian system and the endian adopted for the M32R Family micro-
computers.
Note: • Even when bits are arranged in big endian, H'01 is not B'10000000.
Microcomputer
7700 and M16C Families M32R Family
family name
Address +0 +1 +2 +3 +0 +1 +2 +3 +0 +1 +2 +3
Data arrangement LL LH HL HH HH HL LH LL HH HL LH LL
Bit number 7–0 15–8 23–16 31–24 31–24 23–16 15–8 7–0 0–7 8–15 16–23 24–31
Example:
0x01234567 .byte 67,45,23,01 .byte 01,23,45,67 .byte 01,23,45,67
Note: • The M32R Family uses the big endian for both bits and bytes.
imm24
LD24 Rdest, #imm24 b0 b23
imm16
b0 b15
Rdest 00 00
b0 15 b31
• Register to register transfer
MV Rdest, Rsrc
MV Rdest, Rsrc
Rsrc
b0 b31
Rdest
b0 b31
CRdest
b0 b31
Note: • The condition bit C changes state when data is written to CR0 (PSW) using the MVTC instruction.
Memory Register
• Signed 32 bits
label Rdest
LD24 Rsrc, #label
LD Rdest, @Rsrc
+0 +1 +2 +3 b0 b31
• Signed 16 bits
label
Rdest
LD24 Rsrc, #label
+0 +1 +2 +3 00 00
LDH Rdest, @Rsrc Determined by MSB
0: Positive number FF FF
1: Negative number
b0 b31
• Signed 8 bits
label
Rdest
LD24 Rsrc, #label 00 00 00
+0 +1 +2 +3
LDB Rdest, @Rsrc Determined by MSB
0: Positive number FF FF FF
1: Negative number b0 b31
Memory Register
• Unsigned 32 bits
label Rdest
LD24 Rsrc, #label
LD Rdest, @Rsrc
+0 +1 +2 +3 b0 b31
• Unsigned 16 bits
label Rdest
LD24 Rsrc, #label
00 00
LDUH Rdest, @Rsrc
+0 +1 +2 +3 b0 b31
• Unsigned 8 bits
label Rdest
LD24 Rsrc, #label
00 00 00
LDUB Rdest, @Rsrc
+0 +1 +2 +3 b0 b31
When transferring data, be aware that data arrangements in registers and memory are different.
(R0–R15) +0 +1 +2 +3
HH HL LH LL HH HL LH LL
b0 b31 b0 b31
(R0–R15) +0 +1 +2 +3
H L H L
b0 b31 b0 b15
(R0–R15) +0 +1 +2 +3
H L H L
b0 b31 b16 b31
(R0–R15) +0 +1 +2 +3
b0 b31 b0 b7
(R0–R15) +0 +1 +2 +3
b0 b31 b8 b15
(R0–R15) +0 +1 +2 +3
(R0–R15) +0 +1 +2 +3
The LOCK bit is located inside the CPU, and cannot directly be accessed for read or write by users. This bit
controls granting of bus control requested by devices other than the CPU.
In the 32192/32195/32196 Group, control of the bus may be requested by devices other than the CPU in the following
two cases:
The 2 Gbytes from the address H’0000 0000 to the address H’7FFF FFFF comprise the user space.
Located in this space are the internal ROM area, an external extension area, the internal RAM area and
the SFR (Special Function Register) area (in which a set of internal peripheral I/O registers exist). Of
these, the internal ROM and external extension areas are located differently depending on mode set-
tings as will be described later.
The 2 Gbytes from the address H’8000 0000 to the address H’FFFF FFFF comprise the system space.
This space (except for SFR area for NBD control) is reserved for use by development tools such as an in-
circuit emulator and debug monitor.
The internal ROM and external extension areas are located differently depending on how operation mode is set.
(All other areas in the address space are located the same way.) The following diagram shows how the internal
ROM and external extension areas are mapped into the address space in each operation mode. (For flash
rewrite mode, see Section 6.6, "Programming the Internal Flash Memory.")
External
Logical Single chip Logical extension Processor
address mode address mode mode
H'0000 0000 H'0000 0000
Internal ROM Internal ROM
(64 Mbytes) area (1 Mbyte) area (1 Mbyte)
H'000F FFFF CS0 area
H'0010 0000 (8 Mbytes)
CS0 area
(64 Mbytes)
(7 Mbytes)
H'007F FFFF
. SFR area H'0080 0000 SFR area SFR area
. (16 Kbytes) H'0080 3FFF (16 Kbytes) (16 Kbytes)
User
. Internal RAM
area
H'0080 4000 Internal RAM
area
Internal RAM
area
2 Gbytes
space Ghost area (176 Kbytes) H'0082 FFFF (176 Kbytes) (176 Kbytes)
in H'0083 0000
64-Mbyte
units H'00FF FFFF
. H'0100 0000
. CS1 area CS1 area
. (8 Mbytes) (8 Mbytes)
H'017F FFFF
(64 Mbytes) H'0180 0000
H'7FFF FFFF
H'8000 0000
H'01FF FFFF
H'0200 0000
H'027F FFFF
H'0280 0000
2 Gbytes System
space
H'02FF FFFF
H'0300 0000
External
Logical Single chip Logical extension Processor
address mode address mode mode
H'0000 0000 Internal ROM area H'0000 0000 Internal ROM area
(512 Kbytes) H'0007 FFFF (512 Kbytes)
(64 Mbytes) H'0008 0000 Reserved area
H'000F FFFF (512 Kbytes) CS0 area
H'0010 0000 (8 Mbytes)
(64 Mbytes) CS0 area
(7 Mbytes)
H'007F FFFF
. SFR area H'0080 0000 SFR area SFR area
. (16 Kbytes) H'0080 3FFF (16 Kbytes) (16 Kbytes)
User
. Internal RAM
area
H'0080 4000 Internal RAM
area
Internal RAM
area
2 Gbytes
space Ghost area (32 Kbytes) H'0080 BFFF (32 Kbytes) (32 Kbytes)
in H'0080 C000
64-Mbyte
units H'00FF FFFF
. H'0100 0000
. CS1 area CS1 area
. (8 Mbytes) (8 Mbytes)
H'017F FFFF
(64 Mbytes) H'0180 0000
H'7FFF FFFF
H'8000 0000
H'01FF FFFF
H'0200 0000
H'027F FFFF
H'0280 0000
2 Gbytes System
space
H'02FF FFFF
H'0300 0000
External
Logical Single chip Logical extension Processor
address mode address mode mode
H'0000 0000 H'0000 0000
Internal ROM Internal ROM
(64 Mbytes) area (1 Mbyte) area (1 Mbyte)
H'000F FFFF CS0 area
H'0010 0000 (8 Mbytes)
(64 Mbytes) CS0 area
(7 Mbytes)
H'007F FFFF
. SFR area H'0080 0000 SFR area SFR area
. (16 Kbytes) H'0080 3FFF (16 Kbytes) (16 Kbytes)
User
. Internal RAM
area
H'0080 4000 Internal RAM
area
Internal RAM
area
2 Gbytes
space Ghost area (64 Kbytes) H'0081 3FFF (64 Kbytes) (64 Kbytes)
in H'0081 4000
64-Mbyte
units H'00FF FFFF
. H'0100 0000
. CS1 area CS1 area
. (8 Mbytes) (8 Mbytes)
H'017F FFFF
(64 Mbytes) H'0180 0000
H'7FFF FFFF
H'8000 0000
H'01FF FFFF
H'0200 0000
H'027F FFFF
H'0280 0000
2 Gbytes System
space
H'02FF FFFF
H'0300 0000
The internal ROM is allocated to the addresses shown below. Located at the beginning of this area is the EIT
vector entry (and the ICU vector table).
The external extension area is only available when external extension or processor mode is selected by opera-
tion mode settings. When accessing the external extension area, the control signals necessary to access
external devices are output.
The CS0# through CS3# signals are output corresponding to the address mapping of the external extension
area. The CS0#, CS1#, CS2# and CS3# signals are output for the CS0, CS1, CS2 and CS3 areas, respec-
tively.
Table 3.3.2 Address Mapping of the External Extension Area in Each Operation Mode
Operation Mode Address Mapping of External Extension Area
Single-chip mode None
External extension mode Addresses H’0010 0000 to H’007F FFFF (CS0 area: 7 Mbytes)
Addresses H’0100 0000 to H’017F FFFF (CS1 area: 8 Mbytes)
Addresses H’0200 0000 to H’027F FFFF (CS2 area: 8 Mbytes)
Addresses H’0300 0000 to H’037F FFFF (CS3 area: 8 Mbytes)
Processor mode Addresses H’0000 0000 to H’007F FFFF (CS0 area: 8 Mbytes)
Addresses H’0100 0000 to H’017F FFFF (CS1 area: 8 Mbytes)
Addresses H’0200 0000 to H’027F FFFF (CS2 area: 8 Mbytes)
Addresses H’0300 0000 to H’037F FFFF (CS3 area: 8 Mbytes)
The addresses H’0080 0000 to H’0080 3FFFF comprise the SFR (Special Function Register) area. Located in
this area are the internal peripheral I/O registers.
H'0080 FFFF
H'0081 0000
Internal RAM
(176 Kbytes)
H'0082 FFFF
Figure 3.4.1 Internal RAM and SFR (Special Function Register) Areas of the M32192F8
H'0080 0000
SFR area
(16 Kbytes)
H'0080 3FFF
H'0080 4000
Virtual flash emulation areas
Internal RAM separated in 8-Kbyte units
(32 Kbytes) can be allocated here.
For details, see Section 6.7.
H'0080 BFFF
Figure 3.4.2 Internal RAM and SFR (Special Function Register) Areas of the M32195F4
H'0080 0000
SFR area
(16 Kbytes)
H'0080 3FFF
H'0080 4000
H'0081 3FFF
Figure 3.4.3 Internal RAM and SFR (Special Function Register) Areas of the M32196F8
H'0080 0004 Interrupt Request Mask Register (Use inhibited area) 5-6
(IMASK)
H'0080 0006 SBI Control Register (Use inhibited area) 5-7
(SBICR)
| (Use inhibited area)
H'0080 0056 RAM Write Monitor Interrupt Control Register CAN1 Error Interrupt Control Register 5-8
(IRAMWRCR) (ICAN1ERCR)
H'0080 0058 CAN1 Single-Shot Interrupt Control Register CAN1 Transmit/Receive Interrupt Control Register 5-8
(ICAN1SSCR) (ICAN1TRCR)
H'0080 005A CAN0 Error Interrupt Control Register CAN0 Single-Shot Interrupt Control Register 5-8
(ICAN0ERCR) (ICAN0SSCR)
H'0080 005C CAN0 Transmit/Receive Interrupt Control Register DRI Event Detection Interrupt Control Register 5-8
(ICAN0TRCR) (IDRIEVCR)
H'0080 005E DRI Counter Interrupt Control Register DRI Transfer Interrupt Control Register 5-8
(IDRICNTCR) (IDRITRCR)
H'0080 0060 CAN0 Transmit/Receive & Error Interrupt Control Register TML1 Input Interrupt Control Register 5-8
(ICAN0CR) (ITML1CR)
H'0080 0062 (Use inhibited area)
H'0080 0064 SIO4,5 Transmit/Receive Interrupt Control Register TOU1 Output Interrupt Control Register 5-8
(ISIO45CR) (ITOU1CR)
H'0080 0066 TID1 Output Interrupt Control Register RTD Interrupt Control Register 5-8
(ITID1CR) (IRTDCR)
H'0080 0068 SIO2,3 Transmit/Receive Interrupt Control Register DMA5–9 Interrupt Control Register 5-8
(ISIO23CR) (IDMA59CR)
H'0080 006A TOU0 Output Interrupt Control Register TID0 Output Interrupt Control Register 5-8
(ITOU0CR) (ITID0CR)
H'0080 006C A/D0 Conversion Interrupt Control Register SIO0 Transmit Interrupt Control Register 5-8
(IAD0CCR) (ISIO0TXCR)
H'0080 006E SIO0 Receive Interrupt Control Register SIO1 Transmit Interrupt Control Register 5-8
(ISIO0RXCR) (ISIO1TXCR)
H'0080 0070 SIO1 Receive Interrupt Control Register DMA0–4 Interrupt Control Register 5-8
(ISIO1RXCR) (IDMA04CR)
H'0080 0072 MJT Output Interrupt Control Register 0 MJT Output Interrupt Control Register 1 5-8
(IMJTOCR0) (IMJTOCR1)
H'0080 0074 MJT Output Interrupt Control Register 2 MJT Output Interrupt Control Register 3 5-8
(IMJTOCR2) (IMJTOCR3)
H'0080 0076 MJT Output Interrupt Control Register 4 MJT Output Interrupt Control Register 5 5-8
(IMJTOCR4) (IMJTOCR5)
H'0080 0078 MJT Output Interrupt Control Register 6 MJT Output Interrupt Control Register 7 5-8
(IMJTOCR6) (IMJTOCR7)
H'0080 007A MJT Input Interrupt Control Register 0 MJT Input Interrupt Control Register 1 5-8
(IMJTICR0) (IMJTICR1)
H'0080 007C MJT Input Interrupt Control Register 2 MJT Input Interrupt Control Register 3 5-8
(IMJTICR2) (IMJTICR3)
H'0080 007E MJT Input Interrupt Control Register 4 CAN1 Transmit/Receive & Error Interrupt Control Register 5-8
(IMJTICR4) (ICAN1CR)
H'0080 0080 A/D0 Single Mode Register 0 A/D0 Single Mode Register 1 11-17
(AD0SIM0) (AD0SIM1) 11-19
H'0080 0082 (Use inhibited area) A/D0 Single Mode Register 2 11-21
(AD0SIM2)
H'0080 0084 A/D0 Scan Mode Register 0 A/D0 Scan Mode Register 1 11-22
(AD0SCM0) (AD0SCM1) 11-24
H'0080 0086 A/D0 Disconnection Detection Assist Function Control Register A/D0 Conversion Speed Control Register 11-27
(AD0DDACR) (AD0CVSCR) 11-26
H'0080 0088 A/D0 Successive Approximation Register 11-31
(AD0SAR)
H'0080 008A A/D0 Disconnection Detection Assist Method Select Register 11-28
(AD0DDASEL)
H'0080 008C A/D0 Comparate Data Register 11-32
(AD0CMP)
H'0080 008E (Use inhibited area)
H'0080 00D0 (Use inhibited area) 8-bit A/D0 Data Register 0 11-34
(AD08DT0)
H'0080 00D2 (Use inhibited area) 8-bit A/D0 Data Register 1 11-34
(AD08DT1)
H'0080 00D4 (Use inhibited area) 8-bit A/D0 Data Register 2 11-34
(AD08DT2)
H'0080 00D6 (Use inhibited area) 8-bit A/D0 Data Register 3 11-34
(AD08DT3)
H'0080 00D8 (Use inhibited area) 8-bit A/D0 Data Register 4 11-34
(AD08DT4)
H'0080 00DA (Use inhibited area) 8-bit A/D0 Data Register 5 11-34
(AD08DT5)
H'0080 00DC (Use inhibited area) 8-bit A/D0 Data Register 6 11-34
(AD08DT6)
H'0080 00DE (Use inhibited area) 8-bit A/D0 Data Register 7 11-34
(AD08DT7)
H'0080 00E0 (Use inhibited area) 8-bit A/D0 Data Register 8 11-34
(AD08DT8)
H'0080 00E2 (Use inhibited area) 8-bit A/D0 Data Register 9 11-34
(AD08DT9)
H'0080 00E4 (Use inhibited area) 8-bit A/D0 Data Register 10 11-34
(AD08DT10)
H'0080 00E6 (Use inhibited area) 8-bit A/D0 Data Register 11 11-34
(AD08DT11)
H'0080 00E8 (Use inhibited area) 8-bit A/D0 Data Register 12 11-34
(AD08DT12)
H'0080 00EA (Use inhibited area) 8-bit A/D0 Data Register 13 11-34
(AD08DT13)
H'0080 00EC (Use inhibited area) 8-bit A/D0 Data Register 14 11-34
(AD08DT14)
H'0080 00EE (Use inhibited area) 8-bit A/D0 Data Register 15 11-34
(AD08DT15)
(Use inhibited area)
|
H'0080 0110 SIO0 Transmit Control Register SIO0 Transmit/Receive Mode Register 12-14
(S0TCNT) (S0MOD) 12-15
H'0080 0112 SIO0 Transmit Buffer Register 12-19
(S0TXB)
H'0080 0114 SIO0 Receive Buffer Register 12-20
(S0RXB)
H'0080 0116 SIO0 Receive Control Register SIO0 Baud Rate Register 12-21
(S0RCNT) (S0BAUR) 12-24
H'0080 0118 SIO0 Special Mode Register (Use inhibited area) 12-27
(S0SMOD)
| (Use inhibited area)
H'0080 0120 SIO1 Transmit Control Register SIO1 Transmit/Receive Mode Register 12-14
(S1TCNT) (S1MOD) 12-15
H'0080 0122 SIO1 Transmit Buffer Register 12-19
(S1TXB)
H'0080 0124 SIO1 Receive Buffer Register 12-20
(S1RXB)
H'0080 0126 SIO1 Receive Control Register SIO1 Baud Rate Register 12-21
(S1RCNT) (S1BAUR) 12-24
H'0080 0128 SIO1 Special Mode Register (Use inhibited area) 12-27
(S1SMOD)
| (Use inhibited area)
H'0080 0130 SIO2 Transmit Control Register SIO2 Transmit/Receive Mode Register 12-14
(S2TCNT) (S2MOD) 12-15
H'0080 0132 SIO2 Transmit Buffer Register 12-19
(S2TXB)
H'0080 0134 SIO2 Receive Buffer Register 12-20
(S2RXB)
H'0080 0136 SIO2 Receive Control Register SIO2 Baud Rate Register 12-21
(S2RCNT) (S2BAUR) 12-24
H'0080 0138 SIO2 Special Mode Register (Use inhibited area) 12-27
(S2SMOD)
| (Use inhibited area)
H'0080 0140 SIO3 Transmit Control Register SIO3 Transmit/Receive Mode Register 12-14
(S3TCNT) (S3MOD) 12-15
H'0080 0142 SIO3 Transmit Buffer Register 12-19
(S3TXB)
H'0080 0144 SIO3 Receive Buffer Register 12-20
(S3RXB)
H'0080 0146 SIO3 Receive Control Register SIO3 Baud Rate Register 12-21
(S3RCNT) (S3BAUR) 12-24
H'0080 0148 SIO3 Special Mode Register (Use inhibited area) 12-27
(S3SMOD)
| (Use inhibited area)
H'0080 0180 CS0 Area Wait Control Register CS1 Area Wait Control Register 18-4
(CS0WTCR) (CS1WTCR)
H'0080 0182 CS2 Area Wait Control Register CS3 Area Wait Control Register 18-4
(CS2WTCR) (CS3WTCR)
| (Use inhibited area)
H'0080 0200 Common Count Clock Select Register Clock Bus & Input Event Bus Control Register 10-12
(CNTCKSEL) (CKIEBCR) 10-17
H'0080 0202 Prescaler Register 0 Prescaler Register 1 10-13
(PRS0) (PRS1)
H'0080 0204 Prescaler Register 2 Output Event Bus Control Register 10-13
(PRS2) (OEBCR) 10-18
| (Use inhibited area)
H'0080 0230 TOP Interrupt Control Register 0 TOP Interrupt Control Register 1 10-38
(TOPIR0) (TOPIR1)
H'0080 0232 TOP Interrupt Control Register 2 TOP Interrupt Control Register 3 10-40
(TOPIR2) (TOPIR3) 10-41
H'0080 0234 TIO Interrupt Control Register 0 TIO Interrupt Control Register 1 10-42
(TIOIR0) (TIOIR1) 10-43
H'0080 0236 TIO Interrupt Control Register 2 TMS Interrupt Control Register 10-44
(TIOIR2) (TMSIR) 10-45
H'0080 0238 TIN Interrupt Control Register 0 TIN Interrupt Control Register 1 10-46
(TINIR0) (TINIR1) 10-47
H'0080 023A TIN Interrupt Control Register 2 TIN Interrupt Control Register 3 10-48
(TINIR2) (TINIR3)
H'0080 023C TIN Interrupt Control Register 4 TIN Interrupt Control Register 5 10-50
(TINIR4) (TINIR5)
H'0080 023E TIN Interrupt Control Register 6 TIN Interrupt Control Register 7 10-52
(TINIR6) (TINIR7) 10-55
H'0080 0240 TOP0 Counter 10-71
(TOP0CT)
H'0080 0242 TOP0 Reload Register 10-72
(TOP0RL)
H'0080 0244 (Use inhibited area)
H'0080 0408 DMA5–9 Interrupt Request Status Register DMA5–9 Interrupt Request Mask Register 9-35
(DM59ITST) (DM59ITMK) 9-36
| (Use inhibited area)
H'0080 0410 DMA0 Channel Control Register 0 DMA0 Channel Control Register 1 9-6
(DM0CNT0) (DM0CNT1) 9-7
H'0080 0412 DMA0 Source Address Register 9-30
(DM0SA)
H'0080 0414 DMA0 Destination Address Register 9-31
(DM0DA)
H'0080 0416 DMA0 Transfer Count Register 9-32
(DM0TCT)
H'0080 0418 DMA5 Channel Control Register 0 DMA5 Channel Control Register 1 9-16
(DM5CNT0) (DM5CNT1) 9-17
H'0080 041A DMA5 Source Address Register 9-30
(DM5SA)
H'0080 041C DMA5 Destination Address Register 9-31
(DM5DA)
H'0080 041E DMA5 Transfer Count Register 9-32
(DM5TCT)
H'0080 0420 DMA1 Channel Control Register 0 DMA1 Channel Control Register 1 9-8
(DM1CNT0) (DM1CNT1) 9-9
H'0080 0422 DMA1 Source Address Register 9-30
(DM1SA)
H'0080 0424 DMA1 Destination Address Register 9-31
(DM1DA)
H'0080 0426 DMA1 Transfer Count Register 9-32
(DM1TCT)
H'0080 0428 DMA6 Channel Control Register 0 DMA6 Channel Control Register 1 9-18
(DM6CNT0) (DM6CNT1) 9-19
H'0080 042A DMA6 Source Address Register 9-30
(DM6SA)
H'0080 042C DMA6 Destination Address Register 9-31
(DM6DA)
H'0080 042E DMA6 Transfer Count Register 9-32
(DM6TCT)
H'0080 0430 DMA2 Channel Control Register 0 DMA2 Channel Control Register 1 9-10
(DM2CNT0) (DM2CNT1) 9-11
H'0080 0432 DMA2 Source Address Register 9-30
(DM2SA)
H'0080 0434 DMA2 Destination Address Register 9-31
(DM2DA)
H'0080 0480 (Use inhibited area) DMA0 Channel Control Register 2 9-26
(DM0CNT2)
H'0080 0490 (Use inhibited area) DMA5 Channel Control Register 2 9-26
(DM5CNT2)
H'0080 0492 (Use inhibited area) DMA6 Channel Control Register 2 9-26
(DM6CNT2)
H'0080 0494 (Use inhibited area) DMA7 Channel Control Register 2 9-26
(DM7CNT2)
H'0080 0496 (Use inhibited area) DMA8 Channel Control Register 2 9-26
(DM8CNT2)
H'0080 0498 (Use inhibited area) DMA9 Channel Control Register 2 9-26
(DM9CNT2)
| (Use inhibited area)
H'0080 0500 Port Group 0,1 Input Level Setting Register Port Group 3 Input Level Setting Register 8-33
(PG01LEV) (PG3LEV)
H'0080 0502 Port Group 4,5 Input Level Setting Register Port Group 6,7 Input Level Setting Register 8-33
(PG45LEV) (PG67LEV)
H'0080 0504 Port Group 8 Input Level Setting Register (Use inhibited area) 8-33
(PG8LEV)
H'0080 0506 (Use inhibited area)
H'0080 0508 Port Group 0,1 Output Drive Capability Setting Register Port Group 3 Output Drive Capability Setting Register 8-35
(PG01DRV) (PG3DRV)
H'0080 050A Port Group 4,5 Output Drive Capability Setting Register Port Group 6,7 Output Drive Capability Setting Register 8-35
(PG45DRV) (PG67DRV)
H'0080 050C Port Group 8 Output Drive Capability Setting Register P70 Output Drive Capability Setting Register 8-35
(PG8DRV) (P70DRV) 8-36
H'0080 050E (Use inhibited area)
H'0080 0520 PWM Output 0 Disable Control Register GA PWM Output 0 Disable Level Control Register GA 10-168
(PO0DISGACR) (PO0LVGACR) 10-171
H'0080 0522 PWM Output 1 Disable Control Register GA PWM Output 1 Disable Level Control Register GA 10-168
(PO1DISGACR) (PO1LVGACR) 10-171
H'0080 0524 (Use inhibited area)
H'0080 0526 PWMOFF 0 Function Enable Register PWMOFF 1 Function Enable Register 10-173
(PWMOFF0EN) (PWMOFF1EN)
H'0080 0528 (Use inhibited area)
H'0080 052A CAN Bus Mode Control Register DD Input Pin Select Register 13-23
(CANBUSCR) (DDSEL) 14-6
| (Use inhibited area)
H'0080 0600 Dummy Access area (Note1) Dummy Access area (Note1) 3-46
H'0080 0602 Dummy Access area (Note1) Dummy Access area (Note1) 3-46
H'0080 0756 P22 Operation Mode Register (Use inhibited area) 8-28
(P22MOD) 17-14
| (Use inhibited area)
H'0080 0760 P0 Peripheral Function Select Register P1 Peripheral Function Select Register 8-14,17-6
(P0SMOD) (P1SMOD) 8-15,17-7
H'0080 0762 (Use inhibited area) P3 Peripheral Function Select Register 8-17
(P3SMOD) 17-9
H'0080 0764 P4 Peripheral Function Select Register (Use inhibited area) 8-18
(P4SMOD) 17-10
H'0080 0766 (Use inhibited area) P7 Peripheral Function Select Register 8-19,17-11
(P7SMOD) 20-9
H'0080 0768 P8 Peripheral Function Select Register P9 Peripheral Function Select Register 8-20
(P8SMOD) (P9SMOD) 8-21
H'0080 076A P10 Peripheral Function Select Register P11 Peripheral Function Select Register 8-22
(P10SMOD) (P11SMOD) 8-23
H'0080 076C P12 Peripheral Function Select Register P13 Peripheral Function Select Register 8-24,17-12
(P12SMOD) (P13SMOD) 8-25
H'0080 076E (Use inhibited area) P15 Peripheral Function Select Register 8-26,17-13
(P15SMOD) 20-10
H'0080 0770 (Use inhibited area) P17 Peripheral Function Select Register 8-27
(P17SMOD)
| (Use inhibited area)
H'0080 0776 P22 Peripheral Function Select Register (Use inhibited area) 8-28
(P22SMOD) 17-14
H'0080 0778 (Use inhibited area)
H'0080 077A (Use inhibited area) RTD Write Function Disable Control Register 15-3
(WRRDIS)
H'0080 077C (Use inhibited area)
H'0080 077E (Use inhibited area) Bus Mode Control Register 17-15
(BUSMODC)
H'0080 0780 PWM Output 0 Disable Control Register GB PWM Output 0 Disable Level Control Register GB 10-168
(PO0DISGBCR) (PO0LVGBCR) 10-171
H'0080 0782 PWM Output 1 Disable Control Register GB PWM Output 1 Disable Level Control Register GB 10-169
(PO1DISGBCR) (PO1LVGBCR) 10-171
H'0080 0784 (Use inhibited area)
H'0080 0A00 SIO45 Interrupt Request Status Register SIO45 Interrupt Request Mask Register 12-9
(SI45STAT) (SI45MASK) 12-10
H'0080 0A02 SIO45 Interrupt Request Source Select Register (Use inhibited area) 12-11
(SI45SEL)
| (Use inhibited area)
H'0080 0A10 SIO4 Transmit Control Register SIO4 Transmit/Receive Mode Register 12-14
(S4TCNT) (S4MOD) 12-15
H'0080 0A12 SIO4 Transmit Buffer Register 12-19
(S4TXB)
H'0080 0A14 SIO4 Receive Buffer Register 12-20
(S4RXB)
H'0080 0A16 SIO4 Receive Control Register SIO4 Baud Rate Register 12-21
(S4RCNT) (S4BAUR) 12-24
H'0080 0A18 SIO4 Special Mode Register (Use inhibited area) 12-27
(S4SMOD)
| (Use inhibited area)
H'0080 0A20 SIO5 Transmit Control Register SIO5 Transmit/Receive Mode Register 12-14
(S5TCNT) (S5MOD) 12-15
H'0080 0A22 SIO5 Transmit Buffer Register 12-19
(S5TXB)
H'0080 0A24 SIO5 Receive Buffer Register 12-20
(S5RXB)
H'0080 0A26 SIO5 Receive Control Register SIO5 Baud Rate Register 12-21
(S5RCNT) (S5BAUR) 12-24
H'0080 0A28 SIO5 Special Mode Register (Use inhibited area) 12-27
(S5SMOD)
| (Use inhibited area)
H'0080 1028 CAN0 Global Mask Register B Standard ID0 CAN0 Global Mask Register B Standard ID1 13-76
(C0GMSKBS0) (C0GMSKBS1)
H'0080 102A CAN0 Global Mask Register B Extended ID0 CAN0 Global Mask Register B Extended ID1 13-77
(C0GMSKBE0) (C0GMSKBE1)
H'0080 102C CAN0 Global Mask Register B Extended ID2 (Use inhibited area) 13-78
(C0GMSKBE2)
H'0080 102E (Use inhibited area)
H'0080 1030 CAN0 Local Mask Register A Standard ID0 CAN0 Local Mask Register A Standard ID1 13-76
(C0LMSKAS0) (C0LMSKAS1)
H'0080 1032 CAN0 Local Mask Register A Extended ID0 CAN0 Local Mask Register A Extended ID1 13-77
(C0LMSKAE0) (C0LMSKAE1)
H'0080 1034 CAN0 Local Mask Register A Extended ID2 (Use inhibited area) 13-78
(C0LMSKAE2)
H'0080 1036 (Use inhibited area)
H'0080 |1038 CAN0 Local Mask Register B Standard ID0 CAN0 Local Mask Register B Standard ID1 13-76
(C0LMSKBS0) (C0LMSKBS1)
H'0080 103A CAN0 Local Mask Register B Extended ID0 CAN0 Local Mask Register B Extended ID1 13-77
(C0LMSKBE0) (C0LMSKBE1)
H'0080 103C CAN0 Local Mask Register B Extended ID2 (Use inhibited area) 13-78
(C0LMSKBE2)
H'0080 103E (Use inhibited area)
H'0080 1050 CAN0 Message Slot 0 Control Register CAN0 Message Slot 1 Control Register 13-82
(C0MSL0CNT) (C0MSL1CNT)
H'0080 1052 CAN0 Message Slot 2 Control Register CAN0 Message Slot 3 Control Register 13-82
(C0MSL2CNT) (C0MSL3CNT)
H'0080 1054 CAN0 Message Slot 4 Control Register CAN0 Message Slot 5 Control Register 13-82
(C0MSL4CNT) (C0MSL5CNT)
H'0080 1056 CAN0 Message Slot 6 Control Register CAN0 Message Slot 7 Control Register 13-82
(C0MSL6CNT) (C0MSL7CNT)
H'0080 1058 CAN0 Message Slot 8 Control Register CAN0 Message Slot 9 Control Register 13-82
(C0MSL8CNT) (C0MSL9CNT)
H'0080 105A CAN0 Message Slot 10 Control Register CAN0 Message Slot 11 Control Register 13-82
(C0MSL10CNT) (C0MSL11CNT)
H'0080 105C CAN0 Message Slot 12 Control Register CAN0 Message Slot 13 Control Register 13-82
(C0MSL12CNT) (C0MSL13CNT)
H'0080 105E CAN0 Message Slot 14 Control Register CAN0 Message Slot 15 Control Register 13-82
(C0MSL14CNT) (C0MSL15CNT)
H'0080 1060 CAN0 Message Slot 16 Control Register CAN0 Message Slot 17 Control Register 13-82
(C0MSL16CNT) (C0MSL17CNT)
H'0080 1062 CAN0 Message Slot 18 Control Register CAN0 Message Slot 19 Control Register 13-82
(C0MSL18CNT) (C0MSL19CNT)
H'0080 1064 CAN0 Message Slot 20 Control Register CAN0 Message Slot 21 Control Register 13-82
(C0MSL20CNT) (C0MSL21CNT)
H'0080 1066 CAN0 Message Slot 22 Control Register CAN0 Message Slot 23 Control Register 13-82
(C0MSL22CNT) (C0MSL23CNT)
H'0080 1068 CAN0 Message Slot 24 Control Register CAN0 Message Slot 25 Control Register 13-82
(C0MSL24CNT) (C0MSL25CNT)
H'0080 106A CAN0 Message Slot 26 Control Register CAN0 Message Slot 27 Control Register 13-82
(C0MSL26CNT) (C0MSL27CNT)
H'0080 106C CAN0 Message Slot 28 Control Register CAN0 Message Slot 29 Control Register 13-82
(C0MSL28CNT) (C0MSL29CNT)
H'0080 106E CAN0 Message Slot 30 Control Register CAN0 Message Slot 31 Control Register 13-82
(C0MSL30CNT) (C0MSL31CNT)
| (Use inhibited area)
H'0080 1100 CAN0 Message Slot 0 Standard ID0 CAN0 Message Slot 0 Standard ID1 13-86
(C0MSL0SID0) (C0MSL0SID1) 13-88
H'0080 1102 CAN0 Message Slot 0 Extended ID0 CAN0 Message Slot 0 Extended ID1 13-90
(C0MSL0EID0) (C0MSL0EID1) 13-92
H'0080 1104 CAN0 Message Slot 0 Extended ID2 CAN0 Message Slot 0 Data Length Register 13-94
(C0MSL0EID2) (C0MSL0DLC) 13-96
H'0080 1106 CAN0 Message Slot 0 Data 0 CAN0 Message Slot 0 Data 1 13-98
(C0MSL0DT0) (C0MSL0DT1) 13-100
H'0080 1108 CAN0 Message Slot 0 Data 2 CAN0 Message Slot 0 Data 3 13-102
(C0MSL0DT2) (C0MSL0DT3) 13-104
H'0080 110A CAN0 Message Slot 0 Data 4 CAN0 Message Slot 0 Data 5 13-106
(C0MSL0DT4) (C0MSL0DT5) 13-108
H'0080 110C CAN0 Message Slot 0 Data 6 CAN0 Message Slot 0 Data 7 13-110
(C0MSL0DT6) (C0MSL0DT7) 13-112
H'0080 110E CAN0 Message Slot 0 Timestamp 13-114
(C0MSL0TSP)
H'0080 1110 CAN0 Message Slot 1 Standard ID0 CAN0 Message Slot 1 Standard ID1 13-86
(C0MSL1SID0) (C0MSL1SID1) 13-88
H'0080 1112 CAN0 Message Slot 1 Extended ID0 CAN0 Message Slot 1 Extended ID1 13-90
(C0MSL1EID0) (C0MSL1EID1) 13-92
H'0080 1114 CAN0 Message Slot 1 Extended ID2 CAN0 Message Slot 1 Data Length Register 13-94
(C0MSL1EID2) (C0MSL1DLC) 13-96
H'0080 1116 CAN0 Message Slot 1 Data 0 CAN0 Message Slot 1 Data 1 13-98
(C0MSL1DT0) (C0MSL1DT1) 13-100
H'0080 1118 CAN0 Message Slot 1 Data 2 CAN0 Message Slot 1 Data 3 13-102
(C0MSL1DT2) (C0MSL1DT3) 13-104
H'0080 1428 CAN1 Global Mask Register B Standard ID0 CAN1 Global Mask Register B Standard ID1 13-76
(C1GMSKBS0) (C1GMSKBS1)
H'0080 142A CAN1 Global Mask Register B Extended ID0 CAN1 Global Mask Register B Extended ID1 13-77
(C1GMSKBE0) (C1GMSKBE1)
H'0080 142C CAN1 Global Mask Register B Extended ID2 (Use inhibited area) 13-78
(C1GMSKBE2)
H'0080 142E (Use inhibited area)
H'0080 1430 CAN1 Local Mask Register A Standard ID0 CAN1 Local Mask Register A Standard ID1 13-76
(C1LMSKAS0) (C1LMSKAS1)
H'0080 1432 CAN1 Local Mask Register A Extended ID0 CAN1 Local Mask Register A Extended ID1 13-77
(C1LMSKAE0) (C1LMSKAE1)
H'0080 1434 CAN1 Local Mask Register A Extended ID2 (Use inhibited area) 13-78
(C1LMSKAE2)
H'0080 1436 (Use inhibited area)
H'0080 1438 CAN1 Local Mask Register B Standard ID0 CAN1 Local Mask Register B Standard ID1 13-76
(C1LMSKBS0) (C1LMSKBS1)
H'0080 143A CAN1 Local Mask Register B Extended ID0 CAN1 Local Mask Register B Extended ID1 13-77
(C1LMSKBE0) (C1LMSKBE1)
H'0080 143C CAN1 Local Mask Register B Extended ID2 (Use inhibited area) 13-78
(C1LMSKBE2)
H'0080 143E (Use inhibited area)
H'0080 1450 CAN1 Message Slot 0 Control Register CAN1 Message Slot 1 Control Register 13-82
(C1MSL0CNT) (C1MSL1CNT)
H'0080 1452 CAN1 Message Slot 2 Control Register CAN1 Message Slot 3 Control Register 13-82
(C1MSL2CNT) (C1MSL3CNT)
H'0080 1454 CAN1 Message Slot 4 Control Register CAN1 Message Slot 5 Control Register 13-82
(C1MSL4CNT) (C1MSL5CNT)
H'0080 1456 CAN1 Message Slot 6 Control Register CAN1 Message Slot 7 Control Register 13-82
(C1MSL6CNT) (C1MSL7CNT)
H'0080 1458 CAN1 Message Slot 8 Control Register CAN1 Message Slot 9 Control Register 13-82
(C1MSL8CNT) (C1MSL9CNT)
H'0080 145A CAN1 Message Slot 10 Control Register CAN1 Message Slot 11 Control Register 13-82
(C1MSL10CNT) (C1MSL11CNT)
H'0080 145C CAN1 Message Slot 12 Control Register CAN1 Message Slot 13 Control Register 13-82
(C1MSL12CNT) (C1MSL13CNT)
H'0080 145E CAN1 Message Slot 14 Control Register CAN1 Message Slot 15 Control Register 13-82
(C1MSL14CNT) (C1MSL15CNT)
H'0080 1460 CAN1 Message Slot 16 Control Register CAN1 Message Slot 17 Control Register 13-83
(C1MSL16CNT) (C1MSL17CNT)
H'0080 1462 CAN1 Message Slot 18 Control Register CAN1 Message Slot 19 Control Register 13-83
(C1MSL18CNT) (C1MSL19CNT)
H'0080 1464 CAN1 Message Slot 20 Control Register CAN1 Message Slot 21 Control Register 13-83
(C1MSL20CNT) (C1MSL21CNT)
H'0080 1466 CAN1 Message Slot 22 Control Register CAN1 Message Slot 23 Control Register 13-83
(C1MSL22CNT) (C1MSL23CNT)
H'0080 1468 CAN1 Message Slot 24 Control Register CAN1 Message Slot 25 Control Register 13-83
(C1MSL24CNT) (C1MSL25CNT)
H'0080 146A CAN1 Message Slot 26 Control Register CAN1 Message Slot 27 Control Register 13-83
(C1MSL26CNT) (C1MSL27CNT)
H'0080 146C CAN1 Message Slot 28 Control Register CAN1 Message Slot 29 Control Register 13-83
(C1MSL28CNT) (C1MSL29CNT)
H'0080 146E CAN1 Message Slot 30 Control Register CAN1 Message Slot 31 Control Register 13-83
(C1MSL30CNT) (C1MSL31CNT)
| (Use inhibited area)
H'0080 1500 CAN1 Message Slot 0 Standard ID0 CAN1 Message Slot 0 Standard ID1 13-86
(C1MSL0SID0) (C1MSL0SID1) 13-88
H'0080 1502 CAN1 Message Slot 0 Extended ID0 CAN1 Message Slot 0 Extended ID1 13-90
(C1MSL0EID0) (C1MSL0EID1) 13-92
H'0080 1504 CAN1 Message Slot 0 Extended ID2 CAN1 Message Slot 0 Data Length Register 13-94
(C1MSL0EID2) (C1MSL0DLC) 13-96
H'0080 1506 CAN1 Message Slot 0 Data 0 CAN1 Message Slot 0 Data 1 13-98
(C1MSL0DT0) (C1MSL0DT1) 13-100
H'0080 1508 CAN1 Message Slot 0 Data 2 CAN1 Message Slot 0 Data 3 13-102
(C1MSL0DT2) (C1MSL0DT3) 13-104
H'0080 150A CAN1 Message Slot 0 Data 4 CAN1 Message Slot 0 Data 5 13-106
(C1MSL0DT4) (C1MSL0DT5) 13-108
H'0080 150C CAN1 Message Slot 0 Data 6 CAN1 Message Slot 0 Data 7 13-110
(C1MSL0DT6) (C1MSL0DT7) 13-112
H'0080 150E CAN1 Message Slot 0 Timestamp 13-114
(C1MSL0TSP)
H'0080 1510 CAN1 Message Slot 1 Standard ID0 CAN1 Message Slot 1 Standard ID1 13-86
(C1MSL1SID0) (C1MSL1SID1) 13-88
H'0080 1512 CAN1 Message Slot 1 Extended ID0 CAN1 Message Slot 1 Extended ID1 13-90
(C1MSL1EID0) (C1MSL1EID1) 13-92
H'0080 1514 CAN1 Message Slot 1 Extended ID2 CAN1 Message Slot 1 Data Length Register 13-94
(C1MSL1EID2) (C1MSL1DLC) 13-96
H'0080 1516 CAN1 Message Slot 1 Data 0 CAN1 Message Slot 1 Data 1 13-98
(C1MSL1DT0) (C1MSL1DT1) 13-100
H'0080 1518 CAN1 Message Slot 1 Data 2 CAN1 Message Slot 1 Data 3 13-102
(C1MSL1DT2) (C1MSL1DT3) 13-104
H'E000 0004 NBD Pin Control Register (Use inhibited area) 16-4
(NBDCNT)
H'E000 0006 (Use inhibited area)
0 31
H'0000 0000
H'0000 0004
RI (Reset Interrupt)
H'0000 0008
H'0000 000C
H'0000 0010
H'0000 0014
SBI (System Break Interrupt)
H'0000 0018
H'0000 001C
H'0000 0020
H'0000 0024
RIE (Reserved Instruction Exception)
H'0000 0028
H'0000 002C
H'0000 0030
H'0000 0034
AE (Address Exception)
H'0000 0038
H'0000 003C
Note 1: When flash entry bit = 1 (flash E/W enable mode), the EI vector entry is located at H'0080 4000.
H'0000 0100
H'0000 0102
H'0000 0104
H'0000 0106
H'0000 010C CAN0 Transmit/receive & Error Interrupt Handler Start Address (A0–A15)
H'0000 010E CAN0 Transmit/receive & Error Interrupt Handler Start Address (A16–A31)
H'0000 0110 CAN1 Transmit/receive & Error Interrupt Handler Start Address (A0–A15)
H'0000 0112 CAN1 Transmit/receive & Error Interrupt Handler Start Address (A16–A31)
H'0000 011C DRI Event Detection Interrupt Handler Start Address (A0–A15)
H'0000 011E DRI Event Detection Interrupt Handler Start Address (A16–A31)
H'0000 0120 CAN0 Transmit/receive Completion Interrupt Handler Start Address (A0–A15)
H'0000 0122 CAN0 Transmit/receive Completion Interrupt Handler Start Address (A16–A31)
H'0000 012C CAN1 Transmit/receive Completion Interrupt Handler Start Address (A0–A15)
H'0000 012E CAN1 Transmit/receive Completion Interrupt Handler Start Address (A16–A31)
H'0000 0138 RAM Write Monitor Interrupt Handler Start Address (A0–A15)
H'0000 013A RAM Write Monitor Interrupt Handler Start Address (A16–A31)
The microcomputer has the function to map 8-Kbyte memory blocks of the internal RAM (maximum for 32192
is 16 blocks, for 32195 is 4 blocks, for 32196 is 8 blocks) into areas (L banks) of the internal flash memory that
are divided in 8-Kbyte units. This functions is referred to as the Virtual Flash Emulation Function.
This function allows the data located in 8-Kbyte blocks of the internal RAM to be changed with the contents of
internal flash memory at the addresses specified by the Virtual Flash L Bank Register. That way, the relevant
RAM data can read out by reading the content of internal flash memory. For details about this function, see
Section 6.7, "Virtual Flash Emulation Function."
(1) Exception
This is an event related to the context being executed. It is generated by an error or violation during instruction
execution. This type of event includes Address Exception (AE), Reserved Instruction Exception (RIE) and Float-
ing-Point Exception (FPE).
(2) Interrupt
This is an event generated irrespective of the context being executed. It is generated by a hardware-derived
signal from an external source, as well as by the internal peripheral I/O. This type of event includes Reset
Interrupt (RI), System Break Interrupt (SBI) and External Interrupt (EI).
(3) Trap
This refers to a software interrupt generated by executing a TRAP instruction. This type of event is intentionally
generated in a program as in the OS’s system call by the programmer.
+ +MAX
-Infinity
- -Infinity
+ +Infinity
+Infinity
- -MAX
No change
+ +MAX
0
- -MAX
+ +Infinity
Nearest
- -Infinity
Note 1: When the overflow exception enable (EO) bit (FPSR register bit 20) = "0"
Note 2: When the overflow exception enable (EO) bit (FPSR register bit 20) = "1"
Notes: • If an OVF occurs while EIT processing for OVF is masked, an IXCT occurs at the same time.
• +MAX = H’7F7F FFFF, –MAX = H’FF7F FFFF
When UDF EIT processing is masked (Note 1) When UDF EIT processing is executed (Note 2)
Please note that the DIV0 EIT processing does not occur in the following conditions.
Note 1: When the invalid operation exception enable (EV) bit (FPSR register bit 21) = "0"
Note 2: When the invalid operation exception enable (EV) bit (FPSR register bit 21) = "1"
Note: • NaN (Not a Number)
SNaN (Signaling NaN): a NaN in which the MSB of the decimal field is "0." When SNaN is used as the
source operand in an operation, an IVLD occurs. SNaNs are useful in identifying program bugs when used
as the initial value in a variable. However, SNaNs cannot be generated by hardware.
QNaN (Quiet NaN): a NaN in which the MSB of the decimal field is "1." Even when QNaN is used as the
source operand in an operation, an IVLD will not occur (excluding comparison and format conversion).
Because a result can be influenced by the arithmetic operations, QNaN allows the user to debug without
executing an EIT processing. QNaNs are created by hardware.
4.2.2 Interrupt
4.2.3 Trap
Traps are software interrupts which are generated by executing the TRAP instruction. Sixteen distinct vector
addresses are provided corresponding to TRAP instruction operands 0–15.
EIT request
generated
Program execution restarted
Program suspended
Instruction Instruction Instruction Instruction Instruction
and EIT request
A B C C D
accepted
Instruction Instruction processing-completed
processing-canceled type (FPE, EI, TRAP)
type (RIE, AE)
PC→BPC (Note 1)
PSW→BPSW Hardware preprocessing Hardware postprocessing BPSW→PSW
(Note 1) BPC→PC
SBI
(SBI) Program terminated
(System Break
or system is reset
Interrupt processing)
Note 1: Indicates saving and restoring the PSW register bits between its PSW and BPSW fields.
When an EIT is accepted, the CPU branches to the EIT vector after hardware preprocessing (as will be described
later). The EIT vector has an entry address assigned for each EIT. This is where the BRA (branch) instruction for
the EIT handler (not the jump address itself) is written.
In the hardware preprocessing, the PC is transferred to the BPC (backup PC), and the content of the PSW
register’s PSW field is transferred to the BPSW field in that register.
Other necessary operations must be performed in the user-created EIT handler. These include saving the BPC
and PSW registers (including the BPSW field) and the general-purpose registers to be used in the EIT handler to
the stack. In addition, the accumulator and the FPSR register must be saved to the stack as necessary. Remem-
ber that all these registers must be saved to the stack in a program by the user.
When processing by the EIT handler is completed, restore the saved registers from the stack and finally execute
the RTE instruction. Control is thereby returned from the EIT processing to the program that was being executed
when the EIT occurred. (This does not apply to the System Break Interrupt, however.)
In the hardware postprocessing, the BPC is returned to the PC, and the content of the PSW register’s BPSW field
is returned to the PSW field in that register. Note that the values stored in the BPC and the PSW register’s BPSW
field after executing the RTE instruction are undefined.
32192/32195/32196 Group Hardware Manual 4-6
Rev.1.10 REJ09B0123-0110 Apr.06.07
EIT
4 4.4 EIT Processing Mechanism
M32R/ECU
RI RI High
RESET#
Priority
SBI SBI
SBI#
Interrupt
controller EI EI
Internal
peripheral (ICU)
Low
I/Os
IE flag
(PSW)
BPC register
PSW register
[A] Restoring the SM, IE and C bits from the [B] Restoring the PC from the BPC register
backup field
SM ← BSM The value stored in the BPC register
IE ← BIE after executing the RTE instruction is
C ← BC undefined.
PSW BPC PC
[1] [3]
When EIT is accepted
[2] [4]
0(MSB) 7 8 15 16 17 23 24 25 31(LSB)
PSW 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BSM BIE BC SM IE C
[Occurrence Conditions]
Reserved Instruction Exception (RIE) occurs when a reserved instruction (unimplemented instruction) is
detected. Instruction check is performed on the op-code part of the instruction.
When a reserved instruction exception occurs, the instruction that generated it is not executed. If an
external interrupt is requested at the same time a reserved instruction exception is detected, it is the
reserved instruction exception that is accepted.
[EIT Processing]
(1) Saving SM, IE and C bits
The PSW register’s SM, IE and C bits are saved to the respective backup bits: BSM, BIE and BC.
BSM ← SM
BIE ← IE
BC ← C
+0 +1 +2 +3 +0 +1 +2 +3
Address Address
H'00 H'00
Return Return
address H'04 RIE occurred address H'04 RIE occurred
H'08 H'08
H'0C H'0C
Figure 4.8.1 Example of a Return Address for Reserved Instruction Exception (RIE)
(5) Jumping from the EIT vector entry to the user-created handler
The CPU executes the BRA instruction written by the user at the address H’0000 0020 of the EIT vector
entry to jump to the start address of the user-created handler. At the beginning of the user-created EIT
handler, first save the BPC and PSW registers and the necessary general-purpose registers to the stack.
Also, save the accumulator and FPSR register as necessary.
[Occurrence Conditions]
Address Exception (AE) occurs when an attempt is made to access a misaligned address in Load or Store
instructions. The following lists the combination of instructions and accessed addresses that may cause
address exceptions to occur.
• Two low-order address bits accessed in the LDH, LDUH or STH instruction are ‘01’ or ‘11’
• Two low-order address bits accessed in the LD, ST, LOCK or UNLOCK instruction are ‘01,’ ‘10’ or ‘11’
When an address exception occurs, memory access by the instruction that generated the exception is not
performed. If an external interrupt is requested at the same time an address exception is detected, it is the
address exception that is accepted.
[EIT Processing]
(1) Saving SM, IE and C bits
The PSW register’s SM, IE and C bits are saved to the respective backup bits: BSM, BIE and BC.
BSM ← SM
BIE ← IE
BC ← C
+0 +1 +2 +3 +0 +1 +2 +3
Address Address
H'00 H'00
Return Return
address H'04 AE occurred address H'04 AE occurred
H'08 H'08
H'0C H'0C
(5) Jumping from the EIT vector entry to the user-created handler
The CPU executes the BRA instruction written by the user at the address H’0000 0030 of the EIT vector
entry to jump to the start address of the user-created handler. At the beginning of the user-created EIT
handler, first save the BPC and PSW registers and the necessary general-purpose registers to the stack.
Also, save the accumulator and FPSR register as necessary.
[Occurrence Conditions]
Floating-Point Exception (FPE) occurs when Unimplemented Exception (UIPL) or one of the five excep-
tions specified in IEEE 754 standards (OVF, UDF, IXCT, DIV0 or IVLD) is detected.
Note, however, that the EIT processing described below is executed only when the exception that oc-
curred is one whose exception enable bit in the FPSR register is set to "1" or an unimplemented excep-
tion.
[EIT Processing]
(1) Saving SM, IE and C bits
The PSW register’s SM, IE and C bits are saved to the respective backup bits: BSM, BIE and BC.
BSM ← SM
BIE ← IE
BC ← C
(5) Jumping from the EIT vector entry to the user-created handler
The CPU executes the BRA instruction written by the user at the address H’0000 0090 of the EIT vector
entry to jump to the start address of the user-created handler. At the beginning of the user-created EIT
handler, first save the BPC, PSW and FPSR registers and the necessary general-purpose registers to the
stack.
[Occurrence Conditions]
A reset interrupt is accepted in machine cycle by pulling the RESET# input signal "L." The reset interrupt
is assigned the highest priority among all EITs.
[EIT Processing]
(1) Initializing SM, IE and C bits
The PSW register’s SM, IE and C bits are initialized as shown below.
SM ← 0
IE ← 0
C ← 0
For the reset interrupt, the values of BSM, BIE and BC bits are undefined.
(3) Jumping from the EIT vector entry to the user program
The CPU executes the instruction written by the user at the address H’0000 0000 of the EIT vector entry.
In the reset vector entry, be sure to initialize the PSW and SPI registers before jumping to the start
address of the user program.
System Break Interrupt (SBI) is an emergency interrupt which is used when power outage is detected or a fault
condition is notified by an external watchdog timer. The system break interrupt cannot be masked by the PSW
register IE bit.
Therefore, the system break interrupt can only be used when the system has some fatal event already existing
in it when the interrupt is detected. Also, this interrupt must be used on condition that after processing by the
SBI handler, control will not return to the program that was being executed when the system break interrupt
occurred.
[Occurrence Conditions]
A system break interrupt is accepted by a falling edge on SBI# input pin. (The system break interrupt
cannot be masked by the PSW register IE bit.)
In no case will a system break interrupt be activated immediately after executing a 16-bit instruction that
starts from a word boundary. (For 16-bit branch instructions, however, the interrupt is accepted immedi-
ately after branching.) Note also that because of the instruction processing-completed type, a system
break interrupt is accepted after the instruction is completed.
[EIT Processing]
(1) Saving SM, IE and C bits
The PSW register’s SM, IE and C bits are saved to the respective backup bits: BSM, BIE and BC.
BSM ← SM
BIE ← IE
BC ← C
(5) Jumping from the EIT vector entry to the user-created handler
The CPU executes the BRA instruction written by the user at the address H’0000 0010 of the EIT vector
entry to jump to the start address of the user-created handler.
The system break interrupt can only be used when the system has some fatal event already existing in it
when the interrupt is detected. Also, this interrupt must be used on condition that after processing by the
SBI handler, control will not return to the program that was being executed when the system break inter-
rupt occurred.
An external interrupt is generated upon an interrupt request which is output by the microcomputer’s internal
interrupt controller. The interrupt controller manages interrupt requests by assigning each one of seven priority
levels. For details, see Chapter 5, “Interrupt Controller.” For details about the interrupt request sources, see
each section in which the relevant internal peripheral I/O is described.
[Occurrence Conditions]
External interrupts are managed based on interrupt requests from each internal peripheral I/O by the
microcomputer’s internal interrupt controller, and are sent to the CPU via the interrupt controller. The CPU checks
these interrupt requests at a break in instructions residing on word boundaries, and when an interrupt request is
detected and the PSW register IE flag = "1", accepts it as an external interrupt.
In no case will an external interrupt be activated immediately after executing a 16-bit instruction that starts from a
word boundary. (For 16-bit branch instructions, however, the interrupt is accepted immediately after branching.)
[EIT Processing]
(1) Saving SM, IE and C bits
The PSW register’s SM, IE and C bits are saved to the respective backup bits: BSM, BIE and BC.
BSM ← SM
BIE ← IE
BC ← C
(5) Jumping from the EIT vector entry to the user-created handler
The CPU executes the BRA instruction written by the user at the address H’0000 0080 of the EIT vector
entry to jump to the start address of the user-created handler. At the beginning of the user-created EIT
handler, first save the BPC and PSW registers and the necessary general-purpose registers to the stack.
Also, save the accumulator and FPSR register as necessary.
32192/32195/32196 Group Hardware Manual 4-17
Rev.1.10 REJ09B0123-0110 Apr.06.07
EIT
4 4.9 Interrupt Processing
[Occurrence Conditions]
Traps are software interrupts which are generated by executing the TRAP instruction. Sixteen traps are
generated, each corresponding to one of TRAP instruction operands 0–15. Accordingly, sixteen vector
entries are provided.
[EIT Processing]
(1) Saving SM, IE and C bits
The PSW register’s SM, IE and C bits are saved to the respective backup bits: BSM, BIE and BC.
BSM ← SM
BIE ← IE
BC ← C
+0 +1 +2 +3 +0 +1 +2 +3
Address Address
H'00 H'00
H ' 0 4 TRAP instruction H'04 TRAP instruction
Return Return
address H'08 address H'08
H'0C H'0C
(5) Jumping from the EIT vector entry to the user-created handler
The CPU executes the BRA instruction written by the user at the addresses H’0000 0040–H’0000 007C of
the EIT vector entry to jump to the start address of the user-created handler. At the beginning of the user-
created EIT handler, first save the BPC and PSW registers and the necessary general-purpose registers
to the stack. Also, save the accumulator and FPSR register as necessary.
Table 4.11.1 Priority of EIT Events and How Returned from EIT
Priority EIT Event Type of Processing Values Set in BPC Register
Highest 1 Reset Interrupt (RI) Instruction processing-aborted type Undefined
2 Address Exception (AE) Instruction processing-canceled type PC of the instruction that
generated AE
Reserved Instruction Instruction processing-canceled type PC of the instruction that
Exception (RIE) generated RIE
Floating-Point Exception Instruction processing-completed type PC of the instruction that
(FPE) generated FPE + 4
Trap (TRAP) Instruction processing-completed type TRAP instruction + 4
3 System Break Interrupt Instruction processing-completed type PC of the next instruction
(SBI)
Lowest 4 External Interrupt (EI) Instruction processing-completed type PC of the next instruction
Note that for External Interrupt (EI), the priority levels of interrupt requests from each peripheral I/O are set by the
microcomputer’s internal interrupt controller. For details, see Chapter 5, “Interrupt Controller.”
IE = 1
BPC register = Return address A
IE = 0
RIE, AE, FPE, SBI, EI or TRAP
occurs singly If IE = 0, no events but reset and
SBI are accepted.
Return address A:
IE = 1
RTE instruction
: EIT handler
Figure 4.12.1 Processing of Events When RIE, AE, FPE, SBI, EI or TRAP Occurs Singly
RTE instruction
: EIT handler
Figure 4.12.2 Processing of Events When RIE, AE, FPE or TRAP and EI Occur Simultaneously
BRA instruction
EIT handler
EIT event
occurs Program terminated
Processing by or system reset
EIT handler
Restore general-purpose
registers from the stack
RTE
Note 1: Indicates saving and restoring the PSW register bits between its PSW and BPSW fields.
The maskable interrupts from internal peripheral I/Os are managed by assigning them one of eight priority levels
including an interrupt-disabled state. If two or more interrupt requests with the same priority level occur at the
same time, their priorities are resolved by predetermined hardware priority. The source of an interrupt request
generated in internal peripheral I/Os is identified by reading the relevant interrupt status register provided for
internal peripheral I/Os.
On the other hand, the system break interrupt (SBI) is recognized when a low-going transition occurs on the SBI#
signal input pin. This interrupt is used for emergency purposes such as when power outage is detected or a fault
condition is notified by an external watchdog timer, so that it is always accepted irrespective of the PSW register
IE bit status. When the CPU has finished servicing an SBI, shut down or reset the system without returning to the
program that was being executed when the interrupt occurred.
Specifications of the Interrupt Controller are outlined below.
Edge
Interrupt request IREQ
Edge ILEVEL External Interrupt (EI)
Priority resolved by interrupt priority levels set
Interrupt request IREQ Priority resolved by fixed hardware priority request generated
Edge (maskable)
Interrupt request IREQ
Note 1: Interrupt control circuit indicates Interrupt request status register and Interrupt request mask register in each peripheral
function.
H'0080 0004 Interrupt Request Mask Register (Use inhibited area) 5-6
(IMASK)
H'0080 0006 SBI Control Register (Use inhibited area) 5-7
(SBICR)
| (Use inhibited area)
H'0080 0056 RAM Write Monitor Interrupt Control Register CAN1 Error Interrupt Control Register 5-8
(IRAMWRCR) (ICAN1ERCR)
H'0080 0058 CAN1 Single-Shot Interrupt Control Register CAN1 Transmit/Receive Interrupt Control Register 5-8
(ICAN1SSCR) (ICAN1TRCR)
H'0080 005A CAN0 Error Interrupt Control Register CAN0 Single-Shot Interrupt Control Register 5-8
(ICAN0ERCR) (ICAN0SSCR)
H'0080 005C CAN0 Transmit/Receive Interrupt Control Register DRI Event Detection Interrupt Control Register 5-8
(ICAN0TRCR) (IDRIEVCR)
H'0080 005E DRI Counter Interrupt Control Register DRI Transfer Interrupt Control Register 5-8
(IDRICNTCR) (IDRITRCR)
H'0080 0060 CAN0 Transmit/Receive & Error Interrupt Control Register TML1 Input Interrupt Control Register 5-8
(ICAN0CR) (ITML1CR)
H'0080 0062 (Use inhibited area)
H'0080 0064 SIO4,5 Transmit/Receive Interrupt Control Register TOU1 Output Interrupt Control Register 5-8
(ISIO45CR) (ITOU1CR)
H'0080 0066 TID1 Output Interrupt Control Register RTD Interrupt Control Register 5-8
(ITID1CR) (IRTDCR)
H'0080 0068 SIO2,3 Transmit/Receive Interrupt Control Register DMA5–9 Interrupt Control Register 5-8
(ISIO23CR) (IDMA59CR)
H'0080 006A TOU0 Output Interrupt Control Register TID0 Output Interrupt Control Register 5-8
(ITOU0CR) (ITID0CR)
H'0080 006C A/D0 Conversion Interrupt Control Register SIO0 Transmit Interrupt Control Register 5-8
(IAD0CCR) (ISIO0TXCR)
H'0080 006E SIO0 Receive Interrupt Control Register SIO1 Transmit Interrupt Control Register 5-8
(ISIO0RXCR) (ISIO1TXCR)
H'0080 0070 SIO1 Receive Interrupt Control Register DMA0–4 Interrupt Control Register 5-8
(ISIO1RXCR) (IDMA04CR)
H'0080 0072 MJT Output Interrupt Control Register 0 MJT Output Interrupt Control Register 1 5-8
(IMJTOCR0) (IMJTOCR1)
H'0080 0074 MJT Output Interrupt Control Register 2 MJT Output Interrupt Control Register 3 5-8
(IMJTOCR2) (IMJTOCR3)
H'0080 0076 MJT Output Interrupt Control Register 4 MJT Output Interrupt Control Register 5 5-8
(IMJTOCR4) (IMJTOCR5)
H'0080 0078 MJT Output Interrupt Control Register 6 MJT Output Interrupt Control Register 7 5-8
(IMJTOCR6) (IMJTOCR7)
H'0080 007A MJT Input Interrupt Control Register 0 MJT Input Interrupt Control Register 1 5-8
(IMJTICR0) (IMJTICR1)
H'0080 007C MJT Input Interrupt Control Register 2 MJT Input Interrupt Control Register 3 5-8
(IMJTICR2) (IMJTICR3)
H'0080 007E MJT Input Interrupt Control Register 4 CAN1 Transmit/Receive & Error Interrupt Control Register 5-8
(IMJTICR4) (ICAN1CR)
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
IVECT
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The Interrupt Vector Register (IVECT) is used when an interrupt request is accepted to store the 16-low-order
bits of the ICU vector table address for the accepted interrupt request source.
Before this function can work, the ICU vector table (addresses H’0000 0094 through H’0000 013B) must have
set in it the start addresses of interrupt handlers for each internal peripheral I/O. When an interrupt request is
accepted, the 16-low-order bits of the ICU vector table address for the accepted interrupt request source are
stored in the IVECT register. In the EIT handler, read the content of this IVECT register using the LDH instruc-
tion to get the ICU vector table address.
When the IVECT register is read, operations (1) to (4) below are automatically performed in hardware.
(1) The interrupt priority level of the accepted interrupt request source (ILEVEL) is set in the IMASK register as
a new IMASK value. (Interrupts with lower priority levels than that of the accepted interrupt request source
are masked.)
(2) The interrupt request bit for the accepted interrupt request source is cleared (not cleared for level-recog-
nized interrupt request sources).
(3) The interrupt request (EI) to the CPU core is dropped.
(4) The ICU’s internal sequencer is activated to start internal processing (interrupt priority resolution).
Notes: • Do not read the Interrupt Vector Register (IVECT) in the EIT handler unless interrupts are dis-
abled (PSW register IE bit = "0"). In the EIT handler, furthermore, read the Interrupt Request
Mask Register (IMASK) first before reading the IVECT register.
• To reenable interrupts (by setting the IE bit to "1") after reading the Interrupt Vector Register
(IVECT), execute the following processing in the order given:
b0 1 2 3 4 5 6 b7
IMASK
0 0 0 0 0 1 1 1
The Interrupt Request Mask Register (IMASK) is used to finally determine whether or not to accept an interrupt
request after comparing its priority with the priority levels (Interrupt Control Register ILEVEL bits) that have
been set for each interrupt request source.
When the Interrupt Vector Register (IVECT) is read, the interrupt priority level of the accepted interrupt request
source is set in this IMASK register as a new mask value.
When any value is written to the IMASK register, operations (1) to (2) below are automatically performed in
hardware.
Notes: • Do not write to the Interrupt Request Mask Register (IMASK) unless interrupts are disabled
(PSW register IE bit = "0").
• To reenable interrupts (by setting the IE bit to "1") after writing to the Interrupt Request Mask
Register (IMASK), execute the following processing in the order given:
or
Note 1: Any instructions other than NOP that does not require clock cycles (one that is automati-
cally inserted by the assembler for alignment adjustment: instruction code H'F000)
b0 1 2 3 4 5 6 b7
SBIREQ
0 0 0 0 0 0 0 0
The System Break Interrupt (SBI) is an interrupt request generated by a falling edge on the SBI# signal input
pin.
When a falling edge on the SBI# signal input pin is detected and this bit is set to "1", a system break interrupt
(SBI) request is generated to the CPU.
This bit cannot be set to "1" in software, it can only be cleared.
To clear this bit to "0", follow the procedure described below.
Notes: • Unless this bit is set to "1", do not perform the above clearing operation.
• If falling edge is inputted to SBI# pin again, system break is not occured while SBI request bit is set
to "1."
b0 1 2 3 4 5 6 b7
(b8 9 10 11 12 13 14 b15)
IREQ ILEVEL
0 0 0 0 0 1 1 1
When an interrupt request from some internal peripheral I/O occurs, the corresponding IREQ (Interrupt
Request) bit is set to "1."
This bit can be set and cleared in software for only edge-recognized interrupt request sources (and not for
level-recognized interrupt request sources). Also, when this bit is set by an edge-recognized interrupt re-
quest generated, it is automatically cleared to "0" by reading the Interrupt Vector Register (IVECT) (not
cleared in the case of level-recognized interrupt request).
If the IREQ bit is cleared in software at the same time it is set by an interrupt request generated, clearing in
software has priority. Also, if the IREQ bit is cleared by reading the Interrupt Vector Register (IVECT) at the
same time it is set by an interrupt request generated, clearing by a read of the IVECT register has priority.
Note: • External Interrupt (EI) to the CPU core is not deasserted by clearing the IREQ bit. External
Interrupt (EI) to the CPU core can only be deasserted by the following operation:
(1) Reset
(2) IVECT register read
(3) Write to the IMASK register
IREQ Set
Bit 3 or bit 11
Data bus
F/F
Set/clear
Reset
Interrupt enabled IVECT read
IMASK write
Clear
Bits 5-7 or bits 13-15
3 ILEVEL Interrupt priority Set EI
F/F To the CPU core
(levels 0-7) resolving circuit
Reset
Interrupt enabled IVECT read
IMASK write
Clear
Bits 5-7 or bits 13-15
3 ILEVEL Interrupt priority Set EI
F/F To the CPU core
(levels 0-7) resolving circuit
These bits set the priority levels of interrupt requests from each internal peripheral I/O. Set these bits to ‘111’
to disable or any value ‘000’ through ‘110’ to enable the interrupt from some internal peripheral I/O.
When an interrupt occurs, the Interrupt Controller resolves priority between this interrupt and other interrupt
sources based on ILEVEL settings and finally compares priority with the IMASK value to determine whether
to forward an EI request to the CPU or keep the interrupt request pending.
The table below shows the relationship between ILEVEL settings and the IMASK values at which interrupts
are accepted.
1) The ILEVEL values set in the Interrupt Control Registers for the respective internal peripheral I/Os are
compared with each other.
2) If the ILEVEL values are the same, priorities are resolved according to the predetermined hardware priority.
3) The ILEVEL and IMASK values are compared.
If two or more interrupt requests occur simultaneously, the Interrupt Controller first compares their priority levels
set in each Interrupt Control Register’s ILEVEL bit to select an interrupt request that has the highest priority. If
the interrupt requests have the same ILEVEL value, their priorities are resolved according to the hardware fixed
priority. The interrupt request thus selected has its ILEVEL value compared with the IMASK value and if its
priority is higher than the IMASK value, the Interrupt Controller sends an EI request to the CPU.
Interrupt requests may be masked by setting the Interrupt Request Mask Register and the Interrupt Control
Register’s ILEVEL bit (disabled at level 7) provided for each internal peripheral I/O and the PSW register IE bit.
1) 2) 3)
Resolve priority
Interrupt Resolve priority Accept interrupt
according to Compare with
requested according to if PSW register
Interrupt Priority IMASK value
or not hardware priority IE bit = 1
Level (ILEVEL)
Note: • Before enabling multiple interrupts, read the Interrupt Vector Register (IVECT) and then the
ICU vector table, as shown in Figure 5.5.2, “Typical Handler Operation for Interrupts from
Internal Peripheral I/O.”
EI (External Interrupt)
vector entry
Hardware postprocessing
when RTE instruction
is executed
Interrupt Interrupt
(Note 1) handler handler [8]
Restore general-purpose
registers from the stack
[12] RTE
Note 1: For operations at EIT acceptance and return from EIT, also see Section 4.3, "EIT Processing Procedure."
Note 2: Do not read the Interrupt Vector Register (IVECT) or write to the Interrupt Request Mask Register (IMASK) in
the EIT handler unless interrupts are disabled (PSW register IE bit = 0).
Note 3: To enable multiple interrupts, execute processing in [6] and [9].
Note 4: There are precautions to be taken when reenabling interrupts (by setting the IE bit to "1") after reading the
Interrupt Vector Register (IVECT). For details, see the Section 5.2.1, "Interrupt Vector Register (IVECT)."
The precautions apply to the Process [4], therefore, other processes are not required to add.
Also, there are precautions to be taken when reenabling interrupts (by setting the IE bit to "1") after writing to
the Interrupt Request Mask Register (IMASK). For details, see the Section 5.2.2, "Interrupt Request Mask
Register (IMASK)."
Figure 5.5.2 Typical Handler Operation for Interrupts from Internal Peripheral I/O
System Break Interrupt (SBI) is an emergency interrupt which is used when power outage is detected or a fault
condition is notified by an external watchdog timer. The system break interrupt is accepted anytime upon
detection of a falling edge on the SBI# signal input pin no matter how the PSW register IE bit is set, and cannot
be masked. If falling edge is inputted to SBI# pin again, system break is not occured while SBI request bit is set
to "1."
When the system break interrupt generated has been serviced, shut down or reset the system without return-
ing to the program that was being executed when the interrupt occurred.
Program being
executed Processing to shut
down the system
(Note 1)
SBI generated
Shut down or
reset the system
Note 1: Do not return to the program that was being executed when the interrupt occurred.
Note: • The internal resources that are likely to access the internal RAM for write include six modules:
CPU, DMA, SDI (tool), NBD, RTD, and DRI. Of these, the RTD and DRI are not subject to the
RAM protect function, so that write accesses made to the internal RAM by the RTD or DRI cannot
be detected.
The diagram below shows the areas in 16-Kbyte units of the internal RAM that can individually be disabled
against write by the RAM protect function.
A register map associated with the internal RAM protect function is shown below.
H'0080 053C (Use inhibited area) RAM Write Disable Protect Register 6-7
(RAMWRPROT)
RAM Write Monitor Interrupt Status Register (RAMWRIST) <Address: H’0080 0530>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
RAMWRIST0 RAMWRIST1 RAMWRIST2 RAMWRIST3 RAMWRIST4 RAMWRIST5 RAMWRIST6 RAMWRIST7 RAMWRIST8 RAMWRIST9 RAMWRIST10 RAMWRIST11 RAMWRIST12 RAMWRIST13 RAMWRIST14 RAMWRIST15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
If the CPU, DMA, SDI (tool), or NBD attempted to write to any area that is “disabled against write” by the RAM
Write Disable Control Register, the corresponding bit in this register is set to "1." The bit is cleared by writing a "0"
in software.
When writing to this register, be sure to write a "0" for the bits to be cleared and a "1" for all other bits. Writing a
"1" to any bit in this register has no effect, so the bit retains the value it had before the write.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
RAMWRFST0 RAMWRFST1 RAMWRFST2 RAMWRFST3 RAMWRFST4 RAMWRFST5 RAMWRFST6 RAMWRFST7 RAMWRFST8 RAMWRFST9 RAMWRFST10 RAMWRFST11 RAMWRFST12 RAMWRFST13 RAMWRFST14 RAMWRFST15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
If the CPU, SDI(tool), or NBD attempted to access any area for write that is “disabled against write” by the RAM
Write Disable Control Register, the corresponding bit in this register is set to "1." After setting the bit to "1," the bit
is not cleared to "0" if a DMA write access occurred. The bit is cleared by writing a "0" in software. Writing a "1" to
any bit in this register has no effect, so the bit retains the value it had before the write.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
RAMWRCNT0 RAMWRCNT1 RAMWRCNT2 RAMWRCNT3 RAMWRCNT4 RAMWRCNT5 RAMWRCNT6 RAMWRCNT7 RAMWRCNT8 RAMWRCNT9 RAMWRCNT10 RAMWRCNT11 RAMWRCNT12 RAMWRCNT13 RAMWRCNT14 RAMWRCNT15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register controls accesses for write to the RAM by enabling or disabling the access. Controlled by this
register are the accesses made by the CPU, DMA, SDI (tool), and NBD. If one of these modules attempted to
access any area for write that is disabled against write, the corresponding RAM write monitor interrupt status is
set to "1," with no data actually written to the RAM.
Before this register can be rewritten, the RAMWRCNTPRO bit in the RAM Write Disable Protect Register must
be "0."
b8 9 10 11 12 13 14 b15
RAMWRCNTP RAMWRCNTPRO
0 0 0 0 0 0 0 0
This register controls writes to the RAM Write Disable Control Register by enabling or disabling the write. If a
write to the RAM Write Disable Control Register is attempted when the RAMWRCNTPRO bit = "1," the attempted
write is ignored.
Note: • If theare are writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 1 and 2,
the continuous setting ( A pair of two consecutive is 1 set for writing operation) is disabled and the
writing value is not reflected. Therefore, disable interrupts and DMA transfers before setting.
However the writing cycle from RTD and DRI are not effected.
RAMWRCNTP "1"
If a write cycle to any other area occurs
during this interval, the value that was
set in the RAMWRCNTPRO bits is not
RAMWRCNTP "0" reflected. (Note 1)
RAMWRCNTPRO Set value
RAMWRCNTP "1"
RAMWRCNTP "0"
RAMWRCNTPRO Set value
(2)
RAMWRCNTP "1"
RAMWRCNTP "1"
RAMWRCNTP "0"
RAMWRCNTPRO Set value
Note 1: The writing cycle to the other area is the writing cycle from CPU, DMA, SDI (tool), NBD to any other area.
The writing cycle from RTD and DRI are not effected.
Write to area 2
WR
RAMWRCNT2
b2
F/F
RAMWRIST2
b2
F/F
Write to area 3
WR
RAMWRCNT3
b3
F/F
RAMWRIST3
b3
F/F
Write to area 4
WR
RAMWRCNT4
b4
F/F
RAMWRIST4
b4
F/F
Write to area 5
WR
RAMWRCNT5
b5
F/F
RAMWRIST5
b5
F/F
Write to area 6
WR
RAMWRCNT6
b6
F/F
RAMWRIST6
b6
F/F
Write to area 7
WR
RAMWRCNT7
b7
F/F
RAMWRIST7
b7
F/F
To the next page The remaining 8-source inputs in the next page
Figure 6.3.2 Block Diagram of RAM Write Monitor Interrupt Request (1/2)
Write to area 8
WR
Data bus RAMWRCNT8
b8
F/F
RAMWRIST8 8-source inputs
b8
F/F
To the previous page
Write to area 9 (Level)
WR
RAMWRCNT9
b9
F/F
RAMWRIST9
b9
F/F
Write to area 10
WR
RAMWRCNT10
b10
F/F
RAMWRIST10
b10
F/F
Write to area 11
WR
RAMWRCNT11
b11
F/F
RAMWRIST11
b11
F/F
Write to area 12
WR
RAMWRCNT12
b12
F/F
RAMWRIST12
b12
F/F
Write to area 13
WR
RAMWRCNT13
b13
F/F
RAMWRIST13
b13
F/F
Write to area 14
WR
RAMWRCNT14
b14
F/F
RAMWRIST14
b14
F/F
Write to area 15
WR
RAMWRCNT15
b15
F/F
RAMWRIST15
b15
F/F
Figure 6.3.3 Block Diagram of RAM Write Monitor Interrupt Request (2/2)
Internal flash memory area of the M32192F8 and M32196F8 (1024 Kbytes)
H'0001 FFFF
H'0002 0000
64KB Block 6
H'0002 FFFF
H'0003 0000
64KB Block 7
H'0003 FFFF
H'0004 0000
64KB Block 8
H'0004 FFFF
H'0005 0000
64KB Block 9
H'0005 FFFF
H'0006 0000
64KB Block 10
H'0006 FFFF
H'0007 0000
64KB Block 11
H'0007 FFFF
H'0008 0000
64KB Block 12 Equal blocks
H'0008 FFFF
H'0009 0000
64KB Block 13
H'0009 FFFF
H'000A 0000
64KB Block 14
H'000A FFFF
H'000B 0000
64KB Block 15
H'000B FFFF
H'000C 0000
64KB Block 16
H'000C FFFF
H'000D 0000
64KB Block 17
H'000D FFFF
H'000E 0000
64KB Block 18
H'000E FFFF
H'000F 0000
64KB Block 19
H'000F FFFF
Figure 6.4.1 Block Configuration of the Internal Flash Memory for the M32192F8 and M32196F8
H'0001 FFFF
H'0002 0000
64KB Block 6
H'0002 FFFF
H'0003 0000
64KB Block 7
H'0003 FFFF
H'0004 0000
64KB Block 8 Equal blocks
H'0004 FFFF
H'0005 0000
64KB Block 9
H'0005 FFFF
H'0006 0000
64KB Block 10
H'0006 FFFF
H'0007 0000
64KB Block 11
H'0007 FFFF
Figure 6.4.2 Block Configuration of the Internal Flash Memory for the M32195F4
Note 1: This area exists only in the 32192 and it is use prohibition area in the 32195/32196.
Note 2: This area exists only in the 32192/32196 and it is use prohibition area in the 32195.
b0 1 2 3 4 5 6 b7
FAENS FPMOD
0 0 0 1 0 0 0 ?
The FAENS bit shows whether access to the flash memory is enabled or disabled. When the flash memory
is reset by the FRESET bit in Flash Control Register 4 (FCNT4) or accessed for programming/erasure, this
bit is cleared to "0," resulting in the flash memory being disabled against access. When the flash memory
becomes ready for access, this bit is set to "1." However, it requires up to 30 µs for FAENS bit to be "1" from
"0" after exiting Flash reset by FRESET bit or executing programming and erasing operation for Flash
memory.
The FPMOD is a status bit which indicates the FP (Flash Protect) pin status.
The internal flash memory is enabled for programming or erase operation only when FPMOD = "1," and is
protected against programming or erase operation when FPMOD = "0."
b8 9 10 11 12 13 14 b15
FBUSY ERASE WRERR FESQ1 FESQ2
1 0 0 0 0 0 0 0
Flash Status Register (FSTAT) consists of the following status bits that indicate the operation condition of the
flash memory.
Note: • Except when programming/erase processing on the flash memory is forcibly terminated, do not
manipulate the FRESET bit in Flash Control Register 4 (FCNT4) while the FBUSY bit = "0"
(programming/erasure in progress).
b0 1 2 3 4 5 6 b7
FENTRY FEMMOD
0 0 0 0 0 0 0 0
Flash Control Register 1 (FCNT1) consists of the following two bits to control the internal flash memory.
The FENTRY bit controls entry to flash E/W enable mode. Flash E/W enable mode can only be entered
when FENTRY = "1."
To set the FENTRY bit to "1," write "0" and then "1" to the FENTRY bit in succession while the FP pin = "H." To
clear the FENTRY bit, check to see that the Flash Status Register (FSTAT) FBUSY bit = "1" (ready), issue Read
Array commands (or Flash memory reset by FRESET bit), make sure that FAENS bit = "1," and then write "0" to
the FENTRY bit. However, when Flash memory is not reset by FRESET bit, it is not required to check the FAENS
bit.
Note that the following operations cannot be performed while programming or erasing the internal flash
memory (FSTAT register FBUSY bit = "0"). If one of these operations is attempted, the FENTRY bit is
cleared to "0" in hardware.
When running a program resident in the internal flash memory while the FENTRY bit = "0," the EI vector
entry is located at the address H’0000 0080 of the internal flash memory. When running the flash write/
erase program in the RAM while the FENTRY bit = "1," the EI vector entry is located at the address H’0080
4000 of the RAM, allowing the flash programming/erase operation to be controlled using interrupts.
The FEMMOD bit controls entry to virtual flash emulation mode. Virtual flash emulation mode is entered by
setting the FEMMOD bit to "1" while the FENTRY bit = "0." (For details, see Section 6.7, “Virtual Flash
Emulation Function.”)
b8 9 10 11 12 13 14 b15
FLOCKS FPROT
0 0 0 0 0 0 0 0
(1) FLOCKS (Lock Bit Read Mode Select) bit (Bit 11)
The FLOCKS bit is used to select a method for reading out the lock bit status. When the FLOCKS bit = "0,"
the internal flash memory is placed in memory area read mode, so that it is possible to inspect the lock bit
status by issuing command data H’7171 to any address of the flash memory and then reading the last even
address of the target block. When the FLOCKS bit = "1," the internal flash memory is placed in register read
mode, so that it is possible to inspect the lock bit status by first issuing command data H’7171 and H’D0D0
to any address of the target block in succession and then, when the FBUSY bit is set to "1," by reading the
FLOCKST bit in Flash Control Register 4.
The FLOCKS bit can only be accessed for write when the FENTRY bit = "1."
If one of the following operations is attempted, the FLOCKS bit is cleared to "0."
The FPROT bit controls invalidation of the internal flash memory protection by a lock bit (protection against
programming/erase operation). Protection of the internal flash memory is invalidated by setting the FPROT
bit to "1," so that any blocks protected by a lock bit can now be programmed or erased.
To set the FPROT bit to "1," write "0" and then "1" to the FPROT bit in succession while the FENTRY bit =
"1." To clear the FPROT bit to "0," write "0" to the FPROT bit.
If one of the following operations is attempted, the FPROT bit is cleared to "0."
NO
FENTRY = 1
YES
FENTRY = 1
FPROT = 0
FPROT = 0
FPROT = 1
FPROT = 1
b0 1 2 3 4 5 6 b7
FBSYCK FPBSYCK
0 0 0 1 0 0 0 1
Flash Control Register 3 (FCNT3) is used when developing an internal flash memory write/erase program to
check whether commands have been accepted normally. This register does not need to be used for a program
that has been verified to be able to operate properly.
The FPBSYCK bit is used to check whether the command of two or more cycles (confirmation command
H'D0D0 or a command that requires write data) issued to the flash memory during flash E/W enable mode
has been accepted normally. If the FPBSYCK bit is found to be "0" after issuing the prebusy check target
command (See Table 6.5.2), it means that the prebusy check target command has been accepted normally.
Conversely, if the FPBSYCK bit is found to be "1," it means that the prebusy check target command has not
been accepted normally.
In addition to the above, the FPBSYCK bit is set to "1" in the following cases:
1) When in a ready state (FBUSY bit = "H" after a prebusy check target command has been accepted)
2) When the Clear Status Register command is issued
3) When the FRESET bit = "1"
4) When input on RESET# pin is pulled "L"
START
NO
FPBSYCK = "0"
YES
Operation starts
1 µs wait
(by hardware timer or software timer)
(Note 2)
NO
FBSYCK = "0"
YES
NO
FBUSY = "1"
YES
NO
TIME OUT ?
YES
Write a clear status
Confirm execution result (Note 3) command, H'5050
Forcibly terminate
END
Note 1: Refer to Table 6.5.2 for prebusy check target command and busy check target command.
Note 2: It is not required during read lock bit status command (during register read command).
Note 3: Confirm by ERASE bit of the FSTAT register, WRERR bit, or FLOCKST bit of the FCNT4 register depending on the
respective commands.
b8 9 10 11 12 13 14 b15
FLOCKST FRESET
0 0 0 0 0 0 0 0
The FLOCKST bit is used to read the lock bit status. If the FLOCKST bit = "0," it means that the relevant
memory block is protected. If the FLOCKST bit = "1," it means that the relevant memory block is not pro-
tected.
Confirmation of the lock bit status by the FLOCKST bit is possible when the FLOCKS bit = "1." In this case,
the lock bit status can be checked by first issuing command data H’7171 and H’D0D0 to any address of the
target block in succession and then, when the FBUSY bit is set to "1," by reading the FLOCKST bit.
The FRESET bit controls forcible termination of the internal flash memory programming/erase operation,
initialization (to H’80) of each status bit in the Flash Status Register (FSTAT), and initialization of the
FPBSYCK bit in Flash Control Register 3 (FCNT3).
Setting the FRESET bit to "1" forcibly terminates programming/erase operation and initializes each status
bit in the FSTAT (to H’80) and the FPBSYCK bit in FCNT3. Make sure FRESET is held high (= "1") for at
least 10 µs during a flash reset.
After a flash reset, the internal flash memory is disabled against access until the FAENS bit is set to "1."
The FRESET bit is effective only when the FENTRY bit = "1." Unless the FENTRY bit = "1," settings made
to the FRESET bit are ignored. Make sure the FRESET bit = "0" while programming or erasing the flash
memory.
FENTRY = 0
FENTRY = 1
Program/erase
the flash memory
NO
Error found
YES
Programming/erase
operation terminated normally
FRESET = 1
10µs wait
(by hardware timer
or software timer)
FRESET = 0
NO FMOD register
FAENS = 1?
YES
Program/erase
the flash memory
FRESET = 1
10µs wait
(by hardware timer
or software timer)
FRESET = 0
NO FMOD register
FAENS = 1?
YES
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
MOD LBANKAD
ENL
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The MODENL bit can be set to "1" after entering virtual flash emulation mode (by setting the FEMMOD bit to
"1" while the FENTRY bit = "0"). This causes the virtual flash emulation function to be enabled for the L bank
area selected by the LBANKAD bits.
The LBANKAD bits are provided for selecting one of the L banks that are separated every 8 Kbytes. Use these
LBANKAD bits to set the eight bits A11–A18 (b7 corresponds to the address A11 and b14 corresponds to the
address A18) of the 32-bit start address of the desired L bank.
Note: • For details, see Section 6.7, “Virtual Flash Emulation Function.”
To program or erase the internal flash memory, there are following two methods to choose depending on the
situation:
(1) When the flash write/erase program does not exist in the internal flash memory
(2) When the flash write/erase program already exists in the internal flash memory
For (1), set the FP pin = "H," MOD0 = "H" and MOD1 = "L" to enter boot mode. In this case, the CPU starts
running the boot program upon exiting the reset state.
The boot program transfers the flash write/erase program into the internal RAM. After the transfer, jump to a
location in the RAM and use the RAM-resident program to set the Flash Control Register 1 (FCNT1) FENTRY
bit to "1" to make the internal flash memory ready for programming/erase operation (i.e., placed in boot mode
+ flash E/W enable mode).
When the above is done, use the flash write/erase program that has been transferred into the internal RAM to
program or erase the internal flash memory.
For (2), set the FP pin = "H," MOD0 = "L" and MOD1 = "L" to enter single-chip mode. Transfer the flash write/
erase program from the internal flash memory in which it has been prepared into the internal RAM. After the
transfer, jump to the RAM and use the program transferred into the RAM to set the Flash Control Register 1
(FCNT1) FENTRY bit to "1" to make the internal flash memory ready for programming/erase operation (i.e.,
placed in single-chip mode + flash E/W enable mode).
When the above is done, use the flash write/erase program that has been transferred into the internal RAM to
program or erase the internal flash memory. Or flash E/W enable mode can be entered from external extension
mode by setting the FP pin = "H," MOD0 = "L" and MOD1 = "H."
During flash E/W enable mode (FP pin = "H", FENTRY = "1"), the EIT vector entry for External Interrupt (EI) is
relocated to the start address (H’0080 4000) of the internal RAM. During normal mode, it is located in the flash
area (H’0000 0080).
To use an external interrupt (EI) in flash E/W enable mode, write at the beginning of the internal RAM an
instruction for branching to the external interrupt (EI) handler that has been transferred into the internal RAM.
Furthermore, because the IVECT register which is read out in the external interrupt (EI) handler has stored in
it the flash memory address of the ICU vector table, make sure the ICU vector table to be used during flash E/
W enable mode is prepared in the internal RAM so that the value of the IVECT register will be converted into
the internal RAM address of the ICU vector table (for example, by adding an offset) before performing branch
processing.
When started by boot mode, internal RAM value is indefinite after started by boot mode in order to "Flash
writing/erasing program" is transferred to internal RAM.
(1) When the flash write/erase program does not exist in the internal flash memory
In this case, the boot program is used to program or erase the internal flash memory. To transfer the write
data, use SIO1 of serial interface 1 in clock-synchronous serial interface, or clock-asynchronous serial
interface mode.
To program or erase the internal flash memory using a flash programmer, follow the procedure described below.
<Step 1>
• Initial state (internal Flash write/erase program
FP = L or H MOD1 = L MOD0 = L RESET# = L nonexistent in the internal flash memory)
Boot
internal Flash program
memory Write data
SIO1
External device (e.g., flash programmer)
M32R/ECU
<Step 2>
• Set the FP pin "H," MOD0 pin "H" and MOD1 pin "L" to
FP = H MOD1 = L MOD0 = H RESET# = H place the flash memory in boot mode + flash E/W enable mode.
• Deassert reset signal and start up with the boot program.
• Transfer the flash write/erase program into the internal RAM. (Note 1)
• Jump to the flash write/erase program in the internal RAM.
Flash write/
internal RAM erase CPU
program
Boot
internal Flash program
memory Write data
SIO1
External device (e.g., flash programmer)
M32R/ECU
<Step 3>
• Using the flash write/erase program in the internal RAM, set the
FP = H MOD1 = L MOD0 = H RESET# = H Flash Control Register 1 (FCNT1) FENTRY bit to 1.
• Program or erase the internal flash memory using the flash
write/erase program.
• When finished, set the MOD0 "L" and jump to the internal
Flash write/ flash memory or apply a reset to enter normal mode.
internal RAM erase CPU
program
Boot
internal Flash write program
Flash data
memory
SIO1 Write data
Note 1: When started by boot mode, internal RAM value is indefinite after started by boot mode in order to
“Flash writing/ erasing program” is transferred to internal RAM.
Figure 6.6.2 Procedure for Programming/Erasing the Internal Flash Memory (when the flash write/erase
program does not exist in it)
RESET# pin
MOD0 pin
MOD1 pin
FP pin
Settings by the
boot program
FENTRY bit
Flash programming/erasing
by the boot program
Figure 6.6.3 Internal Flash Memory Write/Erase Timing (when the flash write/erase program does not exist in it)
(2) When the flash write/erase program already exists in the internal flash memory
In this case, the flash write/erase program prepared in the internal flash memory is used to program or erase
the internal flash memory.
For programming/erase operation here, use the internal peripheral circuits in the manner suitable for the
programming system. (All resources of the internal peripheral circuits such as the data bus, serial interface
and ports can be used.)
The following shows an example for programming or erasing the internal flash memory by using SIO0 in
single-chip mode.
<Step 1>
• Initial state (Flash write/erase program existing in the internal
FP = L or H MOD1 = L MOD0 = L flash memory)
• An ordinary program in the internal flash memory is being executed.
Flash write/
erase SIO0
program Write data
External device
M32R/ECU
<Step 2>
• Set the FP pin "H", MOD1 pin "L" and MOD0 pin "L" to place
FP = H MOD1 = L MOD0 = L the flash memory in single-chip + flash E/W enable mode.
• After determining the FP pin and MOD1 pin levels, transfer the
flash write/erase program from the internal flash memory area
into the RAM.
Flash write/ • Jump to the flash write/erase program in the internal RAM.
internal RAM erase CPU
program
internal Flash
memory SIO0 Write data
External device
M32R/ECU
<Step 3>
• Using the flash write/erase program in the internal RAM, set the Flash
FP = H MOD1 = L MOD0 = L Control Register 1 (FCNT1) FENTRY bit to 1.
• Program or erase the internal flash memory using the flash
write/erase program in the internal RAM.
• When finished, jump to the program in the internal flash memory or apply
Flash write/
internal RAM erase a reset to enter normal mode.
CPU
program
internal Flash
memory Flash write
data
SIO0 Write data
External device
M32R/ECU
Figure 6.6.4 Procedure for Programming/Erasing the Internal Flash Memory (when the flash write/erase
program already exists in it)
FENTRY bit
Flash programming/erasing by
the flash write/erase program
Figure 6.6.5 Internal Flash Memory Write/Erase Control Pin Timing (when the flash write/erase program
already exists in it)
The microcomputer’s operation mode is set by MOD0, MOD1 and Flash Control Register 1 (FCNT1) FENTRY
bit. The table below lists operation modes that may be used when programming or erasing the internal flash
memory.
The MOD0 and MOD1 pin levels ("H" or "L") can be known by checking the P8 Data Register (Port Data
Register, H’0080 0708) MOD0DT and MOD1DT bits.
b0 1 2 3 4 5 6 b7
MOD0DT MOD1DT P82DT P83DT P84DT P85DT P86DT P87DT
? ? ? ? ? ? ? ?
START
Check NO
MOD0/1 and FP (Note 2)
pin levels
YES
END
Set the Flash Control Register in SFR area Switched to the flash write/erase
(FCNT1) FENTRY bit to 0 program
Wait for 1 µs
(using a hardware or software timer)
END
Note 1: For details about each command, see Section 6.6.3, "Procedure for Programming/Erasing
the Internal Flash Memory."
Note 2: Check FMOD register, FPMOD bit and P8DATA register MOD0DT and MOD1DT bits
START
FBUSY bit = 1 NO
(Note 1)
YES
FAENS bit = 1 NO
(Note 2)
YES
END
Note 1: If it is checked that the value of FBUSY bit in Flash Status Register (FSTAT) is "1" after executing the
command in flash E/W enable mode, it is not necessary to check that the value of FBUSY bit is "1."
Note 2: If flash memory reset by FRESET bit in Flash Control Register 4 (FCNT4) is not executed, it is not
necessary to check that the value of FAENS bit in Flash Mode Register (FMOD) is "1."
Note 3: Insert any instructions for more than 8 CPUCLK waits other than NOP that do not require clock cycles
(one that is automatically inserted by the assembler for alignment adjustment: instruction code H'F000).
As the EI vector entry address is exchanged in the instructions for 8 CPUCLK waits, disenable the External
Interrupt (EI).
Note: • When switching to normal mode by entering a "L" level signal to the RESET# pin in flash E/W enable mode,
enter the signal to the RESET# pin after checking that the value of FBUSY bit is "1"(ready).
To program or erase the internal flash memory, set up chip mode to enter flash E/W enable mode and execute the
flash write/erase program in the internal RAM into which it has been transferred from the internal flash memory.
In flash E/W enable mode, because the internal flash memory cannot be accessed for read as in normal mode,
no programs present in it can be executed. Therefore, the flash write/erase program must be made available in
the internal RAM before entering flash E/W enable mode. (Once flash E/W enable mode is entered into, only
flash command and no other commands can be used to access the internal flash memory.)
To access the internal flash memory in flash E/W enable mode, issue commands for the internal flash memory
address to be operated on. The table below lists the commands that can be issued in flash E/W enable mode.
Note: • During flash E/W enable mode, the internal flash memory cannot be accessed for read or write
wordwise.
Writing the Read Array command (H’FFFF) to any address of the internal flash memory places it in read
mode. Then read the desired flash memory address, and the content of that address will be read out.
Before exiting flash E/W enable mode, always be sure to execute the Read Array command.
START
NO
Final Address?
YES
END
This command performs write (programming) to the flash memory in 4 halfword units (8-byte unit), or every
2 bytes (Half word) x 4 times. Also, the initial address at write must always be written with the address of 4
halfword boundary (low-order address, B'000).
To program data to the flash memory, write the Program command (H’4343) to any address of the internal
flash memory, and then the program data to the address to be programmed.
The protected flash memory blocks cannot be accessed for write by the 4 Halfword Program command.
4 halfword programming is automatically performed by the internal control circuit, and whether the 4 Halfword
Program command has finished can be known by checking the FBUSY (Flash Busy) bit in the Flash Status
Register. While the FBUSY bit = "0," the next programming cannot be performed.
START
Wait for 1 µs
(using a hardware or software timer)
NO
FBUSY bit = 1
YES
TIME OUT? NO
Confirm the result of execution 1600 µs (Note 2)
of the programming process
To next 4 halfword (Note 1) YES
Forcibly terminated
NO
Last address?
YES
END
Note 1: Check Flash Status Register (FSTAT) ERASE bit (for the erase status) and WRERR bit (for the write status).
Note 2: It is a timeout period for 4-Kbyte block. The timeout period for other than 4 Kbytes is 800 µs.
Write the Lock Bit Program command (H’7777) to any address of the internal flash memory. Next, write the
Verify command (H’D0D0) to the last even address of the flash memory block to be protected, and this
memory block is thereby protected against programming/erase operation. To remove protection, use the
Flash Control Register 2 (FCNT2) FPROT (Rock bit Protect Control) bit to invalidate protection by a lock bit
and erase the flash memory block whose protection is to be removed. (The content of that memory block is
also erased.)
Lock bit programming is automatically performed by the internal control circuit, and whether the Lock Bit
Program command has finished can be known by checking FBUSY (Flash Busy) bit in the Flash Status
Register (FSTAT). While the FBUSY bit = "0," the next programming cannot be performed.
The table below lists the target flash memory blocks and their addresses to be specified when writing the
Verify command data.
START
Wait for 1 µs
(using a hardware or software timer)
NO
FBUSY bit = 1
YES
TIME OUT? NO
1600 µs (Note 2)
END
Note 1: Check Flash Status Register (FSTAT) ERASE bit (for the erase status) and WRERR bit (for the write status).
Note 2: It is a timeout period for 4-Kbyte block. The timeout period for other than 4 Kbytes is 800 µs.
The Block Erase command erases the content of the internal flash memory one block at a time. To perform
this operation, write the command data (H’2020) to any address of the internal flash memory. Next, write the
Verify command (H’D0D0) to the last even address of the flash memory block to be erased (see Table 6.6.3,
“Target Blocks and Specified Addresses”).
The protected flash memory blocks cannot be erased by the Block Erase command.
Block erase operation is automatically performed by the internal control circuit, and whether the Block Erase
command has finished can be known by checking FBUSY (Flash Busy) bit in the Flash Status Register
(FSTAT). While the FBUSY bit = "0," the next block erase operation cannot be performed.
START
Wait for 1 µs
(using a hardware or software timer)
NO
FBUSY bit = 1
YES
NO
TIME OUT?
6s
END
Note 1: Check Flash Status Register (FSTAT) ERASE bit (for the erase status) and WRERR bit (for the write status).
The Clear Status Register command clears the Flash Status Register (FSTAT) ERASE (erase status), and
WRERR (write status) bits to "0." Write the command data (H’5050) to any address of the internal flash
memory, and Flash Status Register is thereby initialized. Also, issue the Clear Status Register command,
and Flash Status Register 3 (FCNT3) is initialized.
If an error occurs when programming or erasing the flash memory and the Flash Status Register (FSTAT)
ERASE (erase status) or WRERR (write status) bit is set to "1," the next programming or erase operation
cannot be executed unless each status bit is cleared to "0."
START
END
The Read Lock Bit Status command is provided for checking whether a flash memory block is protected
against programming/erase operation. The method for reading lock bit can be chosen from the following
depends on the setting for Flash Control Register 2 (FCNT2) FLOCKS (Lock bit read mode select) bit.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
FLBST
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The Lock Bit Status Register is a read-only register, which is included for each memory block independently of
one another. To read this register, Flash Control Register 2 (FCNT2) FLOCKS bit must be set to "0."
START
END
Figure 6.6.13 Read Lock Bit Status (Memory Area Read Mode)
Write the command data (H’7171) to any address of the target block. Next, write the verify command
data (H'D0D0), and the Flash Control Register 4 (FCNT4) FLOCKST (Lock Bit Status) bit shows
whether the target block is protected.
START
NO
FBUSY bit = 1
YES
NO
TIME OUT?
10 µs
END
The following shows the time needed to program internal flash memory for reference.
[1] Transfer time by SIO (When the capacity of transfer data : 1024KB)
1 / 57600bps x 1(fram) x 11(the number of transfer bit) x 1024KB = approx. 200.2 [s]
In addition, the quickest data writing time with high speed is by speeding up serial connection or other
means is calculable with the following formula.
(2) M32195F4
[1] Transfer time by SIO (When the capacity of transfer data : 512KB)
1 / 57600bps x 1(fram) x 11(the number of transfer bit) x 512KB = approx. 100.1 [s]
In addition, the quickest data writing time with high speed is by speeding up serial connection or other
means is calculable with the following formula.
Note: • Before programming/erasing the internal flash memory, always be sure to exit this virtual flash
emulation mode.
H'0080 4000
Unusable for
virtual flash emulation
function
48 Kbytes
H'0080 FFFF
H'0081 0000 RAM bank L block 0
(FELBANK0)
H'0081 1FFF 8 Kbytes
H'0081 2000 RAM bank L block 1
(FELBANK1)
H'0081 3FFF 8 Kbytes
H'0081 4000 RAM bank L block 2
(FELBANK2)
H'0081 5FFF 8 Kbytes
H'0081 6000 RAM bank L block 3
(FELBANK3)
H'0081 7FFF 8 Kbytes
H'0081 8000 RAM bank L block 4
(FELBANK4)
H'0081 9FFF 8 Kbytes
H'0081 A000 RAM bank L block 5
(FELBANK5)
H'0081 BFFF 8 Kbytes
H'0081 C000 RAM bank L block 6
(FELBANK6)
H'0081 DFFF 8 Kbytes
H'0081 E000 RAM bank L block 7
(FELBANK7)
H'0081 FFFF 8 Kbytes
H'0082 0000 RAM bank L block 8
(FELBANK8)
H'0082 1FFF 8 Kbytes
H'0082 2000 RAM bank L block 9
(FELBANK9)
H'0082 3FFF 8 Kbytes
H'0082 4000 RAM bank L block 10
(FELBANK10)
H'0082 5FFF 8 Kbytes
H'0082 6000 RAM bank L block 11
(FELBANK11)
H'0082 7FFF 8 Kbytes
H'0082 8000 RAM bank L block 12
(FELBANK12)
H'0082 9FFF 8 Kbytes
H'0082 A000 RAM bank L block 13
(FELBANK13)
H'0082 BFFF 8 Kbytes
H'0082 C000 RAM bank L block 14
(FELBANK14)
H'0082 DFFF 8 Kbytes
H'0082 E000 RAM bank L block 15
(FELBANK15)
H'0082 FFFF 8 Kbytes
Figure 6.7.1 to Figure 6.7.3 show the internal flash memory areas in which the Virtual Flash Emulation Function
is applicable.
Using the Virtual Flash L Bank Register (M32192 F8: FELBANK0 to FELBANK15, M32195F4: FELBANK0 to
FELBANK3, M32196F8: FELBANK0 to FELBANK7), select one among all L banks of internal flash memory
that are divided in 8-Kbyte units (by setting the eight start address bits A11–A18 of the desired L bank in the
Virtual Flash L Bank Register LBANKAD bits). Then set the Virtual Flash L Bank Register’s flash emulation L
enable bit (MODENL) to "1," and the selected L bank area will be replaced with 8-Kbyte blocks of the internal
RAM, (maximum for 32192 is 16 blocks, for 32195 is 4 blocks, for 32196 is 8 blocks).
Notes: • If the same bank area is set in two or more Virtual Flash L Bank Registers and accessed while
each register’s flash emulation enable bit is enabled, the data will be destroyed. Therefore, do not
set the same bank area in two or more registers.
• During virtual flash emulation mode, RAM can be accessed for read and write from the internal
RAM area and the virtual flash set area.
• Before reading any virtual flash set area after setting the Flash Control Register 1 virtual flash
emulation mode bit to "1," be sure to check that the virtual flash emulation mode bit has been set
to "1" by reading it once.
• Before reading any virtual flash set area after setting the Virtual Flash L Bank Register virtual
flash emulation L enable bit and L bank address bits, be sure to check that the virtual flash
emulation L enable bit and L bank address bits have been set to the intended values by reading
them once.
H'0081 4000
8 Kbytes
Notes: • If the same bank area is set in two or more Virtual Flash L Bank Registers and accessed
while each register’s flash emulation enable bit is enabled, the data will be destroyed.
Therefore, do not set the same bank area in two or more registers.
• If any 8-Kbyte area (L bank) specified by the Virtual Flash L Bank Registers 0 to 15 is accessed,
its corresponding internal RAM area is accessed. During virtual flash emulation mode, internal RAM can be
accessed for read and write from both the internal RAM area and the virtual flash set area.
Figure 6.7.4 Virtual Flash Emulation Area divided in 8-Kbyte units for the M32192F8
H'0080 A000
8 Kbytes
Notes: • If the same bank area is set in two or more Virtual Flash L Bank Registers and accessed
while each register’s flash emulation enable bit is enabled, the data will be destroyed.
Therefore, do not set the same bank area in two or more registers.
• If any 8-Kbyte area (L bank) specified by the Virtual Flash L Bank Registers 0 to 3 is accessed,
its corresponding internal RAM area is accessed. During virtual flash emulation mode, internal RAM can be accessed
for read and write from both the internal RAM area and the virtual flash set area.
Figure 6.7.5 Virtual Flash Emulation Area divided in 8-Kbyte units for M32195F4
H'0081 2000
H'000F C000 L bank 126 8 Kbytes
(8 Kbytes)
H'000F E000 L bank 127
(8 Kbytes)
Notes: • If the same bank area is set in two or more Virtual Flash L Bank Registers and accessed
while each register’s flash emulation enable bit is enabled, the data will be destroyed.
Therefore, do not set the same bank area in two or more registers.
• If any 8-Kbyte area (L bank) specified by the Virtual Flash L Bank Registers 0 to 7 is accessed,
its corresponding internal RAM area is accessed. During virtual flash emulation mode, internal RAM can be accessed
for read and write from both the internal RAM area and the virtual flash set area.
Figure 6.7.6 Virtual Flash Emulation Area divided in 8-Kbyte units for M32196F8
Note 1: Set the eight start address bits A11-A18 of each L bank of internal flash memory that is divided in 8-Kbyte units
in the Virtual Flash L Bank Register's L bank address (LBANKAD) bits.
Note: • Because the internal flash memory of the M32192F8 and M32196F8 are 1M (1024K) bytes, the address b7 (A11)
must always be set to "0."
Figure 6.7.7 Values Set in Virtual Flash Bank Register when divided in 8-Kbyte units (32192/32196)
Note 1: Set the eight start address bits A11-A18 of each L bank of internal flash memory that is divided in 8-Kbyte units
in the Virtual Flash L Bank Register's L bank address (LBANKAD) bits.
Note: • Because the internal flash memory of the M32195F4 is 512 Kbytes, the address b7 (A11) and b8 (A12)
must always be set to "0."
Figure 6.7.8 Values Set in Virtual Flash Bank Register when divided in 8-Kbyte units (32195)
To enter virtual flash emulation mode, set the Flash Control Register 1 (FCNT1) FEMMOD bit by writing "1."
After entering virtual flash emulation mode, set the Virtual Flash L Bank Register MODENL bit to "1" to enable
the Virtual Flash Emulation Function.
Even during virtual flash emulation mode, the internal RAM area ( M32192F8 : H’0080 4000 to H’0082 FFFF,
M32195F4 : H’0080 4000 to H’0080 BFFF, M32196F8 : H’0080 4000 to H’0081 3FFF ) can be accessed the
same way as in usual internal RAM.
Settings start
Settings completed
Table 6.8.1 Processing Microcomputer Pins before Using a Serial Programmer (CSIO Mode)
The diagram below shows an example of a user system configuration which has had a serial programmer con-
nected. After the user system is powered on, the serial programmer writes to the internal flash memory in clock-
synchronous serial mode (CSIO mode). No communication problems associated with the oscillator frequency
may occur. If the system uses any pins that are to be connected to a serial programmer, care must be taken to
prevent adverse effects on the system when a serial programmer is connected. Note that the serial programmer
uses the addresses H’0000 0084 through H’0000 008F as an area in which to check the ID for flash memory
protection. If the internal flash memory needs to be protected, set any ID in this area.
EXCVCC
EXCVDD
Connector
Flash programmer signals
Main power supply
(for reference)
RxD (input) P85/TXD1
TxD (output) P86/RXD1
SCLK0 (output) P87/SCLKI1/SCLKO1
BUSY (input) P84/SCLKI0/SCLKO0
MOD0 (output) MOD0
FP (output) FP
RESET (output) RESET#
GND (common) VSS
AVSS0
XIN
XOUT
(Note 1)
SBI#
32192/32195/32196
Note 1: SBI# must be fixed "H" or "L" to ensure that no interrupts will be generated.
Notes: • Turn on the power for the user system before writing to the internal flash memory.
• If P84-P87 are used in the system circuit, connection to a serial programmer must be taken into consideration.
• The pullup resistance values of P84, P86 and P87 must be selected to suit the system design condition.
• The typical pullup resistance values of P84, P86 and P87 are 4.7 to 10 kΩ.
• The status of any other ports that are not shown here will not affect flash memory programming.
• Make sure the mode setting pin/power supply voltages do not fluctuate to prevent unintended changes of modes
while rewriting the internal flash memory.
Table 6.9.1 Processing Microcomputer Pins before Using a Serial Programmer (UART Mode)
The diagram below shows an example of a user system configuration which has had a serial programmer con-
nected. After the user system is powered on, the serial programmer writes to the internal flash memory in clock-
asynchronous serial mode (UART mode). No communication problems associated with the oscillator frequency
may occur. If the system uses any pins that are to be connected to a serial programmer, care must be taken to
prevent adverse effects on the system when a serial programmer is connected. Note that the serial programmer
uses the addresses H’0000 0084 through H’0000 008F as an area in which to check the ID for flash memory
protection. If the internal flash memory needs to be protected, set any ID in this area.
VCCE
Connect to the
user system VCCER
power supply rail VDDE
AVCC0
EXCVCC
EXCVDD
Connector
Flash programmer signals
Main power supply
(for reference)
RxD (input) P85/TXD1
TxD (output) P86/RXD1
Mode selection
(output) P87/SCLKI1/SCLKO1
P84/SCLKI0/SCLKO0
MOD0
FP
RESET#
GND (common) VSS
AVSS0
MOD1
To system circuit MOD2
JTRST
Set microcomputer
operating conditions
XIN
XOUT
(Note 1)
SBI#
32192/32195/32196
Note 1: SBI# must be fixed "H" or "L" to ensure that no interrupts will be generated.
Notes: • Turn on the power for the user system before writing to the internal flash memory.
• If P84-P87 are used in the system circuit, connection to a serial programmer must be taken into consideration.
• The pullup/pulldown resistance values of P84, P86, P87, FP and MOD0 must be selected to suit the system design condition.
• The typical pullup/pulldown resistance values of P84, P86, P87, FP and MOD0 are 4.7 to 10 kΩ.
• The status of any other ports that are not shown here will not affect flash memory programming.
• Make sure the mode setting pin/power supply voltages do not fluctuate to prevent unintended changes of modes
while rewriting the internal flash memory.
When using a tool to program/erase the internal flash memory such as a general-purpose programmer or
emulator, the ID entered by a tool and the ID stored in the internal flash memory are collated. Unless the correct
ID is entered, the internal flash memory cannot be read out, programmed nor erased. (For some tools, tool
execution is enabled after erasing the entire flash memory area, and the internal flash memory becomes
accessible for write.)
The internal flash memory is protected in hardware against programming/erase operation by pulling the FP
(Flash Protect) pin "L". For systems that do not require rewriting flash memory or systems in which flash
reprogramming is prohibited as in the case of automotive applications, make sure the FP pin is fixed "L" except
when programming or erasing the internal flash memory. Furthermore, because the FP pin level can be known
by reading the Flash Mode Register (FMOD)’s FPMOD (external FP pin status) bit in the flash write/erase
program, the internal flash memory can also be protected in software. For systems that do not require protec-
tion by setting external pins, the FP pin may be fixed "H" to simplify the operation to program/erase the internal
flash memory. However, to prevent the flash memory from being inadvertently rewritten by an erratic operation
in software, use the protection by a lock bit described in (4) below.
When programming/erasing via JTAG, the flash memory can be programmed or erased regardless of the pin
state because the FP pin is controlled internally within the chip.
Flash E/W enable mode cannot be entered into unless the Flash Control Register 1 (FCNT1)’s FENTRY (flash
mode entry) bit is set to "1." To set the FENTRY bit to "1," write "0" and then "1" in succession while the FP pin
is "H."
Any block of internal flash memory can be protected by setting the lock bit provided for it to "0." That memory
block is disabled against programming/erase operation.
• The writes from DRI,RTD to internal RAM uncompete with access from other bus masters (CPU, DMA, NBD,
SDI), because of using dedicated bus not M32R-FPU.
But in case DRI,RTD transfers and access from other bus masters for area in 16-Kbyte of internal RAM occur
at same time, access competition occurs.
When access competition occurs, arbitration is performed according to the following priority.
• When started by boot mode, internal RAM value is indefinite after started by boot mode in order to "Flash
writing/erasing program" is transferred to internal RAM.
• When the internal flash memory is programmed or erased, a high voltage is generated internally. Because
mode transitions during programming/erase operation may cause the chip to break down, make sure the mode
setting/reset pin and power supply voltages do not fluctuate to prevent unintended changes of modes.
• If the system uses any pins that are to be used by a general-purpose programming/erase tool, care must be
taken to prevent adverse effects on the system when the tool is connected.
• If the internal flash memory needs to be protected while using a general-purpose programming/erase tool, set
any ID in the flash memory protect ID verification area (H’0000 0084 to H’0000 008F).
• If the internal flash memory does not need to be protected while using a general-purpose programming/erase
tool, fill the entire flash memory protect ID verification area (H’0000 0084 to H’0000 008F) with H’FF.
• If the Flash Status Register (FSTAT)’s each error status is to be cleared (initialized to H’80) by resetting the
Flash Control Register 4 (FCNT4) FRESET bit, check to see that the Flash Status Register (FSTAT) FBUSY bit
= "1" (ready) before clearing the error status.
• Before resetting the Flash Control Register 1 (FCNT1) FENTRY bit from "1" to "0," check to see that the Flash
Status Register (FSTAT) FBUSY bit = "1" (ready).
• Do not clear the FENTRY bit if the Flash Control Register 1 (FCNT1) FENTRY bit = "1" and the Flash Status
Register (FSTAT) FBUSY bit = "0" (being programmed or erased).
• When programming/erasing via JTAG, the flash memory can be programmed or erased regardless of the pin
state because the FP pin is controlled internally within the chip.
Flip-flop Counter
Pin reset signal
RESET# Noise Canceller S
R OVF Internal circuit reset signal
RESET# pin
When powering on the microcomputer, hold the RESET# signal input pin "L" until the rated power supply
voltage is reached and the microcomputer’s internal x8 clock generator becomes oscillating stably. For details,
see Section 22.2, "Power-On Sequence."
To reset the microcomputer during operation, hold the RESET# signal input pin "L" for more than 300 ns.
When the microcomputer is reset after entering boot mode, the reset vector entry address is moved to the boot
program startup address. The boot program starts running after the reset state is deasserted. For details, see
Section 6.6, “Programming the Internal Flash Memory.”
When exiting reset, the microcomputer’s input/output ports are disabled against input in order to prevent shoot-
through current. To use any ports in input mode, set the Port Input Special Function Control Register (PICNT)
PIEN0 bit to enable them for input. For details, see Section 8.3, “Input/Output Port Related Registers.”
Each input/output port has double or triple functions shared with other internal peripheral I/O or external bus
interface related signal lines, or multiple functions shared with multi-function peripheral I/Os. Pin functions are
selected depending on the operation mode of the CPU or by setting the operation mode register and peripheral
function select register for the input/output port. (If any internal peripheral I/O has still another function, it is also
necessary to set the register provided for that internal peripheral I/O.)
Abundant port functions are incorporated, including a port input level switching function, port output drive capa-
bility setting function, and noise canceller control function.
Note that before any ports can be used in input mode, this port input function enable bit must be set accordingly.
P0–P4, P124, P125, P224 and P225, when the CPU is set to operate in processor mode, all are switched to
serve as signal pins for external access. The CPU operation mode is determined depending on how the MOD0
and MOD1 pins are set (see the table below).
Table 8.2.1 CPU Operation Modes and P0–P4, P124, P125, P224 and P225 Pin Functions
MOD0 MOD1 Operation Mode P0–P4, P124, P125, P224 and P225 Pin Function
VSS VSS Single-chip mode Input/output port pin
VSS VCCE External extension mode Input/output port or external bus interface signal pin (Note 1)
VCCE VSS Processor mode External bus interface signal pin
VCCE VCCE (Settings inhibited) –
Note 1: P41–P43 only function as external bus interface signal pins.
Note: • VCCE and VSS are connected to main power supply and GND, respectively.
Each input/output port has their functions switched between input/output port pins and internal peripheral I/O
pins by setting the respective port operation mode and peripheral function select registers. If any internal periph-
eral I/O has two or more pin functions, use the register provided for that internal peripheral I/O to select the
desired pin function.
Note that FP pin operations during internal flash memory programming do not affect the pin functions.
0 1 2 3 4 5 6 7
P5
P16
P18
P19
P20
P21
Note 1: These ports cannot be used for input/output port function. The SBI#, MOD0 and MOD1 pin input levels can
be read from these ports.
Note 2: Respective functions are selected by the Bus Mode Control Register.
Notes: • P5, P14, P16, P18, P19, P20 and P21 are not provided.
• Some functions have two separate pins assigned per function. For details, see Table 8.2.2.
Figure 8.2.1 Input/Output Ports and Pin Function Assignments during Single Chip Mode
0 1 2 3 4 5 6 7
DB0 / DB1 / DB2 / DB3 / DB4 / DB5 / DB6 / DB7 /
P0 TO21 / TO22 / TO23 / TO24 / TO25 / TO26 / TO27 / TO28 /
DD0 DD1 DD2 DD3 DD4 DD5 DD6 DD7
DB8 / DB9 / DB10 / DB11 / DB12 / DB13 / DB14 / DB15 /
P1 TO29 / TO30 / TO31 / TO32 / TO33 / TO34 / TO35 / TO36 /
Pin functions are selected by the DD8 DD9 DD10 DD11 DD12 DD13 DD14 DD15
settings for the port operation A23 / A24 / A25 / A26 / A27 / A28 / A29 / A30 /
mode and port peripheral P2 DD24 DD25 DD26 DD27 DD28 DD29 DD30 DD31
function select registers
A15 / A16 / A17 / A18 / A19 / A20 / A21 / A22 /
P3 TIN4 / TIN5 / TIN6 / TIN7 / TIN30 / TIN31 / TIN32 / TIN33 /
DD16 DD17 DD18 DD19 DD20 DD21 DD22 DD23
BLW# / BHW# / RD# CS0# / CS1# / A13 / A14 /
P4 BLE# BHE# (Note 1) TIN8 TIN9 TIN10 TIN11
(Note 1, 3) (Note 1, 3)
P5
P16
P18
P19
P20
P21
Note 1: These ports cannot be used for input/output port function, function as external bus interface related signals.
Note 2: These ports cannot be used for input/output port function. The SBI#, MOD0 and MOD1 pin input levels can
be read from these ports.
Note 3: Respective functions are selected by the Bus Mode Control Register.
Notes: • P5, P14, P16, P18, P19, P20 and P21 are not provided.
• Some functions have two separate pins assigned per function. For details, see Table 8.2.2.
Figure 8.2.2 Input/Output Ports and Pin Function Assignments during External Extension Mode
0 1 2 3 4 5 6 7
BLW# / BHW# /
P4 BLE#(Note 3) BHE#(Note 3)
RD# CS0# CS1# A13 A14
P5
P16
P18
P19
P20
P21
Note 1: These ports cannot be used for input/output port function, function as external bus interface related signals.
Note 2: These ports cannot be used for input/output port function. The SBI#, MOD0 and MOD1 pin input levels can
be read from these ports.
Note 3: Respective functions are selected by the Bus Mode Control Register.
Notes: • P5, P14, P16, P18, P19, P20 and P21 are not provided.
• Some functions have two separate pins assigned per function. For details, see Table 8.2.2.
Figure 8.2.3 Input/Output Ports and Pin Function Assignments during Processor Mode
One peripheral I/O can be assigned to two separate pins by setting the CPU operation mode and peripheral
function select register.
Table 8.2.2 Peripheral I/Os Allowed for Input/Output at Two Pins and Pin Assignments (1/2)
Module Signal name Pin group A Pin group B Note
DRI DD0 P127/TCLK3/CS3#/DD0 P00/DB0/TO21/DD0
P107/TO15/RXD4/DD0
DD1 P126/TCLK2/CS2/DD1 P01/DB1/TO22/DD1
P106/TO14/TXD4/DD1
DD2 P125/TCLK1/A10/DD2 P02/DB2/TO23/DD2
P105/TO13/SCLKI4/SCLKO4/DD2
DD3 P124/TCLK0/A9/DD3 P03/DB3/TO24/DD3
P104/TO12/TIN25/DD3
DD4 P117/TO7/TO36/DD4 P04/DB4/TO25/DD4
DD5 P116/TO6/TO35/DD5 P05/DB5/TO26/DD5
(Note 1)
DD6 P115/TO5/TO34/DD6 P06/DB6/TO27/DD6
DD7 P114/TO4/TO33/DD7 P07/DB7/TO28/DD7
DD8 P113/TO3/TO32/DD8 P10/DB8/TO29/DD8
DD9 P112/TO2/TO31/DD9 P11/DB9/TO30/DD9
DD10 P111/TO1/TO30/DD10 P12/DB10/TO31/DD10
DD11 P110/TO0/TO29/DD11 P13/DB11/TO32/DD11
DD12 P97/TO20/DD12 P14/DB12/TO33/DD12
DD13 P96/TO19/DD13 P15/DB13/TO34/DD13
DD14 P95/TO18/RXD5/DD14 P16/DB14/TO35/DD14
DD15 P94/TO17/TXD5/DD15 P17/DB15/TO36/DD15
TOU TO21 P87/SCLKI1/SCLKO1/TO21 P00/DB0/TO21/DD0
TO22 P86/RXD1/TO22 P01/DB1/TO22/DD1
TO23 P85/TXD1/TO23 P02/DB2/TO23/DD2
TO24 P84/SCLKI0/SCLKO0/TO24 P03/DB3/TO24/DD3
TO25 P83/RXD0/TO25 P04/DB4/TO25/DD4
TO26 P82/TXD0/TO26 P05/DB5/TO26/DD5
TO27 P175/RXD2/TO27 P06/DB6/TO27/DD6
TO28 P174/TXD2/TO28 P07/DB7/TO28/DD7
TO29 P110/TO0/TO29/DD11 P10/DB8/TO29/DD8 (Note 2)
Table 8.2.2 Peripheral I/Os Allowed for Input/Output at Two Pins and Pin Assignments (2/2)
Module Signal name Pin group A Pin group B Note
(External bus CS2# P126/TCLK2/CS2#/DD1 P224/A11/CS2#
interface CS3# P127/TCLK3/CS3#/DD0 P225/A12/CS3#
(Note 2)
related) CLKOUT P150/TIN0/CLKOUT/WR# P70/CLKOUT/WR#/BCLK
WR# P150/TIN0/CLKOUT/WR# P70/CLKOUT/WR#/BCLK
WAIT# P153/TIN3/WAIT# P71/WAIT# (Note 1)
HACK# P220/CTX0/HACK# P73/HACK#/TIN26 (Note 2)
HREQ# P221/CRX0/HREQ# P72/HREQ#/TIN27 (Note 1)
Note 1: If Pin group A and Pin group B have the same internal peripheral input pin set, the setting for Pin group A comes
into effect so that input from Pin group A is accepted as input for the relevant internal peripheral I/O. For the 16
high-order DD input bits of the DRI (DD0–DD15), which pins to use can be selected in the DRI related register.
(For details, refer to the Chapter 14, "Direct RAM Interface.")
Note 2: If Pin group A and Pin group B have the same internal peripheral input pin set, the signal is output from both pins.
H'0080 0508 Port Group 0,1 Output Drive Capability Setting Register Port Group 3 Output Drive Capability Setting Register 8-35
(PG01DRV) (PG3DRV)
H'0080 050A Port Group 4,5 Output Drive Capability Setting Register Port Group 6,7 Output Drive Capability Setting Register 8-35
(PG45DRV) (PG67DRV)
H'0080 050C Port Group 8 Output Drive Capability Setting Register P70 Output Drive Capability Setting Register 8-35
(PG8DRV) (P70DRV) 8-36
H'0080 050E (Use inhibited area)
H'0080 0756 P22 Operation Mode Register (Use inhibited area) 8-28
(P22MOD)
| (Use inhibited area)
H'0080 0776 P22 Peripheral Function Select Register (Use inhibited area) 8-28
(P22SMOD)
b0 1 2 3 4 5 6 b7
(b8 9 10 11 12 13 14 b15)
Pn0DT Pn1DT Pn2DT Pn3DT Pn4DT Pn5DT Pn6DT Pn7DT
? ? ? ? ? ? ? ?
b0 1 2 3 4 5 6 b7
(b8 9 10 11 12 13 14 b15)
Pn0DR Pn1DR Pn2DR Pn3DR Pn4DR Pn5DR Pn6DR Pn7DR
0 0 0 0 0 0 0 0
8.3.3 Port Operation Mode and Port Peripheral Function Select Registers
P0 Operation Mode Register (P0MOD) <Address: H’0080 0740>
b0 1 2 3 4 5 6 b7
P00MD P01MD P02MD P03MD P04MD P05MD P06MD P07MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P00SMD P01SMD P02SMD P03SMD P04SMD P05SMD P06SMD P07SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P10MD P11MD P12MD P13MD P14MD P15MD P16MD P17MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P10SMD P11SMD P12SMD P13SMD P14SMD P15SMD P16SMD P17SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P20MD P21MD P22MD P23MD P24MD P25MD P26MD P27MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P30MD P31MD P32MD P33MD P34MD P35MD P36MD P37MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P30SMD P31SMD P32SMD P33SMD P34SMD P35SMD P36SMD P37SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P44MD P45MD P46MD P47MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P44SMD P45SMD P46SMD P47SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P70MD P71MD P72MD P73MD P74MD P75MD P76MD P77MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P70SMD P72SMD P73SMD P74SMD P75SMD P76SMD P77SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P82MD P83MD P84MD P85MD P86MD P87MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P82SMD P83SMD P84SMD P85SMD P86SMD P87SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P93MD P94MD P95MD P96MD P97MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P93SMD P94SMD P95SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P100MD P101MD P102MD P103MD P104MD P105MD P106MD P107MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P101SMD P102SMD P103SMD P104SMD P105SMD P106SMD P107SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P110MD P111MD P112MD P113MD P114MD P115MD P116MD P117MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P110SMD P111SMD P112SMD P113SMD P114SMD P115SMD P116SMD P117SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P124MD P125MD P126MD P127MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P124SMD P125SMD P126SMD P127SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P130MD P131MD P132MD P133MD P134MD P135MD P136MD P137MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P134SMD P135SMD P136SMD P137SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P150MD P153MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P150SMD P153SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P174MD P175MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P174SMD P175SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P220MD P221MD P224MD P225MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P220SMD P221SMD P224SMD P225SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
XSTAT PISEL PIEN0
0 0 0 0 0 0 0 0
XSTAT bit is set to "1" upon detecting that XIN oscillation has stopped. When XIN remains at the same level for
a predetermined time (3 BCLK periods up to 4 BCLK periods) on the basis of threshold, XIN oscillation is
assumed to have stopped. When operating normally, XIN changes state (high or low) once every BCLK period.
XSTAT bit is cleared to "0" by a system reset or by writing "0." If XSTAT bit is cleared at the same time it is
set above, the former has priority. Writing "1" to XSTAT bit is ignored.
Because the M32R/ECU internally contains a PLL, the internal clock remains active even when XIN oscilla-
tion has stopped.
By reading XSTAT bit without clearing it once after exiting the reset state, it is possible to know whether XIN
has ever stopped since the reset signal was deasserted. Similarly, by reading XSTAT bit after clearing it by
writing "0," it is possible to know the current oscillating status of XIN. However, there must be an interval of
at least 5 BCLK periods (20 CPU clock periods) between read and write.
Pay attention about processing when XSTAT bit is set to "1," make double check after clearing XSTAT bit etc.
(1) To know whether XIN oscillation has ever stopped after being reset
Note: • Pay attention about processing when XSTAT bit is set to "1," make double check
after clearing XSTAT bit etc.
When the Port Direction Register is set for output, this bit selects the target data to be read from the Port
Data Register. At this time, this bit is unaffected by the Port Operation Mode Register.
Table 8.3.1 PISEL Bit Settings and the Target Data To Be Read from the Port Data Register
Direction Register PISEL Settings Target Data to Be Read
0 (input) 0/1 Port pin level
1 (output) 0 Port output latch
1 Port pin level
This bit is used to prevent shoot-through current from flowing into the port input pins.
Because the input/output ports are disabled against input upon exiting reset, if any ports need to be used in
input mode they must be enabled for input by setting this bit to "1."
When disabled against input, the input/output ports are in a state equivalent to a situation where the pin has
a low-level input applied. Consequently, if a peripheral input function (uncontrolled pin) is selected for any
port while disabled against input by using the Port Operation Mode Register, the port may operate unex-
pectedly due to the "L" level input on it.
The following shows the procedure for selecting a peripheral input function.
(1) Enable the port for input when its pin level is valid (high or low)
(2) Select a function using the port operation mode bit
During boot mode, the pins shared with serial interface functions are enabled for input and can therefore be
protected against shoot-through current flowing in from the pins other than serial interface functions during
flash programming by clearing PIEN0.
The table below lists the pins that can be controlled by the PIEN0 bit in each operation mode.
Port Group 0: P00–P07, P10–P17, P20–P27, P30–P37, P41–P47, P70–P73, P224, P225
Port Group 1: P82–P87, P174, P175
Port Group 3: P93–P97, P110–P117
Port Group 4: P124–P127
Port Group 5: P61–P63, SBI#
Port Group 6: P74–P77, P100–P107
Port Group 7: P220, P221
Port Group 8: P130–P137, P150, P153
0.7VCCE VT+
S
Schmitt
0.5VCCE
Pin S VT-
S Port input
Port Input enable
0.35VCCE CMOS PTnSEL
S
PIEN0 Threshold
VTnSEL Peripheral
S
function input
Standard input level for each peripheral function pin S Noise Canceller
WFnSEL
Port Group 0,1 Input Level Setting Register (PG01LEV) <Address: H’0080 0500>
b0 1 2 3 4 5 6 b7
WF0SEL PT0SEL VT0SEL0 VT0SEL1 WF1SEL PT1SEL VT1SEL0 VT1SEL1
0 0 0 1 0 0 0 1
Port Group 3 Input Level Setting Register (PG3LEV) <Address: H’0080 0501>
b8 9 10 11 12 13 14 b15
WF3SEL PT3SEL VT3SEL0 VT3SEL1
0 0 0 0 0 0 0 1
Port Group 4,5 Input Level Setting Register (PG45LEV) <Address: H’0080 0502>
b0 1 2 3 4 5 6 b7
WF4SEL PT4SEL VT4SEL0 VT4SEL1 WF5SEL PT5SEL VT5SEL0 VT5SEL1
0 0 0 1 0 0 0 1
Port Group 6,7 Input Level Setting Register (PG67LEV) <Address: H’0080 0503>
b8 9 10 11 12 13 14 b15
WF6SEL PT6SEL VT6SEL0 VT6SEL1 WF7SEL PT7SEL VT7SEL0 VT7SEL1
0 0 0 1 0 0 0 1
Port Group 8 Input Level Setting Register (PG8LEV) <Address: H’0080 0504>
b0 1 2 3 4 5 6 b7
WF8SEL PT8SEL VT8SEL0 VT8SEL1
0 0 0 1 0 0 0 0
Port Group 0: P00–P07, P10–P17, P20–P27, P30–P37, P41–P47, P70–P73, P224, P225
Port Group 1: P82–P87, P174, P175
Port Group 3: P93–P97, P110–P117
Port Group 4: P124–P127
Port Group 5: P61–P63, SBI#
Port Group 6: P74–P77, P100–P107
Port Group 7: P220, P221
Port Group 8: P130–P137, P150, P153
Port Group 0,1 Output Drive Capability Setting Register (PG01DRV) <Address: H'0080 0508>
b0 1 2 3 4 5 6 b7
G0DSEL G1DSEL
0 0 0 0 0 0 0 0
Port Group 3 Output Drive Capability Setting Register (PG3DRV) <Address: H'0080 0509>
b8 9 10 11 12 13 14 b15
G3DSEL
0 0 0 0 0 0 0 0
Port Group 4,5 Output Drive Capability Setting Register (PG45DRV) <Address: H'0080 050A>
b0 1 2 3 4 5 6 b7
G4DSEL G5DSEL
0 0 0 0 0 0 0 0
Port Group 6,7 Output Drive Capability Setting Register (PG67DRV) <Address: H'0080 050B>
b8 9 10 11 12 13 14 b15
G6DSEL G7DSEL
0 0 0 0 0 0 0 0
Port Group 8 Output Drive Capability Setting Register (PG8DRV) <Address: H'0080 050C>
b0 1 2 3 4 5 6 b7
G8DSEL
0 0 0 0 0 0 0 0
P70 Output Drive Capability Setting Register (P70DRV) <Address: H'0080 050D>
b8 9 10 11 12 13 14 b15
P70DSELEN P70DSEL
0 0 0 0 0 0 0 0
0.7VCCE VT+
S
Pin Schmitt
0.5VCCE
S VT-
S Port input
Port Input enable
0.35VCCE CMOS PTnSEL
S
PIEN0 Threshold
VTnSEL Peripheral
S
function input
Standard input level for each peripheral function pin S Noise Canceller
WFnSEL
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
G0NSEL G1NSEL G3NSEL G4NSEL G6NSEL G8NSEL
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(Note 1)
Port input level
switching function
(Standard:
no peripheral input)
Input function
enable
P30(A15/TIN4/DD16)
P31(A16/TIN5/DD17) Direction register
P32(A17/TIN6/DD18)
P33(A18/TIN7/DD19)
Data bus Port output latch
P34(A19/TIN30/DD20)
P35(A20/TIN31/DD21)
P36(A21/TIN32/DD22) Port input data selection
P37(A22/TIN33/DD23)
P44(CS0#/TIN8)
P45(CS1#/TIN9)
P46(A13/TIN10)
P47(A14/TIN11)
(Note 1) (Note 2)
P73(HACK#/TIN26) Port input level
P83(RXD0/TO25) switching function
P86(RXD1/TO22) (Standard:
peripheral schmitt)
P95(TO18/RXD5/DD14)
Operation mode register
P101(TO9/CRX0) Input function
enable
P103(TO11/TIN24)
P104(TO12/TIN25/DD3) Peripheral function
P107(TO15/RXD4/DD0) select register
P124(TCLK0/A9/DD3) Peripheral function
P125(TCLK1/A10/DD2) input (Note 3)
P126(TCLK2/CS2#/DD1)
P127(TCLK3/CS3#/DD0) Peripheral function
P134(TIN20/TXD3/DIN4) output
P137(TIN23/CTX1)
P150(TIN0/CLKOUT/WR#)
P175(RXD2/TO27)
Note 1: For details about the port level switching function, see Section 8.4, "Port Input Level Switching Function."
Note 2: The standard input level of TIN4-TIN11,TIN30-TIN33 is peripheral TTL.
Note 3: "H" level is entered to the peripheral function input when it is set to the general-purpose port in the operation
mode register.
Notes: • During external extension and processor modes, P20-P27, P41-P43, P224 and P225 are
external bus interface control signal pins, but their functional description in this block diagram is omitted.
• The circle denotes a pin.
• The symbol denotes a parasitic diode. Make sure the voltage applied to each pin does not exceed
the VCCE or VCC-BUS voltage.
• The input capacitance of each pin is approximately 10 pF.
• The logic of peripheral function select register for P83, P86, P124, P125, P126, P127, P134, P137, P150,
P175 are reversal, but it is not mentioned in this clock diagram.
• DRI relative pin is not mentioned in this clock diagram.
(Note 1)
Port input level
SBI# switching function
Data bus
(Standard:
peripheral schmitt)
SBI#
P71(WAIT#)
P130(TIN16/PWMOFF0/DIN0) Direction register
P131(TIN17/PWMOFF1/DIN1)
P132(TIN18/DIN2) Data bus Port output latch
P133(TIN19/DIN3)
Note 1: For details about the port level switching function, see Section 8.4, "Port Input Level Switching Function."
Note 2: The standard input level of WAIT# is peripheral TTL.
Note 3: "H" level is entered to the peripheral function input when it is set to the general-purpose port in the operation
mode register.
Notes: • The circle denotes a pin.
• The symbol denotes a parasitic diode. Make sure the voltage applied to each pin does not exceed
the VCCE or VCC-BUS voltage.
• The input capacitance of each pin is approximately 10 pF.
(Note 1)
Port input level
switching function
(Standard:
Operation mode register no peripheral input)
UART/CSIO
function select bit
Internal/external
clock select bit
Peripheral function
select register
Note 1: For details about the port level switching function, see Section 8.4, "Port Input Level Switching Function."
Note 2: "H" level is entered to the peripheral function input when it is set to the general-purpose port in the operation
mode register.
Notes: • The circle denotes a pin.
• The symbol denotes a parasitic diode. Make sure the voltage applied to each pin does not exceed
the VCCE or VCC-BUS voltage.
• The input capacitance of each pin is approximately 10 pF.
• The logic of peripheral function select register for P93, P105 are reversal, but it is not mentioned
in this clock diagram.
• DRI relative pin is not mentioned in this clock diagram.
Peripheral function
select register
(Note 1) (Note 2)
Peripheral function input 1 (Note 4) Port input level
switching function
(Standard:
Peripheral function input 2 (Note 4) peripheral schmitt)
Input function
enable
P221(CRX0/HREQ#) Data bus
Operation mode register
Peripheral function
select register
Port input data selection (Note 1)
Peripheral function input 1 (Note 4) Port input level
switching function
(Standard:
Peripheral function input 2 (Note 4) peripheral schmitt)
Input function
enable
Note 1: For details about the port level switching function, see Section 8.4, "Port Input Level Switching Function."
Note 2: The standard input level of WAIT# is peripheral TTL.
Note 3: There is no standard input level in P70, P82, P85, P94, P102, P106, P110-P117, P174, and P220.
Note 4: "H" level is entered to the peripheral function input when it is set to the general-purpose port inthe operation
mode register.
Notes: • The circle denotes a pin.
• The symbol denotes a parasitic diode. Make sure the voltage applied to each pin does not exceed
the VCCE or VCC-BUS voltage.
• The input capacitance of each pin is approximately 10 pF.
MOD0
MOD1
MOD2
MOD0, MOD1, MOD2,
FP
RESET# FP,RESET#,XIN,
XIN JTRST, JTMS
JTRST JTDI/NBDSYNC#
JTMS
JTDI/NBDSYNC#
JTCK/NBDCLK JTCK/NBDCLK
JTDO/NBDEVNT# JTDO/NBDEVNT#
VCC-BUS
VCCE
VCC-BUS, VCCE,
VDDE
VDDE, AVCC0
AVCC0
VCCER, EXCVCC,
VCCER
EXCVDD
EXCVCC
EXCVDD
AD0IN0-AD0IN15
VREF0 AD0IN0-AD0IN15,
XOUT VREF0, XOUT
Because the value of the Port Data Register is undefined when exiting the reset state, the Port Data Register
must have its initial value set in it before the Port Direction Register can be set for output. Conversely, if the Port
Direction Register is set for output before setting data in the Port Data Register, the Port Data Register outputs
an undefined value until any data is written into it.
After switching from output mode to input mode in the Port Direction Register, or after setting port input enable
(PIEN0) bit to "1" (input enable), pin level can be read after 2BCLK period.
Because the input/output ports are disabled against input upon exiting reset, they must be enabled for input by
setting the Port Input Enable (PIEN0) bit to "1" before their input functions can be used.
When disabled against input, the input/output ports are in a state equivalent to a situation where the pin has a
"L" level input applied. Consequently, if a peripheral input function (uncontrolled pin) is selected for any port
while disabled against input by using the Port Operation Mode Register, the port may operate unexpectedly
due to the "L" level input on it.
The Port Peripheral Function Select Register can only be set when the corresponding bit of the Port Operation
Mode Register is "0."
• About the pereipheral function input when it is set to the gereral-purpose port
In the pin for both peripheral function input and general-purpose port, "H" level is entered to the peripheral
function input when it is set to the general-purpose port in the operation mode register. Therefore, when "L"
level is entered to the peripheral function input pin, edge signal is entered to the peripheral function input at
manipulating operation mode register.
(Note 1) TIN3S
TID1_udf/ovf S Software start S
TOU1_1irq udf
DMA1
(Note 2) DRI(DIN1) end
SIO4_RXD
Software start
(Note 1) TIN0S (Note 2) SIO0_TXD
S (Note 2) SIO1_RXD
S
TOU1_6irq udf
DMA3
(Note 2) DRI(DIN3) end
SIO5_RXD
(Note 1) TIN19S
(Note 2) SIO0_TXD Software start
S (Note 2) SIO0_RXD
S
TOU1_7irq udf
(Note 1) TIN7S DMA4 DMA0-4
end interrupts
(Note 2) DRI(DIN4)
Software start
(Note 1) TIN20S
TOU0_0irq S
S (Note 2) SIO2_RXD udf
(Note 1) TIN8S DMA5
(Note 2) DRI(DEC0_udf)
end
(Note 2) CAN1_S0/S31
Software start
TOU0_2irq
(Note 2) SIO2_TXD
(Note 2) SIO3_TXD S
(Note 2) S (Note 2) CAN0_S1/S30 udf
DRI Address counter 1 transfer completed
DMA7
(Note 2) DRI(DEC2_udf) end
(Note 2) CAN1_S1/S30
Software start
TOU0_7irq (Note 2) SIO3_TXD
S (Note 2) CAN1_S1/S30 S
(Note 2) DRI Transfer counter_udf
udf
DMA9 DMA5-9
(Note 2) DRI(DEC4_udf) end interrupts
(Note 2) DRI(DIN5)
3 2 1 0 0 1 2 3
H'0080 0408 DMA5–9 Interrupt Request Status Register DMA5–9 Interrupt Request Mask Register 9-35
(DM59ITST) (DM59ITMK) 9-36
| (Use inhibited area)
H'0080 0410 DMA0 Channel Control Register 0 DMA0 Channel Control Register 1 9-6
(DM0CNT0) (DM0CNT1) 9-7
H'0080 0412 DMA0 Source Address Register 9-30
(DM0SA)
H'0080 0414 DMA0 Destination Address Register 9-31
(DM0DA)
H'0080 0416 DMA0 Transfer Count Register 9-32
(DM0TCT)
H'0080 0418 DMA5 Channel Control Register 0 DMA5 Channel Control Register 1 9-16
(DM5CNT0) (DM5CNT1) 9-17
H'0080 041A DMA5 Source Address Register 9-30
(DM5SA)
H'0080 041C DMA5 Destination Address Register 9-31
(DM5DA)
H'0080 041E DMA5 Transfer Count Register 9-32
(DM5TCT)
H'0080 0420 DMA1 Channel Control Register 0 DMA1 Channel Control Register 1 9-8
(DM1CNT0) (DM1CNT1) 9-9
H'0080 0422 DMA1 Source Address Register 9-30
(DM1SA)
H'0080 0424 DMA1 Destination Address Register 9-31
(DM1DA)
H'0080 0426 DMA1 Transfer Count Register 9-32
(DM1TCT)
H'0080 0428 DMA6 Channel Control Register 0 DMA6 Channel Control Register 1 9-18
(DM6CNT0) (DM6CNT1) 9-19
H'0080 042A DMA6 Source Address Register 9-30
(DM6SA)
H'0080 042C DMA6 Destination Address Register 9-31
(DM6DA)
H'0080 042E DMA6 Transfer Count Register 9-32
(DM6TCT)
H'0080 0430 DMA2 Channel Control Register 0 DMA2 Channel Control Register 1 9-10
(DM2CNT0) (DM2CNT1) 9-11
H'0080 0432 DMA2 Source Address Register 9-30
(DM2SA)
H'0080 0434 DMA2 Destination Address Register 9-31
(DM2DA)
H'0080 0436 DMA2 Transfer Count Register 9-32
(DM2TCT)
H'0080 0438 DMA7 Channel Control Register 0 DMA7 Channel Control Register 1 9-20
(DM7CNT0) (DM7CNT1) 9-21
H'0080 043A DMA7 Source Address Register 9-30
(DM7SA)
H'0080 043C DMA7 Destination Address Register 9-31
(DM7DA)
H'0080 043E DMA7 Transfer Count Register 9-32
(DM7TCT)
H'0080 0440 DMA3 Channel Control Register 0 DMA3 Channel Control Register 1 9-12
(DM3CNT0) (DM3CNT1) 9-13
H'0080 0442 DMA3 Source Address Register 9-30
(DM3SA)
H'0080 0444 DMA3 Destination Address Register 9-31
(DM3DA)
H'0080 0446 DMA3 Transfer Count Register 9-32
(DM3TCT)
H'0080 0480 (Use inhibited area) DMA0 Channel Control Register 2 9-26
(DM0CNT2)
H'0080 0482 (Use inhibited area) DMA1 Channel Control Register 2 9-26
(DM1CNT2)
H'0080 0484 (Use inhibited area) DMA2 Channel Control Register 2 9-26
(DM2CNT2)
H'0080 0486 (Use inhibited area) DMA3 Channel Control Register 2 9-26
(DM3CNT2)
H'0080 0488 (Use inhibited area) DMA4 Channel Control Register 2 9-26
(DM4CNT2)
| (Use inhibited area)
H'0080 0490 (Use inhibited area) DMA5 Channel Control Register 2 9-26
(DM5CNT2)
H'0080 0492 (Use inhibited area) DMA6 Channel Control Register 2 9-26
(DM6CNT2)
H'0080 0494 (Use inhibited area) DMA7 Channel Control Register 2 9-26
(DM7CNT2)
H'0080 0496 (Use inhibited area) DMA8 Channel Control Register 2 9-26
(DM8CNT2)
H'0080 0498 (Use inhibited area) DMA9 Channel Control Register 2 9-26
(DM9CNT2)
b0 1 2 3 4 5 6 b7
MDSEL0 TREQF0 REQSL0 TENL0 TSZSL0 SADSL0 DADSL0
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN0 DADBN0 REQESEL0
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL1 TREQF1 REQSL1 TENL1 TSZSL1 SADSL1 DADSL1
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN1 DADBN1 REQESEL1
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL2 TREQF2 REQSL2 TENL2 TSZSL2 SADSL2 DADSL2
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN2 DADBN2 REQESEL2
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL3 TREQF3 REQSL3 TENL3 TSZSL3 SADSL3 DADSL3
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN3 DADBN3 REQESEL3
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL4 TREQF4 REQSL4 TENL4 TSZSL4 SADSL4 DADSL4
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN4 DADBN4 REQESEL4
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL5 TREQF5 REQSL5 TENL5 TSZSL5 SADSL5 DADSL5
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN5 DADBN5 REQESEL5
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL6 TREQF6 REQSL6 TENL6 TSZSL6 SADSL6 DADSL6
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN6 DADBN6 REQESEL6
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL7 TREQF7 REQSL7 TENL7 TSZSL7 SADSL7 DADSL7
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN7 DADBN7 REQESEL7
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL8 TREQF8 REQSL8 TENL8 TSZSL8 SADSL8 DADSL8
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN8 DADBN8 REQESEL8
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
MDSEL9 TREQF9 REQSL9 TENL9 TSZSL9 SADSL9 DADSL9
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SADBN9 DADBN9 REQESEL9
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
SELFEN RINGSEL
0 0 0 0 0 0 0 0
The DMA Channel Control Register 0 consists of the bits to select DMA transfer mode on each channel, set the
DMA transfer request flag, select the cause or source of DMA request and enable DMA transfer, as well as
those to set the transfer size and the source/destination address directions.
The DMA Channel Control Register 1 consists of the bits to select a source/destination address bank and the
cause or source of extended DMA transfer request on each DMA channel.
The DMA Channel Control Register 2 consists of the bits to enable self channel transfer on each channel and
set the number of transfers in the ring buffer mode.
[DMnCNT0 Register]
Figure 9.2.1 Block Diagram of Extended DMAn Transfer Request Source Selection
32192/32195/32196 Group Hardware Manual 9-27
Rev.1.10 REJ09B0123-0110 Apr.06.07
DMAC
9 9.2 DMAC Related Registers
[DMnCNT1 Register]
These bits select a source address bank to be used from among Bank 0, Bank 1 and Bank 2. But no bank
exsits in 32196, setting Bank2(A14=1, A15=0) is prohibited. Because Bank1 and Bank2 do not exist in the
32195, setting Bank1 and Bank2 is prohibited. And also no transfer over the bank is carried out. Upon
completion of bank transfer to the final address, the bank is then to be transferred to the head address.
(2) DADBNx (DMAn Destination Address Bank Select) bits (Bits 10, 11)
These bits select a destination address bank to be used from among Bank 0, Bank 1 and Bank 2. But no
bank exsits in 32196, setting Bank2(A14=1, A15=0) is prohibited. Because Bank1 and Bank2 do not exist in
the 32195, setting Bank1 and Bank2 is prohibited. And also no transfer over the bank is carried out. Upon
completion of bank transfer to the final address, the bank is then to be transferred to the head address.
(3) REQESELn (Extended DMAn Transfer Request Source Select) bits (Bits 12–15)
These bits select the cause or source of extended DMA transfer request on each DMA channel.
Note: • The extended DMA transfer request sources selected by the REQESELn (Extended DMAn
Transfer Request Source Select) bits have no effect unless the “Extended” DMA transfer re-
quest source is selected with the DMA Channel Control Register’s DMA Request Source Se-
lect (REQSLn) bits.
[DMnCNT2 Register]
Clearing this bit to “0” disables self channel transfer, and setting it to “1” enables self channel transfer. In
case where self channel transfer was allowed, the DMA transfer request occurs for the self channel each
time single DMA transfer is completed if the initial transfer request arises, and DMA transfer is carried out
until all transfers are completed (transfer count register underflow).
However the control of internal bus is relinquished each time single DMA transfer is completed.
And if set DMA transfer n times, DMA transfer request is occured for its channel after completing all DMA
transfer, so that it is necessary to pay attention of clearing DMA transfer request or so on when DMA
transfer is started again.
These bits select the number of DMA transfers to each channel in the ring buffer mode from among 32, 16,
8, 4 and 2 times.
In the ring buffer mode, after transfer from the transfer start address, the bit returns to the transfer start
address again, and the same operation is repeated by the number of transfers thus selected. In the ring
buffer mode, the transfer count register is placed in the free run mode, and transfer operation is continued
until the transfer enable bit is cleared to “0” (transfer disable).
Also, the DMA transfer-completed interrupt request does not arise during ring buffer mode.
Notes: • When the self channel transfer was allowed during ring buffer mode setting, care must be
exercised to its endless transfer.
• The transfer start address must be as follows:
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DM0SRI–DM9SRI
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The DMA Software Request Generation Register is used to generate DMA transfer requests in software. A
DMA transfer request can be generated by writing any data to this register when “Software start” has been
selected for the cause of DMA transfer request.
A software DMA transfer request is generated by writing any data to this register in halfword (16 bits) or in
byte (8 bits) beginning with an even or odd address when “Software start” is selected as the cause of DMA
transfer request (by setting the DMAn Channel Control Register 0 bits 2–3 to "00").
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DM0SA–DM9SA
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The DMA Source Address Register is used to set the source address of DMA transfer in such a way that bit 0
and bit 15 correspond to A16 and A31, respectively. Because this register is comprised of a current register,
the values read from this register are always the current value.
When DMA transfer finishes (i.e., the Transfer Count Register underflows), the value in this register if “Address
fixed” is selected, is the same source address that was set in it before the DMA transfer began; if “Address
incremental” is selected, the value in this register is the last transfer address + 1 (for 8-bit transfer) or the last
transfer address + 2 (for 16-bit transfer).
The DMA Source Address Register must always be accessed in halfwords (16 bits) beginning with an even
address. If accessed in bytes, the value in this register is undefined.
Set this register to specify the source address of DMA transfer in SFR area or internal RAM area.
For high-order 16 bits (A0 to A15) of the source address, the high-order 16 bits of the corresponding source
address are fixed by setting of DMAn channel control register 1 (DMnCNT1) bits 8 and 9. In this register, the
low-order 16 bits of the source address are set. (Bit 0 and bit 15 correspond to A16 and A31 of the source
address, respectively). Note that when SADSLn bit in DMAn channel control register (DMnCNT0) set to
"increment," no transfer over the bank is carried out. Upon completion of bank transfer to the final address,
the bank is to be transferred to the head address.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DM0DA–DM9DA
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The DMA Destination Address Register is used to set the destination address of DMA transfer in such a way
that bit 0 and bit 15 correspond to A16 and A31, respectively. Because this register is comprised of a current
register, the values read from this register are always the current value.
When DMA transfer finishes (i.e., the Transfer Count Register underflows), the value in this register if “Address
fixed” is selected, is the same source address that was set in it before the DMA transfer began; if “Address
incremental” is selected, the value in this register is the last transfer address + 1 (for 8-bit transfer) or the last
transfer address + 2 (for 16-bit transfer).
The DMA Destination Address Register must always be accessed in halfwords (16 bits) beginning with an even
address. If accessed in bytes, the value in this register is undefined.
Set this register to specify the destination address of DMA transfer in SFR area or internal RAM area.
For high-order 16 bits (A0 to A15) of the destination address, Bank 0 to Bank 2 are selected according to the
setting of DMAn channel control register 1 (DMnCNT1) bits 10 and 11, and the high-order 16 bits of the
corresponding destination address are fixed. In this register, the low-order 16 bits of the destination ad-
dress are set. (Bit 0 and bit 15 correspond to A16 and A31 of the destination address, respectively) Note
that when SADSLn bit in DMAn channel control register (DMnCNT0) set to "increment," no transfer over the
bank is carried out. Upon completion of bank transfer to the final address, the bank is to be transferred to the
head address.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DM0TCT–DM15TCT
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The DMA Transfer Count Register is used to set the number of times data is transferred on each channel.
However, the value in this register has no effect during ring buffer mode.
The transfer count is the value set in the transfer count register + 1. Because the DMA Transfer Count Register
is comprised of a current register, the values read from this register are always the current value. (However, if
the register is read in a cycle immediately after transfer, the value obtained is one that was stored in the count
register before the transfer began.) When transfer finishes, this count register underflows and the value read
from it is H’FFFF.
When transfer is enabled, this register is protected in hardware and cannot be accessed for write.
During ring buffer mode, the transfer count register counts down in free-run mode and continues counting until
transfer is disabled. No interrupt is generated at underflow.
If any cascaded channel exists, each time one DMA transfer (byte or halfword) is completed or when all trans-
fers on a channel are completed (i.e., the transfer count register underflows), transfer on the cascaded channel
starts.
The DMA Transfer Count Register must always be accessed in halfwords (16 bits) beginning with an even
address. If accessed in bytes, the value in this register is undefined.
The DMA interrupt related registers are used to control the interrupt request signals sent from the DMAC to the
Interrupt Controller.
This status bit is used to determine whether there is an interrupt request. When an interrupt request occurs,
this bit is set in hardware (cannot be set in software). The status bit is cleared by writing "0." Writing "1" has
no effect; the bit retains the status it had before the write. Because this status bit is unaffected by the
interrupt request mask bit, it can be used to inspect the operating status of peripheral functions.
In interrupt handling, make sure that within the grouped interrupt request status, only the status bit for the
interrupt request that has been serviced is cleared. If the status bit for any interrupt request that has not
been serviced is cleared, the pending interrupt request is cleared simultaneously with its status bit.
This bit is used to disable unnecessary interrupt requests within the grouped interrupt request. Set this bit to "0"
to enable interrupt requests or "1" to disable interrupt requests.
Group interrupt
Set
To the Interrupt
F/F
Controller
Interrupt request enabled
b4 5 6 b7
Initial state 0 0 0 0
Interrupt request
Event occurs on bit 6 0 0 1 0
b4 5 6 b7
1 1 0 1 1 0 0 0
Program example
• To clear the Interrupt Request Status Register 0 (ISTREG) interrupt request status 1, ISTAT1 (0x02 bit)
To clear an interrupt request status, always be sure to write "1" to all other interrupt request status bits. At this time,
avoid using a logic operation like the one shown below. Because it requires three step-ISTREG read, logic operation
and write, if another interrupt request occurs between the read and write, status may be inadvertently cleared.
b4 5 6 b7
0 0 1 0
0 0 0 0
0 0 0 0 Write
b0 1 2 3 4 5 6 b7
DMITST4 DMITST3 DMITST2 DMITST1 DMITST0
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
DMITST9 DMITST8 DMITST7 DMITST6 DMITST5
0 0 0 0 0 0 0 0
The Interrupt Request Status Register helps to know the status of interrupt requests on each channel. If the
DMAn interrupt request status bit (n = 0–9) is set to "1," it means that a DMA interrupt request on the correspond-
ing channel has been generated.
Note: • The DMAn interrupt request status bit cannot be cleared by writing "0" to the DMA Interrupt
Control Register’s “interrupt request bit” included in the Interrupt Controller.
When writing to the DMA Interrupt Request Status Register, make sure only the bits to be cleared are set to "0"
and all other bits are set to "1." Those bits that have been set to "1" are unaffected by writing in software and
retain the value they had before the write.
b8 9 10 11 12 13 14 b15
DMITMK4 DMITMK3 DMITMK2 DMITMK1 DMITMK0
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
DMITMK9 DMITMK8 DMITMK7 DMITMK6 DMITMK5
0 0 0 0 0 0 0 0
The DMA Interrupt Request Mask Register is used to mask interrupt requests on each DMA channel.
Setting the DMAn interrupt request mask bit to "1" masks the interrupt requests on DMAn channel. How-
ever, if an interrupt request occurs, the DMAn interrupt request status bit is always set to "1" irrespective of
the contents of this mask register.
DMA4UDF
Data bus
DMITST4 5-source inputs
b3 F/F
DMITMK4 DMA transfer interrupt request 0
(Level)
b11 F/F
DMA3UDF
DMITST3
b4 F/F
DMITMK3
b12 F/F
DMA2UDF
DMITST2
b5
F/F
DMITMK2
b13 F/F
DMA1UDF
DMITST1
b6
F/F
DMITMK1
b14
F/F
DMA0UDF
DMITST0
b7 F/F
DMITMK0
b15 F/F
DMA9UDF
Data bus
DMITST9 5-source inputs
b3 F/F
DMITMK9 DMA transfer interrupt request 1
(Level)
b11 F/F
DMA8UDF
DMITST8
b4 F/F
DMITMK8
b12 F/F
DMA7UDF
DMITST7
b5
F/F
DMITMK7
b13 F/F
DMA6UDF
DMITST6
b6
F/F
DMITMK6
b14
F/F
DMA5UDF
DMITST5
b7 F/F
DMITMK5
b15 F/F
For each DMA channel (channels 0–9), DMA transfer can be requested from two or more sources. There are
various causes or sources of DMA transfer request, so that DMA transfer can be started by a request from
some internal peripheral I/O, in software by a program, or upon completion of one transfer or all transfers on
another DMA channel (cascade mode).
The causes or sources of DMA transfer requests are selected using the transfer request source select bits
REQSLn on each channel (DMAn Channel Control Register 0 bits 2–3) or the extended transfer request
source select bits REQESELn (DMAn Channel Control Register 1 bits 12–15). The tables below list the causes
or sources of DMA transfer requests on each channel.
Table 9.3.1 DMA Transfer Request Sources and Generation Timings on DMA0
REQSL0 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start or one DMA2 When any data is written to the DMA0 Software Request Generation
transfer completed Register (software start) or when one DMA2 transfer is completed
(cascade mode)
0 1 A/D0 conversion completed When A/D0 conversion is completed
1 0 MJT (TIO8_udf) When MJT TIO8 underflows
1 1 Extended DMA0 transfer request The source selected by the DMA0 Channel Control Register 1
source selected (DM0CNT1) REQESEL0 bits (see below)
REQESEL0 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 MJT (input event bus 2) When MJT input event bus 2 signal is generated
0001 MJT (TID0_udf/ovf) When MJT TID0 underflow/overflow occurs
0010 CAN (CAN0_S0/S31) When CAN0 slot 0 transmission failed or slot 31 transmission/reception
finished
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 MJT (TOU1_0irq) When MJT TOU1_0 interrupt request is generated
1110 DRI (DIN0) When DRI DIN0 event detection interrupt is generated
1111 SIO4_TXD (transmit buffer empty) When SIO4 transmit buffer empty interrupt is generated
Table 9.3.2 DMA Transfer Request Sources and Generation Timings on DMA1
REQSL1 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start When any data is written to the DMA1 Software Request Generation Register
0 1 MJT (output event bus 0) When MJT output event bus 0 signal is generated
1 0 Settings inhibited –
1 1 Extended DMA1 transfer request The source selected by the DMA1 Channel Control Register 1
source selected (DM1CNT1) REQESEL1 bits (see below)
REQESEL1 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 One DMA0 transfer completed When one DMA0 transfer is completed (cascade mode)
0001 MJT (TIN3S) When MJT TIN3 input signal is generated
0010 MJT (TID1_udf/ovf) When MJT TID1 underflow/overflow occurs
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 MJT (TOU1_1irq) When TOU1_1 interrupt request is generated
1110 DRI (DIN1) When DRI DIN1 event detection interrupt is generated
1111 SIO4_RXD (reception completed) When SIO4 reception-completed interrupt is generated
Table 9.3.3 DMA Transfer Request Sources and Generation Timings on DMA2
REQSL2 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start When any data is written to the DMA2 Software Request Generation Register
0 1 MJT (output event bus 1) When MJT output event bus 1 signal is generated
1 0 MJT (TIN18S) When MJT TIN18 input signal is generated
1 1 Extended DMA2 transfer request The source selected by the DMA2 Channel Control Register 1
source selected (DM2CNT1) REQESEL2 bits (see below)
REQESEL2 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 One DMA1 transfer completed When one DMA1 transfer is completed (cascade mode)
0001 Settings inhibited –
0010 CAN(CAN0_S1/S30) When CAN0 slot 1 transmission failed or slot 30 transmission/reception
finished
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 Settings inhibited –
1110 DRI (DIN2) When DRI DIN2 event detection interrupt is generated
1111 SIO5_TXD (transmit buffer empty) When SIO5 transmit buffer empty interrupt is generated
Table 9.3.4 DMA Transfer Request Sources and Generation Timings on DMA3
REQSL3 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start When any data is written to the DMA3 Software Request Generation Register
0 1 SIO0_TXD (transmit buffer empty) When SIO0 transmit buffer is empty
1 0 SIO1_RXD (reception completed) When SIO1 reception is completed
1 1 Extended DMA3 transfer request The source selected by the DMA3 Channel Control Register 1
source selected (DM3CNT1) REQESEL3 bits (see below)
REQESEL3 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 MJT (TIN0S) When MJT TIN0 input signal is generated
0001 One DMA2 transfer completed When one DMA2 transfer is completed (cascade mode)
0010 Settings inhibited –
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 MJT (TOU1_6irq) When MJT TOU1_6 interrupt request is generated
1110 DRI (DIN3) When DRI DIN3 event detection interrupt is generated
1111 SIO5_RXD (reception completed) When SIO5 reception-completed interrupt is generated
Table 9.3.5 DMA Transfer Request Sources and Generation Timings on DMA4
REQSL4 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start When any data is written to the DMA4 Software Request Generation Register
0 1 One DMA3 transfer completed When one DMA3 transfer is completed (cascade mode)
1 0 SIO0_RXD (reception completed) When SIO0 reception is completed
1 1 Extended DMA4 transfer request The source selected by the DMA4 Channel Control Register 1
source selected (DM4CNT1) REQESEL4 bits (see below)
REQESEL4 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 MJT (TIN19S) When MJT TIN19 input signal is generated
0001 SIO0_TXD (transmit buffer empty) When SIO0 transmit buffer is empty
0010 MJT (TOU1_7irq) MJT TOU1_7 interrupt source
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 MJT (TIN7S) When MJT TIN7 input signal is generated
1110 DRI (DIN4) When DRI DIN4 event detection interrupt is generated
1111 Settings inhibited –
Table 9.3.6 DMA Transfer Request Sources and Generation Timings on DMA5
REQSL5 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start or one DMA7 When any data is written to the DMA5 Software Request Generation Register
transfer completed or when one DMA7 transfer is completed (cascade mode)
0 1 All DMA0 transfers completed When all DMA0 transfers are completed (cascade mode)
1 0 SIO2_RXD (reception completed) When SIO2 reception is completed
1 1 Extended DMA5 transfer request The source selected by the DMA5 Channel Control Register 1
source selected (DM5CNT1) REQESEL5 bits (see below)
REQESEL5 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 MJT (TIN20S) When MJT TIN20 input signal is generated
0001 MJT (TOU0_0irq) MJT TOU0_0 interrupt source
0010 Settings inhibited –
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 MJT (TIN8S) When MJT TIN8 input signal is generated
1110 DRI (DEC0_udf) When DRI DEC0 underflow occurs
1111 CAN1_S0/S31 When CAN1 slot 0 transmission failed or slot 31 transmission/reception
finished
Table 9.3.7 DMA Transfer Request Sources and Generation Timings on DMA6
REQSL6 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start When any data is written to the DMA6 Software Request Generation Register
0 1 SIO1_TXD (transmit buffer empty) When SIO1 transmit buffer is empty
1 0 CAN0_S0/S31 When CAN0 slot 0 transmission failed or slot 31 transmission/reception finished
1 1 Extended DMA6 transfer request The source selected by the DMA6 Channel Control Register 1
source selected (DM6CNT1) REQESEL6 bits (see below)
REQESEL6 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 One DMA5 transfer completed When one DMA5 transfer is completed (cascade mode)
0001 MJT (TOU0_1irq) MJT TOU0_1 interrupt source
0010 SIO1_RXD (reception completed) When SIO1 reception is completed
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 DRI address counter 0 transfer completed When DRI address counter 0 transfer completed
1110 DRI (DEC1_udf) When DRI DEC1 underflow occurs
1111 Settings inhibited –
Table 9.3.8 DMA Transfer Request Sources and Generation Timings on DMA7
REQSL7 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start When any data is written to the DMA7 Software Request Generation Register
0 1 SIO2_TXD (transmit buffer empty) When SIO2 transmit buffer is empty
1 0 CAN0_S1/S30 When CAN0 slot 1 transmission failed or slot 30 transmission/reception finished
1 1 Extended DMA7 transfer request The source selected by the DMA7 Channel Control Register 1
source selected (DM7CNT1) REQESEL7 bits (see below)
REQESEL7 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 One DMA6 transfer completed When one DMA6 transfer is completed (cascade mode)
0001 MJT (TOU0_2irq) MJT TOU0_2 interrupt source
0010 SIO3_TXD (transmit buffer empty) When SIO3 transmit buffer is empty
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 DRI address counter 1 transfer completed When DRI address counter 1 transfer completed
1110 DRI (DEC2_udf) When DRI DEC2 underflow occurs
1111 CAN1_S1/S30 When CAN1 slot 1 transmission failed or slot 30 transmission/reception
finished
Table 9.3.9 DMA Transfer Request Sources and Generation Timings on DMA8
REQSL8 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start When any data is written to the DMA8 Software Request Generation Register
0 1 MJT (input event bus 0) When MJT input event bus 0 signal is generated
1 0 SIO3_RXD (reception completed) When SIO3 reception is completed
1 1 Extended DMA8 transfer request The source selected by the DMA8 Channel Control Register 1
source selected (DM8CNT1) REQESEL8 bits (see below)
REQESEL8 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 CAN1_S0/S31 When CAN1 slot 0 transmission failed or slot 31 transmission/reception
finished
0001 MJT (TOU0_6irq) MJT TOU0_6 interrupt source
0010 One DMA7 transfer completed When one DMA7 transfer is completed (cascade mode)
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 DRI latch event counter_udf When DRI latch event counter underflow occurs
1110 DRI (DEC3_udf) When DRI DEC3 underflow occurs
1111 Settings inhibited –
Table 9.3.10 DMA Transfer Request Sources and Generation Timings on DMA9
REQSL9 DMA Transfer Request Source DMA Transfer Request Generation Timing
0 0 Software start When any data is written to the DMA9 Software Request Generation Register
0 1 SIO3_TXD (transmit buffer empty) When SIO3 transmit buffer is empty
1 0 CAN1_S1/S30 When CAN1 slot 1 transmission failed or slot 30 transmission/reception
finished
1 1 Extended DMA9 transfer request The source selected by the DMA9 Channel Control Register 1
source selected (DM9CNT1) REQESEL9 bits (see below)
REQESEL9 DMA Transfer Request Source DMA Transfer Request Generation Timing
0000 One DMA8 transfer completed When one DMA8 transfer is completed (cascade mode)
0001 MJT (TOU0_7irq) MJT TOU0_7 interrupt source
0010 Settings inhibited –
0011 Common 1) MJT (input event bus 1) When MJT input event bus 1 signal is generated
0100 Common 2) MJT (input event bus 3) When MJT input event bus 3 signal is generated
0101 Common 3) MJT (output event bus 2) When MJT output event bus 2 signal is generated
0110 Common 4) MJT (output event bus 3) When MJT output event bus 3 signal is generated
0111 Common 5) A/D0 conversion completed When A/D0 conversion is completed
1000 Common 6) MJT (TIN0S) When MJT TIN0 input signal is generated
1001 Common 7) MJT (TIO8_udf) When MJT TIO8 underflow occurs
1010 Common 8) MJT (TIN30S) When MJT TIN30 input signal is generated
1011 Common 9) MJT (TIO9_udf) When MJT TIO9 underflow occurs
1100 Common 10) Settings inhibited –
1101 DRI transfer counter_udf When DRI transfer counter underflow occurs
1110 DRI (DEC4_udf) When DRI DEC4 underflow occurs
1111 DRI (DIN5) When DRI DIN5 event detection interrupt is generated
Shown below is an example of how to control DMA transfer in cases when performing transfer on DMA channel 0.
DMA transfer
processing starts
Setting interrupt
Set the interrupt controller's
controller-related • Interrupt priority level
DMA0-4 Interrupt Control Register
registers
Setting
Set DMA0 Source Address Register • Source address of transfer
DMAC-related
registers
Set DMA0 Channel Control Registers 0, 1 and 2 • Transfer mode, request source,
transfer size, address direction,
bank and transfer enable
DMA operation
completed
Use the DMAn Channel Control Register 0 REQSL (DMA transfer request source select) and DMAn Channel
Control Register 1 REQESEL (extended DMA transfer request source select) bits to set the cause or source of
DMA transfer request. To enable DMA, set the TENL (DMA transfer enable) bit to "1." DMA transfer begins
when the specified cause or source of DMA transfer request becomes effective after setting the TENL (DMA
transfer enable) bit to "1."
Note: • If the transfer request source selected by the REQSL (DMA transfer request source select) and
REQESEL (extended DMA transfer request source select) bits is MJT (TIN input signal), the time
required for DMA transfer to begin after detecting the rising or falling or both edges of the TIN
input signal is three cycles (75 ns when the internal peripheral clock = 40 MHz) at the shortest. Or,
depending on the preceding or following bus usage condition, up to five cycles (125 ns when the
internal peripheral clock = 40 MHz) may be required. (However, this applies when the external
bus, HOLD and the LOCK instruction all are unused.)
To ensure that changes of the TIN input signal state will be detected correctly, make sure the TIN input
signal is held active for a duration of more than 7tc (BCLK)/2. (For details, see Section 23.9, “AC
Characteristics (when VCCE = 5 V),” and Section 23.10, “AC Characteristics (when VCCE = 3.3 V).”)
DMA0 has the highest priority. The priority of this and other channels is shown below.
DMA0 > DMA1 > DMA2 > DMA3 > DMA4 > DMA5 > DMA6 > DMA7 > DMA8 > DMA9
This order of priority is fixed and cannot be changed. Among channels on which DMA transfer is requested, the
channel that has the highest priority is selected.
For any channel, control of the internal bus is gained and released in “single transfer DMA” mode. In single
transfer DMA, the DMAC gains control of the internal bus (in one peripheral clock cycle) when DMA transfer
request is accepted and after executing one DMA transfer (in one read and one write peripheral clock cycle),
returns bus control to the CPU. The diagram below shows the operation in single transfer DMA.
CPU
DMAC R W R W R W
The transfer count value is decremented one at a time, irrespective of the size of transfer unit (8 or 16 bits).
When the transfer unit is 8 bits, the LSB of the address register is effective for both source and destination.
(Therefore, in addition to data transfers between even addresses or between odd addresses, data may be
transferred from even address to odd address or vice versa.) When the transfer unit is 16 bits, the LSB of the
address register (= bit 15) is ignored, and data are always transferred in two bytes aligned to the 16-bit bus.
The diagram below shows the valid byte positions in DMA transfer.
+0 +1 +0 +1
b0 b7 b8 b15 b0 b7 b8 b15
In the ring buffer mode, the number of DMA transfers to each channel can be selected from among 32, 16,
8, 4 and 2 times, and after transfer from the transfer start address, the bit returns to the transfer start
address again: thus, the same operation is repeated by the selected frequency.
If the source address has been set to be incremented, it is the source address that recycles to the start
address; if the destination address has been set to be incremented, it is the destination address that re-
cycles to the start address. If both source and destination addresses have been set to be incremented, both
addresses recycle to the start address. However, the start address on either side must have their five low-
order bits initially set to B’00000 (if transfer size = 16 bits, the six low-order bits must be B’000000).
During ring buffer mode, the transfer count register is ignored. Once DMA operation starts, the counter operates
in free-run mode, and the transfer continues until the transfer enable bit is cleared to "0" (to disable transfer).
Figure 9.3.4 Example of How Addresses Are Incremented in 32-channel Ring Buffer Mode
In normal mode, DMA transfer is terminated by an underflow of the transfer count register. When transfer
finishes, the transfer enable bit is cleared to "0" and transfers are thereby disabled. Also, an interrupt request is
generated at completion of transfer. However, if interrupt requests on any channel have been masked by the
DMA Interrupt Request Mask Register, no interrupt requests are generated on that channel.
During ring buffer mode, the transfer count register operates in free-run mode, and transfer continues until the
transfer enable bit is cleared to "0" (to disable transfer). In this case, therefore, no interrupt requests are
generated at completion of DMA transfer. Nor are these DMA transfer-completed interrupt requests generated
even when transfer in ring buffer mode is terminated by clearing the transfer enable bit.
When DMA transfer is completed, the status of the source and destination address registers becomes as
follows:
• The values set in the address registers before DMA transfer started remain intact (fixed).
• For 8-bit transfer, the values of the address registers are the last transfer address + 1.
• For 16-bit transfer, the values of the address registers are the last transfer address + 2.
The transfer count register at completion of DMA transfer is in an underflow state (H’FFFF). Therefore, before
another DMA transfer can be performed, the transfer count register must be set newly again, except when
trying to perform transfers 65,536 times (H’FFFF).
Because DMA transfer involves exchanging data via the internal bus, the DMAC related registers basically can
only be accessed for write upon exiting the reset state or when transfer is disabled (transfer enable bit = "0").
When transfer is enabled, do not write to the DMAC related registers, except the DMA transfer enable bit, the
transfer request flag, DMA interrupt related register and the DMA Transfer Count Register that is protected in
hardware. This is a precaution necessary to ensure stable DMA operation.
The table below lists the registers that can or cannot be accessed for write.
Table 9.4.1 DMAC Related Registers That Can or Cannot Be Accessed for Write
Status Transfer enable bit Transfer request flag DMA interrupt related register Other DMAC related registers
Transfer enabled Can be accessed Can be accessed Can be accessed Cannot be accessed
Transfer disabled Can be accessed Can be accessed Can be accessed Can be accessed
Even for registers that can exceptionally be written to while transfer is enabled, the following conditions must be
observed:
(1) DMA Channel Control Register 0 transfer enable bit and transfer request flag
For all bits other than transfer enable bit and transfer request flag in this register, be sure to write the same
data that those bits had before the write. Note, however, that only writing "0" is effective for the transfer
request flag.
When transfer is enabled, this register is protected in hardware, so that any data rewritten to it is ignored.
(3) Rewriting the DMA source and DMA destination addresses on different channels by DMA transfer
Although this operation means accessing the DMAC related registers while DMA is enabled, there is no
problem. Note, however, that no data can be transferred by DMA to the DMAC related registers on the
currently active channel itself.
When manipulating the DMAC related registers by means of DMA transfer (e.g., reloading the DMAC related
registers with the initial values by DMA transfer), do not write to the DMAC related registers on the currently
active channel through that channel. (If this precaution is neglected, device operation cannot be guaranteed.)
It is only the DMAC related registers on other channels that can be rewritten by means of DMA transfer. (For
example, the DMAn Source Address and DMAn Destination Address Registers on channel 1 can be rewritten
by DMA transfer through channel 0.)
When clearing the DMA Interrupt Request Status Register, be sure to write "1" to all bits, except those to be
cleared. Writing "1" to any bits in this register has no effect, so that they retain the data they had before the write.
To ensure the stable operation of DMA transfer, never rewrite the DMAC related registers, except transfer
enable bits of the DMA channel control register 0, unless transfer is disabled. One exception is that even when
transfer is enabled, the DMA Source Address and DMA Destination Address Registers can be rewritten by
DMA transfer from one channel to another.
S
TCLK1 (P125) IRQ4
TCLK1S
IRQ8 S clk en/cap TIO 5 udf
TIN7 (P33) TIN7S S F/F16 TO16 (P93)
S
DMA4 IRQ4
TCLK2 (P126) TCLK2S
IRQ8 S clk TIO 6 udf
en/cap S F/F17 TO17 (P94)
TIN8 (P44) TIN8S
S
DMA5 IRQ4
IRQ8 S clk en/cap TIO 7 udf
TIN9 (P45) S F/F18 TO18 (P95)
TIN9S DMA0
S DMA
common
IRQ8 clk IRQ3
S en/cap TIO 8 udf
TIN10 (P46) S F/F19 TO19 (P96)
TIN10S
S
IRQ3
IRQ8 S clk TIO 9 udf F/F20 TO20 (P97)
en/cap
TIN11 (P47) TIN11S DMA common
S
3210 3210 0123
PRS0-4 : Prescalers F/F : Output flip-flop S : Selector
Notes: • IRQ0-18 denotes interrupt signals, of which the same number represents the same group of interrupts.
• DMA0-9 and DMA common denote DMA request signals to the DMAC.
• AD0TRG denotes trigger signal to the A/D0 converter.
TIN16/PWMOFF0 TIN16S S
(P130)
IRQ10
TIN17/PWMOFF1 TIN17S S
(P131)
IRQ10
IRQ11
IRQ11
IRQ18
TIN26S IRQ16
S clk
en TOU1_7 (24-bit) udf F/F36 TO36 (P17/P117)
DMA4
BCLK
1/4 PRS4 clk ovf
CLK1 CLK2 TID 1 udf
IRQ15
DMA1
TIN26 (P73)
TIN27 (P72) IRQ11 S
TIN27S
(Note 1) TIN3S
TID1_udf/ovf S Software start S
TOU1_1irq udf
DMA1
(Note 2) DRI(DIN1) end
SIO4_RXD
Software start
(Note 1) TIN0S (Note 2) SIO0_TXD
S (Note 2) SIO1_RXD
S
TOU1_6irq udf
DMA3
(Note 2) DRI(DIN3) end
SIO5_RXD
(Note 1) TIN19S
(Note 2) SIO0_TXD Software start
S (Note 2) SIO0_RXD
S
TOU1_7irq udf
(Note 1) TIN7S DMA4 DMA0-4
end interrupts
(Note 2) DRI(DIN4)
Software start
(Note 1) TIN20S
TOU0_0irq S
S (Note 2) SIO2_RXD udf
(Note 1) TIN8S DMA5
(Note 2) DRI(DEC0_udf)
end
(Note 2) CAN1_S0/S31
Software start
TOU0_2irq
(Note 2) SIO2_TXD
(Note 2) SIO3_TXD S
(Note 2) S (Note 2) CAN0_S1/S30 udf
DRI Address counter 1 transfer completed
DMA7
(Note 2) DRI(DEC2_udf) end
(Note 2) CAN1_S1/S30
Software start
TOU0_7irq (Note 2) SIO3_TXD
S
S (Note 2) CAN1_S1/S30 udf
(Note 2) DRI Transfer counter_udf DMA9 DMA5-9
(Note 2) DRI(DEC4_udf) end interrupts
(Note 2) DRI(DIN5)
3 2 1 0 0 1 2 3
• Prescaler Unit
• Clock Bus and Input/Output Event Bus Control Unit
• Input Processing Control Unit
• Output Flip-flop Control Unit
• Interrupt Control Unit
H'0080 0230 TOP Interrupt Control Register 0 TOP Interrupt Control Register 1 10-38
(TOPIR0) (TOPIR1)
H'0080 0232 TOP Interrupt Control Register 2 TOP Interrupt Control Register 3 10-40
(TOPIR2) (TOPIR3) 10-41
H'0080 0234 TIO Interrupt Control Register 0 TIO Interrupt Control Register 1 10-42
(TIOIR0) (TIOIR1) 10-43
H'0080 0236 TIO Interrupt Control Register 2 TMS Interrupt Control Register 10-44
(TIOIR2) (TMSIR) 10-45
H'0080 0238 TIN Interrupt Control Register 0 TIN Interrupt Control Register 1 10-46
(TINIR0) (TINIR1) 10-47
H'0080 023A TIN Interrupt Control Register 2 TIN Interrupt Control Register 3 10-48
(TINIR2) (TINIR3)
H'0080 023C TIN Interrupt Control Register 4 TIN Interrupt Control Register 5 10-50
(TINIR4) (TINIR5)
H'0080 023E TIN Interrupt Control Register 6 TIN Interrupt Control Register 7 10-52
(TINIR6) (TINIR7) 10-55
|
b0 1 2 3 4 5 6 b7
PRS012CKS
0 0 0 0 0 0 0 0
This register is used to select the clock supplied to the prescalers 0–2 and the timers (TML0, 1).
(1) PRS012CKS (prescaler 0-2, TML0,1 supplied clock select) bit (Bit 0)
This bit selects the clock supplied to the prescalers 0–2 and the timers TML0 and 1. Setting this bit to "0"
selects BCLK/4 (10 MHz when f(CPUCLK) = 160 MHz); setting this bit to "1" selects BCLK/2 (20 MHz when
f(CPUCLK) = 160 MHz).
BCLK/2
BCLK 1/2 PRS0 Clock bus 0
BCLK/4 PRS1 Clock bus 1
1/4
PRS2 Clock bus 2
S TML0
S TML1
Figure 10.2.1 Block Diagram of the Common Count Clock Select Function
The Prescalers PRS0 to 2 are an 8-bit counter, which generates clocks supplied to each timer (TOP, TIO, TMS,
TML) from the internal peripheral clock (BCLK) divided by 2 or 4.
The Prescalers PRS3 and 4 are an 8-bit counter, which generates clocks supplied to timerTID and TOU from the
internal peripheral clock BCLK or BCLK divided by 4.
The values of prescaler registers are initialized to H’00 upon exting the reset state. When the set value of any
prescaler register is rewritten, the prescaler starts operating with the new value at the same time it has underflowed.
Values H’00 to H’FF can be set in the prescaler register. The prescaler’s divide-by ratio is given by the equation
below:
1
Prescaler divide-by ratio =
prescaler set value + 1
b0 1 2 3 4 5 6 b7
b8 9 10 11 12 13 14 b15
PRS0-PRS4
0 0 0 0 0 0 0 0
Prescaler Registers 0–2 start counting after exiting the reset state. Prescaler Registers 3, 4 each are activated
by setting the TID0 Control & Prescaler 3 Enable Register (TID0PRS3EN) or TID1 Control & Prescaler 4
Enable Register (TID1PRS4EN) prescaler-n enable (PRSnEN) bit to "1" (count start), upon which the prescaler
register value is reloaded and the prescaler starts counting. For details, see Section 10.7, “TID (Input-Related
16-Bit Timer).”
If the prescaler register is accessed for read during operation, the value written into it, not the current count, is
read out.
The clock bus is provided for supplying clock to each timer, and is comprised of four lines of clock bus 0–3.
Each timer can use these clock bus signals as clock input signals. The table below lists the signals that can
be fed into the clock bus.
The input event bus is provided for supplying a count enable signal or measure capture signal to each timer,
and is comprised of four lines of input event bus 0–3. Each timer can use these input event bus signals as
enable (or capture) input. Furthermore, they can also be used as request signals to start A/D conversion or
DMA transfer.
The table below lists the signals that can be fed into the input event bus.
The output event bus has the underflow signal from each timer connected to it, and is comprised of four
lines of output event bus 0–3. Output event bus signals are connected to output flip-flops, and can also be
connected to the A/D converter and DMAC. Furthermore, output event bus 2 can be connected to input
event bus 3.
The table below lists the signals that can be connected to the output event bus.
Note that the signals from each timer to the output event bus (and TIO5, 6 signals to the input event bus) are
generated with the timing shown in Table 10.2.4, and not the timing at which signals are output from the
timer to the output flip-flop.
Table 10.2.4 Timing at Which Signals are Generated to the Output Event Bus by Each Timer
Timer Mode Timing at which signals are generated to the output event bus
TOP Single-shot output mode When the counter underflows
Delayed single-shot output mode When the counter underflows
Continuous output mode When the counter underflows
TIO(Note 1) Measure clear input mode When the counter underflows
Measure free-run input mode When the counter underflows
Noise processing input mode When the counter underflows
PWM output mode When the counter underflows
Single-shot output mode When the counter underflows
Delayed single-shot output mode When the counter underflows
Continuous output mode When the counter underflows
TMS (16-bit measure input) No signals generated
TML (32-bit measure input) No signals generated
TID Fixed period mode No signals generated
Event count mode No signals generated
Multiply-by-4 event count mode No signals generated
Up/down event count mode No signals generated
TOU PWM output mode No signals generated
Single-shot PWM mode No signals generated
Delayed single-shot output mode No signals generated
Single-shot output mode No signals generated
Continuous output mode No signals generated
Note 1: TIO5–7 output an underflow signal to the input event bus.
TIO 0 udf
TIO 3 udf
TIN5 (P31) TIN5S
TIO 4 udf
TIN6 (P32) TIN6S
TIO 5 udf
TCLK3 (P127) TCLK3S
TIO 6 udf
3210 3210
TIO 7 udf
TIO 8 udf
0123
Note: . This diagram only illustrates the clock bus and input/output event bus, and is partly omitted.
Figure 10.2.2 Conceptual Diagram of the Clock Bus and Input/Output Event Bus
The Clock Bus and Input/Output Event Bus Control Unit has the following registers:
Clock Bus & Input Event Bus Control Register (CKIEBCR) <Address: H’0080 0201>
b8 9 10 11 12 13 14 b15
IEB3S IEB2S IEB1S IEB0S CKB2S
0 0 0 0 0 0 0 0
The CKIEBCR register is used to select the clock source (external input or prescaler) supplied to the clock bus
and the count enable/capture signal (external input or output event bus) supplied to the input event bus.
b8 9 10 11 12 13 14 b15
OEB3S OEB2S OEB1S OEB0S
0 0 0 0 0 0 0 0
The OEBCR register is used to select the timer (TOP or TIO) whose underflow signal is supplied to the output
event bus.
The Input Processing Control Unit processes TCLK and TIN input signals to the MJT. In TCLK input process-
ing, it selects the source of TCLK signal, and for external input, it selects the active edge (rising or falling or
both) or level ("H" or "L") of the signal, at which to generate the clock signal supplied to the clock bus.
In TIN input processing, the unit selects the active edge (rising or falling or both) or level ("H" or "L") of the
signal, at which to generate the enable, measure or count source signal for each timer or the signal supplied to
each event bus.
Count clock
Rising edge
TCLK
Count clock
Falling edge
TCLK
Count clock
Both edges
TCLK
Count clock
"L" level
TCLK
BCLK/2 or
BCLK/4 (Note 1)
Count clock
"H" level
TCLK
BCLK/2 or
BCLK/4 (Note 1)
Count clock
Note 1: To select BCLK/2 or BCLK/4, use the PRS012CKS (prescaler 0-2, TML0,1 supplied clock select) bit of the Common Count Clock
Select Register (CNTCKSEL).
For details, refer to Section 10.2.2, “Common Count Clock Select Function.”
TIN
Internal edge
signal
Falling edge
TIN
Internal edge
signal
Both edges
TIN
Internal edge
signal
"L" level
TIN
Internal edge
signal
"H" level
TIN
Internal edge
signal
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TIN8S TIN7S TIN6S TIN5S
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TIN33S TIN32S TIN31S TIN30S TIN29S TIN28S TIN27S TIN26S
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TIN25S TIN24S
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TIN27S TIN26S
0 0 0 0 0 0 0 0
The Output Flip-flop Control Unit controls the flip-flops (F/F) provided for each timer. Following flip-flop control
registers are included:
The timing at which signals are generated to the output flip-flop by each timer are shown in Table 10.2.5. (Note
that this timing is different from one at which signals are output from the timer to the output event bus.)
Table 10.2.5 Timing at Which Signals Are Generated to the Output Flip-Flop by Each Timer
Timer Mode Timing at which signals are generated to the output flip-flop
TOP Single-shot output mode When count is enabled or underflows
Delayed single-shot output mode When counter underflows
Continuous output mode When count is enabled or underflows
TIO Measure clear input mode When counter underflows
Measure free-run input mode When counter underflows
Noise processing input mode When counter underflows
PWM output mode When count is enabled or underflows
Single-shot output mode When count is enabled or underflows
Delayed single-shot output mode When counter underflows
Continuous output mode When count is enabled or underflows
TMS (16-bit measure input) No signals generated
TML (32-bit measure input) No signals generated
TID Fixed period count mode No signals generated
Event count mode No signals generated
Multiply-by-4 event count mode No signals generated
Up/down event count mode No signals generated
TOU PWM output mode When count is enabled or underflows
Single-shot PWM output mode When counter underflows
Delayed single-shot output mode When counter underflows
Single-shot output mode When count is enabled or underflows
Continuous output mode When count is enabled or underflows
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
FS15 FS14 FS13 FS12 FS11 FS10 FS9 FS8 FS7 FS6
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
FS19 FS18 FS17 FS16
0 0 0 0 0 0 0 0
These registers select the signal source for each output F/F (flip-flop). This signal source can be chosen to be
a signal from the internal output bus or an underflow output from each timer.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
FP15 FP14 FP13 FP12 FP11 FP10 FP9 FP8 FP7 FP6 FP5 FP4 FP3 FP2 FP1 FP0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
FP20 FP19 FP18 FP17 FP16
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
FP21 FP22 FP23 FP24 FP25 FP26 FP27 FP28
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
FP29 FP30 FP31 FP32 FP33 FP34 FP35 FP36
0 0 0 0 0 0 0 0
These registers control write to each output F/F (flip-flop) by enabling or disabling. If write to any output F/F is
disabled, writing to the F/F data register has no effect.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
FD15 FD14 FD13 FD12 FD11 FD10 FD9 FD8 FD7 FD6 FD5 FD4 FD3 FD2 FD1 FD0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
FD20 FD19 FD18 FD17 FD16
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
FD21 FD22 FD23 FD24 FD25 FD26 FD27 FD28
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
FD29 FD30 FD31 FD32 FD33 FD34 FD35 FD36
0 0 0 0 0 0 0 0
These registers are used to set data in each output F/F (flip-flop). Although F/F output normally changes with
timer output, setting data 0 or 1 in this register allows to produce desired output from any F/F. The F/F data
register can only be operated on when the F/F protect register described earlier is enabled for write.
The Interrupt Control Unit controls the interrupt request signals output to the Interrupt Controller by each timer.
Following timer interrupt control registers are provided for each timer:
For interrupts which have only one interrupt request source in the interrupt vector table, no interrupt control
registers are included in the timer, and the interrupt request status flags are automatically managed within the
Interrupt Controller. For details, see Chapter 5, “Interrupt Controller.”
For interrupts which have two or more interrupt sources in the interrupt vector table, interrupt control registers
are included, with which to control interrupt requests and determine interrupt input. Therefore, the status flags
in the Interrupt Controller only serve as a bit to determine interrupt requests from interrupt-enabled sources and
cannot be accessed for write.
This status bit is used to determine whether there is an interrupt request. When an interrupt request occurs,
this bit is set in hardware (cannot be set in software). The status bit is cleared by writing "0." Writing "1" has
no effect; the bit retains the status it had before the write. Because this status bit is unaffected by the
interrupt request mask bit, it can be used to inspect the operating status of peripheral functions.
In interrupt handling, make sure that within the interrupt request status grouped as a group interrupt, only
the status bit for the interrupt request that has been serviced is cleared. If the status bit for any interrupt
request that has not been serviced is cleared, the pending interrupt request is cleared simultaneously with
its status bit.
This bit is used to disable unnecessary interrupts within the interrupt request grouped as a group interrupt.
Set this bit to "0" to enable interrupt requests or "1" to disable interrupt requests.
Group interrupt
Set
To the Interrupt
F/F
Controller
Interrupt request enabled
b4 5 6 b7
Initial state 0 0 0 0
Interrupt request
Event occurs on bit 6 0 0 1 0
b4 5 6 b7
1 1 0 1 1 0 0 0
Program example
• To clear the Interrupt Request Status Register 0 (ISTREG) interrupt request status 1, ISTAT1 (0x02 bit)
To clear an interrupt request status, always be sure to write "1" to all other interrupt request status bits. At this time,
avoid using a logic operation like the one shown below. Because it requires three step-ISTREG read, logic operation
and write, if another interrupt request occurs between the read and write, status may be inadvertently cleared.
b4 5 6 b7
0 0 1 0
0 0 0 0
0 0 0 0 Write
The table below shows the relationship between the interrupt request signals generated by multijunction timers
and the interrupt sources input to the Interrupt Controller (ICU).
b0 1 2 3 4 5 6 b7
TOPIS5 TOPIS4 TOPIS3 TOPIS2 TOPIS1 TOPIS0
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TOPIM5 TOPIM4 TOPIM3 TOPIM2 TOPIM1 TOPIM0
0 0 0 0 0 0 0 0
TOP4udf
TOPIS4
b3 F/F
TOPIM4
b11
F/F
TOP3udf
TOPIS3
b4
F/F
TOPIM3
b12
F/F
TOP2udf
TOPIS2
b5
F/F
TOPIM2
b13 F/F
TOP1udf
TOPIS1
b6
F/F
TOPIM1
b14 F/F
TOP0udf
TOPIS0
b7 F/F
TOPIM0
b15
F/F
b0 1 2 3 4 5 6 b7
TOPIS7 TOPIS6 TOPIM7 TOPIM6
0 0 0 0 0 0 0 0
TOP7udf
Data bus 2-source inputs
TOPIS7
b2 F/F MJT output interrupt request 1
TOPIM7 (Level) IRQ1
b6 F/F
TOP6udf
TOPIS6
b3 F/F
TOPIM6
b7 F/F
b8 9 10 11 12 13 14 b15
TOPIS9 TOPIS8 TOPIM9 TOPIM8
0 0 0 0 0 0 0 0
TOP8udf
TOPIS8
b11 F/F
TOPIM8
b15
F/F
b0 1 2 3 4 5 6 b7
TIOIS3 TIOIS2 TIOIS1 TIOIS0 TIOIM3 TIOIM2 TIOIM1 TIOIM0
0 0 0 0 0 0 0 0
TIO2udf
TIOIS2
b1 F/F
TIOIM2
b5
F/F
TIO1udf
TIOIS1
b2
F/F
TIOIM1
b6
F/F
TIO0udf
TIOIS0
b3
F/F
TIOIM0
b7
F/F
b8 9 10 11 12 13 14 b15
TIOIS7 TIOIS6 TIOIS5 TIOIS4 TIOIM7 TIOIM6 TIOIM5 TIOIM4
0 0 0 0 0 0 0 0
TIO6udf
TIOIS6
b9
F/F
TIOIM6
b13 F/F
TIO5udf
TIOIS5
b10
F/F
TIOIM5
b14 F/F
TIO4udf
TIOIS4
b11 F/F
TIOIM4
b15 F/F
b0 1 2 3 4 5 6 b7
TIOIS9 TIOIS8 TIOIM9 TIOIM8
0 0 0 0 0 0 0 0
TIO8udf
TIOIS8
b3
F/F
TIOIM8
b7
F/F
b8 9 10 11 12 13 14 b15
TMSIS1 TMSIS0 TMSIM1 TMSIM0
0 0 0 0 0 0 0 0
TMS0ovf
TMSIS0
b11
F/F
TMSIM0
b15
F/F
b0 1 2 3 4 5 6 b7
TINIS2 TINIS1 TINIS0 TINIM2 TINIM1 TINIM0
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TINIS6 TINIS5 TINIS4 TINIS3 TINIM6 TINIM5 TINIM4 TINIM3
0 0 0 0 0 0 0 0
TIN5edge
TINIS5
b9
F/F
TINIM5
b13
F/F
TIN4edge
TINIS4
b10
F/F
TINIM4
b14
F/F
TIN3edge
TINIS3
b11
F/F
TINIM3
b15
F/F
b0 1 2 3 4 5 6 b7
TINIS11 TINIS10 TINIS9 TINIS8 TINIS7
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TINIM11 TINIM10 TINIM9 TINIM8 TINIM7
0 0 0 0 0 0 0 0
TIN10edge
TINIS10
b4 F/F
TINIM10
b12
F/F
TIN9edge
TINIS9
b5
F/F
TINIM9
b13
F/F
TIN8edge
TINIS8
b6
F/F
TINIM8
b14
F/F
TIN7edge
TINIS7
b7
F/F
TINIM7
b15
F/F
b0 1 2 3 4 5 6 b7
TINIS19 TINIS18 TINIS17 TINIS16 TINIS15 TINIS14 TINIS13 TINIS12
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TINIM19 TINIM18 TINIM17 TINIM16 TINIM15 TINIM14 TINIM13 TINIM12
0 0 0 0 0 0 0 0
TIN18edge
TINIS18
b1
F/F
TINIM18
b9
F/F
TIN17edge
TINIS17
b2
F/F
TINIM17
b10
F/F
TIN16edge
TINIS16
b3
F/F
TINIM16
b11
F/F
b0 1 2 3 4 5 6 b7
TINIS23 TINIS22 TINIS21 TINIS20 TINIM23 TINIM22 TINIM21 TINIM20
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
TINIM24 TINIM25
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TINIS24 TINIS25
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
TINIM26 TINIM27
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TINIS26 TINIS27
0 0 0 0 0 0 0 0
TIN2425IST<H'0080 07E3>
TIN2425IMA<H'0080 07E2>
TIN2627IST<H'0080 0BE3>
TIN2627IMA<H'0080 0BE2>
TINIR6<H'0080 023E>
TIN27edge
Data bus TINIS27 8-source inputs
b15 F/F
MJT input interrupt request 3
TINIM27 (Level) IRQ11
b7
F/F
TIN26edge
TINIS26
b14
F/F
TINIM26
b6
F/F
TIN25edge
TINIS25
b15
F/F
TINIM25
b7
F/F
TIN24edge
TINIS24
b14
F/F
TINIM24
b6
F/F
TIN23edge
TINIS23
b0
F/F
TINIM23
b4
F/F
TIN22edge
TINIS22
b1
F/F
TINIM22
b5
F/F
TIN21edge
TINIS21
b2
F/F
TINIM21
b6
F/F
TIN20edge
TINIS20
b3
F/F
TINIM20
b7
F/F
b8 9 10 11 12 13 14 b15
TINIS33 TINIS32 TINIS31 TINIS30 TINIM33 TINIM32 TINIM31 TINIM30
0 0 0 0 0 0 0 0
TIN33edge
Data bus
TINIS33 4-source inputs
b8
F/F TML1 input interrupt request
TINIM33 (Level) IRQ18
b12
F/F
TIN32edge
TINIS32
b9
F/F
TINIM32
b13
F/F
TIN31edge
TINIS31
b10
F/F
TINIM31
b14
F/F
TIN30edge
TINIS30
b11
F/F
TINIM30
b15 F/F
b0 1 2 3 4 5 6 b7
TOU0IM7 TOU0IM6 TOU0IM5 TOU0IM4 TOU0IM3 TOU0IM2 TOU0IM1 TOU0IM0
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TOU0IS7 TOU0IS6 TOU0IS5 TOU0IS4 TOU0IS3 TOU0IS2 TOU0IS1 TOU0IS0
0 0 0 0 0 0 0 0
TOU06udf
TOU0IS6
b9 F/F
TOU0IM6
b1
F/F
TOU05udf
TOU0IS5
b10
F/F
TOU0IM5
b2
F/F
TOU04udf
TOU0IS4
b11
F/F
TOU0IM4
b3
F/F
TOU03udf
TOU0IS3
b12
F/F
TOU0IM3
b4 F/F
TOU02udf
TOU0IS2
b13 F/F
TOU0IM2
b5
F/F
TOU01udf
TOU0IS1
b14 F/F
TOU0IM1
b6
F/F
TOU00udf
TOU0IS0
b15
F/F
TOU0IM0
b7
F/F
b0 1 2 3 4 5 6 b7
TOU1IM7 TOU1IM6 TOU1IM5 TOU1IM4 TOU1IM3 TOU1IM2 TOU1IM1 TOU1IM0
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TOU1IS7 TOU1IS6 TOU1IS5 TOU1IS4 TOU1IS3 TOU1IS2 TOU1IS1 TOU1IS0
0 0 0 0 0 0 0 0
TOU16udf
TOU1IS6
b9
F/F
TOU1IM6
b1
F/F
TOU15udf
TOU1IS5
b10
F/F
TOU1IM5
b2
F/F
TOU14udf
TOU1IS4
b11
F/F
TOU1IM4
b3
F/F
TOU13udf
TOU1IS3
b12
F/F
TOU1IM3
b4
F/F
TOU12udf
TOU1IS2
b13 F/F
TOU1IM2
b5
F/F
TOU11udf
TOU1IS1
b14 F/F
TOU1IM1
b6
F/F
TOU10udf
TOU1IS0
b15
F/F
TOU1IM0
b7
F/F
TOP (Timer OutPut) is an output-related 16-bit timer, whose operation mode can be selected from the following
by mode switching in software:
The table below and the diagram in the next page show specifications and a block diagram of TOP, respectively.
TOP 0
Reload register
IRQ2
clk udf
Down-counter F/F0 TO 0 (P110)
S Correction register
(16-bit)
en
IRQ2
TCLK0 (P124) TCLK0S clk TOP 1 udf F/F1 TO 1 (P111)
en
IRQ2
IRQ9 clk
en TOP 2 udf F/F2 TO 2 (P112)
IRQ2
TIN0 (P150) TIN0S clk
S en TOP 3 udf F/F3 TO 3 (P113)
DMA3, IRQ2
DMA common clk TOP 4 udf F/F4 TO 4 (P114)
en
IRQ2
clk TOP 5 udf F/F5 TO 5 (P115)
en
IRQ1
clk TOP 6 udf
S en S F/F6 TO 6 (P116)
IRQ1
S clk TOP 7 udf
en S F/F7 TO 7 (P117)
S
IRQ6
S clk TOP 8 udf S F/F8 TO 8 (P100)
en
IRQ6
S clk TOP 9 udf
en S F/F9 TO 9 (P101)
IRQ5
clk TOP 10 udf
en S F/F10 TO 10 (P102)
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
reload register, the counter is loaded with the content of “the reload register -1” and starts counting synchro-
nously with the count clock at the next circle. The counter counts down and stops.
The F/F output waveform in single-shot output mode is inverted at enable and upon underflow (F/F output
level is changed “L” to “H”, or “H” to “L”), generating a single-shot pulse waveform in width of “reload register
set value + 1” only once.
And also an interrupt request can be generated when the counter underflows. The counter value is “setting
value of reload register +1.”
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
counter and reload register, it starts counting down from the counter’s set value synchronously with the
count clock.
The next cycle after first counter underflow, it is loaded with “the reload register value -1” and continues
counting down. The counter stops when it underflows next time.
The F/F output waveform in delayed single-shot output mode is inverted (F/F output level is changed “L” to
“H”, or “H” to “L”), when the counter underflows first time and next, generating a single-shot pulse waveform
in width of “reload register set value + 1” after a finite time equal to “first set value of counter + 1” only once.
And also an interrupt request can be generated when the counter underflows first time and next.
The effective counter value is “counter set value +1” or “reload register set value +1.”
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
counter and reload register, it starts counting down from the counter’s set value synchronously with the
count clock and when the minimum count is reached, generates an underflow.
At the cycle after this underflow, the counter to be loaded with the content of “the reload register -1” and start
counting over again. Thereafter, this operation is repeated each time an underflow occurs. To stop the
counter, disable count by writing to the enable bit in software.
The F/F output waveform in continuous output mode is inverted (F/F output level is changed “L” to “H”, or “H”
to “L”), at startup and upon underflow, generating a waveform of consecutive pulses until the timer stops
counting. An interrupt request can be generated each time the counter underflows.
The effective counter value is “counter set value +1” and “reload register set value +1.”
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay is
generated by the time when the timer actually starts operating after writing to the enable bit. In operation
mode where the F/F output is inverted when the timer is enabled, there is also a count clock-dependent
delay before the F/F output is inverted.
BCLK
Enable
Count clock-dependent
delay
F/F operation (Note 1)
Inverted
Note 1: This applies to the case where F/F output is inverted when the timer is enabled.
The TOP control registers are used to select operation modes of TOP0–10 (single-shot output, delayed single-
shot output or continuous output mode), as well as select the count enable and count clock sources. Following
four TOP control registers are provided for each timer group.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP3M TOP2M TOP1M TOP0M TOP05ENS TOP05CKS
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TOP5M TOP4M
0 0 0 0 0 0 0 0
S clk TOP 0
en
clk TOP 1
en
clk TOP 2
en
clk TOP 3
en
clk TOP 4
en
clk TOP 5
en
TIN0 (P150) TIN0S
S
S : Selector
Note: • This diagram only illustrates TOP control registers and is partly omitted.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP7ENS TOP7M TOP6M TOP67ENS TOP67CKS
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
S S
S : Selector
Note: • This diagram only illustrates TOP control registers and is partly omitted.
Figure 10.3.4 Outline Diagram of TOP6, TOP7 Clock and Enable Inputs
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP10M TOP9M TOP8M TOP810 TOP810CKS
ENS
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
S clk TOP 8
en
clk TOP 9
en
clk TOP 10
en
S
S : Selector
Note: • This diagram only illustrates TOP control registers and is partly omitted.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP0CT–TOP10CT
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TOP counters are a 16-bit down-counter. After the timer is enabled (by writing to the enable bit in software
or by external input), the counter starts counting synchronously with the count clock.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP0RL–TOP10RL
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TOP reload registers are used to load data into the TOP counters (TOP0CT~TOP10CT). The content of
"the reload register -1" is loaded into the counter synchronously with the count clock at the following timing:
• At the next cycle when the counter is enabled in single-shot output mode
• At the next cycle when the counter underflowed in delayed single-shot or continuous output mode
Simply because data is written to the reload register does not mean that the data is loaded into the counter. The
counter is loaded with data in only the above cases.
Note that reloading of data after an underflow is performed synchronously with a clock pulse at which the
counter underflowed.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP0CC–TOP10CC
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TOP correction registers are used to correct the TOP counter value by adding or subtracting in the middle
of operation. To increase or reduce the counter value, write to this correction register a value by which the
counter value is to be increased or reduced from its initial set value. To add, write the value to be added to the
correction register directly as is. To subtract, write the 2’s complement of the value to be subtracted to the
correction register.
The counter is corrected synchronously with a clock pulse next to one at which the correction value was written
to the TOP correction register. If the counter is corrected this way, note that because one down count in that
clock period is canceled, the counter value actually is corrected by "correction register value + 1." For example,
if the initial counter value is 10 and the value 3 is written to the correction register when the counter has counted
down to 5, then the counter counts a total of 15 before it underflows.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP10 TOP9 TOP8 TOP7 TOP6 TOP5 TOP4 TOP3 TOP2 TOP1 TOP0
EEN EEN EEN EEN EEN EEN EEN EEN EEN EEN EEN
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The TOP0–10 External Enable Permit Register controls enable operation on TOP counters from external de-
vices by enabling or disabling it.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP10 TOP9 TOP8 TOP7 TOP6 TOP5 TOP4 TOP3 TOP2 TOP1 TOP0
PRO PRO PRO PRO PRO PRO PRO PRO PRO PRO PRO
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The TOP0–10 Enable Protect Register controls rewriting of the TOP count enable bit by enabling for or protect-
ing it against rewriting.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOP10 TOP9 TOP8 TOP7 TOP6 TOP5 TOP4 TOP3 TOP2 TOP1 TOP0
CEN CEN CEN CEN CEN CEN CEN CEN CEN CEN CEN
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The TOP0–10 Count Enable Register controls operation of TOP counters. To enable any TOP counter in
software, enable its corresponding enable protect bit for write and set the count enable bit by writing "1." To
stop any TOP counter, enable its corresponding enable protect bit for write and reset the count enable bit by
writing "0."
In all but continuous output mode, when the counter stops due to occurrence of an underflow, the count enable
bit is automatically reset to "0." Therefore, the TOP0-10 Count Enable Register when accessed for read serves
as a status register indicating whether the counter is operating or idle.
F/F
WR
In single-shot output mode, the timer generates a pulse in width of "reload register set value+1" only once
and then stops.
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
reload register, at the next cycle the counter is loaded with the content of "the reload register -1" and starts
counting synchronously with the count clock. The counter counts down and stops when it underflows after
reaching the minimum count.
The F/F output waveform in single-shot output mode is inverted (F/F output levels change from "L" to "H" or
vice versa) at startup and upon underflow, generating a single-shot pulse waveform in width of "reload
register set value + 1" only once. An interrupt request can be generated when the counter underflows. The
count value is "reload register set value + 1."
For example, if the initial reload register value is 7, then the count value is 8.
Count value = 8
1 2 3 4 5 6 7 8
Count clock
Enable
H'FFFF
(Note 1)
Counter
6
5
4
3
2
1
0
(Note 3)
Reload
register 7
F/F output
(Note 2)
Interrupt request
Underflow
Note 1: What actually is seen in the cycle immediately during enable is the previous counter value, and not 7.
Note 2: A count clock dependent delay is included before F/F output changes state after the timer is enabled.
Note 3: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
In the example below, the reload register is initially set to H’A000. (The initial counter value can be undefined,
and does not have to be specific.) When the timer starts, the value that "the reload register -1" is loaded into
the counter, letting it start counting. Thereafter, it continues counting down until it underflows after reaching the
minimum count.
Enabled
(by writing to the enable bit Disabled
or by external input) (by underflow)
Count clock
Enable bit
(Note 1)
H'FFFF
H'FFFF
Indeterminate Starts counting down from
value the reload register set value
H'(A000-1)
Counter
(Note 2)
H'0000
F/F output
Note 1: A count clock dependent delay is included before F/F output changes state after the timer is enabled.
Note 2: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
To change the counter value while in progress, write to the TOP correction register a value by which the
counter value is to be increased or reduced from its initial set value. To add, write the value to be added to
the correction register directly as is. To subtract, write the 2’s complement of the value to be subtracted to
the correction register.
The counter is corrected synchronously with a count clock pulse next to one at which the correction value was
written to the TOP correction register. If the counter is corrected this way, note that because one down count in
that clock period is canceled, the counter value actually is corrected by "correction register value + 1."
For example, if the initial counter value is 7 and the value 3 is written to the correction register when the
counter has counted down to 3, then the counter counts a total of 12 before it underflows.
Count value = (7 + 1) + (3 + 1) = 12
1 2 3 4 5 6 7 8 9 10 11 12
Count clock
Count clock
dependent delay
Enable
H'FFFF
Indeterminate (Note 1)
value
6 6
Counter 5 5
4 4
3 +3 3
2
1
(Note 2) 0
Reload
register 7
Correction
register 3
Interrupt request
Underflow
Note 1: What actually is seen in the cycle immediately after enable is the previous counter value, and not 7.
Note 2: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
Figure 10.3.9 Example of Counting in TOP Single-shot Output Mode When Count is Corrected
When writing to the correction register, be careful not to cause the counter to overflow. Even if the counter
overflows due to correction of counts, no interrupt requests are generated for reasons of an overflow.
In the example below, the reload register is initially set to H’8000. When the timer starts, the value that "the
reload register -1" is loaded into the counter, letting it start counting down. In the diagram below, the value
H’4000 is written to the correction register when the counter has counted down to H’5000. As a result of this
correction, the count has been increased to H’9000, so that the counter counts a total of (H’8000 + 1 +
H’4000 + 1) before it stops.
Enabled
(by writing to the enable bit Disabled
or by external input) (by underflow)
Count clock
Enable bit
(Note 1)
Write to the
correction register
H'FFFF
H'FFFF
Undefined
value H'5000 + H'4000
Counter H'8000
H'(8000 - 1)
H'5000
(Note 2)
H'0000
F/F output
Note 1: What actually is seen in the cycle immediately after enable is the previous counter value, and not 7.
Note 2: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
Figure 10.3.10 Typical Operation in TOP Single-shot Output Mode When Count is Corrected
The following describes precautions to be observed when using TOP single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the
enable bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• Because the timer operates synchronously with the count clock, a count clock-dependent delay is included
before F/F output is inverted after the timer is enabled.
• When writing to the correction register, be careful not to cause the counter to overflow. Even if the counter
overflows due to correction of counts, no interrupt requests are generated for reasons of an overflow.
Therefore, if the counter underflows in the subsequent down-count after an overflow, a false interrupt
request is generated for an underflow that includes the overflowed count.
In the example below, the reload register is initially set to H’FFF8. When the timer starts, the value that "the
reload register -1" is loaded into the counter, letting it start counting down. In the diagram below, the value
H’0014 is written to the correction register when the counter has counted down to H’FFF0. As a result of this
correction, the count overflows to H’0004 and the counter fails to count correctly. Also, an interrupt request
is generated for an erroneous overflowed count.
Enabled
(by writing to the enable bit
or by external input)
Count clock
(Note 1)
Enable bit
Write to the
correction register Overflow occurs
H'(FFF0+0014)
H'FFFF
H'FFFF H'FFF8
H'(FFF8-1)
H'FFF0
Undefined
value
Counter
(Note 2) Actual count after overflow
H'0004
H'0000
H'FFF8
Reload register
Undefined H'0014
Correction register
F/F output
Note 1: A count clock dependent delay is included before F/F output changes state after the timer is enabled.
Note 2: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
Figure 10.3.11 Example of an Operation in TOP Single-shot Output Mode Where Count Overflows Due to Correction
10.3.10 Operation in TOP Delayed Single-shot Output Mode (with Correction Function)
In delayed single-shot output mode, the timer generates a pulse in width of "reload register set value + 1"
after a finite time equal to "counter set value + 1" only once and then stops.
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
counter and reload register, it starts counting down from the counter’s set value synchronously with the
count clock. At the cycle after the first time the counter underflows, it is loaded with the value that "the reload
register -1" and continues counting down. The counter stops when it underflows next time.
The F/F output waveform in delayed single-shot output mode is inverted (F/F output level changes from "L" to "H"
or vice versa) when the counter underflows first time and next, generating a single-shot pulse waveform in width
of "reload register set value + 1" after a finite time equal to "first set value of counter + 1" only once.
An interrupt request can be generated when the counter underflows first time and next.
The "counter set value + 1" and "reload register set value + 1" are effective as count values.
For example, if the initial counter value is 4 and the initial reload register value is 5, then the timer operates
as shown below.
Count value = (4 + 1) + (5 + 1) = 11
1 2 3 4 5 6 7 8 9 10 11
Count clock
Count clock
dependent delay
Enable
H'FFFF (Note 1) H'FFFF
4 4
Counter 3 3
2 2
1 1
0 (Note 2) 0
Reload
5
register
F/F output
Interrupt request
Underflow Underflow
Note 1: What actually is seen in the cycle immediately during underflow is H'FFFF(underflow value), and not 5.
Note 2: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
In the example below, the counter and the reload register are initially set to H’A000 and H’F000, respec-
tively. When the timer is enabled, the counter starts counting down and at the cycle after it underflows , the
counter is loaded with the content of "the reload register -1" and continues counting down. The counter
stops when it underflows second time.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
H'FFFF
H'FFFF
H'F000
H'(F000-1)
(Note 1)
H'0000
F/F output
To change the counter value while in progress, write to the TOP correction register a value by which the
counter value is to be increased or reduced from its initial set value. To add, write the value to be added to
the correction register directly as is. To subtract, write the 2’s complement of the value to be subtracted to
the correction register.
The counter is corrected synchronously with a count clock pulse next to one at which the correction value was
written to the TOP correction register. If the counter is corrected this way, note that because one down count in
that clock period is canceled, the counter value actually is corrected by "correction register value + 1."
For example, if the reload register value is 7 and the value 3 is written to the correction register when the
counter has counted down to 3 after being reloaded, then the counter counts a total of 12 after being
reloaded before it underflows.
1 2 3 4 5 6 7 8 9 10 11 12
Count clock
Enable = "H"
H'FFFF (Note 1) H'FFFF
6 6
Counter 5 5
4 4
3 +3 3
2
0 1
(Note 2) 0
Reload
register 7
Correction
3
register
Interrupt request
Underflow
Note 1: What actually is seen in the cycle immediately during underflow is H'FFFF(the underflow value), and not 7.
Note 2: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
Figure 10.3.14 Example of Counting in TOP Delayed Single-shot Output Mode When Count is Corrected
When writing to the correction register, be careful not to cause the counter to overflow. Even if the counter
overflows due to correction of counts, no interrupt requests are generated for reasons of an overflow.
In the example below, the counter and the reload register are initially set to H’A000 and H’F000, respec-
tively. When the timer is enabled, the counter starts counting down and at the cycle after the first underflow,
the counter is loaded with the content of "the reload register -1" and continues counting down. In the dia-
gram below, the value H’0008 is written to the correction register when the counter has counted down to
H’9000. As a result of this correction, the counter has its count value increased to H’9008 and counts
(H’F000 + 1 + H’0008 + 1) after the first underflow before it stops.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
Write to the
correction register
H'FFFF
H'(F000+0008+1)
H'F000
H'9000+H'0008
Counter
H'A000 H'9000
(Note 1)
H'0000
F/F output
Figure 10.3.15 Typical Operation in TOP Delayed Single-shot Output Mode when Count is Corrected
The following describes precautions to be observed when using TOP delayed single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the
enable bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• Even if the counter overflows due to correction of counts, no interrupt requests are generated for reasons
of an overflow. Therefore, if the counter underflows in the subsequent down-count after an overflow, a
false interrupt request is generated for an underflow that includes the overflowed count.
• If the counter is accessed for read at the cycle of underflow, the counter value is read as H’FFFF but
changes to "reload register value -1" at the next count clock timing after underflow.
Count clock
H'(AAAA-1) H'(AAAA-2)
In continuous output mode, the timer counts down starting from the set value of the counter and at the cycle
after the counter underflows, it is loaded with the value that "the reload register -1." Thereafter, this opera-
tion is repeated each time the counter underflows, thus generating consecutive pulses whose waveform is
inverted in width of "reload register set value + 1."
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
counter and reload register, it starts counting down from the counter’s set value synchronously with the
count clock and when the minimum count is reached, generates an underflow.
At the cycle after this underflow, the counter to be loaded with the content of "the reload register -1" and
count down over again. Thereafter, this operation is repeated each time an underflow occurs. To stop the
counter, disable count by writing to the enable bit in software.
The F/F output waveform in continuous output mode is inverted (F/F output level changes from "L" to "H" or
vice versa) at startup and upon underflow, generating a waveform of consecutive pulses until the timer
stops counting. An interrupt request can be generated each time the counter underflows.
The "counter set value + 1" and "reload register set value + 1" are effective as count values.
For example, if the initial counter value is 4 and the initial reload register value is 5, then the timer operates
as shown below.
1 2 3 4 5 1 2 3 4 5 6 1 2 3 4 5 6
Count clock
Count clock
dependent delay
(Note 1)
(4) 4 4
Counter 3 3 3
2 2 2
1 1 1
0 0 0
(Note 3) (Note 3) (Note 3)
Reload
5
register
F/F output
Interrupt request
Note 1: What actually is seen in the cycle immediately during enable is the previous counter value, and not 4.
Note 2: What actually is seen in the cycle immediately during underflow is H'FFFF (underflow value), and not 5.
Note 3: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
In the example below, the counter and the reload register are initially set to H’A000 and H’E000, respectively.
When the timer is enabled, the counter starts counting down and when it underflows after reaching the mini-
mum count, the counter is loaded with the content of "the reload register -1" and continues counting down.
However the timing for reloading is at the cycle after underflow.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
(Note 1)
H'FFFF H'FFFF
H'FFFF
H'(E000-1) H'(E000-1)
H'E000
Count down from the Count down from the Count down from the
H'A000 counter's set value reload register's reload register's
Counter set value set value
(Note 2) (Note 2)
H'0000
F/F output
Note 1: A count clock dependent delay is included before F/F output changes state after the timer is enabled.
Note 2: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
The following describes precautions to be observed when using TOP continuous output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read as H’FFFF but
changes to "reload register value -1" at the next count clock timing.
• Because the timer operates synchronously with the count clock, a count clock-dependent delay is included
before F/F output is inverted after the timer is enabled.
TIO (Timer Input/Output) is an input/output-related 16-bit timer, whose operation mode can be selected from
the following by mode switching in software, one at a time:
<Input modes>
• Measure clear input mode
• Measure free-run input mode
• Noise processing input mode
The table below and the diagram in the next page show specifications and a block diagram of TIO, respectively.
TIO 0
IRQ4
TCLK1 (P125) TCLK1S
IRQ8 S clk TIO 5 udf
en/cap S F/F16 TO 16 (P93)
TIN7 (P33) TIN7S S
DMA4 IRQ4
TCLK2 (P126) TCLK2S
IRQ8 S clk TIO 6 udf
en/cap S F/F17 TO 17 (P94)
TIN8 (P44) TIN8S
S
DMA5 IRQ4
After the timer is enabled (by writing to the enable bit in software), the counter starts counting down synchro-
nously with the count clock. When a capture signal is entered from an external device, the counter value at
that point in time is written into a register called the “measure register.”
In measure clear input mode, the counter value is initialized to H’FFFF upon capture, from which the counter
starts counting down again. The counter returns to H’FFFF upon underflow, from which it starts counting
down.Furthermore when it underflows goes back to H’FFFF and continues down counting•B
In measure free-run input mode, the counter continues counting down even after capture. The counter
returns to H’FFFF upon underflow, from which it starts counting down again.
To stop the counter, disable count by writing to the enable bit in software.
In noise processing input mode, a "H" or "L" level on external input activates the counter and if the input signal
remains in the same state for over a predetermined time before the counter underflows, the counter generates
an interrupt request before stopping. If the valid-level signal being applied turns to an invalid level before the
counter underflows, the counter temporarily stops counting and at the next cycle when a valid-level signal is
entered again, the counter is reloaded with the value that "the reload register -1" and restarts counting.
The timer stops at the same time the counter underflows or count is disabled by writing to the enable bit.
Furthermore, it is possible to generate an interrupt request and a DMA transfer request (for only the TIO8
and TIO9) upon underflow of the counter.
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the initial
values in the reload 0 and reload 1 registers, the counter is loaded with the value that “the reload 0 register
-1” and starts counting down synchronously with the count clock at the next cycle.The next cycle after the
first time the counter underflows, it is loaded with the value that “the reload 1 register -1” and continues
counting. Thereafter, the counter is loaded with the reload 0 and reload 1 register values alternately each
time an underflow occurs.The effective counter value is “reload 0 register set value +1” or “reload 1 register
set value +1”.
The timer stops at the same time count is disabled by writing to the enable bit (and not in synchronism with
PWM output period).
The F/F output waveform in PWM output mode is inverted (F/F output level changes from "L" to "H" or vice
versa), when the counter starts counting and each time it underflows.
Furthermore, it is possible to generate an interrupt request at even-numbered occurrences of underflow after the
counter is enabled and a DMA transfer request (for only the TIO8 and TIO9) every time the counter underflows.
In addition PWM output mode of TIO does not have function of correction.
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
reload 0 register, the counter is loaded with the value that “the reload 0 register -1” and starts counting
synchronously with the count clock at the next cycle. The counter counts down and when the minimum
count is reached, stops upon underflow.
The F/F output waveform in single-shot output mode is inverted(F/F output level changes from "L" to "H" or
vice versa) at startup and upon underflow, generating a single-shot pulse waveform in width of “reload 0
register set value + 1” only once.
Furthermore, it is possible to generate an interrupt request and a DMA transfer request (for only the TIO8
and TIO9) upon underflow of the counter.
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
counter and reload 0 register, it starts counting down from the counter’s set value synchronously with the
count clock.
The next cycle after the first time the counter underflows, it is loaded with the value that “the reload 0 register
-1” and continues counting down. The counter stops when it underflows next time.
The F/F output waveform in delayed single-shot output mode is inverted(F/F output level changes from "L" to
"H" or vice versa) when the counter underflows first time and next, generating a single-shot pulse waveform in
width of “reload 0 register set value + 1” after a finite time equal to “first set value of counter + 1” only once.
Furthermore, it is possible to generate an interrupt request and a DMA transfer request (for only the TIO8
and TIO9) upon the first and next underflows of the counter.
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
counter and reload 0 register, it starts counting down from the counter’s set value synchronously with the
count clock and when the minimum count is reached, generates an underflow.
The next cycle after this underflow causes the counter to be loaded with the content of “the reload 0 register
-1” and start counting over again.
Thereafter, this operation is repeated each time an underflow occurs. To stop the counter, disable count by
writing to the enable bit in software. The timing for reloading to counter is the cycle after underflow.
The F/F output waveform in continuous output mode is inverted(F/F output level changes from "L" to "H" or
vice versa) at startup and upon underflow, generating a waveform of consecutive pulses until the timer stops
counting.
Furthermore, it is possible to generate an interrupt request and a DMA transfer request (for only the TIO8
and TIO9) each time the counter underflows.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay is
generated by the time when the timer actually starts operating after writing to the enable bit. In operation
mode where the F/F output is inverted when the timer is enabled, there is also a count clock-dependent
delay before the F/F output is inverted.
BCLK
Enable
Count clock-dependent
delay
F/F operation (Note 1)
Inverted
Note 1: This applies to the case where F/F output is inverted when the timer is enabled.
The TIO control registers are used to select operation modes of TIO0–9 (measure input, noise processing
input, PWM output, single-shot output, delayed single-shot output or continuous output mode), as well as
select the count enable and count clock sources.
Following TIO control registers are provided for each timer group.
S
clk TIO 0
en/cap
TIN3 (P153) TIN3S S
clk TIO 1
en/cap
TIN4 (P30) TIN4S S
clk TIO 2
en/cap
TIN5 (P31) TIN5S S
clk TIO 3
en/cap
S clk TIO 4
en/cap
3210 3210
S : Selector
Note: • This diagram only illustrates TIO control registers and is partly omitted.
b8 9 10 11 12 13 14 b15
TIO03CKS
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
TIO4CKS TIO4EEN TIO34ENS TIO4M
0 0 0 0 0 0 0 0
S clk TIO 7
en/cap
TIN9 (P45) TIN9S
S
S clk TIO 8
en/cap
TIN10 (P46) TIN10S
S
S clk
en/cap TIO 9
TIN11 (P47) TIN11S
S
3210 3210
S : Selector
Note: • This diagram only illustrates TIO control registers and is partly omitted.
b8 9 10 11 12 13 14 b15
TIO5CKS TIO5ENS TIO5M
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
TIO6CKS TIO6ENS TIO6M
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TIO7CKS TIO7ENS TIO7M
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
TIO8CKS TIO8ENS TIO8M
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TIO9CKS TIO9ENS TIO9M
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TIO0CT–TIO9CT
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TIO counters are a 16-bit down-counter. After the timer is enabled (by writing to the enable bit in software
or by external input), the counter starts counting synchronously with the count clock.
These counters are protected against write during PWM output mode.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TIO0RL0–TIO9RL0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TIO Reload 0/ Measure Registers serve dual purposes as a register for reloading data into the TIO Count
Registers (TIO0CT-TIO9CT) and as a measure register during measure input mode. These registers are pro-
tected against write during measure input mode.
The content of "the reload 0 register -1" is reloaded into the counter synchronously with the count clock at the
following timing:
• At the next cycle when after the counter started counting in noise processing input mode, the input signal
is inverted and a valid-level signal is entered again before the counter underflows
• At the next cycle when the counter is enabled in single-shot output mode
• At the next cycle when the counter underflowed in delayed single-shot output or continuous output mode
• At the next cycle when the counter is enabled in PWM output mode and at the next cyclewhen the counter
value set by the reload 1 register underflowed
Simply because data is written to the reload 0 register does not mean that the data is loaded into the counter.
The counter is loaded with data in only the above cases.
If the register is used as a measure register, the counter value is latched into that measure register by event input.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TIO0RL1–TIO9RL1
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TIO Reload 1 Registers are used to reload data into the TIO Count Registers (TIO0CT–TIO9CT).
The content of "the reload 1 register -1" is reloaded into the counter counting synchronously with the count
clock at the following timing:
• At the next cycle when the count value set by the reload 0 register underflowed in PWM output mode
Simply because data is written to the reload 1 register does not mean that the data is loaded into the counter.
The counter is loaded with data in only the above cases.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TIO9 TIO8 TIO7 TIO6 TIO5 TIO4 TIO3 TIO2 TIO1 TIO0
PRO PRO PRO PRO PRO PRO PRO PRO PRO PRO
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The TIO0–9 Enable Protect Register controls rewriting of the TIO count enable bit described in the next page
by enabling or disabling it.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TIO9 TIO8 TIO7 TIO6 TIO5 TIO4 TIO3 TIO2 TIO1 TIO0
CEN CEN CEN CEN CEN CEN CEN CEN CEN CEN
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The TIO0–9 Count Enable Register controls operation of the TIO counters. To enable any TIO counter in
software, enable its corresponding enable protect bit for write and set the count enable bit by writing "1." To
stop any TIO counter, enable its corresponding enable protect bit for write and reset the count enable bit by
writing "0."
In all but continuous output mode, when the counter stops due to occurrence of an underflow, the count enable
bit is automatically reset to "0." Therefore, the TIO0–9 Count Enable Register when accessed for read serves
as a status register indicating whether the counter is operating or idle.
F/F
WR
In measure free-run/clear input modes, the timer is used to measure a duration of time from when the
counter starts counting until when an external capture signal is entered. It is possible to generate an inter-
rupt request upon underflow of the counter or execution of measurement operation and a DMA transfer
request (for only the TIO8 and TIO9) upon underflow of the counter.
After the timer is enabled (by writing to the enable bit in software), the counter starts counting down synchro-
nously with the count clock. When a capture signal is entered from an external device, the counter value at
that point in time is written into a register called the “measure register.”
In measure clear input mode, the counter value is initialized to H’FFFF upon capture, from which the counter
starts counting down again. The counter returns to H’FFFF upon underflow, from which it starts counting down.
In measure free-run input mode, the counter continues counting down even after capture and upon under-
flow, recycles to H’FFFF, from which it starts counting down again.
To stop the counter, disable count by writing to the enable bit in software.
Enabled
(by writing to Measure event Measure event
the enable bit) (capture) occurs (capture)
Count clock
Enable bit
H'FFFF
Undefined
value
H'9000
Counter
H'7000
H'0000
Enabled
(by writing to Measure event
the enable bit) (capture) occurs
Count clock
Enable bit
H'FFFF
Undefined
value
Counter
H'7000
H'0000
The following describes precautions to be observed when using TIO measure free-run/ clear input modes.
• If measure event input and write to the counter occur in the same clock period, the write value is set in the
counter while at the same time latched into the measure register.
In noise processing input mode, the timer is used to detect that the input signal remained in the same state for
over a predetermined time.
In noise processing input mode, a "H" or "L" level on external input activates the counter and if the input signal
remains in the same state for over a predetermined time before the counter underflows, the counter generates
an interrupt request before stopping. If the valid-level signal being applied turns to an invalid level before the
counter underflows, the counter temporarily stops counting and at the next cycle after a valid-level signal is
entered again, the counter is reloaded with the value that "reload register -1" and restarts counting. The effec-
tive count width is "reload 0 register set value + 1."
The timer stops at the same time the counter underflows or count is disabled by writing to the enable bit.
Furthermore, it is possible to generate an interrupt request and a DMA transfer request (for only the TIO8 and
TIO9) upon underflow of the counter.
Enabled
(by writing to
the enable bit)
Count clock
Disabled by underflow
Enable bit
External input
(noise processing)
Invalid Invalid Effective signal
width
H'FFFF
Undefined
value
H'A000
(Note 2) (Note 2) (Note 2)
Counter
H'0000
In PWM output mode, the timer uses two reload registers to generate a waveform with a given duty cycle.
When the timer is enabled "by writing to the enable bit in software or by external input" after setting the initial
values in the reload 0 and reload 1 registers, the counter is loaded with the value that "the reload 0 register
-1" and starts counting down synchronously with the count clock at the next cycle. At the cycle after the first
time the counter underflows, it is loaded with the value that "the reload 1 register -1" and continues counting.
Thereafter, the counter is loaded with the reload 0 and reload 1 register values alternately each time an
underflow occurs. The "reload 0 register set value + 1" and "reload 1 register set value + 1" respectively are
effective as count values. The timer stops at the same time count is disabled by writing to the enable bit "and
not in synchronism with PWM output period."
The F/F output waveform in PWM output mode is inverted "F/F output level changes from "L" to "H" or vice versa"
when the counter starts counting and each time it underflows.
Furthermore, it is possible to generate an interrupt request at even-numbered occurrences of underflow after the
counter is enabled and a DMA transfer request "for only the TIO8 and TIO9" every time the counter underflows.
Note that TIO’s PWM output mode does not have the count correction function.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
Count down from Count down from Count down from
the reload 0 the reload 1 the reload 0
register set value register set value register set value
H'FFFF
(Note 3)
H'C000
Undefined
value
(Note 2)
H'A000 H'A000
H'A000
(Note 2)
Counter
H'0000
Reload 1 buffer
In PWM output mode, when the timer remains idle, the reload 0 and reload 1 registers are updated at the
same time data are written to the respective registers. But when the timer is operating, the reload 1 register
is updated by updating the reload 0 register. However, if the reload 0 and reload 1 registers are accessed
for read, the read values are always the data that have been written to the respective registers.
Internal bus
Reload 1
TIOnRL1 Reload 1 WR
Reload 0 WR
Reload 0
(Note1)
Reload 1 Buffer TIOnRL0
Note 1: It is transferd from reload 1 register to reload 1 buffer when reload 0 register is reloaded
after updating reload 0 register during counter operation.
To rewrite the reload 0 and reload 1 registers while the timer is operating, rewrite the reload 1 register first
and then the reload 0 register. That way, the reload 0 and reload 1 registers both are updated synchro-
nously with PWM period, from which the timer starts operating. This operation can normally be performed
collectively by accessing 32-bit addresses beginning with the reload 1 register address wordwise. (Data are
automatically written to the reload 1 and then the reload 0 registers in succession.)
If the reload 0 and reload 1 registers are accessed for read, the read values are always the data that have
been written to the respective registers, and not the reload values being actually used.
When altering PWM period by rewriting the reload registers, if the PWM period terminates before the CPU
finishes writing to reload 0, the PWM period is not altered in the current session and the data written to the
register is reflected in the next period.
When altering PWM period by rewriting the reload registers, if the PWM period terminates before the CPU
finishes writing to reload 0, the PWM period is not altered in the current session and the data written to the
register is reflected in the next period.
When operating in the PWM output mode, writing the reload 0 register and reloard 1 register more than
twice within the PWM period and meet the following conditions at the same time, the PWM waveform is
output with the value that the last time written reload 0 register and finally written reload 1 register.
Condition 1: Start writing reload 0 register after latching the reload 0 register PWM period of the old PWM
output period.
Condition 2: Rewrite reload 1 register before latching PWM period of the new PWM output period and
start writing reload 0 register after latching PWM period.
Count clock
H'FFFF
(Note 2)
(Note 1) (Note 1)
Counter
H'0000
Old PWM output period New PWM putput period
F/F output
Condition 1 Condition 2
Reload 0 register
Reload 1 register
Reload 1 buffer
PWM period
To update PWM period correctly, take either one of the following measures.
• Identify the completion timing of PWM period by reading counter value at writing reload 1 register and
reload 0 register, and then start writing reload 1 register and reload 0 register without crossing PWM period.
• When writing to reload 1 register and reload 0 register by using interruption, set the prescaler value of
counter as small as possible. By doing this, write to reload 1 register and reload 0 register later than the
counter to be H'FFFF in the PWM period.
• Writing reload 1 register and reload 0 register is performed under the period, less than one time per PWM
period. (Extend the reload register's rewrite period against PWM period.)
The following describes precautions to be observed when using TIO PWM output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read as H’FFFF but
changes to "reload register value -1" at the next count clock timing.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay
is generated before F/F output is inverted after writing to the enable bit.
(a) When reload register updates take effect in the current period (reflected in the next period)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
Enlarged
view
New PWM
output period
Count clock
Interrupt due
to underflow
F/F output
Timing at which PWM period latched
Timing at which reload 0 is updated and reload 1 buffer is updated.
(b) When reload register updates take effect in the next period (reflected one period later)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
Enlarged
view Old PWM
output period
Count clock
Interrupt due
to underflow
F/F output
Figure 10.4.12 Reload 0 and Reload 1 Register Updates in PWM Output Mode
In single-shot output mode, the timer generates a pulse in width of "reload 0 register set value + 1" only once
and then stops.
When the timer is enabled "by writing to the enable bit in software or by external input "after setting the
reload 0 register, the counter is loaded with the content of the "reload 0 register -1" and starts counting
synchronously with the count clock at the next cycle. The counter counts down and when the minimum
count is reached, stops upon underflow.
The F/F output waveform in single-shot output mode is inverted "F/F output level changes from "L" to "H" or
vice versa" at startup and upon underflow, generating a single-shot pulse waveform in width of "reload 0
register set value + 1" only once.
Furthermore, it is possible to generate an interrupt request and a DMA transfer request (for only the TIO8
and TIO9) upon underflow of the counter.
The count value is "reload 0 register set value + 1." (For counting operation, see also Section 10.3.9,
“Operation of TOP Single-shot Output Mode.” )
The following describes precautions to be observed when using TIO single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the
enable bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay
is generated before F/F output is inverted after writing to the enable bit.
Enabled
(by writing to the enable bit Disabled
or by external input) (by underflow)
Count clock
Enable bit
H'FFFF
Undefined
value
(Note 2)
H'A000
Counter
H'0000
F/F output
Figure 10.4.13 Typical Operation in TIO Single-shot Output Mode (without Correction Function)
10.4.13 Operation in TIO Delayed Single-shot Output Mode (without Correction Function)
In delayed single-shot output mode, the timer generates a pulse in width of "reload 0 register set value + 1"
after a finite time equal to "counter set value + 1" only once and then stops.
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
counter and reload 0 register, it starts counting down from the counter’s set value synchronously with the
count clock. At the cycle after the first counter underflow, it is loaded with "the reload 0 register value -1" and
continues counting down. The counter stops when it underflows next time.
The F/F output waveform in delayed single-shot output mode is inverted (F/F output level changes from "L"
to "H" or vice versa) when the counter underflows first time and next, generating a single-shot pulse wave-
form in width of "reload 0 register set value + 1" after a finite time equal to "first set value of counter + 1" only
once.
Furthermore, it is possible to generate an interrupt request and a DMA transfer request (for only the TIO8
and TIO9) upon the first and next underflows of the counter.
The "counter set value + 1" and "reload 0 register set value + 1" are effective as count values. (For counting
operation, see also Section 10.3.10, “Operation of TOP Delayed Single-shot Output Mode.”)
The following describes precautions to be observed when using TIO delayed single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the
enable bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• If the counter is accessed for read ar the cycle of underflow, the counter value is read out as H’FFFF but
changes to "reload register value -1" at the next count clock timing.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
H'FFFF
H'F000 (Note 2)
H'0000
F/F output
Figure 10.4.14 Typical Operation in TIO Delayed Single-shot Output Mode (without Correction Function)
In continuous output mode, the timer counts down starting from the set value of the counter and the next
cycle when the counter underflows, it is loaded with the value that "the reload 0 register -1." Thereafter, this
operation is repeated each time the counter underflows, thus generating consecutive pulses whose wave-
form is inverted in width of "reload 0 register set value + 1."
When the timer is enabled (by writing to the enable bit in software or by external input) after setting the
counter and reload 0 register, it starts counting down from the counter’s set value synchronously with the
count clock and when the minimum count is reached, generates an underflow. The cycle after this under-
flow causes the counter to be loaded with the content of "the reload 0 register -1" and start counting over
again. Thereafter, this operation is repeated each time an underflow occurs. To stop the counter, disable
count by writing to the enable bit in software. The timing for reloading to counter is the cycle after underflow.
The F/F output waveform in continuous output mode is inverted (F/F output level changes from "L" to "H" or
vice versa) at startup and upon underflow, generating a waveform of consecutive pulses until the timer
stops counting.
Furthermore, it is possible to generate an interrupt request and a DMA transfer request (for only the TIO8
and TIO9) each time the counter underflows.
The "counter set value + 1" and "reload 0 register set value + 1" are effective as count values. (For counting
operation, see also Section 10.3.11, “Operation of TOP Continuous Output Mode.”)
The following describes precautions to be observed when using TIO continuous output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read out as H’FFFF but
changes to "reload register value -1" at the next count clock timing.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay
is generated before F/F output is inverted after writing to the enable bit.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
H'FFFF
H'E000 H'DFFF H'DFFF
(Note 2) (Note 2)
Count down from
the counter set
H'A000
value
Counter
H'0000
F/F output
Figure 10.4.15 Typical Operation in TIO Continuous Output Mode (without Correction Function)
TMS (Timer Measure Small) is an input-related 16-bit timer capable of measuring input pulses in two circuit
blocks comprising a total of eight channels.
The table below and the diagram in the next page show specifications and a block diagram of TMS, respec-
tively.
In TMS, when the timer is enabled (by writing to the enable bit in software), the counter starts operating. The
counter is a 16-bit up-counter, where when a measure signal is entered from an external device, the counter
value is latched into each measure register.
The counter stops counting at the same time count is disabled by writing to the enable bit in software.
TIN and TMS interrupt requests can be generated by external measure signal input and counter overflow,
respectively.
TMS 0
ovf IRQ7
Measure register 1
Measure register 0
TMS 1
ovf IRQ7
clk
S Counter Measure register 3
Measure register 1
Measure register 0
IRQ10
TIN17 (P131) TIN17S S
IRQ10
TIN18 (P132) TIN18S S
DMA2
IRQ10
TIN19 (P133) TIN19S S
DMA4
S : Selector
• Because the timer operates synchronously with the count clock, there is a count clock-dependent delay
from when the timer is enabled till when it actually starts operating.
BCLK
Count clock period
Count clock
Enable
Count clock-dependent
delay
The TMS control registers are used to select TMS0/1 input events and count clock sources, as well as control
count enable. Following two TMS control registers are included:
b0 1 2 3 4 5 6 b7
TMS0SS0 TMS0SS1 TMS0SS2 TMS0SS3 TMS0CKS TMS0CEN
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TMS1SS0 TMS1SS1 TMS1SS2 TMS1SS3 TMS1CKS TMS1CEN
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TMS0CT, TMS1CT
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TMS counters are a 16-bit up-counter, which starts counting when the timer is enabled (by writing to the
enable bit in software). The counters can be read on-the-fly.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TMS0MR3–TMS0MR0 , TMS1MR3–TMS1MR0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TMS measure registers are used to latch counter contents upon event input. The TMS measure registers
are a read-only register.
In TMS measure input, when the timer is enabled (by writing to the enable bit in software), it starts counting
up synchronously with the count clock. Then when event input to TMS is detected while the timer is operat-
ing, the counter value is latched into measure registers 0–3. The timer stops counting at the same time
count is disabled by writing to the enable bit.
A TIN interrupt request can be generated by measure signal input from an external device. A TMS interrupt
request can be generated when the counter overflows.
Count clock
Enable bit
H'FFFF
H'D000
H'C000
Counter
H'8000
Undefined H'6000
value
H'0000
The following describes precautions to be observed when using TMS measure input.
• If measure event input and write to the counter occur in the same clock period, the write value is set in the
counter while at the same time latched into the measure register.
TML (Timer Measure Large) is an input-related 32-bit timer capable of measuring input pulses in two circuit
blocks comprising a total of eight channels.
The table and diagram below show specifications and a block diagram of TML, respectively.
TML0
BCLK 1/2
clk
1/4 S Counter Measure register 3
(32-bit)
Measure register 2
Measure register 1
Measure register 0
clk
S Counter Measure register 3
(32-bit)
Measure register 2
Measure register 1
Measure register 0
S : Selector
b8 9 10 11 12 13 14 b15
TML0SS0 TML0SS1 TML0SS2 TML0SS3 TML0CKS
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
TML1SS0 TML1SS1 TML1SS2 TML1SS3 TML1CKS
0 0 0 0 0 0 0 0
The TML control register is used to select TML input event and count clock.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TML0CT, TML1CT (16 high-order bits)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
(16 low-order bits)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TML counters are a 32-bit up-counter, which starts counting upon deassertion of the reset input signal.
The counters can be read during operation.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TML0MR3-TML0MR0,TML1MR3-TML1MR0 (16 high-order bits)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
(16 low-order bits)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TML measure registers are a 32-bit register, which is used to latch the counter content upon event input.
The TML measure registers can only be read, and cannot be written to.
In TML measure input, when the reset input signal is deasserted, the counter starts counting up synchro-
nously with the count clock. Upon event input to measure registers 0–3, the counter value is latched into
each measure register.
A TIN interrupt request can be generated by measure signal input from an external device. However, no
TML counter overflow interrupts are available.
Count clock
Reset
H'FFFF FFFF
Undefined
value
H'0000 0000
The following describes precautions to be observed when using TML measure input.
• If measure event input and write to the counter occur in the same clock period, the write value is set in the
counter, whereas the up-count value (before being rewritten) is latched into the measure register.
• If clock bus 1 is selected and any clock other than BCLK/2 or BCLK/4 (Note 1) is used for the timer, by
divided by internal prescaler PRS1, the value captured into the measure register is one count larger the
counter value. During the count clock to BCLK/2 or BCLK/4 (Note 1) period interval, however, the cap-
tured value is exactly the counter value.
The diagram below shows the relationship between counter operation and the valid data that can be captured.
Note 1: To select BCLK/2 or BCLK/4, use the PRS012CKS (prescaler 0-2, TML0,1 supplied clock
select) bit. For details, refer to Section 10.2.2, “Common Count Clock Select Function.”
Captured A B C D E F
Counter A B C
Captured B C D
Note 1: To select BCLK/2 or BCLK/4, use the PRS012CKS (prescaler 0-2, TML0,1 supplied clock select) bit.
For details, refer to Section 10.2.2, "Common Count Clock Select Function."
TID (Timer Input Derivation) is an input-related 16-bit timer, whose operation mode can be selected from the
following by mode switching in software, one at a time:
The table below and the diagram in the next page show specifications and a block diagram of TID, respectively.
TID 0
Reload register
BCLK
clk Clock
1/4 PRS3 ovf IRQ14
control Up/down-counter
(Note 1) udf DMA0
TIN24S IRQ11
CLK1 CLK2
TIN24(P103)
TIN25(P104)
IRQ11 TOU0_7udf S TOU0_0-7en
TIN25S
TID 1
Reload register
BCLK
clk Clock
1/4 PRS4 ovf
control Up/down-counter IRQ15
(Note 1) udf DMA1
TIN26S IRQ11
CLK1 CLK2
TIN26(P73)
TIN27(P72)
IRQ11 TOU1_7udf S TOU1_0-7en
TIN27S
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay is
generated by the time when the timer actually starts operating after writing to the enable bit.
BCLK
Count clock period
Count clock
Enable
Count clock-dependent
delay
b8 9 10 11 12 13 14 b15
TID0M TID0CEN TOU0ENS PRS3EN
0 0 0 0 0 0 0 0
The TID0 Control & Prescaler 3 Enable Register is used to select TID0 operation mode (Fixed period count,
Event count, Multiply-by-4 event count or Up/down event count mode), as well as select TOU0_0–7 timer
enable sources and control prescaler 3 startup.
TID1 Control & Prescaler 4 Enable Register (TID1PRS4EN) <Address: H’0080 0BD1>
b8 9 10 11 12 13 14 b15
TID1M TID1CEN T0U1ENS PRS4EN
0 0 0 0 0 0 0 0
The TID1 Control & Prescaler 4 Enable Register is used to select TID1 operation mode (Fixed period count,
Event count, Multiply-by-4 event count or Up/down event count mode), as well as select TOU1_0–7 timer
enable sources and control prescaler 4 startup.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TID0CT, TID1CT
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TID counters are a 16-bit up/down-counter. After the timer is enabled (by writing to the enable bit in
software), the counter starts counting synchronously with the count clock.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TID0RL, TID1RL
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TID reload registers are used to reload data into the TID counter registers (TID0CT and TID1CT).
The content of "the reload register -1" is loaded into the counter synchronously with the count clock in the
following timing:
• At the next cycle when the counter is enabled in fixed period count mode
• At the next cycle when the counter has underflowed in fixed period count mode
Simply because data is written to the reload register does not mean that the data is loaded into the counter. The
counter is loaded with data in only the above cases.
Each mode of TID is outlined below. TID modes can be selected from the following, only one at a time.
In fixed period count mode, the timer uses a reload register to generate an interrupt request at intervals of
"reload register set value + 1."
When the timer is enabled (by writing to the enable bit in software) after setting the reload register (initial
value being undefined), the counter is loaded with the content of "the reload register -1" and starts counting
synchronously with the count clock at the next cycle. The counter counts down and when it underflows after
reaching the minimum count, the counter is loaded with the content of "the reload register -1" and continues
counting. To stop the counter, disable count by writing to the enable bit in software. An interrupt request and
a DMA transfer request can be generated each time the counter underflows.
The "reload register set value + 1" is effective as count value.
Count clock
Enable bit
H'FFFF
H'E000 H'(E000-1) H'(E000-1)
H'E000
H'(E000-1) (Note 1) (Note 1)
(Note 1)
Undefined
Counter value
H'0000
In event count mode, the timer uses an external input signal (TIN24 or TIN26) as the clock source for the counter.
Note: • TIN25 and TIN27 cannot be used as the clock source for the counter.
By detecting the rising and falling edges of the external input signal (TIN24 or TIN26), the timer generates
clock pulses synchronized to the microcomputer’s internal clock. When after setting the counter the timer is
enabled (by writing to the enable bit in software), the counter starts counting up from the set count value
synchronously with the generated clock.
An interrupt request and a DMA transfer request can be generated by a counter overflow.
To stop the counter, disable count by writing to the enable bit in software or fix the external input signal
either "H" or "L."
TIN24
(TIN26)
Figure 10.7.4 Typical Operation in TID Event Count Mode (Basic Operation)
TIN24
(TIN26)
Figure 10.7.5 Typical Operation in TID Event Count Mode (when Overflow Occurs)
In multiply-by-4 event count mode, the timer uses two external input signals in pairs (TIN24 and TIN25 or
TIN26 and TIN27) as the clock sources for the counter. The count direction is switched between up-count
and down-count depending on the status of the two input signals.
By detecting the rising and falling edges on both of the two external input signals, the timer generates clock
pulses synchronized to the microcomputer’s internal clock. When after setting the counter the timer is en-
abled (by writing to the enable bit in software), the counter starts counting synchronously with the generated
clock. To know whether the counter counts up or counts down, see Table 10.7.2 below.
An interrupt request and a DMA transfer request can be generated when the counter underflows or overflows.
To stop the counter, disable count by writing to the enable bit in software or fix the external input signals
either "H" or "L."
TIN24 (TIN26)
TIN25 (TIN27)
Counter value 7FFE 7FFF 8000 8001 8002 8003 8002 8001 8000 7FFF 7FFE
Switched over
8003
Counter
7FFE
Up-count Down-count
TIN24 (TIN26)
TIN25 (TIN27)
Timer count
Switched over
enable
Enabled Disabled Disabled Enabled Disabled
Enabled
8001
Counter
7FFE
Up-count Down-count
TIN24 (TIN26)
TIN25 (TIN27)
Counter value FFFD FFFE FFFF 0000 0001 0002 0001 0000 FFFF FFFE FFFD
Switched over
FFFF
Counter
0000
TID output
interrupt request
Up-count Down-count
DMA transfer
interrupt request
In up/down event count mode, the timer uses one of two-channel external input signals (TIN24 or TIN26) as
the clock source for the counter and the other (TIN25 or TIN27) as an up/down select signal.
The counter is switched between up-count and down-count depending on the status of the up/down select
input signal. By detecting the rising and falling edges of the external input signal selected as the clock source,
the timer generates clock pulses synchronized to the microcomputer’s internal clock. When after setting the
counter the timer is enabled, the counter starts counting up or down synchronously with the generated clock.
The count direction is determined by the level of the up/down select input signal (see Table 10.7.3). An inter-
rupt request and a DMA transfer request can be generated when the counter underflows or overflows.
To stop the counter, disable count by writing to the enable bit in software or fix the external input signal
selected as the clock source either "H" or "L."
Note that TIN25 and TIN27 cannot be used as the clock source.
TIN24
(TIN26)
TIN25
(TIN27)
Up-count Down-count
TIN24 (TIN26)
TIN25 (TIN27)
Counter value FFFD FFFE FFFF 0000 0001 0002 0003 0002 0001 0000 FFFF FFFE FFFD
TOU (Timer Output Unification) is an output-related 24-bit timer, whose operation mode can be selected from
the following by mode switching in software, one at a time.
The table below and the diagram in the next page show specifications and a block diagram of TOU, respectively.
TIN26S IRQ16
S clk
en TOU1_7 (24-bit) udf F/F36 TO36 (P17/P117)
DMA4
BCLK
1/4 PRS4 clk ovf
CLK1 CLK2 TID 1 udf
IRQ15
DMA1
TIN26 (P73)
TIN27 (P72) IRQ11 S
TIN27S
When the timer is enabled after setting the initial values in the reload 0 and reload 1 registers, the counter is
loaded with the value that "the reload 0 register -1" and starts counting down synchronously with the count
clock. At the cycle after first time the counter underflows, it is loaded with the contents that "the reload 1
register -1" and continues counting. Thereafter, the counter is loaded with the reload 0 and reload 1 register
values alternately each time an underflow occurs. The "reload 0 register set value + 1" and "reload 1 register
set value + 1" respectively are effective as count values.
Stopping timer and count disable writing to enable bit occur at same time.(Stopping time is not synchronized
with PWM output period.)
The F/F output waveform in PWM output mode is inverted (F/F output level changes from "L" to "H" or vice
versa) when the counter starts counting and each time it underflows. The timer stops at the same time count
is disabled by writing to the enable bit (and not in synchronism with PWM output period).
An interrupt request and DMA transfer request can be generated at even-numbered occurrences of under-
flow after the counter is enabled.
When the timer is enabled after setting the initial values in the reload 0 and reload 1 registers, the counter is
loaded with the reload 0 register value and starts counting down synchronously with the count clock. At the
cycle after the first time the counter underflows, it is loaded with the value that "the reload 1 register -1" and
continues counting. The counter stops when it underflows next time. The "reload 0 register set value + 1"
and "reload 1 register set value + 1" respectively are effective as count values.
The timer can be stopped in software, in which case it stops at the same time count is disabled by writing to
the enable bit (and not in synchronism with PWM output period).
The F/F output waveform in single-shot PWM output mode is inverted (F/F output level changes from "L" to
"H" or vice versa) each time the counter underflows. (Unlike in PWM output mode, the F/F output is not
inverted when the counter is enabled.)
An interrupt request and DMA transfer request can be generated when the counter underflows second time
after being enabled.
When the timer is enabled after setting the counter and reload register, it starts counting down from the
counter’s set value synchronously with the count clock. At the cycle after the first time the counter
underflows, it is loaded with the value that "the reload register -1" and continues counting down. The counter
stops when it underflows next time.
The F/F output waveform in delayed single-shot output mode is inverted (F/F output level changes from "L" to
"H" or vice versa) when the counter underflows first time and next, generating a single-shot pulse waveform in
width of "reload register set value + 1" after a finite time equal to "first set value of counter + 1" only once.
An interrupt request and DMA transfer request can be generated when the counter underflows first time and next.
When the timer is enabled after setting the reload register, the counter is loaded with the content of "the
reload register -1" and starts counting synchronously with the count clock at the next cycle. The counter
counts down and when the minimum count is reached, stops upon underflow.
The F/F output waveform in single-shot output mode is inverted (F/F output level changes from "L" to "H" or
vice versa) at startup and upon underflow, generating a single-shot pulse waveform in width of "reload
register set value + 1" only once. An interrupt request and DMA transfer request can be generated when the
counter underflows.
When the timer is enabled after setting the counter and reload register, it starts counting down from the
counter’s set value synchronously with the count clock and when the minimum count is reached, generates
an underflow. At the cycle after this underflow causes the counter to be loaded with the content of "the
reload register -1" and start counting over again at the next cycle. Thereafter, this operation is repeated
each time an underflow occurs. To stop the counter, disable count by writing to the enable bit in software.
The F/F output waveform in continuous output mode is inverted (F/F output level changes from "L" to "H" or
vice versa) at startup and upon underflow, generating a waveform of consecutive pulses until the timer
stops counting. An interrupt request and DMA transfer request can be generated each time the counter
underflows.
BCLK
Enable
Count clock-dependent
delay
F/F operation (Note 1)
Inverted
Note 1: This applies to the case where F/F output is inverted when the timer is enabled.
H'0080 0526 PWMOFF 0 Function Enable Register PWMOFF 1 Function Enable Register 10-173
(PWMOFF0EN) (PWMOFF1EN)
|
H'0080 0780 PWM Output 0 Disable Control Register GB PWM Output 0 Disable Level Control Register GB 10-168
(PO0DISGBCR) (PO0LVGBCR) 10-171
H'0080 0782 PWM Output 1 Disable Control Register GB PWM Output 1 Disable Level Control Register GB 10-169
(PO1DISGBCR) (PO1LVGBCR) 10-171
|
H'0080 0790 TOU0_0 Counter (Upper) 10-157
(TOU00CTW) (TOU00CTH)
H'0080 0792 (Lower) 10-159
(TOU00CT)
H'0080 0794 TOU0_0 Reload Register TOU0_0 Reload 1 Register 10-160
(TOU00RLW) (TOU00RL1) 10-162
H'0080 0796 TOU0_0 Reload 0 Register 10-161
(TOU00RL0)
H'0080 0798 TOU0_1 Counter (Upper) 10-157
(TOU01CTW) (TOU01CTH)
H'0080 079A (Lower) 10-159
(TOU01CT)
H'0080 079C TOU0_1 Reload Register TOU0_1 Reload 1 Register 10-160
(TOU01RLW) (TOU01RL1) 10-162
H'0080 079E TOU0_1 Reload 0 Register 10-161
(TOU01RL0)
H'0080 07A0 TOU0_2 Counter (Upper) 10-157
(TOU02CTW) (TOU02CTH)
H'0080 07A2 (Lower) 10-159
(TOU02CT)
H'0080 07A4 TOU0_2 Reload Register TOU0_2 Reload 1 Register 10-160
(TOU02RLW) (TOU02RL1) 10-162
H'0080 07A6 TOU0_2 Reload 0 Register 10-161
(TOU02RL0)
H'0080 07A8 TOU0_3 Counter (Upper) 10-157
(TOU03CTW) (TOU03CTH)
H'0080 07AA (Lower) 10-159
(TOU03CT)
H'0080 07AC TOU0_3 Reload Register TOU0_3 Reload 1 Register 10-160
(TOU03RLW) (TOU03RL1) 10-162
H'0080 07AE TOU0_3 Reload 0 Register 10-161
(TOU03RL0)
H'0080 07B0 TOU0_4 Counter (Upper) 10-157
(TOU04CTW) (TOU04CTH)
H'0080 07B2 (Lower) 10-159
(TOU04CT)
H'0080 07B4 TOU0_4 Reload Register TOU0_4 Reload 1 Register 10-160
(TOU04RLW) (TOU04RL1) 10-162
H'0080 07B6 TOU0_4 Reload 0 Register 10-161
(TOU04RL0)
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOU0 PRS3 TOU0 TOU00 TOU01 TOU02 TOU03 TOU04 TOU05 TOU06 TOU07
CKS CKS SHEN M1 M1 M1 M1 M1 M1 M1 M1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TOU0 Control Registers 0 and 1 are used to select operation modes of TOU0_0–7.
To select prescaler 3 as the clock source for TOU0, make sure the TID0 Control & Prescaler 3 Enable Register’s
prescaler 3 enable bit is set to "1." For details, see Section 10.7.3, “TID Control & Prescaler Enable Registers.”
Note: • Before setting up or modifying the TOU control register, be sure to stop the relevant timer by
writing "0" to its count enable bit.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOU10M0 TOU11M0 TOU12M0 TOU13M0 TOU14M0 TOU15M0 TOU16M0 TOU17M0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOU1 PRS4 TOU1 TOU10 TOU11 TOU12 TOU13 TOU14 TOU15 TOU16 TOU17
CKS CKS SHEN M1 M1 M1 M1 M1 M1 M1 M1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TOU1 Control Registers 0 and 1 are used to select operation modes of TOU1_0–7.
To select prescaler 4 as the clock source for TOU1, make sure the TID1 Control & Prescaler 4 Enable Register’s
prescaler 4 enable bit is set to "1." For details, see Section 10.7.3, “TID Control & Prescaler Enable Registers.”
Note: • Before setting up or modifying the TOU control register, be sure to stop the relevant timer by
writing "0" to its count enable bit.
b0 1 2 3 4 5 6 b7
SHFP21 SHFP22 SHFP23 SHFP24 SHFP25 SHFP26
0 0 0 0 0 0 0 0
Shorting Prevention Function F/F29–34 Protect Register (SHFF2934P) <Address: H’0080 0BD4>
b0 1 2 3 4 5 6 b7
SHFP29 SHFP30 SHFP31 SHFP32 SHFP33 SHFP34
0 0 0 0 0 0 0 0
These registers control write to each shorting prevention function F/F (flip-flop) by enabling or disabling. If write
to any F/F is disabled, writing to the shorting prevention F/F data register has no efect.
Shorting Prevention Function F/F21-26 Data Register (SHFF2126D) <Address: H’0080 07D6>
b0 1 2 3 4 5 6 b7
SHFD21 SHFD22 SHFD23 SHFD24 SHFD25 SHFD26
0 0 0 0 0 0 0 0
Shorting Prevention Function F/F29–34 Data Register (SHFF2934D) <Address: H’0080 0BD6>
b0 1 2 3 4 5 6 b7
SHFD29 SHFD30 SHFD31 SHFD32 SHFD33 SHFD34
0 0 0 0 0 0 0 0
These registers are used to set output in each shorting prevention function F/F (flip-flop). The F/F data register
can only be operated on when the F/F protect register described earlier is enabled for write.
The TOU counters are functionally different depending on the timer’s operation mode.
(1) TOU counters during single-shot output, delayed single-shot output and continuous output modes
TOU0_0 Counter (TOU00CTW) <Address: H’0080 0790>
TOU0_1 Counter (TOU01CTW) <Address: H’0080 0798>
TOU0_2 Counter (TOU02CTW) <Address: H’0080 07A0>
TOU0_3 Counter (TOU03CTW) <Address: H’0080 07A8>
TOU0_4 Counter (TOU04CTW) <Address: H’0080 07B0>
TOU0_5 Counter (TOU05CTW) <Address: H’0080 07B8>
TOU0_6 Counter (TOU06CTW) <Address: H’0080 07C0>
TOU0_7 Counter (TOU07CTW) <Address: H’0080 07C8>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOU00CTW-TOU07CTW, TOU10CTW-TOU17CTW
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TOU counters operate as a 24-bit down-counter when in single-shot output, delayed single-shot output or
continuous output mode. After the timer is enabled (by writing to the enable bit in software or upon occurrence
of the event selected by the TOU enable source select bit), the counter starts counting synchronously with the
count clock. Bits 8–15 and bits 16–31 are the 8 high-order and the 16 low-order bits of the counter, respec-
tively. Bits 0–7 are ignored.
When writing to the counter separately in high and low-order bits, rewrite the 8 high-order bits first and then the
16 low-order bits. The 8 high-order bits become effective when the 16 low-order bits are rewritten. If the counter
is rewritten in the reverse order beginning with the 16 low-order bits, the value of the 8 high-order bits is not
reflected until the next time the 16 low-order bits are rewritten. If the 8 high-order bits are read before the CPU
has finished rewriting the 16 low-order bits after rewriting the 8 high-order bits. The read value shows the
previous data (when not counting) or the current count of the previous data (when count is in progress), and not
the new rewritten data. If the counter is written to in 32-bit units, it is rewritten successively in order of the 8
high-order bits and then the 16 low-order bits automatically.
During PWM output or single-shot PWM output mode, the TOU counters operate as a 16-bit down-counter
where only the 16 low-order bits are effective. For details, see Section 10.8.6, Paragraph (2), “TOU counters
during PWM output and single-shot PWM output modes.”
(2) TOU counters during PWM output and single-shot PWM output modes
TOU0_0 Counter (TOU00CT) <Address: H’0080 0792>
TOU0_1 Counter (TOU01CT) <Address: H’0080 079A>
TOU0_2 Counter (TOU02CT) <Address: H’0080 07A2>
TOU0_3 Counter (TOU03CT) <Address: H’0080 07AA>
TOU0_4 Counter (TOU04CT) <Address: H’0080 07B2>
TOU0_5 Counter (TOU05CT) <Address: H’0080 07BA>
TOU0_6 Counter (TOU06CT) <Address: H’0080 07C2>
TOU0_7 Counter (TOU07CT) <Address: H’0080 07CA>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOU00CT–TOU07CT, TOU10CT–TOU17CT
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The TOU counters operate as a 16-bit down-counter when in PWM output or single-shot PWM output mode.
After the timer is enabled (by writing to the enable bit in software or upon occurrence of the event selected by
the TOU enable source select bit), the counter starts counting synchronously with the count clock.
During single-shot output, delayed single-shot output and continuous output modes, the TOU counters operate
as a 24-bit down-counter, with the 8 high-order bits added. For details, see Section 10.8.6, Paragraph (1),
“TOU counters during single-shot output, delayed single-shot output and continuous output modes.”
The TOU reload registers are used to load data into the TOU counters. These registers are functionally differ-
ent depending on the timer’s operation mode.
(1) TOU reload registers during single-shot output, delayed single-shot output and continuous output modes
TOU0_0 Reload Register (TOU00RLW) <Address: H'0080 0794>
TOU0_1 Reload Register (TOU01RLW) <Address: H'0080 079C>
TOU0_2 Reload Register (TOU02RLW) <Address: H'0080 07A4>
TOU0_3 Reload Register (TOU03RLW) <Address: H'0080 07AC>
TOU0_4 Reload Register (TOU04RLW) <Address: H'0080 07B4>
TOU0_5 Reload Register (TOU05RLW) <Address: H'0080 07BC>
TOU0_6 Reload Register (TOU06RLW) <Address: H'0080 07C4>
TOU0_7 Reload Register (TOU07RLW) <Address: H'0080 07CC>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOU00RLW-TOU07RLW, TOU10RLW-TOU17RLW
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
During single-shot output, delayed single-shot output and continuous output modes, TOU operates as a 24-bit
timer. The value set in the 24 low-order bits of the reload register is loaded into the counter. Bits 8–15 and bits
16–31 are the 8 high-order and the 16 low-order bits of the counter, respectively. Bits 0–7 are ignored.
The content of "the reload register -1" is loaded into the counter synchronously with the count clock at the
following timing:
• At the next cycle when the counter is enabled in single-shot output mode
• At the next cycle when the counter has underflowed in delayed single-shot output or continuous output mode
Simply because data is written to the reload register does not mean that the data is loaded into the counter. The
counter is loaded with data in only the above cases.
During PWM output and single-shot PWM output modes, the TOU reload register operates as 16-bit reload 0
and reload 1 registers. For details, see Section 10.8.7, Paragraph (2), “TOU reload registers during PWM
output and single-shot PWM output modes.”
32192/32195/32196 Group Hardware Manual 10-160
Rev.1.10 REJ09B0123-0110 Apr.06.07
MULTIJUNCTION TIMERS
10 10.8 TOU (Output-Related 24-Bit Timer)
(2) TOU reload registers during PWM output and single-shot PWM output modes
TOU0_0 Reload 0 Register (TOU00RL0) <Address: H'0080 0796>
TOU0_1 Reload 0 Register (TOU01RL0) <Address: H'0080 079E>
TOU0_2 Reload 0 Register (TOU02RL0) <Address: H'0080 07A6>
TOU0_3 Reload 0 Register (TOU03RL0) <Address: H'0080 07AE>
TOU0_4 Reload 0 Register (TOU04RL0) <Address: H'0080 07B6>
TOU0_5 Reload 0 Register (TOU05RL0) <Address: H'0080 07BE>
TOU0_6 Reload 0 Register (TOU06RL0) <Address: H'0080 07C6>
TOU0_7 Reload 0 Register (TOU07RL0) <Address: H'0080 07CE>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOU00RL0–TOU07RL0, TOU10RL0–TOU17RL0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
During PWM output and single-shot PWM output modes, TOU operates as a 16-bit timer. Use the reload 0
register to set the 16-bit value to be loaded into the counter when it is enabled.
The content of "the reload 0 register -1" is loaded into the counter synchronously with the count clock at the
following timing:
Simply because data is written to the reload register does not mean that the data is loaded into the counter. The
counter is loaded with data in only the above cases.
If the value "H'FFFF" is set in the reload register, F/F output will not be inverted, making it possible to produce
a 0% or 100% duty-cycle PWM output. For details, see Section 10.8.19, “0% or 100% Duty-Cycle Wave Output
during PWM Output and Single-shot PWM Output Modes.”
During single-shot output, delayed single-shot output and continuous output modes, the reload 0 and reload 1
registers are combined for use as a 24-bit reload register. For details, see Section 10.8.7, Paragraph (1), “TOU
reload registers during single-shot output, delayed single-shot output and continuous output modes.”
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TOU00RL1–TOU07RL1, TOU10RL1–TOU17RL1
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
During PWM output and single-shot PWM output modes, TOU operates as a 16-bit timer. Use the reload 1
register to set the 16-bit value to be loaded into the counter when the count value set in the reload 1 register has
underflowed.
The content of "the reload 1 register -1" is loaded into the counter synchronously with the count clock at the
following timing:
• At the next cycle when the count value set in the reload 0 register has underflowed in PWM output mode
Simply because data is written to the reload register does not mean that the data is loaded into the counter. The
counter is loaded with data in only the above cases.
If the value "H'FFFF" is set in the reload register, F/F output will not be inverted, making it possible to produce
a 0% or 100% duty-cycle PWM output. For details, see Section 10.8.19, “0% or 100% Duty-Cycle Wave Output
during PWM Output and Single-shot PWM Output Modes.”
During single-shot output, delayed single-shot output and continuous output modes, the reload 0 and reload 1
registers are combined for use as a 24-bit reload register. For details, see Section 10.8.7, Paragraph (1), “TOU
reload registers during single-shot output, delayed single-shot output and continuous output modes.”
b8 9 10 11 12 13 14 b15
TOUn0PRO TOUn1PRO TOUn2PRO TOUn3PRO TOUn4PRO TOUn5PRO TOUn6PRO TOUn7PRO
0 0 0 0 0 0 0 0
The TOU enable protect registers control rewriting of the TOU count enable bit described in Section 10.8.9,
“TOU Count Enable Registers,” by enabling or disabling rewrite.
b8 9 10 11 12 13 14 b15
TOUn0CEN TOUn1CEN TOUn2CEN TOUn3CEN TOUn4CEN TOUn5CEN TOUn6CEN TOUn7CEN
0 0 0 0 0 0 0 0
The TOU count enable registers control operation of the TOU counters. To enable any TOU counter in soft-
ware, enable its corresponding enable protect bit for rewrite and set the count enable bit by writing "1." To stop
any TOU counter, enable its corresponding enable protect bit for rewrite and reset the count enable bit by
writing "0."
In single-shot output, single-shot PWM output or delayed single-shot output mode, when the counter stops due to
occurrence of an underflow, the count enable bit is automatically reset to "0." Therefore, the TOU count enable
register when accessed for read serves as a status register indicating whether the counter is operating or idle.
TOU0m enable
(TOU0mCEN)
bn F/F TOU0m enable control
F/F
WR
F/F
WR
b0 1 2 3 4 5 6 b7
PWMOFF0SP PWMOFF0S
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
PWMOFF1SP PWMOFF1S
0 0 0 0 0 0 0 0
The PWMOFF input processing control registers are used to set the active edge or level entered for PWM
output disable control from an external pin. For details about the PWM output disable function, see Section
10.8.20, “PWM Output Disable Function.”
To set the PWMOFF input processing control bits, follow the procedure described below.
Note: • If theare are Writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 1 and 2,
the continuous setting ( A pair of two consecutive is 1 set for writing operation) is disabled and the
writing value is not reflected. Therefore, disable interrupts and DMA transfers before setting.
However the writing cycle from RTD and DRI are not effected.
PWMOFFnSP "1"
If a write cycle to any other area occurs
during this interval, the value that was
set in the PWMOFFnS bits is not reflected. (Note 1)
PWMOFFnSP "0"
PWMOFFnS Set value
PWMOFFnSP "1"
PWMOFFnSP "0"
PWMOFFnS Set value
(2)
PWMOFFnSP "1"
PWMOFFnSP "1"
PWMOFFnSP "0"
PWMOFFnS Set value
Note 1: The writing cycle to the other area is the writing cycle from CPU, DMA, SDI (tool), NBD
to any other area.The writing cycle from RTD and DRI do not effect.
PWM output disable control register is a register which performs disable control of the PWM output from TO
21~26 and TO29~TO34 terminal. Refer to the "10.8.20 PWM Output Disable Function" for the details of PWM
Output Disable Function.
The procedure of setting up a POnDISGm bit is described blow.
Note: • If theare are writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 1 and 2,
the continuous setting ( A pair of two consecutive is 1 set for writing operation) is disabled and the
writing value is not reflected. Therefore, disable interrupts and DMA transfers before setting.
However the writing cycle from RTD and DRI are not effected.
These registers control output from the respective corresponding pins by enabling or disabling it. These pins
can be used to control three-phase PWM output using the TOU timer.
Three-phase PWM output can be forcibly disabled (placed in the high-impedance state) by controlling this
register. This function can be used for all of output modes or port outputs of TOU. However, use for other
modes (external bus, SIO mode, DRI mode and TOP output modes (TO0-TO5) port inputs) is prohibited. For
details, see Section 10.8.20, “PWM Output Disable Function.” Also, if this register is accessed for read, it
serves as a status register indicating whether PWM output is disabled.
To set this register, follow the procedure described below. (In the case of register Gm)
Note: • If theare are writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 1 and 2,
the continuous setting ( A pair of two consecutive is 1 set for writing operation) is disabled and the
writing value is not reflected. Therefore, disable interrupts and DMA transfers before setting.
However the writing cycle from RTD and DRI are not effected.
POnDISGmP "1"
POnDISGmP "1"
POnDISGmP "0"
POnDISGm Set value
(2)
POnDISGmP "1"
POnDISGmP "1"
POnDISGmP "0"
POnDISGm Set value
Note 1: The writing cycle to the other area is the writing cycle from CPU, DMA, SDI (tool), NBD to any other area.
The writing cycle from RTD and DRI do not effect.
PWM Output 1 Disable Level Control Register GA (PO1LVGACR) <Address: H'0080 0523>
b8 9 10 11 12 13 14 b15
PO1LVSELGAPO1LVENGA
0 0 0 0 0 0 0 0
PWM Output 0 Disable Level Control Register GB (PO0LVGBCR) <Address: H'0080 0781>
b8 9 10 11 12 13 14 b15
PO0LVSELGB PO0LVENGB
0 0 0 0 0 0 0 0
PWM Output 1 Disable Level Control Register GB (PO1LVGBCR) <Address: H'0080 0783>
b8 9 10 11 12 13 14 b15
PO1LVSELGB PO1LVENGB
0 0 0 0 0 0 0 0
The output disable level select function allows output from a port to be forcibly disabled (placed in the high-
impedance state) depending on the output state of that port.
This function may be used to determine whether three-phase PWM output signals are simultaneously on.
Furthermore, this function may be used for double-verification of ports because it works depending on the
output state of ports. This function can be used for all of output modes or port outputs of TOU. However, use for
other modes (external bus, SIO mode, DRI mode and TOP output modes (TO0-TO5) port inputs) is prohibited.
For details, see Section 10.8.20, “PWM Output Disable Function.”
This bit specifies the level ("H" or "L") at which port output is to be disabled. Set this bit to "0" to disable port
output when its level is "L", or "1" to disable port output when its level is "H".
The following shows the conditions under which port output is turned off depending on the port’s output
state.
1) PO0LVSEL = 0
If any one of the following conditions hold true, TO21–TO26 outputs (TOU0_0–TOU0_5 output pins)
are disabled.
• TO21 (TOU0_0 output pin) output and TO22 (TOU0_1 output pin) output both are at the "L" level
• TO23 (TOU0_2 output pin) output and TO24 (TOU0_3 output pin) output both are at the "L" level
• TO25 (TOU0_4 output pin) output and TO26 (TOU0_5 output pin) output both are at the "L" level
2) PO0LVSEL = 1
If any one of the following conditions hold true, TO21–TO26 outputs (TOU0_0–TOU0_5 output pins)
are disabled.
• TO21 (TOU0_0 output pin) output and TO22 (TOU0_1 output pin) output both are at the "H" level
• TO23 (TOU0_2 output pin) output and TO24 (TOU0_3 output pin) output both are at the "H" level
• TO25 (TOU0_4 output pin) output and TO26 (TOU0_5 output pin) output both are at the "H" level
3) PO1LVSEL = 0
If any one of the following conditions hold true, TO29–P185/TO34 outputs (TOU1_0–TOU1_5 output
pins) are disabled.
• TO29 (TOU1_0 output pin) output and TO30 (TOU1_1 output pin) output both are at the "L" level
• TO31 (TOU1_2 output pin) output and TO32 (TOU1_3 output pin) output both are at the "L" level
• TO33 (TOU1_4 output pin) output and TO34 (TOU1_5 output pin) output both are at the "L" level
4) PO1LVSEL = 1
If any one of the following conditions hold true, TO29–TO34 outputs (TOU1_0–TOU1_5 output pins)
are disabled.
• TO29 (TOU1_0 output pin) output and TO30 (TOU1_1 output pin) output both are at the "H" level
• TO31 (TOU1_2 output pin) output and TO32 (TOU1_3 output pin) output both are at the "H" level
• TO33 (TOU1_4 output pin) output and TO34 (TOU1_5 output pin) output both are at the "H" level
(2) POnLVEN (Output Disable Level Enable/Disable Select) bit (Bit 15)
This bit enables or disables the output disable level that was selected with the POnLVSEL bit. Setting this bit
to "1" enables the output disable level selected with the POnLVSEL bit; setting this bit to "0" disables the
output disable level selected with the POnLVSEL bit.
b0 1 2 3 4 5 6 b7
PWMOFF0 PWMOFF0
GBEN GAEN
0 0 0 0 0 0 0 0
These registers enable or disable the PWM output disable function that was selected with the PWMOFF input
pin. This function can be used for all of output modes or port outputs of TOU. However, use for other modes
(external bus, SIO mode, DRI mode and TOP output modes (TO0-TO5) port inputs) is prohibited. For details,
see Section 10.8.20, “PWM Output Disable Function.”
In PWM output mode, the timer uses two reload registers to generate a waveform with a given duty
cycle.When PWM output mode, it is operated as a 16 bit timer.
When the timer is enabled after setting the initial values in the reload 0 and reload 1 registers, the counter is
loaded with the value that "the reload 0 register -1" and starts counting down synchronously with the count
clock at the next cycle. The next cycle after the first time the counter underflows, it is loaded with the value
that "the reload 1 register -1" and continues counting. Thereafter, the counter is loaded with the reload 0 and
reload 1 register values alternately each time an underflow occurs. The "reload 0 register set value + 1" and
"reload 1 register set value + 1" respectively are effective as count values. The timer stops at the same time
count is disabled by writing to the enable bit (and not in synchronism with PWM output period).
The F/F output waveform in PWM output mode is inverted (F/F output level changes from "L" to "H" or vice
versa) when the counter starts counting and each time it underflows. An interrupt request and DMA transfer
request can be generated at even-numbered occurrences of underflow after the counter is enabled.
If the value "H'FFFF" is set in either the reload 0 register or the reload 1 register, F/F output will not be
inverted although an interrupt request is generated upon underflow, making it possible to produce a 0% or
100% duty-cycle PWM output. Because a 0% or 100% duty-cycle needs to be determined when reloading
the counter, there is a one count clock equivalent delay before F/F is inverted and an interrupt or DMA
transfer request is generated. However, startup requests to other timers are not delayed. For details, see
Section 10.8.19, “0% or 100% Duty-Cycle Wave Output during PWM Output and Single-shot PWM Output
Modes.”
Note that TOU’s PWM output mode does not have the count correction function.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
Count down from the Count down from the Count down from the
reload 0 register reload 1 register reload 0 register
set value set value set value
H'FFFF
H'(C000-1)
Undefined H'C000 (Note 2)
value H'(A000-1)
(Note 1)
H'A000 H'A000
H'(A000-1)
Counter (Note 1)
H'0000
Reload 1 buffer
Interrupt request One count clock equivalent delay One count clock equivalent delay
due to underflow
PWM output period
In PWM output mode, when the timer remains idle, the reload 0 and reload 1 registers are updated at the
same time data are written to the respective registers. While the timer is operating, the reload 1 register is
updated when reload 0 register is reloaded after updating the reload 0 register. However, if the reload 0 and
reload 1 registers are accessed for read, the read values are always the data that have been written to the
respective registers.
Internal bus
Reload 1
TOUnRL1 Reload 1 WR
Reload 0 WR
Reload 0
(Note 1)
Reload 1 Buffer TOUnRL0
Note 1: It is transferd from reload 1 register to reload 1 buffer when reload 0 register is reloaded
after updating reload 0 register during counter operation.
To rewrite the reload 0 and reload 1 registers while the timer is operating, rewrite the reload 1 register first
and then the reload 0 register. That way, the reload 0 and reload 1 registers both are updated synchro-
nously with PWM period, from which the timer starts operating. This operation can normally be performed
collectively by accessing 32-bit addresses beginning with the reload 1 register address wordwise. (Data are
automatically written to the reload 1 and then the reload 0 registers in succession.)
If the reload 0 and reload 1 registers are accessed for read, the read values are always the data that have
been written to the respective registers, and not the reload values being actually used.
When altering PWM period by rewriting the reload registers, if the PWM period terminates before the CPU
finishes writing to reload 0 register, the PWM period is not altered in the current session and the data written
to the register is reflected in the next period.
When operating in the PWM output mode, writing the reload 0 register and reloard 1 register more than
twice within the PWM period and meet the following conditions at the same time, the PWM waveform is
output with the value that the last time written reload 0 register and finally written reload 1 register.
Condition 1: Start writing reload 0 register after latching the reload 0 register PWM period of the old PWM
output period.
Condition 2: Rewrite reload 1 register before latching PWM period of the new PWM output period and
start writing reload 0 register after latching PWM period.
Count clock
H'FFFF
(Note 2)
(Note 1) (Note 1)
Counter
H'0000
Old PWM output period New PWM putput period
F/F output
Condition 1 Condition 2
Reload 0 register
Reload 1 register
Reload 1 buffer
PWM period
To update PWM period correctly, take either one of the following measures.
• Identify the completion timing of PWM period by reading counter value at writing reload 1 register and
reload 0 register, and then start writing reload 1 register and reload 0 register without crossing PWM period.
• When writing to reload 1 register and reload 0 register by using interruption, set the prescaler value of
counter as small as possible. By doing this, write to reload 1 register and reload 0 register later than the
counter to be H'FFFF in the PWM period.
• Writing reload 1 register and reload 0 register is performed under the period, less than one time per PWM
period. (Extend the reload register's rewrite period against PWM period.)
(3) Notes on using TOU PWM output mode
The following describes precautions to be observed when using TOU PWM output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• If the counter is accessed for read to the cycle of underflow, the counter value is read out as H'FFFF but
changes to “reload register value -1” at the next count clock timing.
• Because the timer operates synchronously with the count clock, a count clock-dependent delay is in-
cluded before F/F output is inverted after the timer is enabled.
Because a 0% or 100% duty-cycle needs to be determined when reloading the counter, there is a one count
clock equivalent delay before F/F is inverted and an interrupt or DMA transfer request is generated. How-
ever, startup requests to other timers are not delayed. For details, see Section 10.8.19, “0% or 100% Duty-
Cycle Wave Output during PWM Output and Single-shot PWM Output Modes.”
32192/32195/32196 Group Hardware Manual 10-177
Rev.1.10 REJ09B0123-0110 Apr.06.07
MULTIJUNCTION TIMERS
10 10.8 TOU (Output-Related 24-Bit Timer)
(a) When reload register updates take effect in the current period (reflected in the next period)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
New PWM
Old PWM output period output period
F/F output
Operation by new reload value written
Enlarged
view
New PWM output period
Count clock
Interrupt due
to underflow
F/F output
(b) When reload register updates take effect in the next period (reflected one period later)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
Old PWM
Old PWM output period output period
F/F output
Operation by old reload value
Enlarged
view
Old PWM output period
Count clock
Interrupt due
to underflow
F/F output
Figure 10.8.10 Reload 0 and Reload 1 Register Updates in PWM Output Mode
(a) When reload register updates take effect in the current period (reflected in the next period)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
New PWM
Old PWM output period output period
F/F output
Enlarged
view
New PWM output period
Count clock
Interrupt due
to underflow
F/F output
Timing at which reload 0
register is updated PWM period latched and timing at which reload 1 buffer is updated
(b) When reload register updates take effect in the next period (reflected one period later)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
Enlarged
view
Old PWM output period
Count clock
Interrupt due
to underflow
F/F output
Figure 10.8.11 Reload 0 and Reload 1 Register Updates in PWM Output Mode (For 0% or 100% Duty-Cycle Wave Output)
10.8.15 Operation in TOU Single-shot PWM Output Mode (without Correction Function)
In single-shot PWM output mode, the timer uses two reload registers to generate a waveform with a given
duty cycle only once. When PWM output mode, it is operated as a 16 bit timer.
When the timer is enabled after setting the initial values in the reload 0 and reload 1 registers, the counter is
loaded with the value that "the reload 0 register -1" and starts counting down synchronously with the count
clock at the next cycle. At the cycle after the first time the counter underflows, it is loaded with tthe value that
"the reload 1 register -1" and continues counting. The counter stops when it underflows next time. The
"reload 0 register set value + 1" and "reload 1 register set value + 1" respectively are effective as count
values.
The timer can be stopped in software, in which case it stops at the same time count is disabled by writing to
the enable bit (and not in synchronism with PWM output period).
The F/F output waveform in single-shot PWM output mode is inverted (F/F output level changes from "L" to
"H" or vice versa) each time the counter underflows. (Unlike in PWM output mode, the F/F output is not
inverted when the counter is enabled.) An interrupt request and DMA transfer request can be generated
when the counter underflows second time after being enabled.
If the value "H'FFFF" is set in either the reload 0 register or the reload 1 register, F/F output will not be
inverted although an interrupt request is generated upon underflow, making it possible to produce a 0% or
100% duty-cycle PWM output. Because a 0% or 100% duty-cycle needs to be determined when reloading
the counter, there is a one count clock equivalent delay before F/F is inverted and an interrupt or DMA
transfer request is generated. However, startup requests to other timers are not delayed. For details, see
Section 10.8.19, “0% or 100% Duty-Cycle Wave Output during PWM Output and Single-shot PWM Output
Modes.”
Note that TOU’s single-shot PWM output mode does not have the count correction function.
The following describes precautions to be observed when using TOU single-shot PWM output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read out as H'FFFF but
changes to “reload register value -1” at the next count clock timing.
• Updating of reload 0 and reload 1 during timer operation does not effect PWM waveform that is outputting
at present. Updating is reflected at the next PWM period after updating reload 0 register.
Because a 0% or 100% duty-cycle needs to be determined when reloading the counter, there is a one count
clock equivalent delay before F/F is inverted and an interrupt or DMA transfer request is generated. How-
ever, startup requests to other timers are not delayed. For details, see Section 10.8.19, “0% or 100% Duty-
Cycle Wave Output during PWM Output and Single-shot PWM Output Modes.”
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
H'FFFF
H'F000 H'(F000-1)
Undefined (Note 2)
value
H'A000 H'(A000-1)
Counter (Note 1)
H'0000
Reload 1 buffer
F/F output
Figure 10.8.12 Typical Operation in TOU Single-shot PWM Output Mode (without Correction Function)
10.8.16 Operation in TOU Delayed Single-shot Output Mode (without Correction Function)
In delayed single-shot output mode, the timer generates a pulse in width of "reload register set value + 1"
after a finite time equal to "counter set value + 1" only once and then stops.
When the timer is enabled after setting the counter and reload register, it starts counting down from the
counter’s set value synchronously with the count clock. At the cycle after the first time the counter
underflows, it is loaded with the value that "the reload register -1" and continues counting down. The counter
stops when it underflows next time.
The F/F output waveform in delayed single-shot output mode is inverted (F/F output level changes from "L"
to "H" or vice versa) when the counter underflows first time and next, generating a single-shot pulse wave-
form in width of "reload register set value + 1" after a finite time equal to "first set value of counter + 1" only
once. An interrupt request can be generated when the counter underflows first time and next.
The "counter set value + 1" and "reload register set value + 1" respectively are effective as count values.
(For counting operation, see also Section 10.3.10, “Operation of TOP Delayed Single-shot Output Mode.”)
The following describes precautions to be observed when using TOU delayed single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the
enable bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read as H'FF FFFF but
changes to “reload register value -1” at the next count clock timing.
• Because the timer operates synchronously with the count clock, a count clock-dependent delay is in-
cluded before F/F output is inverted after the timer is enabled.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
H'FF FFFF
H'10 F000 H'(10 F000-1)
(Note 1)
Count down from the
counter set value
H'08 A000
Counter
H'00 0000
F/F output
Interrupt request
due to underflow
Figure 10.8.13 Typical Operation in TOU Delayed Single-shot Output Mode (without Correction Function)
In single-shot output mode, the timer generates a pulse in width of "reload register set value + 1" only once
and then stops.
When the timer is enabled after setting the reload register, the counter is loaded with the content of "the
reload register -1" and starts counting synchronously with the count clock at the next cycle. The counter
counts down and stops when it underflows after reaching the minimum count.
The F/F output waveform in single-shot output mode is inverted (F/F output levels change from "L" to "H" or
vice versa) at startup and upon underflow, generating a single-shot pulse waveform in width of "reload
register set value + 1" only once.
An interrupt request and DMA request can be generated when the counter underflows.
The count value is "reload register set value + 1." (For counting operation, see also Section 10.3.9, “Opera-
tion of TOP Single-shot Output Mode.”)
The following describes precautions to be observed when using TOU single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the
enable bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay
is generated before F/F output is inverted after writing the enable bit.
Enabled
(by writing to the enable bit
or by external input)
Count clock
Enable bit
H'FF FFFF
Undefined
value
H'00 0000
F/F output
Interrupt request
due to underflow
Figure 10.8.14 Typical Operation in TOU Single-shot Output Mode (without Correction Function)
In continuous output mode, the timer counts down starting from the set value of the counter and when the
counter underflows, it is loaded with the reload register value. Thereafter, this operation is repeated each
time the counter underflows, thus generating consecutive pulses whose waveform is inverted in width of
"reload register set value + 1."
When the timer is enabled after setting the counter and reload register, it starts counting down from the
counter’s set value synchronously with the count clock and when the minimum count is reached, generates
an underflow. At the next cycle after this underflow causes the counter to be loaded with the content of "the
reload register -1" and start counting over again. Thereafter, this operation is repeated each time an under-
flow occurs. To stop the counter, disable count by writing to the enable bit in software.
The F/F output waveform in continuous output mode is inverted (F/F output level changes from "L" to "H" or
vice versa) at startup and upon underflow, generating a waveform of consecutive pulses until the timer
stops counting. An interrupt request and DMA request can be generated each time the counter underflows.
The "counter set value + 1" and "reload register set value + 1" are effective as count values. (For counting
operation, see also Section 10.3.11, “Operation of TOP Continuous Output Mode.”)
The following describes precautions to be observed when using TOU continuous output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the
enable bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read out as H'FF FFFF
but changes to “reload register value -1” at the next count clock timing.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay
is generated before F/F output is inverted after writing the enable bit.
Enabled
(by writing to the enable bit Underflow Underflow
or by external input) (first time) (second time)
Count clock
Enable bit
H'FF FFFF
H'(0E 000-1) H'(0E 000-1)
H'0E 0000 (Note 1) (Note 1)
Count down from the
counter set value
H'0A 0000
Counter
H'FF 0000
F/F output
Interrupt request
due to underflow
Figure 10.8.15 Typical Operation in TOU Continuous Output Mode (without Correction Function)
10.8.19 0% or 100% Duty-Cycle Wave Output during PWM Output and Single-shot PWM
Output Modes
During PWM output or single-shot PWM output mode, if the value "H'FFFF" is written to the reload 0 or reload
1 register, F/F output will not be inverted, making it possible to produce a 0% or 100% duty-cycle PWM output.
Because determination is made to see if the reload value is "H'FFFF" during PWM output or single-shot PWM
output mode, following precautions must be observed.
(1) Because the counter counts one even when detecting 0% or 100% duty-cycle, one of the two reload
registers must have set in it one less than the intended value in order for a constant-cycle waveform to be
produced.
Example: If the desired output cycle is 10 counts
0008: FFFF
The counter counts one without invert-
ing F/F output after detecting "FFFF."
For this reason, the value to be set in
the register must be "0008," and not
"0009."
(2) Because setting the value "H'FFFF" in the reload register produces a 0% or 100% duty-cycle, it is
impossible to count the exact "H'FFFF."
(3) Setting the value "H'FFFF" in both reload 0 and reload 1 registers is inhibited.
(4) Writing the value "H'FFFF" to the counter while in operation is inhibited.
(5) Even for a 0% or 100% duty-cycle, interrupt requests and startup registers to other timers are generated.
(6) Because a 0% or 100% duty-cycle needs to be determined when reloading the counter, there is a one
count clock equivalent delay before F/F is inverted and an interrupt or DMA transfer request is gener-
ated. However, startup requests to other timers are not delayed.
Enabled
(by writing to the enable bit Superficial
or by external input) underflow Underflow
Count clock
Enable bit
H'(FFFF-1) H'(FFFF-1)
H'FFFF
(Note 1) (Note 1)
Undefined
value
H'E000
H'(E000-1) H'(E000-1)
(Note 2) (Note 2)
Counter
H'0000
F/F output
Interrupt request
due to underflow
Figure 10.8.16 Typical Operation in PWM Output Mode (Reload 0 Register: H’FFFF)
Enabled
(by writing to the enable bit Superficial
or by external input) Underflow underflow
Count clock
Enable bit
H'(FFFF-1) H'(FFFF-1)
H'FFFF (Note 2) (Note 2)
Undefined
value
H'E000
H'(E000-1) H'(E000-1) H'(E000-1)
(Note 1) (Note 3) (Note 3)
Counter
H'0000
F/F output
Interrupt request
due to underflow
Figure 10.8.17 Typical Operation in PWM Output Mode (Reload 1 Register: H’FFFF)
Enabled
(by writing to the enable bit
or by external input) Superficial Underflow
underflow
Count clock
Enable bit
H'(FFFF-1)
H'FFFF
(Note 1)
Undefined
value
H'E000
H'(E000-1)
(Note 2)
Counter
H'0000
F/F output
Interrupt request
due to underflow
Figure 10.8.18 Typical Operation in Single-shot PWM Output Mode (Reload 0 Register: H’FFFF)
Enabled
(by writing to the enable bit Superficial
or by external input) Underflow underflow
(Note 3)
Count clock
Enable bit
H'(FFFF-1)
H'FFFF (Note 2)
Undefined
value
H'E000
H'(E000-1)
(Note 1)
Counter
H'0000
F/F output
Interrupt request
due to underflow
Figure 10.8.19 Typical Operation in Single-shot PWM Output Mode (Reload 1 Register: H’FFFF)
The microcomputer has the function to forcibly disable outputs from the P87(P00)/TO21–P82(P05)/TO26 and
P110(P10)/TO29–P115(P15)/TO34 that respectively are the output pins for the TOU0_0–TOU0_5 and TOU1_0–
TOU1_5 timers. This function may be used as a protective function when a fault condition such as short-circuiting
is detected during three-phase PWM control. This function can be used for all of output modes or port outputs of
TOU. However, use for other modes (external bus, SIO mode, DRI mode and TOP output modes (TO0-TO5) port
inputs) is prohibited. Figure 10.8.19 shows the circuit configurations of the PWM output disable function.
IRQ10
TIN16S TMS1(Cap3)
Level detection
Edge detection
P130/TIN16/PWMOFF0 PWMOFF0S SET
PWMOFF0GAEN
F/F
P87/TO21(internal)
P86/TO22(internal)
b7 F/F b7
P85/TO23(internal)
P84/TO24(internal) PO0DISGA
P83/TO25(internal) RD
P82/TO26(internal)
P87/TO21(internal) P87/TO21
P86/TO22(internal) P86/TO22
P85/TO23(internal) P85/TO23
P84/TO24(internal) P84/TO24
PO0LVSELGA
F/F P83/TO25(internal) P83/TO25
PO0LVENGA P82/TO26(internal) P82/TO26
F/F
P175/TO27(internal) P175/TO27
PO0DISGACR(WR)
P174/TO28(internal) P174/TO28
Address
b6 F/F F/F
WR
IRQ10
TIN17S TMS1(Cap2)
Level detection
Edge detection
P131/TIN17/PWMOFF1 PWMOFF1S SET
PWMOFF1GAEN
F/F
P110/TO29(internal)
P111/TO30(internal) b7 F/F b7
P112/TO31(internal)
P113/TO32(internal) PO1DISGA
P114/TO33(internal) RD
P115/TO34(internal)
P110/TO29(internal) P110/TO29
P111/TO30(internal) P111/TO30
P112/TO31(internal) P112/TO31
P113/TO32(internal) P113/TO32
PO1LVSELGA
F/F P114/TO33(internal) P114/TO33
PO1LVENGA P115/TO34(internal) P115/TO34
F/F
PO1DISGACR(WR) P116/TO35(internal) P116/TO35
P117/TO36(internal) P117/TO36
Address
b6 F/F F/F
WR
Figure 10.8.20 Circuit Configurations of the PWM Output Disable Function (Pin Group A)
IRQ10
TIN16S TMS1(Cap3)
Level detection
Edge detection
P130/TIN16/PWMOFF0 PWMOFF0S SET
PWMOFF0GBEN
P00/TO21(internal) F/F
P01/TO22(internal)
b7
P02/TO23(internal) F/F b7
P03/TO24(internal) PO0DISGB
RD
P04/TO25(internal)
P05/TO26(internal)
P00/TO21(internal) P00/TO21
P01/TO22(internal) P01/TO22
P02/TO23(internal) P02/TO23
P03/TO24(internal) P03/TO24
PO0LVSELGB
F/F P04/TO25(internal) P04/TO25
PO0LVENGB P05/TO26(internal) P05/TO26
F/F
P06/TO27(internal) P06/TO27
PO0DISGBCR(WR)
P07/TO28(internal) P07/TO28
Address
b6 F/F F/F
WR
IRQ10
TIN17S TMS1(Cap2)
Level detection
Edge detection
P131/TIN17/PWMOFF1 PWMOFF1S SET
PWMOFF1GBEN
F/F
P10/TO29(internal)
P11/TO30(internal) b7
F/F b7
P12/TO31(internal)
PO1DISGB
P13/TO32(internal)
RD
P14/TO33(internal)
P15/TO34(internal)
P10/TO29(internal) P10/TO29
P11/TO30(internal) P11/TO30
P12/TO31(internal) P12/TO31
P13/TO32(internal) P13/TO32
PO1LVSELGB
P14/TO33(internal) P14/TO33
F/F
PO1LVENGB P15/TO34(internal) P15/TO34
F/F
P16/TO35(internal) P16/TO35
PO1DISGBCR(WR)
P17/TO36(internal) P17/TO36
Address
b6 F/F F/F
WR
Figure 10.8.21 Circuit Configurations of the PWM Output Disable Function (Pin Group B)
(1) Using the signal entered from an external pin (TIN16/PWMOFF0 or TIN17/PWMOFF1) to disable PWM
outputs
The input signal on the external pin (TIN16/PWMOFF0) may be used to disable outputs from the ports
P87(P00)/TO21–P82(P05)/TO26 that are provided for the PWM outputs of the timer TOU0_0–TOU0_5. Simi-
larly, the input signal on the external pin (TIN17/PWMOFF1) may be used to disable outputs from the ports
P110(P10)/TO29–P115(P15)/TO34 that are provided for the PWM outputs of the timer TOU1_0–TOU1_5.
When selecting rising or falling or both edges at PWMOFFnS bit of PWMOFFn Input Procedure Con-
trol Register (PWMOFFnCR)
When edge detecting in extarnal pin (TIN16/PWMOFF0, TIN17/PWMOFF1, TIN33/PWMOFF2), PWM
output is disabed. At that time POnDISGm bit of PWM Output n Disable Control Gm register is set to "1."
Restoring PWM output enable status is done by "0" clearing POnDISGm bit of PWM Output n Disable
Control Gm Register (POnDISGmCR).
When selecting "L" level or "H" level at PWMOFFnS bit of PWMOFFn Input Procedure Control Regis-
ter (PWMOFFnCR)
During inputting PWM output disable level to extarrnal pin (TIN16/PWMOFF0, TIN17/PWMOFF1, TIN33/
PWMOFF2), PWM output is disabled.At that time POnDISGm bit of PWM Output n Disable Control Gm
Register is set to "1."
Restoring PWM output enable status is done by exiting inputting PWM output disable level. At that time
setting value written in last time is read out from POnDISGmbit of PWM Output n Disable Control Gm
Register (POnDISGmCR).
Note: • When write to POnDISGm bit of PWM Output n Disable Control Gm Register druing input-
ting PWM output disable level to extarrnal pin (TIN16/PWMOFF0, TIN17/PWMOFF1,
TIN33/PWMOFF2), the value written is stored in the register. However, if read out, "1" is
read out. Then upon exiting PWM output disable level to external pin, it is possible to read
out the contents of setting POnDISGm bit, PWM output is controled by following the set-
ting value.
To disable PWM outputs by using the input signal on the external pin (TIN16/PWMOFF0 or TIN17/
PWMOFF1), set up the PWMOFFn Input Processing Control Register (PWMOFFnCR) and the PWMOFFn
Function Enable Register (PWMOFFnEN) as described below.
When using the signal inputted from TIN16/PWMOFF0 to disable PWM outputs
1. Write data "1" to the PWMOFF0CR register PWMOFF0SP bit.
2. After 1 above, write data "0" to the PWMOFF0SP bit and then write setting value ("000," "001," "010,"
"011," "10X" or "11X") to the PWMOFF0S bit in succession.
3. Enable the PWMOFF0 function by writing "1" to either or both of the PWMOFF0GAEN bits and
PWMOFF0GBEN bits of the PWMOFF0EN register.
Note: • If theare are CPU, DMA, SDI, Writing cycle from NBD to any other area between 1 and 2, the
continuous setting ( A pair of two consecutive is 1 set for writing operation) is disabled and the
writing value is not reflected. Therefore, disable interrupts and DMA transfers before setting.
However the writing cycle from RTD and DRI is not effected.
When using TIN17/PWMOFF1 to disable PWM outputs
1. Write data "1" to the PWMOFF1CR register PWMOFF1SP bit.
2. After 1 above, write data "0" to the PWMOFF1SP bit and then write setting value ("000," "001," "010,"
"011," "10X" or "11X") to the PWMOFF1S bit in succession.
3. Enable the PWMOFF1 function by writing "1" to either or both of the PWMOFF1GAEN and
PWMOFF1GBEN bits of the PWMOFF1EN register.
32192/32195/32196 Group Hardware Manual 10-195
Rev.1.10 REJ09B0123-0110 Apr.06.07
MULTIJUNCTION TIMERS
10 10.8 TOU (Output-Related 24-Bit Timer)
Note: • If theare are CPU, DMA, SDI, and Writing cycle from NBD to any other area between 1 and
2, the continuous setting (A pair of two consecutive is 1 set for writing operation) is dis-
abled and the writing value is not reflected. Therefore, disable interrupts and DMA trans-
fers before setting. However, the writing cycle from RTD and DRI are not effected.
(2) Using the PWM Output Disable Control Registers to disable PWM outputs
The PWM Output 0 Disable Control Gm Register (PO0DISGACR, PO0DISGBCR) may be used to disable
outputs from the ports P87(P00)/TO21–P82(P05)/TO26 that are provided for the PWM outputs of the timer
TOU0_0–TOU0_5. Similarly, the PWM Output 1 Disable Control Gm Register (PO1DISGACR,
PO1DISGBCR) may be used to disable outputs from the ports P110(P10)/TO29–P115(P15)/TO34 that are
provided for the PWM outputs of the timer TOU1_0–TOU1_5.
To disable PWM output by the PWM Output Disable Control Gm Register (POnDISGACR, POnDISCBCR)
set as described below.
When using the PWM Output 0 Disable Control Register (PO0DISGACR, PO0DISGBCR) to disable
PWM outputs
1. Set the PO0DISGACR(PO0DISGBCR) register PO0DISGAP(PO0DISGBP) bit to “1.”
2. After 1 above, set the PO0DISGAP(PO0DISGBP) bit to “0” and then the PO0DISGA(PO0DISGB) bit
to “1” (output disabled).
Note: • If a write cycle to any other area ocurs between 1 and 2, the setting of the PO0DISGA
(PO0DISGB) bit has no effect.
When using the PWM Output 1 Disable Control Register (PO1DISGACR, PO1DISGBCR) to disable
PWM outputs
1. Set the PO1DISGACR(PO1DISGBCR) register PO1DISGAP(PO1DISGBP) bit to “1.”
2. After 1 above, set the PO1DISGAP(PO1DISGBP) bit to “0” and then the PO1DISGA(PO1DISGB) bit
to “1” (output disabled).
Note: • If a write cycle to any other area ocurs between 1 and 2, the setting of the PO1DISGA
(PO1DISGB) bit has no effect.
The pin level ("H" or "L" level) on ports P87(P00)/TO21–P82(P05)/TO26 may be used to disable outputs
from the ports P87(P00)/TO21–P82(P05)/TO26 that are provided for the PWM outputs of the timer
TOU0_0–TOU0_5. Similarly, the pin level ("H" or "L" level) on ports P110(P10)/TO29–P115(P15)/TO34
may be used to disable outputs from the ports P110(P10)/TO29–P115(P15)/TO34 that are provided for the
PWM outputs of the timer TOU1_0–TOU1_5 .
After detecting PWM output disable level from port P87(P00)/TO21-P82(P05)/TO26, P110(P10)/
TO29~P115(P15)/TO34, PWM output is disabled. During PWM Output Disable, POnDISGmbit of PWM
Output n Disable Control Gm Register is set to "1."
Restoring output enable status is done by exiting outputting PWM output disable level from port P87(P00)/
TO21-P82(P05)/TO26, P110(P10)/TO29-P115(P15)/TO34 and then by "0" clearing POnDISGm bit of PWM
Output n Disable Gm Register (POnDISGmCR ).
Note: • If POnDISGmbit in PWM Output n Disable Control Gm Register is written during PWM
Output Disable level outputting from port P87(P00)/TO21-P82(P05)/TO26, P110(P10)/
TO29-P115(P15)/TO34, that operation of writing has no effect.
To disable PWM outputs using the pin level of ports, set up the PWM Output Disable Level Control Register
(POnLVGACR, POnLVGBCR) and PWMOFF Function Enable Register (PWMOFFnEN) as described below.
Before setting the shorting-prevention function enable/disable bit, be sure to stop the TOUn_0 through TOUn_
5 counters. (Setting this bit while the timer is enabled for counting is prohibited.)
When the shorting-prevention function is enabled, make sure each timer is run in either of the following opera-
tion modes. (Using timers in any other modes is prohibited.)
When the shorting-prevention function is enabled, the TOUn enable source select bits of TOUn_1 (3, 5) have
no effect, so that these timers are invoked by an underflow of TOUn_0 (2, 4).
Use the TOUn_1 (3, 5) reload register to set the shorting-prevention time. At this time, note that the shorting-
prevention time actually is the set value of the reload register + 3. The set value of the reload register must
satisfy the condition given below.
Set value of the TOUn_1 (3, 5) reload register ≤ set value of the TOUn_0 (2, 4) reload 1 register – 4
Before the shorting-prevention function can be enabled, designated values must be set in the F/F data register
and the F/F data register for the shorting-prevention function.
If the same value is set in the F/F data register and the F/F data register for the shorting-prevention function, a
fixed-level signal is output.
When the shorting-prevention function is enabled, writing H’FFFF to the TOUn_0 (2, 4) reload register 0 or the
TOUn_0 (2, 4) reload register 1 is prohibited.
Enabled
(By writing to the enble bit
or by external input)
TOUn_0 (2, 4)
Count clock
Enable bit
Count down from Count down from
the reload 0 the reload 1
register set value register set value
H'FFFF
Undefined
value
H'F000 H'(F000-1)
(Note 2)
H'(A000-1)
Counter (Note 1)
H'0000
Counter
H'0000
TOUn interrupt
request
To enable the shorting-prevention function when it is necessary to forcibly fix output in software, follow the
procedure described below.
(1) Write "0" to the TOUn_0/1 (2/3, 4/5) count enable bit.
(2) Set a “value to prevent shorting” in the F/F data register and a “value to be fixed” in the F/F data register
for the shorting-prevention function.
(3) Write "1" to the TOUn_1 (3, 5) count enable bit.
Time before TOUn_1 (3, 5) count is enabled after writing F/F data + TOUn_1 (3, 5) reload register
set value + 1
To stop counters in software, make sure TOUn_0/1 (2/3, 4/5) are made to stop counting at the same time.
Stopping counters individually is prohibited.
Before writing "1" to the TOUn_1 (3, 5) count enable bit, make sure TOUn_0 (2, 4) and TOUn_1 (3, 5) both
have stopped counting.
Enable bit
H'FFFF
Undefined
value
(Note 2)
(Note 1)
Counter
H'0000
TOUn_1 (3, 5)
Enable bit
Count down from the Count down from the
reload register set value reload register set value
H'FFFF
Undefined
Counter
H'0000
Figure 10.8.23 Schematic Operation for the Case Where the Output is Fixed Forcibly in Software
The two-channel TOU timers incorporated in the 32192/32195/32196 help to reduce software burdens during
motor control. The following shows an example application for using these timers in motor control.
The three-phase motor control waveform is produced by starting TOU in accordance with the fixed 20 kHz TOU
startup timing generated by TID. The single-shot PWM function included in TOU enables any desired output
waveform to be configured easily by storing waveform data only when the data needs to be rewritten. Note that
the transistor shorting prevention time can be provided by changing the set time of TOU in software or using the
shorting prevention function.
Single-shot PWM
clk TOUn_0 udf F/F TO(U)
EN
Startup Single-shot PWM
clk TOUn_1 udf F/F TO(/U)
EN
Single-shot PWM
clk TOUn_2 udf F/F TO(V)
EN
Single-shot PWM
clk TOUn_3 udf F/F TO(/V)
EN
Single-shot PWM
PRS clk TOUn_4 udf F/F TO(W)
EN
Single-shot PWM
clk TOUn_5 udf F/F TO(/W)
EN
Note: • When the shorting-prevention function is enabled, make sure that TOUn_1 (3, 5) is set to run in single-shot output mode.
Figure 10.8.25 Timer Connections When Used for Three-Phase Motor Control
U TO(U)
Delay
TO(/U)
Single shot
TO(V)
V
TO(/V)
TO(W)
W TO(/W)
There are following conversion and operation modes for the A/D conversion:
Two channels are sampled at the same time, and 2-channel continuous A/D conversion is able to be carried
out for the sampled voltage.
An A/D conversion interrupt or DMA transfer request can be generated each time A/D conversion (single mode
operation, single-shot scan operation or one cycle of continuous operation) or comparate operation is completed.
Note 1: To discriminate between the comparison performed internally by the successive approximation-
type A/D Converter and that performed in comparator mode using the same A/D Converter as
a comparator, the comparison in comparator mode is referred to in this manual as “comparate.”
Table 11.1.1 outlines the A/D Converter and Figure 11.1.1 shows block diagram of A/D Converter.
8-bit readout
Shifter
10-bit readout
A/D Control
Circuit
AVCC0 10-bit A/D Successive
Approximation Register • Mode selection
AVSS0 Interrupt request
(AD0SAR) • Channel
selection
VREF0 10-bit D/A Converter • Conversion
time selection DMA transfer request
• Flag control
DMA0,
AD0IN0 Comparator • Interrupt control
Sample & DMA common
AD0IN1
hold control
AD0IN2 circuit
AD0IN3 S
AD0IN4
AD0IN5
AD0IN6 Comparator
Sample &
AD0IN7 Selector hold control
AD0IN8 circuit
AD0IN9
AD0N10
AD0IN11
AD0IN12
AD0IN13
AD0IN14
AD0IN15 Successive Approximation-type
A/D Converter Unit
The A/D Converter has two conversion modes: “A/D Conversion mode” and “Comparator mode.”
There are two operation modes for the A/D Converter: “Single mode” and “Scan mode.” When comparator
mode is selected as A/D conversion mode, only single mode can be used.
Note 1: A/D0 conversion start: Software trigger → Started by setting the A/D0 conversion start bit to "1"
Hardware trigger → Started by input event bus 3, input event bus 2,
output event bus 3 or TIN23S signal input
ADiSAR
In scan mode, the analog input voltages from channel 0 to the channel selected by the A/D Scan Mode
Register 1 scan loop select bit (channels 0–15) are sequentially A/D converted.
There are two types of scan mode: “Single-shot scan mode” in which A/D conversion is completed after
performing one cycle of scan operation, and “Continuous scan mode” in which scan operation is continued
until halted by setting the A/D scan mode register 0’s A/D conversion stop bit to "1."
These types of scan mode are selected using A/D Scan Mode Register 0. The channels to be scanned are
selected using A/D Scan Mode Register 1. The selected channels are scanned sequentially beginning with
channel 0.
An A/D conversion interrupt or DMA transfer request can be generated when one cycle of scan operation is
completed.
<n-channel scan>
i= 0
During continuous scan mode n=0–15
Note 1: A/D0 conversion start: Software trigger → Started by setting the A/D0 conversion start bit to "1"
Hardware trigger → Started by input event bus 3, input event bus 2,
output event bus 3 or TIN23S signal input
Table 11.1.2 Registers in Which Scan Mode A/D Conversion Results Are Stored
Scan Mode Register 1 Selected channels Selected channels A/D conversion result
channel selection for single-shot scan for continuous scan storage register
B'0000:0 ADiIN0 ADiIN0 10-bit A/Di Data Register 0
(ADiIN0) Completed ADiIN0 10-bit A/Di Data Register 0
…
(Repeated until
forcibly terminated)
B'0001:1 ADiIN0 ADiIN0 10-bit A/Di Data Register 0
(ADiIN1) ADiIN1 ADiIN1 10-bit A/Di Data Register 1
Completed ADiIN0 10-bit A/Di Data Register 0
…
…
(Repeated until
forcibly terminated)
B'0010:2 ADiIN0 ADiIN0 10-bit A/Di Data Register 0
(ADiIN2) ADiIN1 ADiIN1 10-bit A/Di Data Register 1
ADiIN2 ADiIN2 10-bit A/Di Data Register 2
Completed ADiIN0 10-bit A/Di Data Register 0
…
…
(Repeated until
forcibly terminated)
B'0011:3 ADiIN0 ADiIN0 10-bit A/Di Data Register 0
(ADiIN3) ADiIN1 ADiIN1 10-bit A/Di Data Register 1
ADiIN2 ADiIN2 10-bit A/Di Data Register 2
ADiIN3 ADiIN3 10-bit A/Di Data Register 3
Completed ADiIN0
... 10-bit A/Di Data Register 0
…
…
(Repeated until
forcibly terminated)
B'XXXX:n ADiIN0 ADiIN0 10-bit A/Di Data Register 0
(ADiINn) ADiIN1 ADiIN1 10-bit A/Di Data Register 1
ADiIN2 ADiIN2 10-bit A/Di Data Register 2
…
n≤15
ADiINn ADiINn 10-bit A/Di Data Register n
Completed ADiIN0 10-bit A/Di Data Register 0
…
…
(Repeated until
forcibly terminated)
(i=0)
In this special operation mode, single mode conversion (A/D conversion or comparate) is forcibly executed
on a specified channel during scan mode operation. For A/D conversion mode, the conversion result is
stored in the A/D Data Register corresponding to the specified channel, whereas for comparate mode, the
comparison result is stored in the 10-bit A/D Comparate Data Register. When the A/D conversion or
comparate operation on a specified channel finishes, scan mode A/D conversion is restarted from where it
was canceled during scan operation.
To start single mode conversion during scan mode operation in software, choose a software trigger using
the Single Mode Register 0 A/D conversion start trigger select bit. Then, for A/D conversion, set the said
register’s A/D conversion start bit to "1." For comparate mode, write a comparison value to the A/D Succes-
sive Approximation Register (AD0SAR) during scan mode operation.
To start single mode conversion during scan mode operation in hardware, choose a hardware trigger using
the Single Mode Register 0 A/D conversion start trigger select bit. Then enter the hardware trigger selected
with the said register.
An A/D conversion interrupt or DMA transfer request can be generated when conversion on a specified
channel or one cycle of scan operation is completed.
(Note 1)
ADiIN2
Scan mode
ADiIN0 ADiIN1 ADiIN5 ADiIN2 ADiINn Completed
conversion starts
Note 1: The canceled convert operation on channel 2 is reexecuted from the beginning.
In this special operation mode, scan operation is started subsequently after executing single mode conver-
sion (A/D conversion or comparate).
To start this mode in software, choose a software trigger using the A/D Scan Mode Register 0 A/D conver-
sion start trigger select bit. Then set the said register’s A/D conversion start bit to "1" during single mode
conversion operation.
To start this mode in hardware, choose a hardware trigger using the A/D Scan Mode Register 0 A/D conver-
sion start trigger select bit. Then enter the hardware trigger selected with the said register during single
mode conversion operation.
If a hardware trigger is selected using the A/D conversion start trigger select bit in both A/D Single Mode
Register 0 and A/D Scan Mode Register 0 and the selected hardware triggers are entered, the A/D Con-
verter first performs single mode conversion and then scan mode conversion in succession.
An A/D conversion interrupt or DMA transfer request can be generated when single mode conversion on a
specified channel or one cycle of scan operation is completed.
<To start n-channel single-shot scan mode subsequently after single mode conversion on channel ADiIN5>
i=0
Instructed to start n=0–15
scan mode conversion
Single mode
ADiIN5 ADiIN0 ADiIN1 ADiINn-1 ADiINn Completed
conversion starts
In this special operation mode, operation being executed in single or scan mode is stopped in the middle
and reexecuted from the beginning.
When in single mode, set the A/D Single Mode Register 0 A/D conversion start bit to "1" again or enter a
hardware trigger during A/D conversion or comparate operation, and the operation being executed is re-
started over again.
When in scan mode, set the A/D Scan Mode Register 0 A/D conversion start bit to "1" again or enter a
hardware trigger signal during scan operation, and the channel being converted is canceled and A/D con-
version is performed from channel 0 over again.
ADiIN5
Single mode
ADiIN5 Completed
ADiIN5 conversion
starts
ADiIN2
Scan mode
ADiIN0 ADiIN1 ADiIN0 ADiIN1 ADiINn-1 ADiINn Completed
conversion starts
10-bit A/Di Data Register ADiDT0 ADiDT1 ADiDT0 ADiDT1 ADiDTn-1 ADiDTn
The A/D Converter can generate an A/D conversion interrupt or DMA transfer request each time A/D conver-
sion (single mode operation, single-shot scan operation or one cycle of continuous operation) or comparate
operation is completed. The A/D Single Mode Register 0 and A/D Scan Mode Register 0 are used to select
between A/D conversion interrupt and DMA transfer requests.
The analog input voltage that was sampled immediately after A/D conversion started is held on, and A/D
conversion is performed on that seized voltage.
The A/D conversion time in “normal” sample-and-hold mode is the same as in conventional A/D conversion
mode of the 32170, etc. The A/D conversion time in “fast” sample-and-hold mode is significantly short, allowing
to obtain conversion results more quickly than ever.
When the sample-and-hold function is effective, 2 channel Simultaneous Sampling Function can be used, and
A/D conversion is carried out with 2-channel continually for the sampled voltage.
ADiIN15
(Only sampling)
Single mode
A/D conversion interrupt or DMA transfer request
execution request
i=0
ADiIN2
ADiIN15
(Only sampling)
Figure 11.1.11 Forcible Single Mode Execution during Scanning when Simultaneous Sampling is Effective
Scan mode
A/D conversion interrupt or DMA transfer request
execution request
i=0
ADiIN15
(Only sampling)
Figure 11.1.12 Scanning Start after Single Mode Execution when Simultaneous Sampling is Effective
ADiIN0 ADiIN0
Conversion Conversion
ADiIN0 ADiIN15 Completed ADiIN0 ADiIN0 ADiIN15 Completed
starts starts
ADiIN15 ADiIN15
(Only sampling) (Only sampling)
H'0080 00D0 (Use inhibited area) 8-bit A/D0 Data Register 0 11-34
(AD08DT0)
H'0080 00D2 (Use inhibited area) 8-bit A/D0 Data Register 1 11-34
(AD08DT1)
H'0080 00D4 (Use inhibited area) 8-bit A/D0 Data Register 2 11-34
(AD08DT2)
H'0080 00D6 (Use inhibited area) 8-bit A/D0 Data Register 3 11-34
(AD08DT3)
H'0080 00D8 (Use inhibited area) 8-bit A/D0 Data Register 4 11-34
(AD08DT4)
H'0080 00DA (Use inhibited area) 8-bit A/D0 Data Register 5 11-34
(AD08DT5)
H'0080 00DC (Use inhibited area) 8-bit A/D0 Data Register 6 11-34
(AD08DT6)
b0 1 2 3 4 5 6 b7
ADSTRG1 ADSTRG0 ADSSEL ADSREQ ADSCMP ADSSTP ADSSTT
0 0 0 0 0 1 0 0
A/D Single Mode Register 0 is used to control operation of the A/D Converter during single mode (including
special mode, “Forcible single mode execution during scan mode”).
These bits select a hardware trigger when A/D conversion by the A/D Converter is to be started in hardware.
Select one from the following hardware trigger sources:
The contents of these bits are ignored if a software trigger is selected by ADSSEL (A/D conversion start
trigger select bit).
This bit selects whether to use a software or hardware trigger to start A/D conversion during single mode.
If a software trigger is selected, A/D conversion is started by setting the ADSSTT (A/D conversion start) bit
to "1." If a hardware trigger is selected, A/D conversion is started by the trigger source selected with the
ADSTRG (hardware trigger select) bits.
(3) ADSREQ (A/D Interrupt Request/DMA Transfer Request Select) bit (Bit 4)
This bit selects whether to request an A/D conversion interrupt or a DMA transfer when single mode opera-
tion (A/D conversion or comparate) is completed. If neither an interrupt nor a DMA transfer are used, choose
to request an A/D conversion interrupt and use the A/D Conversion Interrupt Control Register of the Inter-
rupt Controller (ICU) to mask the interrupt request, or choose to request a DMA transfer and use the DMA
Channel Control Register to disable DMA transfers to be performed upon completion of A/D conversion.
This is a read-only bit, whose value when exiting the reset state is "1." This bit is "0" when the A/D Converter
is performing single mode operation (A/D conversion or comparate) and is set to "1" when the operation
finishes.
This bit is also set to "1" when A/D conversion or comparate operation is forcibly terminated by setting the
ADSSTP (A/D conversion stop) bit to "1" during A/D conversion or comparate operation.
Setting this bit to "1" while the A/D Converter is performing single mode operation (A/D conversion or
comparate) causes the operation being performed to stop. Manipulation of this bit is ignored while single
mode operation is idle or scan mode operation is under way.
Operation stops immediately after writing to this bit. If the A/D Successive Approximation Register is read
after being stopped, the content read from the register is the value in the middle of conversion (not trans-
ferred to the A/D Data Register).
If the A/D conversion start bit and A/D conversion stop bit are set to "1" at the same time, the A/D conversion
stop bit has priority.
If this bit is set to "1" when performing single mode operation in special mode “Forcible single mode execu-
tion during scan mode,” only single mode conversion stops and scan mode operation restarts.
If this bit is set to "1" when a software trigger has been selected with the ADSSEL (A/D conversion start
trigger select) bit, the A/D Converter starts A/D conversion.
If the A/D conversion start bit and A/D conversion stop bit are set to "1" at the same time, the A/D conversion
stop bit has priority.
If this bit is set to "1" again while performing single mode conversion, special operation mode “Conversion
restart” is turned on, so that single mode conversion restarts.
If this bit is set to "1" again while performing A/D conversion in scan mode, special operation mode “Forcible
single mode execution during scan mode” is turned on, so that the channel being converted in scan mode is
canceled and single mode conversion is performed. When the single mode conversion finishes, scan mode
A/D conversion restarts beginning with the canceled channel.
b8 9 10 11 12 13 14 b15
ADSMSL ADSSPD ADSSHSL ADSSHSPD ANSEL
0 0 0 0 0 0 0 0
A/D Single Mode Register 1 is used to select operation mode, conversion speed and analog input pins when
the A/D Converter is operating in single mode.
This bit selects A/D conversion mode when the A/D Converter is operating in single mode. Setting this bit to
"0" selects A/D conversion mode, and setting this bit to "1" selects comparator mode.
This bit selects the A/D conversion speed when the A/D Converter is operating in single mode. Setting this
bit to "0" selects normal speed, and setting this bit to "1" selects double speed.
This bit enables or disables the sample-and-hold function when the A/D Converter is operating in single
mode. Setting this bit to "0" disables the sample-and-hold function, and setting this bit to "1" enables the
sample-and-hold function.
Setting of this bit has no effect if comparator mode is selected with the ADSMSL (A/D conversion mode
select) bit.
When the A/D Converter’s sample-and-hold function is enabled, this bit selects a conversion speed. When
this bit is "0," the conversion speed is the same as normal A/D conversion speed. When this bit is "1",
conversion is performed at a speed faster than normal A/D conversion speed.
Setting of this bit has no effect if the sample-and-hold function is disabled by setting the ADSSHSL (A/D
conversion method select) bit to "0."
For details about the conversion time, see Section 11.3.4, “Calculating the A/D Conversion Time.”
(5) ANSEL (A/D Analog Input Pin Select) bits (Bits 12–15)
These bits select the analog input pins when the A/D Converter is operating in single mode. A/D conversion
or comparate operation is performed on the channels selected with these bits. If these bits are accessed for
read, the value written to them is read out.
b8 9 10 11 12 13 14 b15
AD0SH2 AD0SH2ST AD0SEL2
0 0 0 0 0 0 0 0
The A/D single mode register 2 is provided to select simultaneous sampling valid or invalid in the single mode
of A/D converter and analog input pin sampled at the same time.
This bit selects whether simultaneous sampling is valid or invalid” when the A/D converter is in single mode.
By clearing this bit to “0,” simultaneous sampling becomes invalid and by setting it to “1,” simultaneous
sampling becomes valid.
This bit indicates that the number of times the A/D conversion is executed when simultaneous sampling is
effective. The bit is set to "1" only when second conversion is in progress.
(3) ADSEL2 (A/D Simultaneous Sampling Analog Input Pin Select) bit (Bits 12–15)
These bits select a channel sampled at the same time when simultaneous sampling is effective.
b0 1 2 3 4 5 6 b7
ADCTRG1 ADCMSL ADCTRG0 ADCSEL ADCREQ ADCCMP ADCSTP ADCSTT
0 0 0 0 0 1 0 0
A/D Scan Mode Register 0 is used to control operation of the A/D Converter during scan mode.
These bits select a hardware trigger when A/D conversion by the A/D Converter is to be started in hardware.
Select one from the following hardware trigger sources:
The contents of these bits are ignored if a software trigger is selected by ADCSEL (A/D conversion start
trigger select bit).
This bit selects scan mode of the A/D Converter between single-shot scan and continuous scan.
Setting this bit to "0" selects single-shot scan mode, where the channels selected with the ANSCAN (A/D
scan loop select) bits of the A/D0 Scan Mode Register 1 (AD0SCM1) are sequentially A/D converted and
when A/D conversion on all selected channels is completed, the conversion operation stops.
Setting this bit to "1" selects continuous scan mode, where after operation in single-shot scan mode fin-
ishes, A/D conversion is reexecuted beginning with the first channel and continued until stopped by setting
the ADCSTP (A/D conversion stop) bit to "1."
This bit selects whether to use a software or hardware trigger to start A/D conversion during scan mode. If
a software trigger is selected, A/D conversion is started by setting the ADCSTT (A/D conversion start) bit to
"1." If a hardware trigger is selected, A/D conversion is started by the trigger source selected with the
ADCTRG (hardware trigger select) bits.
(4) ADCREQ (A/D Interrupt Request/DMA Transfer Request Select) bit (Bit 4)
This bit selects whether to request an A/D conversion interrupt or a DMA transfer when one cycle of scan
mode operation is completed. If neither an interrupt nor a DMA transfer are used, choose to request an A/D
conversion interrupt and use the A/D Conversion Interrupt Control Register of the Interrupt Controller (ICU)
to mask the interrupt request, or choose to request a DMA transfer and use the DMA Channel Control
Register to disable DMA transfers to be performed upon completion of A/D conversion.
This is a read-only bit, whose value when exiting the reset state is "1." This bit is "0" when the A/D Converter
is performing scan mode A/D conversion and is set to "1" when single-shot scan mode finishes or continu-
ous scan mode is stopped by setting the ADCSTP (A/D conversion stop) bit to "1."
Setting this bit to "1" while the A/D Converter is performing scan mode A/D conversion causes the operation
being performed to stop. This bit is effective only for scan mode operation, and does not affect single mode
operation even when single and scan modes both are active during special operation mode.
Operation stops immediately after writing to this bit, and the A/D conversion being performed on any chan-
nel is aborted in the middle, without transferring the result to the A/D data register.
If the A/D conversion start bit and A/D conversion stop bit are set to "1" at the same time, the A/D conversion
stop bit has priority.
This bit is used to start scan mode operation of the A/D Converter in software. Only when a software trigger
has been selected with the ADCSEL (A/D conversion start trigger select) bit, setting this bit to "1" causes A/
D conversion to start.
If the A/D conversion start bit and A/D conversion stop bit are set to "1" at the same time, the A/D conversion
stop bit has priority.
If this bit is set to "1" again while performing scan mode conversion, special operation mode “Conversion
restart” is turned on, so that scan mode operation is restarted using the contents set by A/D Scan Mode
Registers 0 and 1.
If this bit is set to "1" again while performing A/D conversion in single mode, special operation mode “Scan
mode start after single mode execution” is turned on, so that scan mode operation starts subsequently after
single mode has finished.
b8 9 10 11 12 13 14 b15
ADCSPD ADCSHSL ADCSHSPD ANSCAN
0 0 0 0 0 0 0 0
A/D Scan Mode Register 1 is used to select operation mode, conversion speed and scan loop when the A/D
Converter is operating in scan mode. The channels selected with the scan loop select bit are scanned sequen-
tially beginning with channel 0 (n-channel scan).
This bit selects an A/D conversion speed when the A/D Converter is operating in scan mode. Setting this bit
to "0" selects normal speed, and setting this bit to "1" selects double speed.
This bit enables or disables the sample-and-hold function when the A/D Converter is operating in scan
mode. Setting this bit to "0" disables the sample-and-hold function, and setting this bit to "1" enables the
sample-and-hold function.
(3) ADCSHSPD (A/D Sample-and-Hold Conversion Speed Select) bit (Bit 11)
When the A/D Converter’s sample-and-hold function is enabled, this bit selects a conversion speed. When
this bit is "0," the conversion speed is the same as normal A/D conversion speed. When this bit is "1,"
conversion is performed at a speed faster than normal A/D conversion speed.
Setting of this bit has no effect if the sample-and-hold function is disabled by setting the ADCSHSL (A/D
conversion method select) bit to "0."
For details about the conversion time, see Section 11.3.4, “Calculating the A/D Conversion Time.”
The ANSCAN (A/D scan loop select) bits set the channels to be scanned during scan mode of the A/D
Converter.
The ANSCAN (A/D scan loop select) bits when accessed for read during scan operation serve as a status
register indicating the channel being scanned.
The value read from these bits during single mode is always B’0000.
When it is read out by One shot mode after scan operation is compeleted, the channel value changed last
time is read out.
If A/D conversion is stopped by setting A/D Scan Mode Register 0 ADCSTP (A/D conversion stop) bit to "1"
while executing scan mode, the value read from these bits indicates the channel whose A/D conversion has
been canceled.
Also, if read during single mode conversion of special operation mode “Forcible single mode execution
during scan mode,” the value of these bits indicates the channel whose A/D conversion has been canceled
in the middle of scan.
b8 9 10 11 12 13 14 b15
ADCVSD2 ADCVSD
0 0 0 0 0 0 0 0
The A/D Conversion Speed Control Register controls the A/D conversion speed during single and scan modes
of the A/D Converter. The A/D conversion speed is determined in combination with the conversion speed select
bits (Double/Normal) in A/D Single Mode Register 1 and A/D Scan Mode Register 1.
b0 1 2 3 4 5 6 b7
ADDDAEN
0 0 0 0 0 0 0 0
The A/D Disconnection Detection Assist Function Control Register is used to enable or disable the content of
the A/D Disconnection Detection Assist Method Select Register.
Note: • If any analog input wiring is disconnected, the conversion result varies depending on the
circuits fitted external to the chip. This function must be fully evaluated in the actual application
system before it can be used.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA ADDDA
SEL0 SEL1 SEL2 SEL3 SEL4 SEL5 SEL6 SEL7 SEL8 SEL9 SEL10 SEL11 SEL12 SEL13 SEL14 SEL15
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
In order to prevent the A/D conversion result from being affected by the analog input voltage leakage from any
preceding channel, the A/D Disconnection Detection Assist Method Select Register is used to control the
conversion start state by selecting whether to discharge or precharge the chopper amp capacitor before start-
ing regular conversion operation.
Figure 11.2.1 shows an example of A/D disconnection detection assist method in which the conversion start
state is set to the AVCC0 side (i.e., precharge before conversion is selected). Figure 11.2.2 shows an example
of A/D disconnection detection assist method in which the conversion start state is set to the AVSS0 side (i.e.,
discharge before conversion is selected).
On Precharge
Precharge control signal
R
Analog input
ADiINn
Chopper amp
i=0 capacitor
Broken wire C n=0-15
Note 1: In case of broken wire, the conversion result varies with external circuits.
Therefore, careful evaluation is required before this function can be used.
Figure 11.2.1 Example of A/D Disconnection Detection on AVCC0 Side (Precharge Before Conversion Selected)
Off Precharge
control signal
On Discharge
ADDDAEN
control signal
Typical external circuit (Note 1)
Analog input Discharge
ADiINn
Chopper amp
i=0 capacitor
Broken wire R C n=0-15
Note 1: In case of broken wire, the conversion result varies with external circuits.
Therefore, careful evaluation is required before this function can be used.
Figure 11.2.2 Example of A/D Disconnection Detection on AVSS0 Side (Discharge Before Conversion Selected)
1800
1600
Scan mode: Disconnection detection disabled
1400
1200
1000
800
600
400
200
0
0 20 40 60 80 100 120
Note: • Reference value when set as f(BCLK)=40MHz, set 2BCLK mode in ADCVSD2 bit of A/D0 conversion speed control register.
Figure 11.2.3 A/D Disconnection Detection Assist Data (when Discharge Before Conversion Selected)
4900
4700
Voltage on disconnected port [mV]
4500
4300
4100
3900
3700
3500
Scan mode: Disconnection detection enabled
3300
Scan mode: Disconnection detection disabled
3100
2900
0 20 40 60 80 100 120
Note: • Reference value when set as f(BCLK)=40MHz, set 2BCLK mode in ADCVSD2 bit of A/D0 conversion speed control register.
Figure 11.2.4 A/D Disconnection Detection Assist Data (when Precharge Before Conversion Selected)
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
ADSAR
0 0 0 0 0 0 ? ? ? ? ? ? ? ? ? ?
The A/D Successive Approximation Register (ADSAR) is used to read the conversion result of the A/D Con-
verter when operating in A/D conversion mode or write a comparison value when operating in comparator
mode.
In A/D conversion mode, the successive approximation method is used to perform A/D conversion. With this
method, the reference voltage VREF0 and analog input voltages are sequentially compared bitwise beginning
with the high-order bit, and the comparison result is set in the A/D Successive Approximation Register
(ADSAR) bits 6–15. When the A/D conversion has finished, the value of this register is transferred to the 10-bit
A/D Data Register (ADDTn) corresponding to each converted channel. When this register is accessed for read
in the middle of A/D conversion, the value read from the register indicates the intermediate result of conversion.
In comparator mode, this register is used to write a comparison value (the voltage with which to “comparate”).
Simultaneously with a write to this register, the A/D Converter starts comparing the voltage on the analog input
pin selected with A/D Single Mode Register 1 and the value written in this register. After comparate operation,
the result is stored in the A/D Comparate Data Register (ADCMP).
Use the calculation formula shown below to find the comparison value to be written to the A/D Successive
Approximation Register (ADSAR) during comparator mode.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
AD AD AD AD AD AD AD AD AD AD AD AD AD AD AD AD
CMP0 CMP1 CMP2 CMP3 CMP4 CMP5 CMP6 CMP7 CMP8 CMP9 CMP10 CMP11 CMP12 CMP13 CMP14 CMP15
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Note 1: During comparator mode, the bits in this register correspond one for one to channels 0–15.
Note: • This register must always be accessed in halfwords.
When comparator mode is selected using the A/D Single Mode Register 1 ADSMSL (A/D conversion mode
select) bit, the selected analog input voltage is compared with the value written to the A/D Successive Approxi-
mation Register and the result is stored in the corresponding bit of this comparate data register.
The bit or flag in this register is "0" when analog input voltage > comparison voltage, or "1" when analog input
voltage < comparison voltage.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
ADDT0-ADDT15
0 0 0 0 0 0 ? ? ? ? ? ? ? ? ? ?
During single mode, the 10-bit A/D Data Registers are used to store the result of A/D conversion performed on
each corresponding channel.
During single-shot or continuous scan mode, the content of the A/D Successive Approximation Register is
transferred to the 10-bit A/D Data Register for the corresponding channel when A/D conversion on each chan-
nel has finished. Each 10-bit A/D Data Register retains the last conversion result until they receive the next
conversion result transferred, allowing the content to be read out at any time.
b8 9 10 11 12 13 14 b15
AD8DT0-AD8DT15
? ? ? ? ? ? ? ?
The A/D data register is used to store the 8-bit conversion data for the A/D converter.
During single mode, the 8-bit A/D Data Registers store the result of A/D conversion performed on each corre-
sponding channel.
During single-shot or continuous scan mode, the content of the A/D Successive Approximation Register is
transferred to the 8-bit A/D Data Register for the corresponding channel when A/D conversion on each channel
has finished. Each 8-bit A/D Data Register retains the last conversion result until they receive the next conver-
sion result transferred, allowing the content to be read out at any time.
The A/D Converter performs A/D conversion using a 10-bit successive approximation method. The equation
shown below is used to calculate the actual analog input voltage from the digital value obtained by executing A/
D conversion.
10-bit i=0
ADiDT0–15
A/Di Data Register
A/Di Comparate
ADiCMP
Data Register
Figure 11.3.1 Outline Block Diagram of the Successive Approximation-type A/D Converter Unit
The A/D Converter use an A/D conversion start trigger (software or hardware) as they start A/D conversion.
Once A/D conversion begins, the following operation is automatically performed.
1. During single mode, A/D Single Mode Register 0’s A/D conversion/comparate completion bit is cleared to
"0." During scan mode, A/D Scan Mode Register 0’s A/D conversion completion bit is cleared to "0."
2. The content of the A/D Successive Approximation Register is cleared to H’0000.
3. The A/D Successive Approximation Register’s most significant bit (bit 6) is set to "1."
4. The comparison voltage, Vref (Note 1), is fed from the D/A Converter into the comparator.
5. The comparison voltage, Vref, and the analog input voltage, VIN, are compared, and the comparison result
will be stored in bit 6.
If Vref < VIN, then bit 6 = "1"
If Vref > VIN, then bit 6 = "0"
6. Operations in 3 through 5 above are executed for all other bits from bit 7 to bit 15.
7. The value stored in the A/D Successive Approximation Register by the time comparison for bit 15 has
finished is held in it as the A/D conversion result.
1st comparison 1 0 0 0 0 0 0 0 0 0
3rd comparison n9 n8 1 0 0 0 0 0 0 0
10th comparison n9 n8 n7 n6 n5 n4 n3 n2 n1 1
Conversion n9 n8 n7 n6 n5 n4 n3 n2 n1 n0
completed
Figure 11.3.2 Changes of the A/D Successive Approximation Register during A/D Convert Operation
Note 1: The comparison voltage, Vref (the voltage fed from the D/A Converter into the comparator), is
determined according to changes of the A/D Successive Approximation Register content. Shown
below are the equations used to calculate the comparison voltage, Vref.
• If the A/D Successive Approximation Register content = 0
Vref [V] = 0
• If the A/D Successive Approximation Register content = 1 to 1,023
Vref [V] = (reference voltage VREF0 / 1,024) × (A/D Successive Approximation Register content – 0.5)
The conversion result is stored in the 10-bit A/D Data Register (AD0DTn) corresponding to each converted
channel. There is also an 8-bit A/D Data Register (AD08DTn) for each channel, from which the 8 high-order bits
of the 10-bit A/D conversion result can be read out.
The following shows the procedure for A/D conversion by a successive approximation method in each operation mode.
The convert operation stops when comparison for the A/D Successive Approximation Register bit 15 is
completed. The content (A/D conversion result) of the A/D Successive Approximation Register is trans-
ferred to the 10-bit A/D Data Registers 0–15 for the converted channel.
When comparison for the A/D Successive Approximation Register bit 15 on a specified channel is completed, the
content of the A/D Successive Approximation Register is transferred to the corresponding 10-bit A/D Data Registers
0–15, and the convert operations in said steps 2 to 7 are reexecuted for the next channel to be converted.
In single-shot scan mode, the convert operation stops when A/D conversion in one specified scan loop is completed.
When comparison for the A/D Successive Approximation Register bit 15 on a specified channel is completed, the
content of the A/D Successive Approximation Register is transferred to the corresponding 10-bit A/D Data Reg-
isters 0–15, and the convert operations in said steps 2 to 7 are reexecuted for the next channel to be converted.
In continuous scan mode, the convert operation is executed continuously until scan operation is forcibly termi-
nated by setting the A/D conversion stop bit (Scan Mode Register 0 bit 6) to "1."
When comparator mode (single mode only) is selected, the A/D Converter functions as a comparator which
compares analog input voltages with the comparison voltage that is set by software.
When a comparison value is written to the successive approximation register, the A/D Converter starts
“comparating” the analog input voltage selected by the Single Mode Register 1 analog input select bit with the
value written into the successive approximation register. Once comparate begins, the following operation is
automatically executed.
1. The A/D conversion/comparate completion bit in the A/D Single Mode Register 0 is cleared to "0."
2. The comparison voltage, Vref (Note 1), is fed from the D/A Converter into the comparator.
3. The comparison voltage, Vref, and the analog input voltage, VIN, are compared, and the comparison
result will be stored in the comparate result flag for the corresponding channel.
If Vref < VIN, then the comparate result flag = 0
If Vref > VIN, then the comparate result flag = 1
4. The comparate operation is stopped after storing the comparison result.
The comparison result is stored in the A/D Comparate Data Register (AD0CMP)’s corresponding bit.
Note 1: The comparison voltage, Vref (the voltage fed from the D/A Converter into the comparator), is
determined according to changes of the A/D Successive Approximation Register content. Shown
below are the equations used to calculate the comparison voltage, Vref.
• If the A/D Successive Approximation Register content = 0
Vref [V] = 0
• If the A/D Successive Approximation Register content = 1 to 1,023
Vref [V] = (reference voltage VREF0 / 1,024) x (A/D0 Successive Approximation Register content – 0.5)
The A/D conversion time is expressed by the sum of dummy cycle time and actual execution cycle time. The
following shows each time factor necessary to calculate the conversion time.
The following schematically shows the method for calculating the conversion time during A/D conversion mode.
<Single mode>
<Scan mode>
(Channel 0) (Channel 1)
Scan to
Start dummy Execution cycle Execution cycle
scan dummy
(Last channel)
Scan to
Execution cycle End dummy
scan dummy
The following schematically shows the method for calculating the conversion time when the sample-and-
hold function is enabled.
Convert operation
A/D conversion starts
start trigger Completed
Execution cycle
Figure 11.3.4 Conceptual Diagram of A/D Conversion Time when Sample-and-Hold is Enabled
Table 11.3.1 Conversion Clock Periods in A/D Conversion Mode when Sample-and-Hold is Disabled or
Normal Sample-and-Hold is Enabled (Shortest Period) Unit: BCLK
Conversion speed Start dummy Execution cycle End dummy Scan to scan dummy
(Note 1) (Note 2)
2BCLK mode Slow mode Normal speed 8 588 2 8
Double speed 8 336 2 8
Fast mode Normal speed 8 252 2 8
Double speed 8 168 2 8
Note 1: The same applies to both software and hardware triggers.
Note 2: Only during scan mode operation, execution time per channel is added.
Table 11.3.2 Conversion Clock Periods in A/D Conversion Mode when Fast Sample-and-Hold is Enabled
(Shortest Period) Unit: BCLK
Conversion speed Start dummy Execution cycle End dummy Scan to scan dummy
(Note 1) (Note 2)
2BCLK mode Slow mode Normal speed 8 372 2 8
Double speed 8 192 2 8
Fast mode Normal speed 8 180 2 8
Double speed 8 96 2 8
Note 1: The same applies to both software and hardware triggers.
Note 2: Only during scan mode operation, execution time per channel is added.
The following schematically shows the method for calculating the conversion time during comparator mode.
Figure 11.3.5 Conceptual Diagram of A/D Conversion Time during Comparator Mode
Table 11.3.3 Conversion Clock Periods in Comparate Mode (Shortest Period) Unit: BCLK
Conversion speed Start dummy Execution cycle End dummy
2BCLK mode Slow mode Normal speed 8 84 2
Double speed 8 48 2
Fast mode Normal speed 8 36 2
Double speed 8 24 2
The following schematically shows the method for calculating the conversion time during the simultaneous
sampling conversion.
Convert operation
starts
Start trigger Completed
Figure 11.3.6 Conceptual Diagram of A/D Conversion Time during Simultaneous Sampling Conversion
Table 11.3.4 Conversion Clock Periods for Simultaneous Sampling when Normal Sample-and-Hold is
Enabled (Shortest Period) Unit: BCLK
Conversion speed Start dummy Execution Channel to Execution End
(Note 1) cycle 1 channel dummy cycle 2 dummy
2BCLK mode Slow mode Normal speed 8 588 8 588 2
Double speed 8 336 8 336 2
Fast mode Normal speed 8 252 8 252 2
Double speed 8 168 8 168 2
Note 1: The same applies to both software and hardware triggers.
Table 11.3.5 Conversion Clock Periods for Simultaneous Sampling when Fast Sample-and-Hold is Enabled
(Shortest Period) Unit: BCLK
Conversion speed Start dummy Execution Channel to Execution End
(Note 1) cycle 1 channel dummy cycle 2 dummy
2BCLK mode Slow mode Normal speed 8 372 8 372 2
Double speed 8 192 8 192 2
Fast mode Normal speed 8 180 8 180 2
Double speed 8 96 8 96 2
Note 1: The same applies to both software and hardware triggers.
The accuracy of the A/D Converter is indicated by an absolute accuracy. The absolute accuracy refers to a
difference expressed by LSB between the output code obtained by A/D converting the analog input voltages
and the output code expected for an A/D converter with ideal characteristics. The analog input voltages used
during accuracy measurement are the midpoint values of the voltage width in which an A/D converter with ideal
characteristics produces the same output code. If VREF0 = 5.12 V, for example, the width of 1 LSB for a 10-bit
A/D converter is 5 mV, so that 0 mV, 5 mV, 10 mV, 15 mV, 20 mV, 25 mV and so on are selected as midpoints
of the analog input voltage.
If an A/D converter is said to have the absolute accuracy of ±2 LSB, it means that if the input voltage is 25 mV,
for example, the output code expected for an A/D converter with ideal characteristics is H’005, and the actual A/
D conversion result is in the range of H’003 to H’007. Note that the absolute accuracy includes zero and full-
scale errors.
When actually using the A/D Converter, the analog input voltages are in the range of AVSS0 to VREF0. Note,
however, that low VREF0 voltages result in a poor resolution. Note also that output codes for the analog input
voltages from VREF0 to AVCC0 are always H’3FF.
→ A/D conversion result (hexadecimal)
H'3FF
H'3FE
H'003
H'002
A/D conversion characteristics with infinite resolution
H'001
H'000
0
VREF0 VREF0 VREF0 VREF0
x1 x2 x3 x 1023
1024 1024 1024 1024
VREF0 VREF0
x 1022 x 1024
1024 1024
Figure 11.3.7 Ideal A/D Conversion Characteristics Relative to the 10-bit A/D Converter’s Analog Input Voltages
H'00B
Ideal A/D conversion characteristics
H'00A
H'009
H'008
+2 LSB
H'007
H'006
H'003
-2 LSB
H'002
H'001
H'000
0 5 10 15 20 25 30 35 40 45 50 55
The Inflow Current Bypass Circuit fixes the internal signals of unselected analog inputs to the GND level, so that
when an overvoltage is applied, this circuit lets the current flow into the GND and prevents it from leaking to the
selected analog input. That way, the accuracy of the A/D conversion result is prevented from being deteriorated
by overvoltages.
This circuit is always active while the A/D Converter is operating, and does not need to be controlled in software.
OFF OFF
Unselected Fixed to GND level
channel
ON
ON External input ON
Selected latched into
channel
OFF
Assist circuit
Leakage current
generated
OFF Leakage current OFF
Unselected channel
generated
ON
Unaffected
by leakage To the internal logic
of the A/D Converter
ON ON
Selected channel
Sensor input
OFF
Assist circuit
Figure 11.4.2 Example of an Inflow Current Bypass Circuit where AVCC0 + 0.7 V or More is Applied
Leakage current
generated
OFF Leakage current OFF
Unselected channel
generated
ON
Unaffected by
leakage To the internal logic
of the A/D Converter
GND - 0.7V or less
ON ON
Selected channel
Sensor input
OFF
Assist circuit
Figure 11.4.3 Example of an Inflow Current Bypass Circuit where GND – 0.7 V or Less is Applied
Table 11.4.1 Accuracy Errors (Reference Values) when Current is Injected into AD0IN0
Accuracy error on overcurrent injected ports (Unit: LSB)
Analog input pin AD0IN0 AD0IN1 AD0IN2 AD0IN3 AD0IN4 AD0IN5 AD0IN6 AD0IN7 AD0IN8 AD0IN9 AD0IN10 AD0IN11 AD0IN12 AD0IN13 AD0IN14 AD0IN15
2mA 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2
1mA 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Injection
current 0mA 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
-1mA 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2
-2mA 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Note: • Since the influence of the accuracy on a contiguity channel becomes large, do not inject an over-current into the
channel selected in the A/D0 simultaneous sampling analog input selection bit (ADSEL2) of the A/D single mode
register 2 (ADSIM2). (No channel is selected if "0000"to"1011" is set up in 2 bit of ADSEL(s).)
C1 : parasitic capacitance of the board R2 : parasitic resistance of the VREF0 : analog reference voltage
+ stabilizing capacitance selector (1-2 KΩ) V2 : voltage across C2
R1 : resistance of analog output device C2 : comparator capacitance E : voltage of analog output device
Cin : input pin capacitance (approx. 10 pF) (approx. 2.9 pF)
(a) Example for calculating the external stabilizing capacitor C1 (addition of this capacitor is recommended)
Assuming the R1 in Figure 11.5.1 is infinitely large and that the current necessary to charge the internal
capacitor C2 is supplied from C1, if the potential fluctuation, Vp, caused by capacitance division of C1 and
C2 is to be within 0.1 LSB, then what amount of capacitance C1 should have. For a 10-bit A/D Converter
where VREF0 is 5.12 V, 1 LSB determination voltage = 5.12 V / 1,024 = 5 mV. The potential fluctuation of
0.1 LSB means a 0.5 mV fluctuation.
The relationship between the capacitance division of C1 and C2 and the potential fluctuation,
Vp, is obtained by the equation below:
C2
Vp = × (E - V2) Eq. A-1
C1 + C2
Vp is also obtained by the equation below:
x-1 1 VREF0
Vp = Vp1 × ∑ < Eq. A-2
i=0 2 i 10 × 2× where Vp1 = potential fluctuation in the first A/D conversion performed
and x = 10 for a 10-bit resolution A/D converter
When Eq. A-1 and Eq. A-2 are solved, the following results:
C1 = C2 { E - V2 - 1 } Eq. A-3
Vp1
x-1 1
∴ C1 > C2 {10 × 2× × ∑ i -1}
Eq. A-4
i=0 2
Thus, for a 10-bit resolution A/D Converter where C2 = 2.9 pF, C1 is 0.06 µF or more. Use this value for
reference when setting up C1.
If the external capacitor C1 in Figure 11.5.1 is not used, examination must be made to see if the analog
output device can fully charge C2 within a predetermined time. First, the equation to find i2 when C1 in
Figure 11.5.1 does not exist is shown below.
C2(E - V2) { -t }
i2 = ×exp ------------------------ Eq. B-1
Cin×R1+C2(R1+R2) Cin×R1+C2(R1+R2)
Conversion time
for the first bit Second bit
When sample-and-hold
is disabled
ADINi
* When sample-and-hold is enabled, the analog input is sampled for only the first bit.
Figure 11.5.2 shows an A/D conversion timing diagram. C2 must be charged up within the sampling time
shown in this diagram. When the sample-and-hold function is disabled, the sampling time for the second
and subsequent bits is about half that of the first bit.
The sampling times at the respective conversion speeds are listed in the table 11.5.1. Note that when the
sample-and-hold function is enabled, the analog input is sampled for only the first bit.
Therefore, the time in which C2 needs to be charged is found from Eq. B-1, as follows:
Sampling time (in which C2 needs to be charged) > Cin × R1 + C2(R1 + R2) Eq. B-2
Thus, the maximum value of R1 can be obtained as a criterion from the equation below. Note, however, that
for single mode (when sample-and-hold is disabled), the sampling time for the second and subsequent bits
(C2 charging time) must be applied.
C2 charging time - C2 × R2
R1 <
Cin + C2
Communication is performed synchronously with a transfer clock, using the same clock on both transmit
and receive sides. The transfer data length can be selected within the range from 8 to 16 bits long.
Communication is performed at any transfer rate in any transfer data format. The transfer data length can be
selected from 7, 8 and 9 bits.
Channels SIO0–SIO5 each have a transmit DMA transfer and a receive DMA transfer request. These serial
interfaces, when combined with the internal DMA Controller (DMAC), allow serial communication to be
performed at high speed, as well as reduce the data communication load of the CPU.
SIO0
SIO0 Transmit Buffer Register
Transmit interrupt request
To the Interrupt
TXD0 SIO0 Transmit Shift Register Receive interrupt request Controller (ICU)
Transmit/
Receive
Control Transmit DMA transfer request
Circuit To DMA3, DMA4
RXD0 SIO0 Receive Shift Register Receive DMA transfer request
To DMA4
SIO1
SCLKI1/SCLKO1
SIO2
SIO3
To the Interrupt
Transmit interrupt request Controller (ICU)
TXD3 SIO3 Transmit Shift Register Transmit/ Receive interrupt request
Receive
Control Transmit DMA transfer request
To DMA7, DMA9
RXD3 SIO3 Receive Shift Register Circuit Receive DMA transfer request
To DMA8
SIO4
SCLKI5/SCLKO5
Notes: • When f(BCLK) is selected as BRG cout source, the BRG set value is subjected to limitations.
• SIO2 and SIO3 do not have the SCLKI/SCLKO function.
H'0080 0110 SIO0 Transmit Control Register SIO0 Transmit/Receive Mode Register 12-14
(S0TCNT) (S0MOD) 12-15
H'0080 0112 SIO0 Transmit Buffer Register 12-19
(S0TXB)
H'0080 0114 SIO0 Receive Buffer Register 12-20
(S0RXB)
H'0080 0116 SIO0 Receive Control Register SIO0 Baud Rate Register 12-21
(S0RCNT) (S0BAUR) 12-24
H'0080 0118 SIO0 Special Mode Register (Use inhibited area) 12-27
(S0SMOD)
| (Use inhibited area)
H'0080 0120 SIO1 Transmit Control Register SIO1 Transmit/Receive Mode Register 12-14
(S1TCNT) (S1MOD) 12-15
H'0080 0122 SIO1 Transmit Buffer Register 12-19
(S1TXB)
H'0080 0124 SIO1 Receive Buffer Register 12-20
(S1RXB)
H'0080 0126 SIO1 Receive Control Register SIO1 Baud Rate Register 12-21
(S1RCNT) (S1BAUR) 12-24
H'0080 0128 SIO1 Special Mode Register (Use inhibited area) 12-27
(S1SMOD)
| (Use inhibited area)
H'0080 0130 SIO2 Transmit Control Register SIO2 Transmit/Receive Mode Register 12-14
(S2TCNT) (S2MOD) 12-15
H'0080 0132 SIO2 Transmit Buffer Register 12-19
(S2TXB)
H'0080 0134 SIO2 Receive Buffer Register 12-20
(S2RXB)
H'0080 0136 SIO2 Receive Control Register SIO2 Baud Rate Register 12-21
(S2RCNT) (S2BAUR) 12-24
H'0080 0138 SIO2 Special Mode Register (Use inhibited area) 12-27
(S2SMOD)
| (Use inhibited area)
H'0080 0140 SIO3 Transmit Control Register SIO3 Transmit/Receive Mode Register 12-14
(S3TCNT) (S3MOD) 12-15
H'0080 0142 SIO3 Transmit Buffer Register 12-19
(S3TXB)
H'0080 0144 SIO3 Receive Buffer Register 12-20
(S3RXB)
H'0080 0146 SIO3 Receive Control Register SIO3 Baud Rate Register 12-21
(S3RCNT) (S3BAUR) 12-24
H'0080 0148 SIO3 Special Mode Register (Use inhibited area) 12-27
(S3SMOD)
| (Use inhibited area)
H'0080 0A00 SIO45 Interrupt Request Status Register SIO45 Interrupt Request Mask Register 12-9
(SI45STAT) (SI45MASK) 12-10
H'0080 0A02 SIO45 Interrupt Request Source Select Register (Use inhibited area) 12-11
(SI45SEL)
| (Use inhibited area)
H'0080 0A10 SIO4 Transmit Control Register SIO4 Transmit/Receive Mode Register 12-14
(S4TCNT) (S4MOD) 12-15
H'0080 0A12 SIO4 Transmit Buffer Register 12-19
(S4TXB)
H'0080 0A14 SIO4 Receive Buffer Register 12-20
(S4RXB)
H'0080 0A16 SIO4 Receive Control Register SIO4 Baud Rate Register 12-21
(S4RCNT) (S4BAUR) 12-24
H'0080 0A20 SIO5 Transmit Control Register SIO5 Transmit/Receive Mode Register 12-14
(S5TCNT) (S5MOD) 12-15
H'0080 0A22 SIO5 Transmit Buffer Register 12-19
(S5TXB)
H'0080 0A24 SIO5 Receive Buffer Register 12-20
(S5RXB)
H'0080 0A26 SIO5 Receive Control Register SIO5 Baud Rate Register 12-21
(S5RCNT) (S5BAUR) 12-24
H'0080 0A28 SIO5 Special Mode Register (Use inhibited area) 12-27
(S5SMOD)
The SIO interrupt related registers are used to control the interrupt request signals output from SIO to the
Interrupt Controller (ICU), as well as select the source of each interrupt request.
This status bit is used to determine whether an interrupt is requested. When an interrupt request occurs, this
bit is set in hardware (cannot be set in software). The status bit is cleared by writing "0." Writing "1" has no
effect; the bit retains the status it had before the write. Because this bit is unaffected by the interrupt request
mask bit, it can also be used to inspect the operating status of peripheral functions.
In interrupt handling, make sure that within the grouped interrupt request status, only the status bit for the
interrupt request that has been serviced is cleared. If the status bit for any interrupt request that has not
been serviced is cleared, the pending interrupt request is cleared simultaneously with its status bit.
This bit is used to disable unnecessary interrupt requests within the grouped interrupt request. Set this bit to
"1" to enable interrupt requests or "0" to disable interrupt requests.
• Group interrupt
Interrupt request from
each peripheral function
Set
b4 5 6 b7
Initial state 0 0 0 0
Interrupt request
Bit 6 event occurs 0 0 1 0
b4 5 6 b7
1 1 0 1 1 0 0 0
Program example
• To clear the Interrupt Request Status Register 0 (ISTREG) interrupt request status 1: ISTAT1 (0x02 bit)
To clear an interrupt request status, always be sure to write 1 to all other interrupt request status bits. At this time,
avoid using a logic operation like the one shown below. Because it requires three step-ISTREG read, logic operation
and write, if another interrupt request occurs between the read and write, status may be inadvertently cleared.
b4 5 6 b7
0 0 1 0
0 0 0 0
0 0 0 0 Write
Notes: • No interrupt request signals are generated unless interrupts are generated by the SIO Interrupt
Request Mask Register after enabling the TEN (Transmit Enable) bit or REN (Receive Enable) bit
for the corresponding SIO.
• SIO2 and SIO3 together comprise one interrupt group, so do SIO4 and SIO5.
• The transmission-finished interrupt is effective when the internal clock is selected in UART or CSIO mode.
TEN
(Transmit Enable bit)
TBE
(Transmit Buffer
Empty bit)
Transmit DMA
transfer request
RFIN
(Reception Finished bit)
Receive
DMA transfer request
Note: • No reception-finished DMA transfer requests are generated if a receive error occurs.
b0 1 2 3 4 5 6 b7
IRQT2 IRQR2 IRQT3 IRQR3
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
IRQT4 IRQR4 IRQT5 IRQR5
0 0 0 0 0 0 0 0
These registers indicate the transmit/receive interrupt requests from each SIO.
This bit can only be set in hardware, and cannot be set in software.
Note: • If the status bit is set in hardware at the same time it is cleared in software, the former has
priority and the status bit is set.
When writing to the SIO Interrupt Request Status Register, make sure only the bits to be cleared are set to
"0" and all other bits are set to "1." Those bits that have been set to "1" are unaffected by writing in software
and retain the value they had before the write.
b8 9 10 11 12 13 14 b15
T0MASK R0MASK T1MASK R1MASK T2MASK R2MASK T3MASK R3MASK
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
T4MASK R4MASK T5MASK R5MASK
0 0 0 0 0 0 0 0
These registers enable or disable the interrupt requests generated by each SIO. Interrupt requests from any
SIO are enabled by setting its corresponding interrupt request enable bit to "1."
SIO03 Interrupt Request Source Select Register (SI03SEL) <Address: H’0080 0102>
b0 1 2 3 4 5 6 b7
IST0 IST1 IST2 IST3 ISR0 ISR1 ISR2 ISR3
0 0 0 0 0 0 0 0
SIO45 Interrupt Request Source Select Register (SI45SEL) <Address: H’0080 0A02>
b0 1 2 3 4 5 6 b7
IST4 IST5 ISR4 ISR5
0 0 0 0 0 0 0 0
These registers select the source of interrupt requests generated by each SIO when transmit or receive opera-
tion is completed.
Note: • Do not select the transmission finished interrupt when an external clock is selected in
CSIO mode.
SIO2 transmission
finished
IST2 IRQT2 4-source inputs
b2 b4 F/F
F/F
SIO2, 3
T2MASK (Level) transmit/receive
b12 F/F interrupt requests
SIO2 reception
finished
SIO2 receive error
ISR2 IRQR2
b6 b5 F/F
F/F
R2MASK
b13 F/F
SIO3 transmit
buffer empty
SIO3 transmission
finished IRQT3
IST3
b3 b6
F/F F/F
T3MASK
b14 F/F
SIO3 reception
finished
SIO3 receive error
ISR3 IRQR3
b7 b7
F/F F/F
R3MASK
b15
F/F
SIO4 transmission
finished
IST4 IRQT4 4-source inputs
b0 b0 F/F
F/F
SIO4, 5
T4MASK (Level) transmit/receive
b8 F/F interrupt requests
SIO4 reception
finished
SIO4 receive error
ISR4 IRQR4
b4 b1 F/F
F/F
R4MASK
b9 F/F
SIO5 transmit
buffer empty
SIO5 transmission
finished IRQT5
IST5
b1 b2
F/F F/F
T5MASK
b10 F/F
SIO5 reception
finished
SIO5 receive error
ISR5 IRQR5
b5 b3
F/F F/F
R5MASK
b11
F/F
b0 1 2 3 4 5 6 b7
CDIV TSTAT TBE TEN
0 0 0 1 0 0 1 0
b8 9 10 11 12 13 14 b15
SMOD CKS STB PSEL PEN SEN
0 0 0 0 0 0 0 0
The SIO Transmit/Receive Mode Registers consist of bits to set the serial interface operation mode, data
format and the functions used during communication.
The SIO Transmit/Receive Mode Registers must always be set before the serial interface starts operating. To
change register settings after the serial interface starts sending or receiving data, first confirm that transmit and
receive operations have finished and then disable transmit/receive operations (by clearing the SIO Transmit
Control Register transmit enable bit and SIO Receive Control Register receive enable bit to "0") before making
changes.
This bit is effective when CSIO mode is selected. Setting this bit has no effect when UART mode is selected,
in which case the serial interface is clocked by the internal clock.
This bit is effective during UART mode. Use this bit to select the stop bit length that indicates the end of data
to transmit. Setting this bit to "0" selects one stop bit, and setting this bit to "1" selects two stop bits.
During clock-synchronous mode, the content of this bit has no effect.
This bit is effective during UART mode. When parity is enabled (bit 14 = "1"), use this bit to select the parity
attribute (whether odd or even). Setting this bit to "0" selects an odd parity, and setting this bit to "1" selects
an even parity.
When parity is disabled (bit 14 = "0") and during clock-synchronous mode, the content of this bit has no effect.
This bit is effective during UART mode. When this bit is set to "1," a parity bit is added immediately after the
data bits of the transmit data, and the received data is checked for parity.
The parity bit added to the transmit data is automatically determined to be "0" or "1" so that the attribute
(odd/even) derived by adding the number of 1’s in data bits and the content of the parity bit agrees with one
that was selected with the odd/even parity select bit (bit 13).
Figure 12.2.7 shows an example of a data format when parity is enabled.
This bit is effective during UART mode. If the sleep function is enabled by setting this bit to "1," data is
latched into the UART Receive Buffer Register only when the most significant bit (MSB) of the received data
is "1."
Direction of transfer
• 8-bit
clock-synchronous mode b7 b6 b5 b4 b3 b2 b1 b0
• 9-bit
clock-synchronous mode b8 b7 b6 b5 b4 b3 b2 b1 b0
• 10-bit
clock-synchronous mode b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
• 11-bit
clock-synchronous mode b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
• 12-bit
clock-synchronous mode b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
• 13-bit
clock-synchronous mode b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
• 14-bit
clock-synchronous mode b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
• 15-bit
clock-synchronous mode b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
• 16-bit
clock-synchronous mode b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
(Note 1) (Note 2)
• 7-bit UART mode ST b6 b5 b4 b3 b2 b1 b0 PAR SP
(Note 1) (Note 2)
• 8-bit UART mode ST b7 b6 b5 b4 b3 b2 b1 b0 PAR SP
(Note 1) (Note 2)
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
TDATA
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The SIO Transmit Buffer Registers are used to set transmit data. The write value of these registers can be read
out. Data must be LSB-aligned when write a transmit data. According to the conditions of the serial interface
mode select bit, the CSIO bit length select bit and the transfer order select bit, the data corresponding to the
specified bit is transmitted from the LSB or MSB side.
Before setting transmit data in these registers, enable the Transmit Control Register TEN (Transmit Enable) bit
by setting it to "1." Writing data to these registers while the TEN bit is disabled (cleared to "0") has no effect.
When data is written to the SIO Transmit Buffer Register while transmission is enabled, the data is transferred
from that register to the SIO Transmit Shift Register, upon which the serial interface starts sending data.
Note: • For the 7-bit and 8-bit data formats, the register can be accessed bytewise.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
RDATA
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
The SIO Receive Buffer Registers are used to store the received data. When the serial interface has finished
receiving data, the content of the SIO Receive Shift Register is transferred to the SIO Receive Buffer Register.
These registers are a read-only register.
When reading the content of the SIO Receive Buffer Register after reception is completed, if the serial interface
finishes receiving the next data before the previous data is not read out, an overrun error occurs and the
subsequent received data are not transferred to the Receive Buffer Register.
To restart normal receive operation, clear the Receive Control Register REN (Receive Enable) bit to "0."
Note: • For the 7-bit and 8-bit data formats, the register can be accessed bytewise.
b0 1 2 3 4 5 6 b7
RSTAT RFIN REN OVR PTY FLM ERS
0 0 0 0 0 0 0 0
[Set condition]
This bit is set to "1" by a start of receive operation. When this bit = "1," the serial interface is receiving data.
[Clear condition]
This bit is cleared upon completion of receive operation or by clearing the REN (Receive Enable) bit to
"0."
[Set condition]
This bit is set to "1" when all data bits have been received in the Receive Shift Register and whose
content is transferred to the Receive Buffer Register.
[Clear condition]
This bit is cleared to "0" by reading out the lower byte of the Receive Buffer Register or by clearing the
REN (Receive Enable) bit. However, if an overrun error occurs, this bit cannot be cleared by reading
out the lower byte of the Receive Buffer Register. In this case, clear REN (Receive Enable) bit to "0."
Reception is enabled by setting this bit to "1," and is disabled by clearing this bit to "0," in which case the
receiver unit is initialized. Accordingly, the receive status and reception finished bits, as well as the overrun
error, framing error, parity error and error sum bits all are cleared.
The receive operation stops if the Receive Enable bit is cleared to "0" while receiving data.
When an overrun error occurs, the received data is not stored in the Receive Buffer Register. In this case,
neither an interrupt request nor a DMA transfer request by receive completion occurs.
[Set condition]
This bit is set to "1" when all bits of the next received data have been set in the Receive Shift Register
while the Receive Buffer Register still contains the previous received data. Although receive operation
continues even when the overrun error flag = "1," the received data is not stored in the Receive Buffer
Register. This error bit must be cleared before normal reception can be restarted.
[Clear condition]
This bit is cleared by only clearing the REN (Receive Enable) bit to "0."
This bit is effective in only UART mode. It is fixed to "0" during CSIO mode. When a parity error occurs, the
received data is stored in the Receive Buffer Register. In this case, an interrupt request by receive comple-
tion occurs but a DMA transfer request does not occur.
[Set condition]
The PTY (Parity Error) bit is set to "1" when the SIO Transmit/Receive Mode Register PEN (Parity
Enable/Disable) bit is enabled and the parity (even or odd) of the received data does not agree with one
that was set by the said register’s PSEL (Parity Select) bit.
[Clear condition]
The PTY bit is cleared to "0" by reading out the lower byte of the SIO Receive Buffer Register or by
clearing the SIO Receive Control Register REN (Receive Enable) bit. However, if an overrun error
occurs, this bit cannot be cleared by reading out the lower byte of the Receive Buffer Register. In this
case, clear the REN (Receive Enable) bit to "0."
This bit is effective in only UART mode. It is fixed to "0" during CSIO mode. When a framing error occurs, the
received data is stored in the Receive Buffer Register. In this case, an interrupt request by receive comple-
tion occurs but a DMA transfer request does not occur.
[Set condition]
The FLM (Framing Error) bit is set to "1" when the number of received bits does not agree with one that
was set by the SIO Transmit/Receive Mode Register.
[Clear condition]
The FLM bit is cleared to "0" by reading out the lower byte of the SIO Receive Buffer Register or by
clearing the SIO Receive Control Register REN (Receive Enable) bit.
However, if an overrun error occurs, this bit cannot be cleared by reading out the lower byte of the
Receive Buffer Register. In this case, clear the REN (Receive Enable) bit to "0."
[Set condition]
This bit is set to "1" when any one of overrun, framing or parity errors is detected at completion of recep-
tion.
[Clear condition]
If the detected error was an overrun error, this bit is cleared by clearing the REN (Receive Enable) bit to
"0." Otherwise, this flag is cleared by reading out the lower byte of the SIO Receive Buffer Register or
by clearing the SIO Receive Control Register REN (Receive Enable) bit.
b8 9 10 11 12 13 14 b15
BRG
? ? ? ? ? ? ? ?
The SIO Baud Rate Registers are used to set a baud rate divide value, so that the BRG count source
selected by SIO Transmit Control Register is divided by (n + 1) where n = BRG set value.
Because the BRG value initially is undefined, be sure to set the divide value before the serial interface starts
operating. The value written to the BRG during transmit/receive operation takes effect in the next cycle after
the BRG counter has finished counting.
When using the internal clock (to output the SCLKO signal) in CSIO mode, the serial interface divides the
clock divider count source using a clock divider and then divides the resulting clock by (n + 1) where n =
BRG set value and further by 2, thereby generating a transmit/receive shift clock.
When using an external clock in CSIO mode, the serial interface does not use the BRG. (Transmit/receive
operations are synchronized to the externally supplied clock.)
During UART mode, the serial interface divides the clock divider count source using a clock divider and then
divides the resulting clock by (n + 1) where n = BRG set value and further by 16, thereby generating a
transmit/receive shift clock.
When using SIO0, SIO1, SIO4 or SIO5 in UART mode, set the relevant port to function as an SCLKO pin, so
that a BRG output clock divided by 2 can be output from that SCLKO pin.
During internal clock CSIO mode, make sure the transfer rate does not exceed f(BCLK)/8.
The baud rate register set value when internal clock CSIO mode is selected can be calculated by the
following equations.
• CSIO Mode
Clock Divider Count Source
SIO Baud Rate Register Set Value = −1
Baud Rate × Clock Divider Divide Value × 2
• UART Mode
Clock Divider Count Source
SIO Baud Rate Register Set Value = −1
Baud Rate × Clock Divider Divide Value × 16
Clock divider count source:selected between f(BCLK) and f(BCLK)/2 by setting the SIO Special
Mode Register clock divider count source select bit.
Clock divider divide value: selected among 1, 8, 32 and 256 by setting the SIO Transmit Control
Register BRG count source select bit.
32192/32195/32196 Group Hardware Manual 12-24
Rev.1.10 REJ09B0123-0110 Apr.06.07
SERIAL INTERFACE
12 12.2 Serial Interface Related Registers
Table 12.2.1 Example Settings of the SIO Baud Rate Register (CSIO Mode) (1/2)
When clock divider count source = 16MHz When clock divider count source = 20MHz
Items
Clock divider Clock divider
BRG Actual baud rate BRG Actual baud rate
Baud rate divide value divide value
set value [bps] set value [bps]
[bps] [divided-by n] [divided-by n]
250 256 124 250.00 256 155 250.40
500 256 62 496.03 256 77 500.80
1000 32 249 1000.00 256 38 1001.60
2500 32 99 2500.00 32 124 2500.00
5000 32 49 5000.00 8 249 5000.00
10000 32 24 10000.00 8 124 10000.00
25000 32 9 25000.00 8 49 25000.00
50000 32 4 50000.00 1 199 50000.00
100000 8 9 100000.00 1 99 100000.00
250000 1 31 250000.00 1 39 250000.00
500000 1 15 500000.00 1 19 500000.00
1000000 1 7 1000000.00 1 9 1000000.00
2500000 - - - 1 3 2500000.00
5000000 1 1 4000000.00 1 1 5000000.00
Notes: • This does not mean that the communication at the above baud rates is guaranteed. Careful consideration and
inspection under your environment are required before use.
• Select clock divider count source in SELCLK bit of SIOn special mode register (SnSMOD).
• Select divide-by value of clock divider in the CDIV bit of SIOn transmit control register (SnTCNT).
• Set BRG set value in the SIOn baud rate register (SnBAUR).
Table 12.2.1 Example Settings of the SIO Baud Rate Register (CSIO Mode) (2/2)
When clock divider count source = 32MHz When clock divider count source = 40MHz
Items
Clock divider Clock divider
BRG Actual baud rate BRG Actual baud rate
Baud rate divide value divide value
set value [bps] set value [bps]
[bps] [divided-by n] [divided-by n]
250 256 249 250.00 - - -
500 256 124 500.00 256 155 500.80
1000 256 62 992.06 256 77 1001.60
2500 32 199 2500.00 32 249 2500.00
5000 32 99 5000.00 32 124 5000.00
10000 32 49 10000.00 8 249 10000.00
25000 32 19 25000.00 8 99 25000.00
50000 32 9 50000.00 8 49 50000.00
100000 8 19 100000.00 1 199 100000.00
250000 1 63 250000.00 1 79 250000.00
500000 1 31 500000.00 1 39 500000.00
1000000 1 15 1000000.00 1 19 1000000.00
2500000 - - - 1 7 2500000.00
5000000 - - - 1 3 5000000.00
Notes: • This does not mean that the communication at the above baud rates is guaranteed. Careful consideration and
inspection under your environment are required before use.
• Select clock divider count source in SELCLK bit of SIOn special mode register (SnSMOD).
• Select divide-by value of clock divider in the CDIV bit of SIOn transmit control register (SnTCNT).
• Set BRG set value in the SIOn baud rate register (SnBAUR).
Table 12.2.2 Example Settings of the SIO Baud Rate Register (UART Mode) (1/2)
Items When clock divider count source = 16MHz When clock divider count source = 20MHz
Clock divider BRG Clock divider BRG
Error Actual baud rate Error Actual baud rate
Baud rate divide value set divide value set
[divided-by n] value [%] [bps] [divided-by n] value [%] [bps]
[bps]
300 32 103 0.16 300.48 32 129 0.16 300.48
600 32 51 0.16 600.96 32 64 0.16 600.96
1200 32 25 0.16 1201.92 8 129 0.16 1201.92
2400 32 12 0.16 2403.85 8 64 0.16 2403.85
4800 1 207 0.16 4807.69 8 32 -1.36 4734.85
9600 1 103 0.16 9615.38 1 129 0.16 9615.38
12500 1 79 0.00 12500.00 1 99 0.00 12500.00
14400 1 68 0.64 14492.75 1 86 -0.22 14367.82
19200 1 51 0.16 19230.77 1 64 0.16 19230.77
28800 1 34 -0.79 28571.43 1 42 0.94 29069.77
31250 1 31 0.00 31250.00 1 39 0.00 31250.00
38400 1 25 0.16 38461.54 1 32 -1.36 37878.79
57600 1 16 2.12 58823.53 1 21 -1.36 56818.18
62500 1 15 0.00 62500.00 1 19 0.00 62500.00
115200 1 8 -3.55 111111.11 1 10 -1.36 113636.36
125000 1 7 0.00 125000.00 1 9 0.00 125000.00
250000 1 3 0.00 250000.00 1 4 0.00 250000.00
500000 1 1 0.00 500000.00 1 2 -16.67 416666.67
625000 - - - - 1 1 0.00 625000.00
1000000 1 0 0.00 1000000.00 - - - -
1250000 - - - - 1 0 0.00 1250000.00
Notes: • This does not mean that the communication at the above baud rates is guaranteed. Careful consideration and
inspection under your environment are required before use.
• Select clock divider count source in SELCLK bit of SIOn special mode register (SnSMOD).
• Select divide-by value of clock divider in the CDIV bit of SIOn transmit control register (SnTCNT).
• Set BRG set value in the SIOn baud rate register (SnBAUR).
Table 12.2.2 Example Settings of the SIO Baud Rate Register (UART Mode) (2/2)
Items When clock divider count source = 32MHz When clock divider count source = 40MHz
Clock divider BRG Clock divider BRG
Error Actual baud rate Error Actual baud rate
Baud rate divide value set divide value set
[divided-by n] value [%] [bps] [divided-by n] value [%] [bps]
[bps]
300 256 25 0.16 300.48 256 32 -1.36 295.93
600 256 12 0.16 600.96 32 129 0.16 600.96
1200 32 51 0.16 1201.92 32 64 0.16 1201.92
2400 32 25 0.16 2403.85 8 129 0.16 2403.85
4800 32 12 0.16 4807.69 8 64 0.16 4807.69
9600 8 25 0.16 9615.38 8 32 -1.36 9469.70
12500 8 19 0.00 12500.00 1 199 0.00 12500.00
14400 1 138 -0.08 14388.49 1 173 -0.22 14367.82
19200 1 103 0.16 19230.77 1 129 0.16 19230.77
28800 1 68 0.64 28985.51 1 86 -0.22 28735.63
31250 1 63 0.00 31250.00 1 79 0.00 31250.00
38400 1 51 0.16 38461.54 1 64 0.16 38461.54
57600 1 34 -0.79 57142.86 1 42 0.94 58139.53
62500 1 31 0.00 62500.00 1 39 0.00 62500.00
115200 1 16 2.12 117647.06 1 21 -1.36 113636.36
125000 1 15 0.00 125000.00 1 19 0.00 125000.00
250000 1 7 0.00 250000.00 1 9 0.00 250000.00
500000 1 3 0.00 500000.00 1 4 0.00 500000.00
625000 - - - - 1 3 0.00 625000.00
1000000 1 1 0.00 1000000.00 - - - -
1250000 - - - - 1 1 0.00 1250000.00
2000000 1 0 0.00 2000000.00 - - - -
2500000 - - - - 1 0 0.00 2500000.00
Notes: • This does not mean that the communication at the above baud rates is guaranteed. Careful consideration and
inspection under your environment are required before use.
• Select clock divider count source in SELCLK bit of SIOn special mode register (SnSMOD).
• Select divide-by value of clock divider in the CDIV bit of SIOn transmit control register (SnTCNT).
• Set BRG set value in the SIOn baud rate register (SnBAUR).
b0 1 2 3 4 5 6 b7
CSIBL SELCLK SELFST SEL3PNT CKPOL
0 0 0 0 0 0 0 0
These bits are effective only when the clock-synchronous serial interface was selected with the transmitting/
receiving mode register. They select the data length.
Setting this bit to “1” allows 3-point sampling of each signal of RxD input/SCLKI input with BCLK period, and
SIO operates with its majority output as RxD input/SCLKI input. RxD input and SCLKI input cannot be
controlled individually. Also, 3-point sampling for SCLKI becomes effective only at CSIO mode and external
clock selection.
This bit is used to select the transmit/receive clock polarity in the CSIO mode.
By setting this bit to “0,” a data is output from the TXD pin synchronously with SCLK falling edge, and a data
is fetched from the RXD pin synchronously with SCLK rising edge.
By setting this bit to “1,” a data is output from the TXD pin synchronously with SCLK rising edge, and a data
is fetched from the RXD pin synchronously with SCLK falling edge.
Note: • Change the SIO special mode register value in the inhibiting state for both transmit enable bit
and receive enable bit.
Transmit/receive clock
TXD b7 b6 b5 b4 b3 b2 b1 b0
RXD b7 b6 b5 b4 b3 b2 b1 b0
.
Note: "H" level is output from the SCLKO pin when no data is transmitted and received during internal clock selection.
Transmit/receive clock
TXD b7 b6 b5 b4 b3 b2 b1 b0
RXD b7 b6 b5 b4 b3 b2 b1 b0
.
Note: "L" level is output from the SCLKO pin when no data is transmitted and received during internal clock selection.
The baud rate (data transfer rate) in CSIO mode is determined by a transmit/receive shift clock. The clock
source from which a transmit/receive shift clock derives is selected from the internal clock f(BCLK) or external
clock. The CKS (Internal/External Clock Select) bit (SIO Transmit/Receive Mode Register bit 11) is used to
select the clock source.
The equation used to calculate the transmit/receive baud rate differs depending on whether an internal or
external clock is selected.
When the internal clock was selected, select the clock source from f(BCLK) or f(BCLK)/2 with the clock
divider count source select bit (bit 4 of SIO special mode register). f(BCLK) or f(BCLK)/2 is input to the baud
rate generator (BRG) after being divided by the clock divider.
The clock divider’s divide-by value is selected from 1, 8, 32 or 256 by using the CDIV (baud rate generator
count source select) bits (Transmit Control Register bits 2–3).
The Baud Rate Generator divides the clock divider output by (baud rate register set value + 1) and further by
2, thus generating a transmit/receive shift clock.
When the internal clock is selected in CSIO mode, the baud rate is calculated using the equation below.
f(BCLK) or f(BCLK)/2
Baud rate =
[bps] Clock divider’s divide-by value x (baud rate register set value + 1) x 2
Note 1: Use caution when setting the baud rate register so that the transfer rate will not exceed f(BCLK)/8.
In this case, the Baud Rate Generator is not used, and the input clock from the SCLKI pin serves directly as
a transmit/receive shift clock for CSIO.
The maximum frequency of the SCLKI pin input clock is f(BCLK)/16.
To transmit data in CSIO mode, initialize the serial interface following the procedure described below.
• Select the clock divider’s divide-by ratio (when internal clock selected).
When the internal clock is selected, set a baud rate generator value. (See Section 12.3.1, “Setting the CSIO
Baud Rate.”)
• Select the source of transmit interrupt request (transmit buffer empty or transmission finished) (SIO Inter-
rupt Request Source Select Register).
• Enable or disable transmit interrupt requests (SIO Interrupt Request Mask Register).
Note: • Transmission finished interrupt requests are effective only when the internal clock is selected.
(6) Setting the Interrupt Controller (SIO Transmit Interrupt Control Register)
To issue DMA transfer requests to the internal DMAC when the transmit buffer is empty, set up the DMAC.
(See Chapter 9, “DMAC.”)
Because the serial interface related pins serve dual purposes, set the pin functions for use as SIO pins or
input/output ports. (See Chapter 8, “Input/Output Ports and Pin Functions.”)
Serial interface
Set SIO Transmit Control Register • Select the clock divider divide-by ratio (Note 1)
related registers
Set SIO Baud Rate Register • Divide-by ratio = H'00 to H'FF (Note 2)
The serial interface starts a transmit operation when all of the following conditions are met after being initial-
ized.
• The SIO Transmit Control Register transmit enable bit is set to "1."
• Transmit data (8–16 bits) is written to the lower byte of the SIO Transmit Buffer Register (transmit buffer
empty bit = "0") (Note 1) (Note 2)
• The SIO Transmit Control Register transmit enable bit is set to "1."
• Transmit data is written to the lower byte of the SIO Transmit Buffer Register (transmit buffer empty bit = "0").
(Note 1)
• A transmit clock (clock polarity is selected by CKPOL bit of the SnSMOD register) is inputted to the SCLKI pin.
When transmission starts, the serial interface sends data following the procedure described below.
• Transfer the content of the SIO Transmit Buffer Register to the SIO Transmit Shift Register.
• Set the transmit buffer empty bit to "1" (Note 3).
• Start sending data synchronously with the shift clock.
Note 1: While the transmit enable bit is cleared to "0," writes to the Transmit Buffer Register are
ignored. Always set the transmit enable bit to "1" before writing to the Transmit Buffer Regis-
ter. Also, the transmit status bit is set to "1" at the time data is set in the lower byte of the SIO
Transmit Buffer Register.
Note 2: When the internal clock is selected, a write to the lower byte of the Transmit Buffer Register
triggers transmission to start.
Note 3: A transmit interrupt request can be generated for reasons that the transmit buffer is empty or
transmission has finished. Also, a DMA transfer request can be generated when the transmit
buffer is empty. No DMA transfer requests can be generated for reasons that transmission has
finished.
Once data has been transferred from the transmit buffer register to the transmit shift register, the next data can
be written to the transmit buffer register even when the serial interface has not finished sending the previous
data. If the next data is written to the transmit buffer register before transmission has finished, the previous and
the next data are transmitted successively.
Check the SIO Transmit Control Register’s Status Register’s transmit buffer empty flag to see if data has been
transferred from the transmit buffer register to the transmit shift register.
When data transmission finishes, the following operation is automatically performed in hardware.
• When transmission of the last data in a consecutive data train finishes, the transmit status bit is cleared to
"0."
If the transmit buffer empty interrupt was selected using the SIO Interrupt Request Source Select Register,
a transmit buffer empty interrupt request is generated when data has been transferred from the transmit
buffer register to the transmit shift register. A transmit buffer empty interrupt request is also generated when
the TEN (Transmit Enable) bit is set to "1" (disabled → enabled) while the transmit buffer empty interrupt
has been enabled.
If the transmission finished interrupt was selected using the SIO Interrupt Request Source Select Register,
a transmission finished interrupt request is generated by a falling edge of the internal transfer clock pulse at
which the last bit of data in the transmit shift register has been transmitted.
The SIO Interrupt Request Mask Register and the Interrupt Controller (ICU) must be set before these trans-
mit interrupts can be used.
When data has been transferred from the transmit buffer register to the transmit shift register, a transmit DMA
transfer request for the corresponding SIO channel is output to the DMAC. A transmit DMA transfer request is
also output when the TEN (Transmit Enable) bit is set to "1" (disabled → enabled).
The DMAC must be set before DMA transfers can be used during data transmission.
CSIO transmit
operation starts
Transmit No
conditions met?
Yes
• Set the transmit buffer empty bit to "1" Transmit DMA transfer request
Transmit data
No
End of CSIO
transmit operation
Note 1: This applies when the transmit interrupt request was enabled using the SIO Interrupt Request Mask Register
after selecting the transmit buffer empty interrupt with the SIO Interrupt Request Source Select Register.
SCLKO SCLKI
TXD
RXD
Set
TXD b7 b6 b5 b4 b3 b2 b1 b0
Note 1: Changes of the Interrupt Controller's SIO Transmit Interrupt Control Register interrupt request bit
Note 2: When transmit buffer empty interrupt is enabled (DMA transfer can also be requested at the same time)
Note 3: When transmission finished interrupt is enable
Note 4: The Interrupt Controller's IVECT register is read or the SIO Transmit Interrupt Control Register interrupt
request bit cleared
Note 5: A transmit interrupt request is generated when transmission is enabled.
Note 6: Be aware that even after transmit data is written to the transmit buffer, a transmit interrupt request is generated when
the data is transferred from the transmit buffer to the transmit shift register and the transmit buffer is thereby emptied.
Note 7: A transmission finished interrupt request is generated by a falling edge of the internal transfer clock pulse
at which transmission of the transmit shift register data has finished.
Note 8: It is inhibited to select the transmission finished interrupt when an external clock is selected.
SCLKO SCLKI
TXD
RXD
Set
TXD b7 b6 b5 b0 b7 b6 b5 b0
Next data is written at a transmit
(Note 2)
SIO transmit interrupt request buffer empty interrupt
(Note 5) (Note 2)(Note 6)
(Note 1) (Note 2)
(When transmit buffer empty
interrupt is selected)
Transmit interrupt request
Interrupt request accepted (Note 4)
(Note 3)(Note 7)
(Note 3)
Note 1: Changes of the Interrupt Controller's SIO Transmit Interrupt Control Register interrupt request bit
Note 2: When transmit buffer empty interrupt is enabled (DMA transfer can also be requested at the same time)
Note 3: When transmission finished interrupt is enable
Note 4: The Interrupt Controller's IVECT register is read or the SIO Transmit Interrupt Control Register interrupt request bit cleared
Note 5: A transmit interrupt request is generated when transmission is enabled.
Note 6: Be aware that even after transmit data is written to the transmit buffer, a transmit interrupt request is generated when the
data is transferred from the transmit buffer to the transmit shift register and the transmit buffer is thereby emptied.
Note 7: A transmission finished interrupt request is generated by a falling edge of the internal transfer clock pulse at which
transmission of the transmit shift register data has finished.
Note 8: It is inhibited to select the transmission finished interrupt when an external clock is selected.
To receive data in CSIO mode, initialize the serial interface following the procedure described below. Note,
however, that because the receive shift clock is derived by an operation of the transmit circuit, transmit opera-
tion must always be executed even when the serial interface is used for only receiving data.
• Select the clock divider’s divide-by ratio (when internal clock selected).
When the internal clock is selected, set a baud rate generator value. (See Section 12.3.1, “Setting the CSIO
Baud Rate.”)
• Select the source of receive interrupt request (reception finished or error) (SIO Interrupt Request Source
Select Register).
• Enable or disable receive interrupts (SIO Interrupt Request Mask Register).
Set up the DMAC when the DMA transfer is requested to the internal DMAC on completion of the reception.
(See Chapter 9, “DMAC.”)
Because the serial interface related pins serve dual purposes, set the pin functions for use as SIO pins or
input/output ports. (See Chapter 8, “Input/Output Ports and Pin Functions.”)
Serial interface
related registers
Set SIO Transmit Control Register • Select the clock divider divide-by ratio
(Note 1)
Set SIO interrupt related registers • Select the source of receive interrupt request
• Enable or disable receive interrupt requests
Set SIO Receive Control Register • Set the receive enable bit
The serial interface starts receive operation when all of the following conditions are met after being initialized.
• The SIO Receive Control Register receive enable bit is set to "1."
• Transmit conditions are met. (See Section 12.3.3, “Starting CSIO Transmission.”)
• The SIO Receive Control Register receive enable bit is set to "1."
• Transmit conditions are met. (See Section 12.3.3, “Starting CSIO Transmission.”)
Note: • The receive status bit is set to "1" at the time dummy data is set in the lower byte of the SIO
Transmit Buffer Register.
When the above conditions are met, the serial interface starts receiving 8 to 16 bits serial data synchronously
with the receive shift clock.
When data reception finishes, the following operation is automatically performed in hardware.
Notes: • An interrupt request is generated if the reception finished (receive buffer full) interrupt has
been enabled.
• A DMA transfer request is generated.
If an error (only overrun error in CSIO mode) occurred during reception, the overrun error bit and receive
error sum bit are set to "1."
Notes: • If the reception finished interrupt has been selected (by SIO Receive Interrupt Request
Source Select Register), neither a reception finished interrupt request nor a DMA transfer
request is generated.
• If the receive error interrupt has been selected (by SIO Receive Interrupt Request Source
Select Register), a receive error interrupt request is generated when interrupt requests are
enabled. No DMA transfer requests are generated.
If the following conditions are met when data reception has finished, data may be received successively.
No
Receive conditions
met?
Yes
Receive data
Yes
Overrun error ?
No
Set the SIO Receive Control Register Set the SIO Receive Control Register
reception finished bit to "1" overrun error and receive error sum bits to "1"
There are following flags that indicate the status of receive operation during CSIO mode:
When reading the content of the SIO Receive Buffer Register after reception is completed, if the serial interface
finishes receiving the next data before the previous data is not read out, an overrun error occurs and the
subsequent received data are not transferred to the receive buffer register.
Before receive operation can be restarted, the receive enable bit must temporarily be cleared to "0" to initialize
the receive control unit.
The above reception finished bit, if no receive errors occurred (Note 1), may be cleared by reading out the
lower byte of the SIO Receive Buffer Register or clearing the REN (Receive Enable) bit.
However, if any receive error occurred, the reception finished bit can only be cleared by clearing the REN
(Receive Enable) bit, and cannot be cleared by reading out the lower byte of the SIO Receive Buffer Register.
Note 1: Overrun errors are the only error that can be detected during reception in CSIO mode.
SCLKO SCLKI
TXD
RXD
Cleared
RXD b7 b6 b5 b4 b3 b2 b1 b0
Set by a write to
the transmit buffer
Automatically cleared
for each receive
operation performed
Note 1: Changes of the Interrupt Controller's SIO Receive Interrupt Control Register interrupt request bit
Note 2: When reception finished interrupt is enabled (DMA transfer can also be requested at the same time)
Note 3: The Interrupt Controller's IVECT register is read or the SIO Receive Interrupt Control Register
interrupt request bit cleared
SCLKO SCLKI
RXD
TXD
RXD b7 b6 b0 b7 b6 b0
Set
Reception finished bit
Note 1: Changes of the Interrupt Controller's SIO Receive Interrupt Control Register interrupt request bit
Note 2: When reception finished interrupt is enabled
Note 3: When receive error interrupt is enabled
Note 4: The receive enable bit is cleared
Note 5: The Interrupt Controller's IVECT register is read or the SIO Receive Interrupt Control Register interrupt
request bit cleared
• About reception
Because the receive shift clock in CSIO mode is derived by an operation of the transmit circuit, transmit
operation must always be executed (by sending dummy data) even when the serial interface is used for only
receiving data. In this case, be aware that if the port function is set for the TXD pin (by setting the operation
mode register to "1"), dummy data may actually be output from the pin.
The baud rate (data transfer rate) in UART mode is determined by a transmit/receive shift clock. During UART
mode, the source for this transmit/receive shift clock is always the internal clock no matter how the internal/
external clock select bit (SIO Transmit/Receive Mode Register bit 11) is set.
The clock source is selected from f(BCLK) or f(BCLK)/2 with the clock divider count source select bit (bit 4
of SIO special mode register). f(BCLK) or f(BCLK)/2 is input to the baud rate generator (BRG) after being
divided by the clock divider, after which it is further divided by 16 to produce a transmit/receive shift clock.
The clock divider’s divide-by value is selected from 1, 8, 32 or 256 by using the SIO Transmit Control
Register CDIV (baud rate generator count source select) bits (bits 2 and 3).
The Baud Rate Generator divides the clock divider output by (baud rate register set value + 1) and further by
16, thus generating a transmit/receive shift clock.
When the internal clock is selected in UART mode, the baud rate is calculated using the equation below.
f(BCLK) or f(BCLK)/2
Baud rate =
[bps] Clock divider’s divide-by value x (baud rate register set value + 1) x 16
The transmit/receive data format during UART mode is determined by setting the SIO Transmit/Receive Mode
Register. Shown below is the transmit/receive data format that can be used in UART mode.
Next
Transmit data data
LSB MSB
ST b6 b5 b4 b3 b2 b1 b0 SP
ST b6 b5 b4 b3 b2 b1 b0 SP SP
ST b6 b5 b4 b3 b2 b1 b0 PAR SP
ST b6 b5 b4 b3 b2 b1 b0 PAR SP SP
7-bit character
LSB MSB
ST b7 b6 b5 b4 b3 b2 b1 b0 SP
ST b7 b6 b5 b4 b3 b2 b1 b0 SP SP
ST b7 b6 b5 b4 b3 b2 b1 b0 PAR SP
ST b7 b6 b5 b4 b3 b2 b1 b0 PAR SP SP
8-bit character
LSB MSB
ST b8 b7 b6 b5 b4 b3 b2 b1 b0 SP
ST b8 b7 b6 b5 b4 b3 b2 b1 b0 SP SP
ST b8 b7 b6 b5 b4 b3 b2 b1 b0 PAR SP
ST b8 b7 b6 b5 b4 b3 b2 b1 b0 PAR SP SP
9-bit character
7-bit character
8-bit character
9-bit character
Notes: • The high-order bits of the selected character length in the SIO Receive Buffer Register are fixed to "0".
• The data bit numbers (bn) above indicate bit numbers in a data list, and not the register bit numbers (bn).
To transmit data in UART mode, initialize the serial interface following the procedure described below.
Note 1: During UART mode, settings of the internal/external clock select bit have no effect (only the
internal clock is useful).
Set a baud rate generator value. (See Section 12.6.1, “Setting the UART Baud Rate.”)
• Select the source of transmit interrupt request (transmit buffer empty or transmission finished)
(SIO Interrupt Request Source Select Register).
• Enable or disable SIO transmit interrupt requests (SIO Interrupt Request Mask Register).
To issue DMA transfer requests to the internal DMAC when the transmit buffer is empty, set up the DMAC.
(See Chapter 9, “DMAC.”)
Because the serial interface related pins serve dual purposes, set the pin functions for use as SIO pins or
input/output ports. (See Chapter 8, “Input/Output Ports and Pin Functions.”)
Set SIO interrupt related registers • Select the source of transmit interrupt request
• Enable or disable transmit interrupt requests
The serial interface starts a transmit operation when all of the following conditions are met after being initial-
ized.
• SIO Transmit Control Register TEN (Transmit Enable) bit is set to "1" (Note 1).
• Transmit data is written to the SIO Transmit Buffer Register (transmit buffer empty bit = "0").
Note 1: While the transmit enable bit is cleared to "0," writes to the transmit buffer are ignored. Always be
sure to set the transmit enable bit to "1" before writing to the transmit buffer register.
When transmission starts, the serial interface sends data following the procedure described below.
• Transfer the content of the SIO Transmit Buffer Register to the SIO Transmit Shift Register.
• Set the transmit buffer empty bit to "1" (Note 2).
• Start sending data synchronously with the shift clock.
Note 2: A transmit interrupt request can be generated for reasons that the transmit buffer is empty or
transmission has finished. Also, a DMA transfer request can be generated when the transmit
buffer is empty. No DMA transfer requests can be generated for reasons that transmission has
finished.
Once data has been transferred from the transmit buffer register to the transmit shift register, the next data can
be written to the transmit buffer register even when the serial interface has not finished sending the previous
data. If the next data is written to the transmit buffer before transmission has finished, the previous and the next
data are transmitted successively.
Check the SIO Transmit Control Register’s transmit buffer empty flag to see if data has been transferred from
the transmit buffer register to the transmit shift register.
When data transmission finishes, the following operation is automatically performed in hardware.
• When transmission of the last data in a consecutive data train finishes, the transmit status bit is cleared to "0."
If the transmit buffer empty interrupt was selected using the SIO Interrupt Request Source Select Register,
a transmit buffer empty interrupt request is generated when data has been transferred from the transmit
buffer register to the transmit shift register. A transmit buffer empty interrupt request is also generated when
the TEN (Transmit Enable) bit is set to "1" (reenabled after being disabled) while the transmit buffer empty
interrupt has been enabled.
If the transmission finished interrupt was selected using the SIO Interrupt Request Source Select Register,
a transmission finished interrupt request is generated when data in the transmit shift register has all been
transmitted.
The SIO Interrupt Request Mask Register and the Interrupt Controller (ICU) must be set before these transmit
interrupts can be used.
When data has been transferred from the transmit buffer register to the transmit shift register, a transmit DMA
transfer request for the corresponding SIO channel is output to the DMAC. A transmit DMA transfer request is
also output when the TEN (Transmit Enable) bit is set to "1" (disabled → enabled).
The DMAC must be set before DMA transfers can be used during data transmission.
UART transmit
operation starts
Transmit conditions No
met ?
Yes
• Set the transmit buffer empty bit to "1" Transmit DMA transfer request
Transmit data
No
End of UART
transmit operation
Note 1: This applies when the transmit interrupt was enabled using the SIO Interrupt Request Mask Register
after selecting the transmit buffer empty interrupt with the SIO Interrupt Request Source Select Register.
TXD
RXD
Set
Transmit buffer
empty bit
Transferred from the transmit buffer
to the transmit shift register
(transmission starts)
ST b7 b6 b0 PAR SP SP
TXD Transmit
interrupt request Transmit interrupt request
SIO transmit interrupt request (Note 1)
(Note 2) (Note 2)(Note 6)
(When transmit buffer empty (Note 5)
interrupt is selected)
Transmit interrupt request
Interrupt request accepted (Note 4) (Note 3)(Note 7)
Note 1: Changes of the Interrupt Controller's SIO Transmit Interrupt Control Register interrupt request bit
Note 2: When transmit buffer empty interrupt is enabled (DMA transfer can also be requested at the same time)
Note 3: When transmission finished interrupt is enable
Note 4: The Interrupt Controller's IVECT register is read or the SIO Transmit Interrupt Control Register interrupt request bit cleared
Note 5: A transmit interrupt request is generated when transmission is enabled.
Note 6: Be aware that even after transmit data is written to the transmit buffer, a transmit interrupt request is generated when the
data is transferred from the transmit buffer to the transmit shift register and the transmit buffer is thereby emptied.
Note 7: A transmission finished interrupt request is generated when data in the transmit shift register has all been transmitted.
TXD
RXD
TXD ST b7 b0 SP ST b7 b0 SP
Note 1: Changes of the Interrupt Controller's SIO Transmit Interrupt Control Register interrupt request bit
Note 2: When transmit buffer empty interrupt is enabled (DMA transfer can also be requested at the same time)
Note 3: When transmission finished interrupt is enable
Note 4: The Interrupt Controller's IVECT register is read or the SIO Transmit Interrupt Control Register interrupt request bit cleared
Note 5: A transmit interrupt request is generated when transmission is enabled.
Note 6: Be aware that even after transmit data is written to the transmit buffer, a transmit interrupt request is generated when the
data is transferred from the transmit buffer to the transmit shift register and the transmit buffer is thereby emptied.
Note 7: A transmission finished interrupt request is generated when data in the transmit shift register has all been transmitted.
To receive data in UART mode, initialize the serial interface following the procedure described below.
Note: • During UART mode, settings of the internal/external clock select bit have no effect (only the
internal clock is useful).
Set a baud rate generator value. (See Section 12.6.1, “Setting the UART Baud Rate.”)
• Select the source of receive interrupt request (reception finished or receive error) (Interrupt Request
Source Select Register).
• Enable or disable receive interrupts (SIO Interrupt Request Mask Register).
To issue DMA transfer requests to the internal DMAC when reception has finished, set up the DMAC. (See
Chapter 9, “DMAC.”)
Because the serial interface related pins serve dual purposes, set the pin functions for use as SIO pins or
input/output ports. (See Chapter 8, “Input/Output Ports and Pin Functions.”)
Set SIO interrupt related registers • Select the source of receive interrupt request
• Enable or disable receive interrupt requests
The serial interface starts receive operation when all of the following conditions are met after being initialized.
When the above conditions are met, the serial interface enters UART receive operation. However, the start bit
is checked again at the first rise of the internal receive shift clock and if it is detected "H" for reasons of noise,
etc., the serial interface stops receive operation and waits for the start bit again.
When data reception finishes, the following operation is automatically performed in hardware.
Notes: • An interrupt request is generated if the reception finished (receive buffer full) interrupt has
been enabled.
• A DMA transfer request is generated.
If an error occurred, the corresponding error bit (OE, FE or PE) and the receive error sum bit are set to "1."
Notes: • If the reception finished interrupt has been selected (by SIO Receive Interrupt Request
Source Select Register), a reception finished interrupt request is generated when interrupt
requests are enabled. However, this does not apply when the detected error is an overrun
error, in which case no reception finished interrupt requests are generated.
• If the receive error interrupt has been selected (by SIO Receive Interrupt Request Source
Select Register), a receive error interrupt request is generated when interrupt requests are
enabled.
• No DMA transfer requests are generated.
UART receive
operation starts
No
Receive conditions
met ?
Yes
Yes
Receive data
Yes
Overrun error ?
No
TXD
RXD
RXD ST b7 b6 b0 PAR SP SP
Note 1: Changes of the Interrupt Controller's SIO Receive Interrupt Control Register interrupt request bit
Note 2: When reception finished interrupt is enabled (DMA transfer can also be requested at the same time)
Note 3: The Interrupt Controller's IVECT register is read or the SIO Receive Interrupt Control Register interrupt
request bit cleared
TXD
RXD
RXD ST b7 SP ST b7 SP
Set
Reception finished bit
(Note 5)
Note 1: Changes of the Interrupt Controller's SIO Receive Interrupt Control Register interrupt request bit
Note 2: When reception finished interrupt is enabled
Note 3: When receive error interrupt is enabled
Note 4: This is done by clearing the receive enable bit to "0."
Note 5: The Interrupt Controller's IVECT register is read or the SIO Receive Interrupt Control Register interrupt
request bit cleared
12.7.5 Start Bit Detection and Data Sampling Timing during UART Reception
The start bit is sampled synchronously with the internal BRG output. If the received signal remains "L" for 8
BRG output cycles after the falling edge of the start bit, the CPU recognizes that part of the received signal as
the start bit and starts latching the received data another 8 cycles after that, beginning with the LSB (first bit).
If some sampled part of the received signal is "H" before being determined to be the start bit, the CPU starts
hunting the falling edge of the received signal again. Because the start bit is sampled synchronously with the
internal BRG output, there is a delay equivalent to one BRG output cycle at maximum. The subsequent re-
ceived data is latched into the internal circuit with that delayed timing.
16 cycles 16 cycles
Internal
BRG output
LSB data
RXD
8 cycles
RXD
RXD
Internal RXD
UART ST Data SP
TXD
transmission/reception
RXD ST Data SP
Clock output to
SCLKO peripheral circuits
2. Operation timing
Internal BRG
output
BRG period
SCLKO output
50% 50%
The SIO Transmit/Receive Mode Register, SIO Special Mode Register and SIO Baud Rate Register
and the Transmit Control Register’s BRG count source select bit must always be set when the serial
interface is not operating. If a transmit or receive operation is in progress, wait until the transmit and
receive operations are finished and then clear the transmit and receive enable bits before making
changes.
Writes to the SIO Baud Rate Register take effect in the next cycle after the BRG counter has finished
counting. However, if the register is accessed for write while transmission and reception are disabled,
the written value takes effect at the same time it is written.
To transmit/receive data in DMA request mode, enable the DMAC to accept transfer requests (by
setting the DMA Mode Register) before serial communication starts.
If all bits of the next received data have been set in the SIO Receive Shift Register before reading out
the SIO Receive Buffer Register (i.e., an overrun error occurred), the received data is not stored in the
receive buffer register, with the previous received data retained in it. Once an overrun error occurs,
although a receive operation continues, the subsequent received data is not stored in the receive buffer
register. Before normal receive operation can be restarted, the receive enable bit must be temporarily
cleared. And this is the only way that the overrun error flag can be cleared.
There are following flags that indicate the status of receive operation during UART mode:
The manner in which the reception finished bit and various error flags are cleared differs depending on
whether an overrun error occurred, as described below.
When switching from general-purpose port to the serial interface pin by the port operation mode register,
the terminal TXDn pin outputs "H" level.
CTX0
Self- CAN
diagnosis Protocol
Control Controller
Acceptance Message
CRX0 Filter Slot × 32
Interrupt Transmit/receive
completed,
error or single shot
DAM Request DMA0, 6
DMA2, 7
CAN1
CTX1
Self- CAN
diagnosis Protocol
Control Controller
Acceptance Message
CRX1 Filter Slot × 32
Interrupt Transmit/receive
completed,
error or single shot
DAM Request DMA5, 8
DMA7, 9
H'0080 1028 CAN0 Global Mask Register B Standard ID0 CAN0 Global Mask Register B Standard ID1 13-76
(C0GMSKBS0) (C0GMSKBS1)
H'0080 102A CAN0 Global Mask Register B Extended ID0 CAN0 Global Mask Register B Extended ID1 13-77
(C0GMSKBE0) (C0GMSKBE1)
H'0080 102C CAN0 Global Mask Register B Extended ID2 (Use inhibited area) 13-78
(C0GMSKBE2)
H'0080 102E (Use inhibited area)
H'0080 1030 CAN0 Local Mask Register A Standard ID0 CAN0 Local Mask Register A Standard ID1 13-76
(C0LMSKAS0) (C0LMSKAS1)
H'0080 1032 CAN0 Local Mask Register A Extended ID0 CAN0 Local Mask Register A Extended ID1 13-77
(C0LMSKAE0) (C0LMSKAE1)
H'0080 1034 CAN0 Local Mask Register A Extended ID2 (Use inhibited area) 13-78
(C0LMSKAE2)
H'0080 1036 (Use inhibited area)
H'0080 1038 CAN0 Local Mask Register B Standard ID0 CAN0 Local Mask Register B Standard ID1 13-76
(C0LMSKBS0) (C0LMSKBS1)
H'0080 103A CAN0 Local Mask Register B Extended ID0 CAN0 Local Mask Register B Extended ID1 13-77
(C0LMSKBE0) (C0LMSKBE1)
H'0080 1050 CAN0 Message Slot 0 Control Register CAN0 Message Slot 1 Control Register 13-82
(C0MSL0CNT) (C0MSL1CNT)
H'0080 1052 CAN0 Message Slot 2 Control Register CAN0 Message Slot 3 Control Register 13-82
(C0MSL2CNT) (C0MSL3CNT)
H'0080 1054 CAN0 Message Slot 4 Control Register CAN0 Message Slot 5 Control Register 13-82
(C0MSL4CNT) (C0MSL5CNT)
H'0080 1056 CAN0 Message Slot 6 Control Register CAN0 Message Slot 7 Control Register 13-82
(C0MSL6CNT) (C0MSL7CNT)
H'0080 1058 CAN0 Message Slot 8 Control Register CAN0 Message Slot 9 Control Register 13-82
(C0MSL8CNT) (C0MSL9CNT)
H'0080 105A CAN0 Message Slot 10 Control Register CAN0 Message Slot 11 Control Register 13-82
(C0MSL10CNT) (C0MSL11CNT)
H'0080 105C CAN0 Message Slot 12 Control Register CAN0 Message Slot 13 Control Register 13-82
(C0MSL12CNT) (C0MSL13CNT)
H'0080 105E CAN0 Message Slot 14 Control Register CAN0 Message Slot 15 Control Register 13-82
(C0MSL14CNT) (C0MSL15CNT)
H'0080 1060 CAN0 Message Slot 16 Control Register CAN0 Message Slot 17 Control Register 13-82
(C0MSL16CNT) (C0MSL17CNT)
H'0080 1062 CAN0 Message Slot 18 Control Register CAN0 Message Slot 19 Control Register 13-82
(C0MSL18CNT) (C0MSL19CNT)
H'0080 1064 CAN0 Message Slot 20 Control Register CAN0 Message Slot 21 Control Register 13-82
(C0MSL20CNT) (C0MSL21CNT)
H'0080 1066 CAN0 Message Slot 22 Control Register CAN0 Message Slot 23 Control Register 13-82
(C0MSL22CNT) (C0MSL23CNT)
H'0080 1068 CAN0 Message Slot 24 Control Register CAN0 Message Slot 25 Control Register 13-82
(C0MSL24CNT) (C0MSL25CNT)
H'0080 106A CAN0 Message Slot 26 Control Register CAN0 Message Slot 27 Control Register 13-82
(C0MSL26CNT) (C0MSL27CNT)
H'0080 106C CAN0 Message Slot 28 Control Register CAN0 Message Slot 29 Control Register 13-82
(C0MSL28CNT) (C0MSL29CNT)
H'0080 106E CAN0 Message Slot 30 Control Register CAN0 Message Slot 31 Control Register 13-82
(C0MSL30CNT) (C0MSL31CNT)
| (Use inhibited area)
H'0080 1100 CAN0 Message Slot 0 Standard ID0 CAN0 Message Slot 0 Standard ID1 13-86
(C0MSL0SID0) (C0MSL0SID1) 13-88
H'0080 1102 CAN0 Message Slot 0 Extended ID0 CAN0 Message Slot 0 Extended ID1 13-90
(C0MSL0EID0) (C0MSL0EID1) 13-92
H'0080 1104 CAN0 Message Slot 0 Extended ID2 CAN0 Message Slot 0 Data Length Register 13-94
(C0MSL0EID2) (C0MSL0DLC) 13-96
H'0080 1106 CAN0 Message Slot 0 Data 0 CAN0 Message Slot 0 Data 1 13-98
(C0MSL0DT0) (C0MSL0DT1) 13-100
H'0080 1108 CAN0 Message Slot 0 Data 2 CAN0 Message Slot 0 Data 3 13-102
(C0MSL0DT2) (C0MSL0DT3) 13-104
H'0080 110A CAN0 Message Slot 0 Data 4 CAN0 Message Slot 0 Data 5 13-106
(C0MSL0DT4) (C0MSL0DT5) 13-108
H'0080 110C CAN0 Message Slot 0 Data 6 CAN0 Message Slot 0 Data 7 13-110
(C0MSL0DT6) (C0MSL0DT7) 13-112
H'0080 110E CAN0 Message Slot 0 Timestamp 13-114
(C0MSL0TSP)
H'0080 1428 CAN1 Global Mask Register B Standard ID0 CAN1 Global Mask Register B Standard ID1 13-76
(C1GMSKBS0) (C1GMSKBS1)
H'0080 142A CAN1 Global Mask Register B Extended ID0 CAN1 Global Mask Register B Extended ID1 13-77
(C1GMSKBE0) (C1GMSKBE1)
H'0080 142C CAN1 Global Mask Register B Extended ID2 (Use inhibited area) 13-78
(C1GMSKBE2)
H'0080 142E (Use inhibited area)
H'0080 1430 CAN1 Local Mask Register A Standard ID0 CAN1 Local Mask Register A Standard ID1 13-76
(C1LMSKAS0) (C1LMSKAS1)
H'0080 1432 CAN1 Local Mask Register A Extended ID0 CAN1 Local Mask Register A Extended ID1 13-77
(C1LMSKAE0) (C1LMSKAE1)
H'0080 1434 CAN1 Local Mask Register A Extended ID2 (Use inhibited area) 13-78
(C1LMSKAE2)
H'0080 1436 (Use inhibited area)
H'0080 1438 CAN1 Local Mask Register B Standard ID0 CAN1 Local Mask Register B Standard ID1 13-76
(C1LMSKBS0) (C1LMSKBS1)
H'0080 143A CAN1 Local Mask Register B Extended ID0 CAN1 Local Mask Register B Extended ID1 13-77
(C1LMSKBE0) (C1LMSKBE1)
H'0080 143C CAN1 Local Mask Register B Extended ID2 (Use inhibited area) 13-78
(C1LMSKBE2)
H'0080 143E (Use inhibited area)
H'0080 1450 CAN1 Message Slot 0 Control Register CAN1 Message Slot 1 Control Register 13-82
(C1MSL0CNT) (C1MSL1CNT)
H'0080 1452 CAN1 Message Slot 2 Control Register CAN1 Message Slot 3 Control Register 13-82
(C1MSL2CNT) (C1MSL3CNT)
H'0080 1454 CAN1 Message Slot 4 Control Register CAN1 Message Slot 5 Control Register 13-82
(C1MSL4CNT) (C1MSL5CNT)
H'0080 1456 CAN1 Message Slot 6 Control Register CAN1 Message Slot 7 Control Register 13-82
(C1MSL6CNT) (C1MSL7CNT)
H'0080 1458 CAN1 Message Slot 8 Control Register CAN1 Message Slot 9 Control Register 13-82
(C1MSL8CNT) (C1MSL9CNT)
H'0080 145A CAN1 Message Slot 10 Control Register CAN1 Message Slot 11 Control Register 13-82
(C1MSL10CNT) (C1MSL11CNT)
H'0080 145C CAN1 Message Slot 12 Control Register CAN1 Message Slot 13 Control Register 13-82
(C1MSL12CNT) (C1MSL13CNT)
H'0080 145E CAN1 Message Slot 14 Control Register CAN1 Message Slot 15 Control Register 13-82
(C1MSL14CNT) (C1MSL15CNT)
H'0080 1460 CAN1 Message Slot 16 Control Register CAN1 Message Slot 17 Control Register 13-83
(C1MSL16CNT) (C1MSL17CNT)
H'0080 1462 CAN1 Message Slot 18 Control Register CAN1 Message Slot 19 Control Register 13-83
(C1MSL18CNT) (C1MSL19CNT)
H'0080 1464 CAN1 Message Slot 20 Control Register CAN1 Message Slot 21 Control Register 13-83
(C1MSL20CNT) (C1MSL21CNT)
H'0080 1466 CAN1 Message Slot 22 Control Register CAN1 Message Slot 23 Control Register 13-83
(C1MSL22CNT) (C1MSL23CNT)
H'0080 1468 CAN1 Message Slot 24 Control Register CAN1 Message Slot 25 Control Register 13-83
(C1MSL24CNT) (C1MSL25CNT)
H'0080 1500 CAN1 Message Slot 0 Standard ID0 CAN1 Message Slot 0 Standard ID1 13-86
(C1MSL0SID0) (C1MSL0SID1) 13-88
H'0080 1502 CAN1 Message Slot 0 Extended ID0 CAN1 Message Slot 0 Extended ID1 13-90
(C1MSL0EID0) (C1MSL0EID1) 13-92
H'0080 1504 CAN1 Message Slot 0 Extended ID2 CAN1 Message Slot 0 Data Length Register 13-94
(C1MSL0EID2) (C1MSL0DLC) 13-96
H'0080 1506 CAN1 Message Slot 0 Data 0 CAN1 Message Slot 0 Data 1 13-98
(C1MSL0DT0) (C1MSL0DT1) 13-100
H'0080 1508 CAN1 Message Slot 0 Data 2 CAN1 Message Slot 0 Data 3 13-102
(C1MSL0DT2) (C1MSL0DT3) 13-104
H'0080 150A CAN1 Message Slot 0 Data 4 CAN1 Message Slot 0 Data 5 13-106
(C1MSL0DT4) (C1MSL0DT5) 13-108
H'0080 150C CAN1 Message Slot 0 Data 6 CAN1 Message Slot 0 Data 7 13-110
(C1MSL0DT6) (C1MSL0DT7) 13-112
H'0080 150E CAN1 Message Slot 0 Timestamp 13-114
(C1MSL0TSP)
H'0080 1510 CAN1 Message Slot 1 Standard ID0 CAN1 Message Slot 1 Standard ID1 13-86
(C1MSL1SID0) (C1MSL1SID1) 13-88
H'0080 1512 CAN1 Message Slot 1 Extended ID0 CAN1 Message Slot 1 Extended ID1 13-90
(C1MSL1EID0) (C1MSL1EID1) 13-92
H'0080 1514 CAN1 Message Slot 1 Extended ID2 CAN1 Message Slot 1 Data Length Register 13-94
(C1MSL1EID2) (C1MSL1DLC) 13-96
H'0080 1516 CAN1 Message Slot 1 Data 0 CAN1 Message Slot 1 Data 1 13-98
(C1MSL1DT0) (C1MSL1DT1) 13-100
H'0080 1518 CAN1 Message Slot 1 Data 2 CAN1 Message Slot 1 Data 3 13-102
(C1MSL1DT2) (C1MSL1DT3) 13-104
H'0080 151A CAN1 Message Slot 1 Data 4 CAN1 Message Slot 1 Data 5 13-106
(C1MSL1DT4) (C1MSL1DT5) 13-108
H'0080 151C CAN1 Message Slot 1 Data 6 CAN1 Message Slot 1 Data 7 13-110
(C1MSL1DT6) (C1MSL1DT7) 13-112
H'0080 151E CAN1 Message Slot 1 Timestamp 13-114
(C1MSL1TSP)
H'0080 1520 CAN1 Message Slot 2 Standard ID0 CAN1 Message Slot 2 Standard ID1 13-86
(C1MSL2SID0) (C1MSL2SID1) 13-88
H'0080 1522 CAN1 Message Slot 2 Extended ID0 CAN1 Message Slot 2 Extended ID1 13-90
(C1MSL2EID0) (C1MSL2EID1) 13-92
H'0080 1524 CAN1 Message Slot 2 Extended ID2 CAN1 Message Slot 2 Data Length Register 13-94
(C1MSL2EID2) (C1MSL2DLC) 13-96
H'0080 1526 CAN1 Message Slot 2 Data 0 CAN1 Message Slot 2 Data 1 13-98
(C1MSL2DT0) (C1MSL2DT1) 13-100
H'0080 1528 CAN1 Message Slot 2 Data 2 CAN1 Message Slot 2 Data 3 13-102
(C1MSL2DT2) (C1MSL2DT3) 13-104
H'0080 152A CAN1 Message Slot 2 Data 4 CAN1 Message Slot 2 Data 5 13-106
(C1MSL2DT4) (C1MSL2DT5) 13-108
H'0080 152C CAN1 Message Slot 2 Data 6 CAN1 Message Slot 2 Data 7 13-110
(C1MSL2DT6) (C1MSL2DT7) 13-112
H'0080 152E CAN1 Message Slot 2 Timestamp 13-114
(C1MSL2TSP)
H'0080 1530 CAN1 Message Slot 3 Standard ID0 CAN1 Message Slot 3 Standard ID1 13-86
(C1MSL3SID0) (C1MSL3SID1) 13-88
H'0080 1532 CAN1 Message Slot 3 Extended ID0 CAN1 Message Slot 3 Extended ID1 13-90
(C1MSL3EID0) (C1MSL3EID1) 13-92
H'0080 1534 CAN1 Message Slot 3 Extended ID2 CAN1 Message Slot 3 Data Length Register 13-94
(C1MSL3EID2) (C1MSL3DLC) 13-96
H'0080 1536 CAN1 Message Slot 3 Data 0 CAN1 Message Slot 3 Data 1 13-98
(C1MSL3DT0) (C1MSL3DT1) 13-100
H'0080 1538 CAN1 Message Slot 3 Data 2 CAN1 Message Slot 3 Data 3 13-102
(C1MSL3DT2) (C1MSL3DT3) 13-104
H'0080 153A CAN1 Message Slot 3 Data 4 CAN1 Message Slot 3 Data 5 13-106
(C1MSL3DT4) (C1MSL3DT5) 13-108
H'0080 153C CAN1 Message Slot 3 Data 6 CAN1 Message Slot 3 Data 7 13-110
(C1MSL3DT6) (C1MSL3DT7) 13-112
b0 1 2 3 4 5 6 b7
CBUSSELP CBUSSEL
0 0 0 0 0 0 0 0
By setting the CBUSSEL bit to "1," two CAN modules are internally connected, which can be used artificially as
64-slot CAN.
• When CBUSSEL = 0
CAN0 and CAN1 use CTX0/CRX0 and CTX1/CRX1 as a pin, respectively.
• When CBUSSEL = 1
Both CAN0 and CAN1 use CTX0/CRX0 as a pin.
When CAN0 / CAN1 CAN bus share (CBUSSEL = 1 ) are described below.
• Do not select CTX1/CRX1 with the port operation mode register/port peripheral function select register.
• When both CANs generate a transmit request and both CAN0/CAN1 in operation, the output of CAN
having ID with higher priority corresponds to CTX0 output due to internal arbitration. Also, the CAN lost in
arbitration then operates as a receiving node, but no dominant level is output in the ACK field.
• In case where both CAN0 and CAN1 are operated, the CANs do not perform operation as error passive node
as viewed from the outside unless the both of them are in error passive state. The CANs do not perform
operation as error bus off node as viewed from the outside unless the both of them are in error bus off state.
Therefore, consideration is required such as making both CANs error states the same in software.
• Do not set the transmit slot that has the same ID in both CAN0 and CAN1.
• When both CAN0 and CAN1 are being operated, if there is a slot which completes one CAN transmission
and meets the receiving conditions by the other CAN, "the other CAN" stores the received data.
Note: • If theare are writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 1 and 2, the
continuous setting (A pair of two consecutive is 1 set for writing operation) is disabled and the writing
value is not reflected. Therefore, disable interrupts and DMA transfers before setting. However the
writing cycle from RTD and DRI are not effected.
CTX0 Tx
CAN0
CRX0 Rx
CTX1 Tx
CRX1 Rx
Figure 13.2.1 Configuration of the CAN Bus Mode Selection Circuit (Image)
CBUSSELP "1"
If a write cycle to any other area occurs
during this interval, the value that was
set in the CBUSSEL bits is not reflected.
CBUSSELP "0" (Note 1)
CBUSSEL Set value
CBUSSELP "1"
CBUSSELP "0"
CBUSSEL Set value
(2)
CBUSSELP "1"
CBUSSELP "1"
CBUSSELP "0"
CBUSSEL Set value
Note 1: The writing cycle to the other area is the writing cycle from CPU, DMA, SDI (tool), NBD to any other area.
The writing cycle from RTD and DRI do not effect.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
RBO TSR TSP FRST BCM LBM RST
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
Setting this bit to "1" under bus off stage clears the CAN Receive Error Count Register (CAN0REC,
CAN1REC) and CAN Transmit Error Count Register (CAN0TEC, CAN1TEC) to H'00 and forcibly places the
CAN module into an error active state. This bit is cleared when the CAN module goes to an error active
state.
Notes: • Communication becomes possible when 11 consecutive recessive bits are detected on the
CAN bus after clearing the error counters.
• Do not set this bit to "1" under the error active state and communication enable condition in
the error passive state.
Setting this bit to "1" clears the value of the CAN Timestamp Count Register (CAN0TSTMP, CAN1TSTMP)
to H’0000. This bit is cleared after the value of the CAN Timestamp Count Register (CAN0TSTMP,
CAN1TSTMP) is cleared to H’0000.
These bits select the count clock source for the timestamp counter.
Note: • Do not change settings of the TSP bits while CAN is operating (CAN Status Register CRS bit = "0").
When the FRST bit is set to "1," the CAN module is separated from the CAN bus and the protocol control
unit is reset regardless of whether the CAN module currently is communicating. Up to 5 BCLK periods are
required before the protocol control unit is reset after setting the FRST bit.
Notes: • In order for CAN communication to start, the FRST and RST bits must be cleared to "0."
• If the FRST bit is set to "1" during communication, the CTX pin output goes "H" (fixed) imme-
diately after that. Therefore, setting the FRST bit to "1" while sending CAN frame may cause
a CAN bus error.
• The CAN Message Slot Control Register’s transmit/receive requests are not cleared for rea-
sons that the FRST or RST bits are set.
• When the protocol control unit is reset by setting the FRST bit to "1," the CAN Timestamp
Count and CAN Transmit/Receive Error Count Registers are initialized to "0."
By setting this bit to "1," local slot 30 and 31 of the CAN module can be operated in BasicCAN mode.
1) Set the ID for slots 30 and 31 and the local mask registers A and B. (We recommend setting the
same value.)
2) Set the frame types to be handled by slots 30 and 31 (standard or extended) in the CAN Frame
Format Select Register. (We recommend setting the same type.)
3) Set the Message Slot Control Registers for slots 30 and 31 for data frame reception.
4) Set the BCM bit to "1."
Notes: • Do not change settings of the BCM bit while CAN is operating (CAN Status Register CRS
bit = "0").
• The first slot that is active after clearing the RST bit is slot 30.
• Even during BasicCAN mode, slots 0 to 29 can be used the same way as in normal
operation.
When the LBM bit is set to "1," if a receive slot exists whose ID matches that of the frame sent by the CAN
module itself, then the frame can be received.
When the RST bit is cleared to "0," the CAN module is connected to the CAN bus and becomes ready to
communicate after detecting 11 consecutive recessive bits. Also, the CAN Timestamp Count Register
thereby starts counting. When the RST bit is set to "1," the bus enters an idle state after sending frames from
the slots which have transmit requests set by that time. Then, the protocol control unit enters a reset state
and the CAN module is disconnected from the CAN bus. Frames received during this time are processed
normally.
When setting RST bit to "1" under bus off state, it exits from bus off state after detecting 11 consecutive
recessive bits on CAN bus 128 times, and then protocol control unit enters a reset state.
Notes: • It is inhibited to set a new transmit request until the protocol control unit is reset (CAN Status
Register CRS bit is set to "1") after setting the RST bit to "1."
• When the protocol control unit is reset by setting the RST bit to "1," the CAN Timestamp
Count and CAN Transmit/Receive Error Count Registers are initialized to "0."
• In order for CAN communication to start, the FRST and RST bits must be cleared to "0."
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
BOS EPS CBS BCS LBS CRS RSB TSB RSC TSC MSN
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
When BOS bit = "1," it means that the CAN module is in a bus off state.
[Set condition]
This bit is set to "1" when the transmit error count register value exceeded 255 and a bus off state is
entered.
[Clear condition]
This bit is cleared when restored from the bus off state.
When EPS bit = "1," it means that the CAN module is in an error passive state.
[Set condition]
This bit is set to "1" when the transmit or receive error count register value exceeded 127 and an error
passive state is entered.
[Clear condition]
This bit is cleared when restored from the error passive state.
[Set condition]
This bit is set to "1" when an error is detected on the CAN bus.
[Clear condition]
This bit is cleared when the CAN module finished sending or receiving normally.
When BCS bit = "1," it means that the CAN module is operating in BasicCAN mode.
[Set condition]
This bit is set to "1" when the CAN module is operating in BasicCAN mode. BasicCAN mode is useful
when the following conditions are met:
• CAN Control Register BCM bit = "1"
• Slots 30 and 31 both are set for data frame reception
[Clear condition]
This bit is cleared by clearing the BCM bit to "0."
When LBS bit = "1," it means that the CAN module is operating in loopback mode.
[Set condition]
This bit is set to "1" by setting the CAN Control Register LBM (loopback mode) bit to "1."
[Clear condition]
This bit is cleared by clearing the LBM bit to "0."
When CRS bit = "1," it means that the protocol control unit is in a reset state.
[Set condition]
This bit is set to "1" when the CAN protocol control unit is in a reset state.
[Clear condition]
This bit is cleared by clearing the CAN Control Register RST (CAN reset) and FRST bits to "0."
However, it requires one bit of set baud rate worth of time to have CRS bit cleared to "0" after RST bit
and FRST bit are cleared to "0."
[Set condition]
This bit is set to "1" when the CAN module is operating as a receive node.
[Clear condition]
This bit is cleared when the CAN module starts operating as a transmit node or enters a bus idle state.
[Set condition]
This bit is set to "1" when the CAN module is operating as a transmit node.
[Clear condition]
This bit is cleared when the CAN module starts operating as a receive node or enters a bus idle state.
[Set condition]
This bit is set to "1" when the CAN module has finished receiving normally (regardless of whether there
is any slot that meets receive conditions).
[Clear condition]
This bit is cleared when the CAN module has finished sending normally.
[Set condition]
This bit is set to "1" when the CAN module has finished sending normally.
[Clear condition]
This bit is cleared when the CAN module has finished receiving normally.
These bits indicate lower 4 bits of the relevant slot number when the CAN module has finished sending or
finished storing the received data.
Slots 0 to 15 and 16 to 31 have the same value. When only slots 0 to 15 or slots 16 to 31 are used, these bits
can be read out simultaneously with other status bits. In the case where all slots are used, refer to "CANn
Message Slot Number Register (CANnMSN)."
These bits cannot be cleared to "0" in software.
Note: • When CAN module receives the frame that is transmitted by the CAN module itself during
loopback mode, the MSN bits indicate the transmit slot number.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
SJW PH2 PH1 PRB SAM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This bit sets the number of times each bit is sampled. When SAM = "0," the value sampled at the end of
Phase Segment1 is assumed to be the value of the bit. When SAM = "1," the value of the bit is determined
by a majority circuit from three sampled values, each sampled 2 Tq’s before, 1 Tq before, and at the end of
Phase Segment1.
Table 13.2.1 Typical Settings of Bit Timing when f(CPUCLK) = 160 MHz (Note 2)
Baud Rate BRP Set Value Tq Period (ns) No. of Tq’s in 1 Bit PROP + PH1 PH2 Sampling Point
1M bps 1 50 20 16 3 85% (Note 1)
15 4 80% (Note 1)
14 5 75% (Note 1)
3 100 10 7 2 80%
6 3 70%
5 4 60%
4 125 8 6 1 88%
5 2 75%
4 3 63%
500k bps 3 100 20 16 3 85% (Note 1)
15 4 80% (Note 1)
14 5 75% (Note 1)
4 125 16 13 2 88% (Note 1)
12 3 81% (Note 1)
11 4 75%
7 200 10 8 1 90%
7 2 80%
6 3 70%
9 250 8 6 1 88%
5 2 75%
4 3 63%
Note 1: PH2 = max (PH1, IPT), that is specified in CAN protocol, cannot be met.
Note 2: As for Can module clock, select CPUCLK/4 in CAN Clock Select Register.
Note: • It does not mean that the communication at the above baud rate settings is guaranteed. Sufficient evaluation and
verification are required before use.
Table 13.2.2 Typical Settings of Bit Timing when f(CPUCLK) = 128 MHz (Note 2)
Baud Rate BRP Set Value Tq Period (ns) No. of Tq’s in 1 Bit PROP + PH1 PH2 Sampling Point
1M bps 1 62.5 16 13 2 88% (Note 1)
12 3 81% (Note 1)
11 4 75%
3 125 8 6 1 88%
5 2 75%
4 3 63%
500k bps 3 125 16 12 3 81% (Note 1)
11 4 75%
10 5 69%
7 250 8 6 1 88%
5 2 75%
4 3 63%
Note 1: PH2 = max (PH1, IPT), that is specified in CAN protocol, cannot be met.
Note 2: As for Can module clock, select CPUCLK/4 in CAN Clock Select Register.
Note: • It does not mean that the communication at the above baud rate settings is guaranteed. Sufficient evaluation and
verification are required before use.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
CANTSTMP
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The CAN module contains a 16-bit up-count register. The count period can be selected from the CAN bus bit period
divided by 1, 2, 3 or 4 by setting the CAN Control Register (CAN0CNT, CAN1CNT) TSP (Timestamp Prescaler) bits.
When the CAN module finishes sending or receiving, it captures the count register value and stores the value in a
message slot. The counter is made to start counting by clearing the CAN Control Register (CAN0CNT, CAN1CNT)
RST bit to "0."
Notes: • The CAN protocol control unit can be reset and the counter initialized to H’0000 by setting the
CAN Control Register (CAN0CNT, CAN1CNT) RST (CAN Reset) bit to "1." Or the counter can
be initialized to H’0000 while the CAN module remains operating by setting the TSR
(Timestamp Counter Reset) bit to "1."
• If any slot with the matching ID exists during loopback mode, the CAN module stores the
timestamp value in that slot when it finished receiving. (No timestamp values are stored this
way when the CAN module finished sending.)
• The count period of the CAN Timestamp Count Register varies with the CAN
resynchronization function.
b0 1 2 3 4 5 6 b7
REC
0 0 0 0 0 0 0 0
During an error active/error passive state, a receive error count value is stored in this register.
The count is decremented when frames are received normally or incremented when an error occurred. If the
CAN module finished receiving normally when REC ≥ 128 (error passive), REC is set to 127. During a bus off
state, an undefined value is stored in this register. The count is reset to H’00 upon returning to an error active
state.
b8 9 10 11 12 13 14 b15
TEC
0 0 0 0 0 0 0 0
During an error active/error passive state, a transmit error count value is stored in this register.
The count is decremented when frames are transmitted normally or incremented when an error occurred.
During a bus off state, an undefined value is stored in this register. The count is reset to H’00 upon returning to
an error active state.
b0 1 2 3 4 5 6 b7
BRP
0 0 0 0 0 0 0 1
This register sets the Tq period of CAN. The CAN baud rate is determined by (Tq period × number of Tq’s in one bit).
1
CAN transfer baud rate =
Tq period × number of Tq’s in one bit
• Group interrupt
Set
b4 5 6 b7
Initial state 0 0 0 0
Interrupt request
Event occurs on bit 6 0 0 1 0
b4 5 6 b7
1 1 0 1 1 0 0 0
Program example
• To clear the Interrupt Request Status Register 0 (ISTREG) interrupt request status 1, ISTAT1 (0x02 bit)
To clear an interrupt request status, always be sure to write 1 to all other interrupt request status bits. At this time,
avoid using a logic operation like the one shown below. Because it requires three step-ISTREG read, logic operation
and write, if another interrupt request occurs between the read and write, status may be inadvertently cleared.
b4 5 6 b7
0 0 1 0
0 0 0 0
0 0 0 0 Write
CAN0 Slot Interrupt Request Status Register (CAN0SLISTW) <Address: H’0080 100C>
CAN1 Slot Interrupt Request Status Register (CAN1SLISTW) <Address: H’0080 140C>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
SSB0 SSB1 SSB2 SSB3 SSB4 SSB5 SSB6 SSB7 SSB8 SSB9 SSB10 SSB11 SSB12 SSB13 SSB14 SSB15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
SSB16 SSB17 SSB18 SSB19 SSB20 SSB21 SSB22 SSB23 SSB24 SSB25 SSB26 SSB27 SSB28 SSB29 SSB30 SSB31
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
When using CAN interrupts, this register helps to know which slot requested an interrupt.
The corresponding bit is set to "1" when the CAN module finished sending. This bit is cleared by writing "0"
in software.
The corresponding bit is set to "1" when the CAN module finished receiving and finished storing the re-
ceived message in the message slot. This bit is cleared by writing "0" in software.
When writing to the CAN slot interrupt request status, make sure only the bits to be cleared are set to "0" and
all other bits are set to "1." Those bits that have been set to "1" are unaffected by writing in software and retain
the value they had before the write.
Notes: • If the automatic response function is enabled for remote frame receive slots, the request status
is set after the CAN module finished receiving a remote frame and after it finished sending a
data frame.
• For remote frame transmit slots, the request status is set after the CAN module finished send-
ing a remote frame and after it finished receiving a data frame.
• If the request status is set by an interrupt request at the same time it is cleared in software, the
former has priority so that the request status is set.
CAN0 Slot Interrupt Request Mask Register (CAN0SLIMKW) <Address: H’0080 1010>
CAN1 Slot Interrupt Request Mask Register (CAN1SLIMKW) <Address: H’0080 1410>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
IRB0 IRB1 IRB2 IRB3 IRB4 IRB5 IRB6 IRB7 IRB8 IRB9 IRB10 IRB11 IRB12 IRB13 IRB14 IRB15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
IRB16 IRB17 IRB18 IRB19 IRB20 IRB21 IRB22 IRB23 IRB24 IRB25 IRB26 IRB27 IRB28 IRB29 IRB30 IRB31
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register is used to enable or disable the interrupt requests that will be generated when data transmission or
reception in each corresponding slot is completed. Setting IRBn (n = 0–31) to "1" enables the interrupt request to
be generated when data transmission or reception in the corresponding slot is completed. The CAN Slot Interrupt
Request Status Register (CAN0SLISTW, CAN1SLISTW) helps to know which slot requested the interrupt.
CAN0 Error Interrupt Request Status Register (CAN0ERIST) <Address: H’0080 1014>
CAN1 Error Interrupt Request Status Register (CAN1ERIST) <Address: H’0080 1414>
b0 1 2 3 4 5 6 b7
EIS PIS OIS
0 0 0 0 0 0 0 0
When using CAN interrupts, if the interrupt request sources are associated with errors, this register helps to
know which source generated the interrupt.
(1) EIS (CAN Bus Error Interrupt Request Status) bit (Bit 5)
The EIS bit is set to "1" when a communication error is detected. This bit is cleared by writing "0" in software.
The PIS bit is set to "1" when the CAN module goes to an error passive state. This bit is cleared by writing
"0" in software.
The OIS bit is set to "1" when the CAN module goes to a bus off passive state. This bit is cleared by writing
"0" in software.
When writing to the CAN error interrupt request status, make sure only the bits to be cleared are set to "0" and
all other bits are set to "1." Those bits that have been set to "1" are unaffected by writing in software and retain
the value they had before the write.
CAN0 Error Interrupt Request Mask Register (CAN0ERIMK) <Address: H’0080 1015>
CAN1 Error Interrupt Request Mask Register (CAN1ERIMK) <Address: H’0080 1415>
b8 9 10 11 12 13 14 b15
EIM PIM OIM
0 0 0 0 0 0 0 0
(1) EIM (CAN Bus Error Interrupt Request Mask) bit (Bit 13)
The EIM bit enables or disables the interrupt requests to be generated when CAN bus errors occurred. CAN
bus error interrupt requests are enabled by setting this bit to "1."
(2) PIM (Error Passive Interrupt Request Mask) bit (Bit 14)
The PIM bit enables or disables the interrupt requests to be generated when the CAN module entered an
error passive state. Error passive interrupt requests are enabled by setting this bit to "1."
(3) OIM (Bus Off Interrupt Request Mask) bit (Bit 15)
The OIM bit enables or disables the interrupt requests to be generated when the CAN module entered a bus
off state. Bus off interrupt requests are enabled by setting this bit to "1."
CAN0 Single-Shot Interrupt Request Status Register (CAN0SSISTW) <address: H’0080 1044>
CAN1 Single-Shot Interrupt Request Status Register (CAN1SSISTW) <Address: H’0080 1444>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
SSIST0 SSIST1 SSIST2 SSIST3 SSIST4 SSIST5 SSIST6 SSIST7 SSIST8 SSIST9 SSIST10 SSIST11 SSIST12 SSIST13 SSIST14 SSIST15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
SSIST16 SSIST17 SSIST18 SSIST19 SSIST20 SSIST21 SSIST22 SSIST23 SSIST24 SSIST25 SSIST26 SSIST27 SSIST28 SSIST29 SSIST30 SSIST31
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
If transmission in any slot failed for reasons of a detection of arbitration-lost or a transmit error during single-
shot mode, the corresponding bit in this register is set to "1." The bit is cleared by writing "0" in software.
Furthermore, if the corresponding bit in the CAN single-shot interrupt request mask register has been set to "1,"
an interrupt request can be generated when transmission failed.
When writing to the CAN single-shot interrupt request status, make sure only the bits to be cleared are set to "0"
and all other bits are set to "1." Those bits that have been set to "1" are unaffected by writing in software and
retain the value they had before the write.
CAN0 Single-Shot Interrupt Request Mask Register (CAN0SSIMKW) <Address: H’0080 1048>
CAN1 Single-Shot Interrupt Request Mask Register (CAN1SSIMKW) <Address: H’0080 1448>
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
SSIMK0 SSIMK1 SSIMK2 SSIMK3 SSIMK4 SSIMK5 SSIMK6 SSIMK7 SSIMK8 SSIMK9 SSIMK10 SSIMK11 SSIMK12 SSIMK13 SSIMK14 SSIMK15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
SSIMK16 SSIMK17 SSIMK18 SSIMK19 SSIMK20 SSIMK21 SSIMK22 SSIMK23 SSIMK24 SSIMK25 SSIMK26 SSIMK27 SSIMK28 SSIMK29 SSIMK30 SSIMK31
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register is used to enable or disable the interrupt requests that will be generated when transmission in
each corresponding slot has failed. Setting any bit in this register to "1" enables the interrupt request to be
generated when transmission in the corresponding slot (in single-shot mode only) has failed. The CAN Single-
Shot Interrupt Request Status Register helps to know which slot requested the interrupt.
Data bus
SSB0 32-source inputs
b0 F/F
IRB0 CAN0 transmit/receive completion
(Level) interrupt request
b0 F/F
SSB1
b1 F/F
IRB1
b1 F/F
SSB2
b2
F/F
IRB2
b2 F/F
Slot 3 transmission/reception completed
SSB3
b3
F/F
IRB3
b3
F/F
SSB4
b4 F/F
IRB4
b4 F/F
SSB5
b5 F/F
IRB5
b5
F/F
SSB6
b6
F/F
IRB6
b6
F/F
SSB7
b7
F/F
IRB7
b7
F/F
Figure 13.2.6 Block Diagram of CAN0 Transmit/Receive Completion Interrupt Requests (1/4)
Data bus
SSB8 24-source inputs
b8 F/F
IRB8 To the preceding page
(Level)
b8 F/F
SSB9
b9 F/F
IRB9
b9 F/F
SSB10
b10
F/F
IRB10
b10 F/F
Slot 11 transmission/reception completed
SSB11
b11
F/F
IRB11
b11
F/F
SSB12
b12 F/F
IRB12
b12 F/F
SSB13
b13 F/F
IRB13
b13
F/F
SSB14
b14
F/F
IRB14
b14
F/F
SSB15
b15
F/F
IRB15
b15
F/F
Figure 13.2.7 Block Diagram of CAN0 Transmit/Receive Completion Interrupt Requests (2/4)
Data bus
SSB16 16-source inputs
b16 F/F
IRB16 To the preceding page
(Level)
b16 F/F
SSB17
b17 F/F
IRB17
b17 F/F
SSB18
b18
F/F
IRB18
b18 F/F
Slot 19 Transmission/reception completed
SSB19
b19
F/F
IRB19
b19
F/F
SSB20
b20 F/F
IRB20
b20 F/F
SSB21
b21 F/F
IRB21
b21
F/F
SSB22
b22
F/F
IRB22
b22
F/F
SSB23
b23
F/F
IRB23
b23
F/F
Figure 13.2.8 Block Diagram of CAN0 Transmit/Receive Completion Interrupt Requests (3/4)
Data bus
SSB24 8-source inputs
b24 F/F
IRB24 To the preceding page
(Level)
b24 F/F
SSB25
b25 F/F
IRB25
b25 F/F
SSB26
b26
F/F
IRB26
b26 F/F
Slot 27 Transmission/reception completed
SSB27
b27
F/F
IRB27
b27
F/F
SSB28
b28 F/F
IRB28
b28 F/F
SSB29
b29 F/F
IRB29
b29
F/F
SSB30
b30
F/F
IRB30
b30
F/F
SSB31
b31
F/F
IRB31
b31
F/F
Figure 13.2.9 Block Diagram of CAN0 Transmit/Receive Completion Interrupt Requests (4/4)
PIS
b6 F/F
PIM
b14 F/F
OIS
b7
F/F
OIM
b15 F/F
Data bus
SSIST0 32-source inputs
b0 F/F
SSIMK0 CAN0 single-shot interrupt request
(Level)
b0 F/F
SSIST1
b1 F/F
SSIMK1
b1 F/F
SSIST2
b2
F/F
SSIMK2
b2 F/F
SSIST3
b3
F/F
SSIMK3
b3
F/F
SSIST4
b4 F/F
SSIMK4
b4 F/F
SSIST5
b5 F/F
SSIMK5
b5
F/F
SSIST6
b6
F/F
SSIMK6
b6
F/F
SSIST7
b7
F/F
SSIMK7
b7
F/F
Data bus
SSIST8 24-source inputs
b8 F/F
SSIMK8 To the preceding page
(Level)
b8 F/F
SSIST9
b9 F/F
SSIMK9
b9 F/F
SSIST10
b10
F/F
SSIMK10
b10 F/F
SSIST11
b11
F/F
SSIMK11
b11
F/F
SSIST12
b12 F/F
SSIMK12
b12 F/F
SSIST13
b13 F/F
SSIMK13
b13
F/F
SSIST14
b14
F/F
SSIMK14
b14
F/F
SSIST15
b15
F/F
SSIMK15
b15
F/F
Data bus
SSIST16 16-souce inputs
b16 F/F
SSIMK16 To the preceding page
(Level)
b16 F/F
SSIST17
b17 F/F
SSIMK17
b17 F/F
SSIST18
b18
F/F
SSIMK18
b18 F/F
SSIST19
b19
F/F
SSIMK19
b19
F/F
SSIST20
b20 F/F
SSIMK20
b20 F/F
SSIST21
b21 F/F
SSIMK21
b21
F/F
SSIST22
b22
F/F
SSIMK22
b22
F/F
SSIST23
b23
F/F
SSIMK23
b23
F/F
SSIST25
b25 F/F
SSIMK25
b25 F/F
SSIST26
b26
F/F
SSIMK26
b26 F/F
SSIST27
b27
F/F
SSIMK27
b27
F/F
SSIST28
b28 F/F
SSIMK28
b28 F/F
SSIST29
b29 F/F
SSIMK29
b29
F/F
SSIST30
b30
F/F
SSIMK30
b30
F/F
SSIST31
b31
F/F
SSIMK31
b31
F/F
Data bus
SSB0 32-source inputs
b0 F/F
IRB0 CAN1 transmit/receive
(Level) completion interrupt request
b0 F/F
SSB1
b1 F/F
IRB1
b1 F/F
Slot 2 transmission/reception completed
SSB2
b2
F/F
IRB2
b2 F/F
Slot 3 transmission/reception completed
SSB3
b3
F/F
IRB3
b3
F/F
SSB4
b4 F/F
IRB4
b4 F/F
SSB5
b5 F/F
IRB5
b5
F/F
SSB6
b6
F/F
IRB6
b6
F/F
SSB7
b7
F/F
IRB7
b7
F/F
Figure 13.2.15 Block Diagram of CAN1 Transmit/Receive Completion Interrupt Requests (1/4)
SSB9
b9 F/F
IRB9
b9 F/F
Slot 10 transmission/reception completed
SSB10
b10
F/F
IRB10
b10 F/F
Slot 11 transmission/reception completed
SSB11
b11
F/F
IRB11
b11
F/F
SSB12
b12 F/F
IRB12
b12 F/F
SSB13
b13 F/F
IRB13
b13
F/F
SSB14
b14
F/F
IRB14
b14
F/F
SSB15
b15
F/F
IRB15
b15
F/F
Figure 13.2.16 Block Diagram of CAN1 Transmit/Receive Completion Interrupt Requests (2/4)
SSB17
b17 F/F
IRB17
b17 F/F
Slot 18 transmission/reception completed
SSB18
b18
F/F
IRB18
b18 F/F
Slot 19 transmission/reception completed
SSB19
b19
F/F
IRB19
b19
F/F
SSB20
b20 F/F
IRB20
b20 F/F
SSB21
b21 F/F
IRB21
b21
F/F
SSB22
b22
F/F
IRB22
b22
F/F
SSB23
b23
F/F
IRB23
b23
F/F
Figure 13.2.17 Block Diagram of CAN1 Transmit/Receive Completion Interrupt Requests (3/4)
SSB25
b25 F/F
IRB25
b25 F/F
Slot 26 transmission/reception completed
SSB26
b26
F/F
IRB26
b26 F/F
Slot 27 transmission/reception completed
SSB27
b27
F/F
IRB27
b27
F/F
SSB28
b28 F/F
IRB28
b28 F/F
SSB29
b29 F/F
IRB29
b29
F/F
SSB30
b30
F/F
IRB30
b30
F/F
SSB31
b31
F/F
IRB31
b31
F/F
Figure 13.2.18 Block Diagram of CAN1 Transmit/Receive Completion Interrupt Requests (4/4)
Data bus
EIS 3-source inputs
b5 F/F
CAN1 error interrupt request
EIM (Level)
b13 F/F
PIS
b6 F/F
PIM
b14 F/F
OIS
b7
F/F
OIM
b15 F/F
Data bus
SSIST0 32-source inputs
b0 F/F
SSIMK0 CAN1 single-shot interrupt request
(Level)
b0 F/F
SSIST1
b1 F/F
SSIMK1
b1 F/F
SSIST2
b2
F/F
SSIMK2
b2 F/F
SSIST3
b3
F/F
SSIMK3
b3
F/F
SSIST4
b4 F/F
SSIMK4
b4 F/F
SSIST5
b5 F/F
SSIMK5
b5
F/F
SSIST6
b6
F/F
SSIMK6
b6
F/F
SSIST7
b7
F/F
SSIMK7
b7
F/F
Data bus
SSIST8 24-source inputs
b8 F/F
SSIMK8 To the preceding page
(Level)
b8 F/F
SSIST9
b9 F/F
SSIMK9
b9 F/F
SSIST10
b10
F/F
SSIMK10
b10 F/F
SSIST11
b11
F/F
SSIMK11
b11
F/F
SSIST12
b12 F/F
SSIMK12
b12 F/F
SSIST13
b13 F/F
SSIMK13
b13
F/F
SSIST14
b14
F/F
SSIMK14
b14
F/F
SSIST15
b15
F/F
SSIMK15
b15
F/F
Data bus
SSIST16 16-souce inputs
b16 F/F
SSIMK16 To the preceding page
(Level)
b16 F/F
SSIST17
b17 F/F
SSIMK17
b17 F/F
SSIST18
b18
F/F
SSIMK18
b18 F/F
SSIST19
b19
F/F
SSIMK19
b19
F/F
SSIST20
b20 F/F
SSIMK20
b20 F/F
SSIST21
b21 F/F
SSIMK21
b21
F/F
SSIST22
b22
F/F
SSIMK22
b22
F/F
SSIST23
b23
F/F
SSIMK23
b23
F/F
Data bus
SSIST24 8-source inputs
b24 F/F
To the preceding page
SSIMK24 (Level)
b24 F/F
SSIST25
b25 F/F
SSIMK25
b25 F/F
SSIST26
b26
F/F
SSIMK26
b26 F/F
SSIST27
b27
F/F
SSIMK27
b27
F/F
SSIST28
b28 F/F
SSIMK28
b28 F/F
SSIST29
b29 F/F
SSIMK29
b29
F/F
SSIST30
b30
F/F
SSIMK30
b30
F/F
SSIST31
b31
F/F
SSIMK31
b31
F/F
b8 9 10 11 12 13 14 b15
TRE RCVE BITE0 BITE1 STFE FORME CRCE ACKE
0 0 0 0 0 0 0 0
This bit is set to "1" when a communication error is detected while operating as a transmit node. The bit is
cleared by writing a "0" in software.
This bit is set to "1" when a communication error is detected while operating as a receive node. The bit is
cleared by writing a "0" in software.
(3) BITE0 ("0" Sending Bit Error Detection) bit (Bit 10)
This bit is set to "1" when a bit error is detected while sending a "0" from CTX. The bit is cleared by writing
a "0" in software.
(4) BITE1 ("1" Sending Bit Error Detection) bit (Bit 11)
This bit is set to "1" when a bit error is detected while sending a "1" from CTX. The bit is cleared by writing
a "0" in software.
This bit is set to "1" when a stuff error was detected. The bit is cleared by writing a "0" in software.
This bit is set to "1" when a form error was detected. The bit is cleared by writing a "0" in software.
This bit is set to "1" when a CRC error was detected. The bit is cleared by writing a "0" in software.
This bit is set to "1" when an ACK error was detected. The bit is cleared by writing a "0" in software
Note: • For the BITE0, BITE1, STFE, FORME, CRCE and ACKE bits, two or more bits may be set at
the same time, depending on the error status.
b0 1 2 3 4 5 6 b7
CMOD
0 0 0 0 0 0 0 0
Note: • During bus monitor mode, issuing transmit requests is inhibited. The ACK bit is handled as
“Don’t care” during bus monitor mode. Therefore, if all bits of data including the CRC
delimiter are received normally, it is assumed that data has been received normally no
matter whether the ACK bit is "H".
• Self-diagnostic mode
CTX and CRX are connected together internally in the CAN module. When combined with loopback
mode, this mode allows communication to be performed within the CAN module alone. During self-
diagnostic mode, the CTX pin output is fixed "H" even when transmitting.
Self-diagnostic mode
Rx CRX pin
ACK signal
generating
circuit
Tx CTX pin
b8 9 10 11 12 13 14 b15
CDMSEL1 CDMSEL0
0 0 0 0 0 0 0 0
CAN0 and 1 can generate DMA transfer requests. This register is used to select the cause or source of that request.
(1) CDMSEL1 (CAN DMA1 Transfer Request Source Select) bit (Bit 14)
CAN0 and CAN1 allow DMA2 & DMA7 and DMA7 & DMA9 to generate DMA transfer requests, respec-
tively.
This bit selects one of the following two as the cause or source of a transfer request.
(2) CDMSEL0 (CAN DMA0 Transfer Request Source Select) bit (Bit 15)
CAN0 and CAN1 allow DMA0 & DMA6 and DMA5 & DMA8 to generate DMA transfer requests, respec-
tively.
This bit selects one of the following two as the cause or source of a transfer request.
b0 1 2 3 4 5 6 b7
EXMSN
0 0 0 0 0 0 0 0
These bits indicate the relevant slot number when the CAN module has finished sending or finished storing the
received data.
These bits cannot be cleared to "0" in software.
Note: • When CAN module receives the frame that is transmitted by the CAN module itself during
loopback mode, the EXMSN bits indicate the transmit slot number.
b8 9 10 11 12 13 14 b15
CANCKSP CANCKS
0 0 0 0 0 0 0 0
These registers switch the clock supplied to the protocol engine block of CAN module.
To set these registers, follow the procedure described below.
Note: • If theare are writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 2 and
3, the continuous setting (A pair of two consecutive is 1 set for writing operation) is disabled
and the writing value is not reflected. Therefore, disable interrupts and DMA transfers before
setting. However the writing cycle from RTD and DRI are not effected.
CANCKSP "1"
If a write cycle to any other area occurs
during this interval, the value that was
set in the CANCKS bits is not reflected.
CANCKSP "0" (Note 1)
CANCKS Set value
CANCKSP "1"
CANCKSP "0"
CANCKS Set value
(2)
CANCKSP "1"
CANCKSP "1"
CANCKSP "0"
CANCKS Set value
Note 1: The writing cycle to the other area is the writing cycle from CPU, DMA, SDI (tool), NBD to any other area.
The writing cycle from RTD and DRI do not effect.
Note. • Set this register under the status CAN module is reset.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
IDE0 IDE1 IDE2 IDE3 IDE4 IDE5 IDE6 IDE7 IDE8 IDE9 IDE10 IDE11 IDE2 IDE13 IDE14 IDE15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
IDE16 IDE17 IDE18 IDE19 IDE20 IDE21 IDE22 IDE23 IDE24 IDE25 IDE26 IDE27 IDE28 IDE29 IDE30 IDE31
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Select a format of the frame handled in the message slot corresponding to each bit.
When "0" is set, the standard (Standard ID) format is selected.
When "1" is set, the extented (Extended ID) format is selected.
Note: • Change each bit of this register always with the transmit/receive request of the corresponding
slot not issued.
CAN1 Global Mask Register A Standard ID0 (C1GMSKAS0) <Address: H’0080 1420>
CAN1 Global Mask Register B Standard ID0 (C1GMSKBS0) <Address: H’0080 1428>
CAN1 Local Mask Register A Standard ID0 (C1LMSKAS0) <Address: H’0080 1430>
CAN1 Local Mask Register B Standard ID0 (C1LMSKBS0) <Address: H’0080 1438>
b0 1 2 3 4 5 6 b7
SID0M SID1M SID2M SID3M SID4M
0 0 0 0 0 0 0 0
CAN0 Global Mask Register A Standard ID1 (C0GMSKAS1) <Address: H’0080 1021>
CAN0 Global Mask Register B Standard ID1 (C0GMSKBS1) <Address: H’0080 1029>
CAN0 Local Mask Register A Standard ID1 (C0LMSKAS1) <Address: H’0080 1031>
CAN0 Local Mask Register B Standard ID1 (C0LMSKBS1) <Address: H’0080 1039>
CAN1 Global Mask Register A Standard ID1 (C1GMSKAS1) <Address: H’0080 1421>
CAN1 Global Mask Register B Standard ID1 (C1GMSKBS1) <Address: H’0080 1429>
CAN1 Local Mask Register A Standard ID1 (C1LMSKAS1) <Address: H’0080 1431>
CAN1 Local Mask Register B Standard ID1 (C1LMSKBS1) <Address: H’0080 1439>
b8 9 10 11 12 13 14 b15
SID5M SID6M SID7M SID8M SID9M SID10M
0 0 0 0 0 0 0 0
Four mask registers are used in acceptance filtering: global mask register A, global mask register B, local mask
register A and local mask register B. The global mask registers A and B are used for message slots 0-15 and
16-29, while local mask registers A and B are used for message slots 30 and 31, respectively.
• If any bit in this register is set to "0," the corresponding ID bit is masked (assumed to have matched) during
acceptance filtering.
• If any bit in this register is set to "1," the corresponding ID bit is compared with the receive ID during
acceptance filtering and when it matches the ID set in the message slot, the received data is stored in it.
CAN0 Global Mask Register A Extended ID0 (C0GMSKAE0) <Address: H’0080 1022>
CAN0 Global Mask Register B Extended ID0 (C0GMSKBE0) <Address: H’0080 102A>
CAN0 Local Mask Register A Extended ID0 (C0LMSKAE0) <Address: H’0080 1032>
CAN0 Local Mask Register B Extended ID0 (C0LMSKBE0) <Address: H’0080 103A>
CAN1 Global Mask Register A Extended ID0 (C1GMSKAE0) <Address: H’0080 1422>
CAN1 Global Mask Register B Extended ID0 (C1GMSKBE0) <Address: H’0080 142A>
CAN1 Local Mask Register A Extended ID0 (C1LMSKAE0) <Address: H’0080 1432>
CAN1 Local Mask Register B Extended ID0 (C1LMSKBE0) <Address: H’0080 143A>
b0 1 2 3 4 5 6 b7
EID0M EID1M EID2M EID3M
0 0 0 0 0 0 0 0
CAN0 Global Mask Register A Extended ID1 (C0GMSKAE1) <Address: H’0080 1023>
CAN0 Global Mask Register B Extended ID1 (C0GMSKBE1) <Address: H’0080 102B>
CAN0 Local Mask Register A Extended ID1 (C0LMSKAE1) <Address: H’0080 1033>
CAN0 Local Mask Register B Extended ID1 (C0LMSKBE1) <Address: H’0080 103B>
CAN1 Global Mask Register A Extended ID1 (C1GMSKAE1) <Address: H’0080 1423>
CAN1 Global Mask Register B Extended ID1 (C1GMSKBE1) <Address: H’0080 142B>
CAN1 Local Mask Register A Extended ID1 (C1LMSKAE1) <Address: H’0080 1433>
CAN1 Local Mask Register B Extended ID1 (C1LMSKBE1) <Address: H’0080 143B>
b8 9 10 11 12 13 14 b15
EID4M EID5M EID6M EID7M EID8M EID9M EID10M EID11M
0 0 0 0 0 0 0 0
CAN0 Global Mask Register A Extended ID2 (C0GMSKAE2) <Address: H’0080 1024>
CAN0 Global Mask Register B Extended ID2 (C0GMSKBE2) <Address: H’0080 102C>
CAN0 Local Mask Register A Extended ID2 (C0LMSKAE2) <Address: H’0080 1034>
CAN0 Local Mask Register B Extended ID2 (C0LMSKBE2) <Address: H’0080 103C>
CAN1 Global Mask Register A Extended ID2 (C1GMSKAE2) <Address: H’0080 1424>
CAN1 Global Mask Register B Extended ID2 (C1GMSKBE2) <Address: H’0080 142C>
CAN1 Local Mask Register A Extended ID2 (C1LMSKAE2) <Address: H’0080 1434>
CAN1 Local Mask Register B Extended ID2 (C1LMSKBE2) <Address: H’0080 143C>
b0 1 2 3 4 5 6 B7
EID12M EID13M EID14M EID15M EID16M EID17M
0 0 0 0 0 0 0 0
Four mask registers are used in acceptance filtering: global mask register A, global mask register B, local mask
register A and local mask register B. The global mask registers A and B are used for message slots 0-15 and
16-29, while local mask registers A and B are used for message slots 30 and 31, respectively.
• If any bit in this register is set to "0," the corresponding ID bit is masked (assumed to have matched) during
acceptance filtering.
• If any bit in this register is set to "1," the corresponding ID bit is compared with the receive ID during
acceptance filtering and when it matches the ID set in the message slot, the received data is stored in it.
Slot 0
Slot 1
Slots controlled by
global mask register A
Slot 2
Slot 15
Slot 16
Slot 17
Slots controlled by
global mask register B
Slot 18
Slot 29
Figure 13.2.26 Relationship between the Mask Registers and the Controlled Slots
ID of received Mask register 0: The received message and slot IDs are
frame ID set in slot set value not checked for matching and handled as
"Don't care" (masked)
1: The received message and slot IDs are
checked for matching
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
SSCNT0 SSCNT1 SSCNT2 SSCNT3 SSCNT4 SSCNT5 SSCNT6 SSCNT7 SSCNT8 SSCNT9 SSCNT10 SSCNT11 SSCNT12 SSCNT13 SSCNT14 SSCNT15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
SSCNT16 SSCNT17 SSCNT18 SSCNT19 SSCNT20 SSCNT21 SSCNT22 SSCNT23 SSCNT24 SSCNT25 SSCNT26 SSCNT27 SSCNT28 SSCNT29 SSCNT30 SSCNT31
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Normally in CAN, if transmission has failed for reasons of arbitration-lost or transmit error, the transmit opera-
tion is continued until successfully transmitted. This register is used to specify for each slot whether or not to
retry a transmit operation in such a case.
In single-shot mode, if transmission fails for reasons of arbitration-lost or transmit error, the transmit operation
is not retried. If any SSCNTn bit (n = 0–31) is set to "1," the corresponding slot operates in single-shot mode.
Note: • Settings of this register can only be changed when the message slot control register for the slot
whose corresponding bit is to be modified is in the H’00 state.
b0(b8) 1 2 3 4 5 6 b7(b15)
TR RR RM RL RA ML TRSTAT TRFIN
0 0 0 0 0 0 0 0
Notes: • If a transmit request is written to this register while the CAN module is reset (CAN0CNT/
CAN1CNT FRST or RST bit = "1"), it starts sending upon detecting 11 consecutive recessive
bits on the CAN bus after exiting the reset state.
• If data/remote frame transmit requests are issued for two or more slots, the slot with the small-
est slot number sends a frame. If data/remote frame receive requests are issued for two or
more slots, the slot with the smallest slot number among the slots satisfying the receive condi-
tion receives a frame.
• If transmission failed when single-shot mode is selected, this register is cleared to H’00.
To use the message slot as a transmit slot, set this bit to "1." To use the message slot as a data frame or
remote frame receive slot, set this bit to "0."
To use the message slot as a receive slot, set this bit to "1." To use the message slot as a data frame or
remote frame transmit slot, set this bit to "0."
If TR (Transmit Request) bit and RR (Receive Request) bit both are set to "1," device operation is unde-
fined.
To handle remote frames in the message slot, set this bit to "1." There are following two methods of settings
to handle remote frames:
This bit is effective when the message slot has been set as a remote frame receive slot. It selects the
processing to be performed after receiving a remote frame. If this bit is set to "0," the message slot automati-
cally changes to a transmit slot after receiving a remote frame and transmits the data set in it as a data
frame. If this bit is set to "1," the message slot stops operating after receiving a remote frame.
Note: • Always set this bit to "0" unless the message slot is set for remote frame reception.
This bit functions differently for slots 0-29 and slots 30 and 31.
• Slots 0–29
This bit is set to "1" when the message slot is set for remote frame transmission (reception). Then,
when remote frame transmission (reception) is completed, the bit is cleared to "0."
• Slots 30 and 31
The function of this bit differs depending on how the CAN Control Register BCM (BasicCAN Mode)
bit is set.
If BCM = "0" (normal operation), this bit is set to "1" when the message slot is set for remote frame
transmission (reception).
If BCM = "1" (BasicCAN), this bit indicates which type of frame is received. During BasicCAN mode,
the received data is stored in slots 30 and 31 for both data and remote frames.
If RA = "0," it means that the frame stored in the slot is a data frame.
If RA = "1," it means that the frame stored in the slot is a remote frame.
This bit is effective for receive slots. It is set to "1" when unread received data contained in the message slot
is overwritten by reception. This bit is cleared by writing "0" in software.
This bit indicates that the CAN module is sending or receiving and is accessing the message slot. This bit is
set to "1" when the CAN module is accessing, and set to "0" when not accessing.
This bit indicates that the CAN module finished sending or receiving.
Notes: • Before reading the received data out of the message slot, be sure to clear the TRFIN
(Transmit/Receive Finished) bit to "0." If the TRFIN (Transmit/Receive Finished) bit hap-
pens to be set to "1" after a read, it means that new received data was stored while
reading and the read data contains an undefined value. In that case, discard the read
data, clear the TRFIN bit to "0" and read out data again.
• When sending/receiving remote frames, the TRFIN bit is automatically cleared to "0" by
hardware. Therefore, the TRFIN bit cannot be used as a transmission/reception-finished
flag.
b0 1 2 3 4 5 6 b7
SID0 SID1 SID2 SID3 SID4
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
b8 9 10 11 12 13 14 b15
SID5 SID6 SID7 SID8 SID9 SID10
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
b0 1 2 3 4 5 6 b7
EID0 EID1 EID2 EID3
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • If the message slot is set for the receive slot standard ID format, an undefined value is written
to the EID bits when storing received data.
b8 9 10 11 12 13 14 b15
EID4 EID5 EID6 EID7 EID8 EID9 EID10 EID11
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • If the message slot is set for the receive slot standard ID format, an undefined value is written
to the EID bits when storing received data.
b0 1 2 3 4 5 6 b7
EID12 EID13 EID14 EID15 EID16 EID17
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • If the message slot is set for the receive slot standard ID format, an undefined value is written
to the EID bits when storing received data.
CAN0 Message Slot 0 Data Length Register (C0MSL0DLC) <Address: H’0080 1105>
CAN0 Message Slot 1 Data Length Register (C0MSL1DLC) <Address: H’0080 1115>
CAN0 Message Slot 2 Data Length Register (C0MSL2DLC) <Address: H’0080 1125>
CAN0 Message Slot 3 Data Length Register (C0MSL3DLC) <Address: H’0080 1135>
CAN0 Message Slot 4 Data Length Register (C0MSL4DLC) <Address: H’0080 1145>
CAN0 Message Slot 5 Data Length Register (C0MSL5DLC) <Address: H’0080 1155>
CAN0 Message Slot 6 Data Length Register (C0MSL6DLC) <Address: H’0080 1165>
CAN0 Message Slot 7 Data Length Register (C0MSL7DLC) <Address: H’0080 1175>
CAN0 Message Slot 8 Data Length Register (C0MSL8DLC) <Address: H’0080 1185>
CAN0 Message Slot 9 Data Length Register (C0MSL9DLC) <Address: H’0080 1195>
CAN0 Message Slot 10 Data Length Register (C0MSL10DLC) <Address: H’0080 11A5>
CAN0 Message Slot 11 Data Length Register (C0MSL11DLC) <Address: H’0080 11B5>
CAN0 Message Slot 12 Data Length Register (C0MSL12DLC) <Address: H’0080 11C5>
CAN0 Message Slot 13 Data Length Register (C0MSL13DLC) <Address: H’0080 11D5>
CAN0 Message Slot 14 Data Length Register (C0MSL14DLC) <Address: H’0080 11E5>
CAN0 Message Slot 15 Data Length Register (C0MSL15DLC) <Address: H’0080 11F5>
CAN0 Message Slot 16 Data Length Register (C0MSL16DLC) <Address: H’0080 1205>
CAN0 Message Slot 17 Data Length Register (C0MSL17DLC) <Address: H’0080 1215>
CAN0 Message Slot 18 Data Length Register (C0MSL18DLC) <Address: H’0080 1225>
CAN0 Message Slot 19 Data Length Register (C0MSL19DLC) <Address: H’0080 1235>
CAN0 Message Slot 20 Data Length Register (C0MSL20DLC) <Address: H’0080 1245>
CAN0 Message Slot 21 Data Length Register (C0MSL21DLC) <Address: H’0080 1255>
CAN0 Message Slot 22 Data Length Register (C0MSL22DLC) <Address: H’0080 1265>
CAN0 Message Slot 23 Data Length Register (C0MSL23DLC) <Address: H’0080 1275>
CAN0 Message Slot 24 Data Length Register (C0MSL24DLC) <Address: H’0080 1285>
CAN0 Message Slot 25 Data Length Register (C0MSL25DLC) <Address: H’0080 1295>
CAN0 Message Slot 26 Data Length Register (C0MSL26DLC) <Address: H’0080 12A5>
CAN0 Message Slot 27 Data Length Register (C0MSL27DLC) <Address: H’0080 12B5>
CAN0 Message Slot 28 Data Length Register (C0MSL28DLC) <Address: H’0080 12C5>
CAN0 Message Slot 29 Data Length Register (C0MSL29DLC) <Address: H’0080 12D5>
CAN0 Message Slot 30 Data Length Register (C0MSL30DLC) <Address: H’0080 12E5>
CAN0 Message Slot 31 Data Length Register (C0MSL31DLC) <Address: H’0080 12F5>
CAN1 Message Slot 0 Data Length Register (C1MSL0DLC) <Address: H’0080 1505>
CAN1 Message Slot 1 Data Length Register (C1MSL1DLC) <Address: H’0080 1515>
CAN1 Message Slot 2 Data Length Register (C1MSL2DLC) <Address: H’0080 1525>
CAN1 Message Slot 3 Data Length Register (C1MSL3DLC) <Address: H’0080 1535>
CAN1 Message Slot 4 Data Length Register (C1MSL4DLC) <Address: H’0080 1545>
CAN1 Message Slot 5 Data Length Register (C1MSL5DLC) <Address: H’0080 1555>
CAN1 Message Slot 6 Data Length Register (C1MSL6DLC) <Address: H’0080 1565>
CAN1 Message Slot 7 Data Length Register (C1MSL7DLC) <Address: H’0080 1575>
CAN1 Message Slot 8 Data Length Register (C1MSL8DLC) <Address: H’0080 1585>
CAN1 Message Slot 9 Data Length Register (C1MSL9DLC) <Address: H’0080 1595>
CAN1 Message Slot 10 Data Length Register (C1MSL10DLC) <Address: H’0080 15A5>
CAN1 Message Slot 11 Data Length Register (C1MSL11DLC) <Address: H’0080 15B5>
CAN1 Message Slot 12 Data Length Register (C1MSL12DLC) <Address: H’0080 15C5>
CAN1 Message Slot 13 Data Length Register (C1MSL13DLC) <Address: H’0080 15D5>
CAN1 Message Slot 14 Data Length Register (C1MSL14DLC) <Address: H’0080 15E5>
CAN1 Message Slot 15 Data Length Register (C1MSL15DLC) <Address: H’0080 15F5>
CAN1 Message Slot 16 Data Length Register (C1MSL16DLC) <Address: H’0080 1605>
CAN1 Message Slot 17 Data Length Register (C1MSL17DLC) <Address: H’0080 1615>
CAN1 Message Slot 18 Data Length Register (C1MSL18DLC) <Address: H’0080 1625>
CAN1 Message Slot 19 Data Length Register (C1MSL19DLC) <Address: H’0080 1635>
CAN1 Message Slot 20 Data Length Register (C1MSL20DLC) <Address: H’0080 1645>
CAN1 Message Slot 21 Data Length Register (C1MSL21DLC) <Address: H’0080 1655>
CAN1 Message Slot 22 Data Length Register (C1MSL22DLC) <Address: H’0080 1665>
CAN1 Message Slot 23 Data Length Register (C1MSL23DLC) <Address: H’0080 1675>
CAN1 Message Slot 24 Data Length Register (C1MSL24DLC) <Address: H’0080 1685>
CAN1 Message Slot 25 Data Length Register (C1MSL25DLC) <Address: H’0080 1695>
CAN1 Message Slot 26 Data Length Register (C1MSL26DLC) <Address: H’0080 16A5>
CAN1 Message Slot 27 Data Length Register (C1MSL27DLC) <Address: H’0080 16B5>
CAN1 Message Slot 28 Data Length Register (C1MSL28DLC) <Address: H’0080 16C5>
CAN1 Message Slot 29 Data Length Register (C1MSL29DLC) <Address: H’0080 16D5>
CAN1 Message Slot 30 Data Length Register (C1MSL30DLC) <Address: H’0080 16E5>
CAN1 Message Slot 31 Data Length Register (C1MSL31DLC) <Address: H’0080 16F5>
b8 9 10 11 12 13 14 b15
DLC0 DLC1 DLC2 DLC3
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames. When sending, the register is used to
set the transmit data length. When receiving, the register is used to store the receive frame DLC.
b0 1 2 3 4 5 6 b7
C0MSL0DT0-C0MSL31DT0, C1MSL0DT0-C1MSL31DT0
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Notes: • During a receive slot, an undefined value is written to the register if the data length of the data
frame being stored (DLC value) = "0."
• The first byte of the CAN frame data field corresponds to message slot n data 0. Data is
transmitted or received beginning with the MSB side of the register.
b8 9 10 11 12 13 14 b15
C0MSL0DT1-C0MSL31DT1, C1MSL0DT1-C1MSL31DT1
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • During a receive slot, an undefined value is written to the register if the data length of the data
frame being stored (DLC value) is equal to or less than 1.
b0 1 2 3 4 5 6 b7
C0MSL0DT2-C0MSL31DT2, C1MSL0DT2-C1MSL31DT2
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • During a receive slot, an undefined value is written to the register if the data length of the data
frame being stored (DLC value) is equal to or less than 2.
b8 9 10 11 12 13 14 b15
C0MSL0DT3-C0MSL31DT3, C1MSL0DT3-C1MSL31DT3
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • During a receive slot, an undefined value is written to the register if the data length of the data
frame being stored (DLC value) is equal to or less than 3.
b0 1 2 3 4 5 6 b7
C0MSL0DT4-C0MSL31DT4, C1MSL0DT4-C1MSL31DT4
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • During a receive slot, an undefined value is written to the register if the data length of the data
frame being stored (DLC value) is equal to or less than 4.
b8 9 10 11 12 13 14 b15
C0MSL0DT5-C0MSL31DT5, C1MSL0DT5-C1MSL31DT5
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • During a receive slot, an undefined value is written to the register if the data length of the data
frame being stored (DLC value) is equal to or less than 5.
b0 1 2 3 4 5 6 b7
C0MSL0DT6-C0MSL31DT6, C1MSL0DT6-C1MSL31DT6
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • During a receive slot, an undefined value is written to the register if the data length of the data
frame being stored (DLC value) is equal to or less than 6.
b8 9 10 11 12 13 14 b15
C0MSL0DT7-C0MSL31DT7, C1MSL0DT7-C1MSL31DT7
? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames.
Note: • During a receive slot, an undefined value is written to the register if the data length of the data
frame being stored (DLC value) is equal to or less than 7.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
C0MSL0TSP-C0MSL31TSP, C1MSL0TSP-C1MSL31TSP
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
These registers are the memory space for transmit and receive frames. When transmission/reception has
finished, the CAN timestamp count register value is written to the register.
There are four types of frames that are handled by CAN protocol:
Data frame
Standard format
1 11 1 6 0–64 16 2 7
Extended format
1 11 1 1 18 1 6 0–64 16 2 7
SOF EOF
Arbitration field ACK field
CRC field
Data field
Control field
Remote frame
Standard format
1 11 1 6 16 2 7
Extended format
1 11 1 1 18 1 6 16 2 7
SOF EOF
Arbitration field ACK field
CRC field
Control field
Error frame
6–12 8
Overload frame
6–12 8
Interframe space
For the case of an error active state
3 0– 1
SOF of the next frame
Bus idle
Intermission
3 8 0– 1
SOF of the next frame
Bus idle
Suspend transmission
Intermission
Figure 13.3.3 shows an example of the transmit/receive transfer data format that can be used in CAN. Data is
transmitted/received sequentially beginning with the MSB side of the CAN message slot (C0MSLnSID0-
C0MSLnDT7 and C1MSLnSID0-C1MSLnDT7).
Arbitration field
CAN frame
MSB
Arbitration field
Data field
MSB
Data field
b0 b1 b2 b3 b4
The CAN controller assumes one of the following three error states depending on the transmit error and re-
ceive error counter values.
Error Status of the Unit Transmit Error Counter Receive Error Counter
Error active state 0–127 AND 0–127
Error passive state 128–255 OR 128 and over
Bus off state 256 and over –
Initial setting
Error active
state
Note 1: With RBO (Return Bus Off) bit and FRST (Forcible Reset) bit, it can be forcibly exited from bus off state.
For detail, see CAN Control Register (CANnCNT).
The CAN transmit data output pin (CTX) and CAN receive data input pin (CRX) are shared with input/output
ports. Be sure to select the functions of these pins. (See Chapter 8, “Input/Output Ports and Pin Functions.”
(3) Setting CAN Error, CAN Single-Shot and CAN Slot Interrupt Request Mask Registers
To use CAN bus error, CAN error passive, CAN error bus off, CAN single-shot or CAN slot interrupts, set
each corresponding bit to "1" to enable the interrupt request.
To use DMA transfers by CAN, set the CAN DMA transfer request select register to choose the cause of
transfer request.
(7) Setting the bit timing and the number of times sampled
Using the CAN Configuration Register and CAN Baud Rate Prescaler, set the bit timing and the number of
times the CAN bus is sampled.
The baud rate is determined by the number of Tq’s that comprise one bit. The equation to calculate the
baud rate is given below.
1
Baud rate (bps) =
Tq period × number of Tq in one bit
Number of Tq’s in one bit = Synchronization Segment + Propagation Segment + Phase Segment 1
+ Phase Segment 2
Note: • The maximum baud rate for communication depends on the system configuration (e.g.,
bus length, clock error, CAN bus transceiver, sampling position and bit configuration).
Consider the system configuration when setting the baud rate and number of Tq.
1 Bit
Synchronization
Segment Propagation Segment Phase Segment1 Phase Segment2
1Tq
(3) (2) (1)
Sampling Point
• This diagram shows the bit timing when one bit consists of 8 Tq's.
• If one-time sampling is selected, the value sampled at Sampling Point (1) is assumed to be the
value of the bit.
• If three-time sampling is selected, the value of the bit is determined by majority from CAN bus
values sampled at Sampling Points (1), (2) and (3).
• If one-time sampling is selected, the value sampled at only the end of Phase Segment1 is assumed to
be the value of the bit.
• If three-time sampling is selected, the value of the bit is determined by majority from three sampled values,
one sampled at the end of Phase Segment1 and the other sampled 1 Tq before and 2 Tq’s before that.
Set the values of ID mask registers (Global Mask Register, Local Mask Register A and Local Mask Register
B) that are used in acceptance filtering of received messages.
• Set the CAN Frame Format Select Register IDE30 and IDE31 bits. (We recommend setting the same value
in these bits.)
• Set IDs in message slots 30 and 31.
• Set the Message Control Registers 30 and 31 for data frame reception (H’40).
Using the CAN Mode Register (CAN0MODE, CAN1MODE) and CAN Control Register (CAN0CNT,
CAN1CNT), select CAN module operation mode (BasicCAN, loopback mode) and the clock source for the
timestamp counter.
In the CAN Single-Shot Mode Control Register, set the slot that is to be operated in single-shot mode.
When settings (1) through (11) above are finished, clear the CAN Control Register (CAN0CNT,
CAN1CNT)’s forcible reset (FRST) and reset (RST) bits to "0." Then, after detecting 11 consecutive reces-
sive bits on the CAN bus, the CAN module becomes ready to communicate.
32192/32195/32196 Group Hardware Manual 13-120
Rev.1.10 REJ09B0123-0110 Apr.06.07
CAN MODULE
13 13.4 Initializing the CAN Module
Initialize the CAN Message Slot Control Register for the slot to be transmitted by writing H’00 to the register.
Read the CAN Message Slot Control Register that has been initialized and check the TRSTAT (Transmit/
Receive Status) bit to see that transmission/reception has stopped and remains idle. If this bit = "1," it
means that the CAN module is accessing the message slot. Therefore, wait until the bit is cleared to "0."
Set the corresponding bit in CAN Frame Format Select Register to "0" if the data is to be transmitted as a
standard frame, or "1" if the data is to be transmitted as an extended frame.
Write H’80 (Note 1) to the CAN Message Slot Control Register to set the TR (Transmit Request) bit to "1."
NO
TRSTAT bit = 0 Confirm that transmission
and reception are idle
YES
End of setting
The following describes data frame transmit operation. The operations described below are automatically per-
formed in hardware.
The CAN module checks slots which have transmit requests (including remote frame transmit slots) every
intermission to determine the frame to transmit. If two or more transmit slots exist, frames are transmitted in
order of slot numbers beginning with the smallest.
After determining the transmit slot, the CAN module sets the corresponding CAN Message Slot Control
Register’s TRSTAT (Transmit/Receive Status) bit to "1" and starts transmitting.
If the CAN module lost in CAN bus arbitration or a CAN bus error occurs in the middle of transmission, the
CAN module clears the CAN Message Slot Control Register’s TRSTAT (Transmit/Receive Status) bit to "0."
If the CAN module requested a transmit abort, the transmit abort is accepted and the message slot is
enabled for write.
When data frame transmission has finished, the CAN Message Slot Control Register’s TRFIN (Transmit/
Receive Finished) bit and the CAN Slot Interrupt Request Status Register are set to "1." Also, a timestamp
count value at which transmission has finished is written to the CAN Message Slot Timestamp
(C0MSLnTSP, C1MSLnTSP), and the transmit operation is thereby completed.
If the CAN slot interrupt request has been enabled, an interrupt request is generated at completion of
transmit operation. The slot which has had transmission completed goes to an inactive state and remains
inactive (neither transmit nor receive) until it is newly set in software.
b0 (b8) 1 2 3 4 5 6 b7 (b15)
TR RR RM RL RA ML TRSTAT TRFIN
0 0 0 0 0 0 0 0
B'0000 0000
(Note 1)
or
n
it o Write H'80
tra Transmission aborted
r bi urs
a cc
s d
bu or o pte
N r r c ce
a d
CA s e st B'1000 0000 Wait for transmission
t in bu q ue borte
e
s N
Lo CA it r n a
n sm issio
a a
Tr nsm Transmit request Lost in CAN bus arbitration
Tra accepted or a CAN bus error occurs
Transmission
B'0000 0010 aborted B'1000 0010
d
rte d
a bo lete
p
Transmission completed ion om
m iss on c Transmission completed
ns issi
Tra nsm
Tra
B'0000 0001
B'1000 0001
(Note 1)
Note 1: When in this state, data can be written to the message slot.
Figure 13.5.2 Operation of CAN Message Slot Control Register during Data Frame Transmission
The transmit abort function is used to cancel a transmit request that has once been set. This is accomplished
by writing H’0F to the CAN Message Slot Control Register for the slot to be canceled. When transmit abort is
accepted, the CAN module clears the CAN Message Slot Control Register’s TRSTAT (Transmit/Receive Sta-
tus) bit to "0," allowing for data to be written to the message slot. The following shows the conditions under
which transmit abort is accepted.
[Conditions]
• When the target message is waiting for transmission
• When a CAN bus error occurs during transmission
• When lost in CAN bus arbitration
Initialize the CAN Message Slot Control Register for the slot to be received by writing H’00 to the register.
Read the CAN Message Slot Control Register that has been initialized and check the TRSTAT (Transmit/
Receive Status) bit to see that reception has stopped and remains idle. If this bit = "1," it means that the CAN
module is accessing the message slot. Therefore, wait until the bit is cleared to "0."
Set the corresponding bit in CAN Frame Format Select Register to "0" if a standard frame is to be received,
or "1" if an extended frame is to be received.
Write H’40 to the CAN Message Slot Control Register to set the RR (Receive Request) bit to "1."
NO
TRSTAT bit = 0 Confirm that transmission
and reception are idle
YES
End of setting
The following describes data frame receive operation. The operations described below are automatically per-
formed in hardware.
When the CAN module finished receiving data, it starts searching for the slot that satisfies the conditions for
receiving the received message, sequentially from slot 0 (up to slot 31). The following shows receive condi-
tions for the slots that have been set for data frame reception.
[Conditions]
• The received frame is a data frame.
• The receive ID and the slot ID are identical, assuming the ID Mask Register bits set to "0" are “Don’t care.”
• The standard and extended frame types are the same.
Note: • In BasicCAN mode, slots 30 and 31 while being set for data frame reception can also
receive remote frames.
When the receive conditions in (1) above are met, the CAN module sets the CAN Message Slot Control
Register’s TRSTAT (Transmit/Receive Status) bit and TRFIN (Transmit/Receive Finished) bit to "1" while at
the same time writing the received data to the message slot. If the TRFIN (Transmit/Receive Finished) bit is
already set to "1" at this time, the CAN module also sets the ML (Message Lost) bit to "1," indicating that the
message slot has been overwritten. The message slot has both of its ID and DLC fields entirely overwritten
and has an undefined value written in its unused area (e.g., extended ID field during standard frame recep-
tion and an unused data field).
Furthermore, a timestamp count value at which the message was received is written to the CAN Message
Slot Timestamp (C0MSLnTSP, C1MSLnTSP) along with the received data. When the CAN module finished
writing to the message slot, it sets the CAN Slot Interrupt Request Status bit to "1." If the interrupt request for
the slot has been enabled, the CAN module generates an interrupt request and enters a wait state for the
next reception.
The received frame is discarded, and the CAN module goes to the next transmit/receive operation without
writing to the message slot.
the es
t
Finished storing o r ing r e qu
st a e Finished storing the received data
the received data ed dat eiv
i n ish ved e rec
F cei r th
re lea Clear the receive
C CPU read & TRFIN bit clear
request
B'0000 0001 B'0100 0001
ta
da est
i v ed requ
e
rec eive Start storing the received data
t he rec (Message lost occurs)
ore he
St ear t
Cl Clear the receive
request
B'0000 0111 B'0100
B'0100 0111
0111
he t
gt qu
es
Finished storing t o rin r e Start store the received data
s a e Finished storing
the received data ed dat eiv
ish ed rec the received (Message lost occurs)
Fin ceiv the data Wait for the
re lear
C received data
B'0000 0101 B'0100 0101
Clear the receive CPU read & TRFIN bit clear
request
Figure 13.6.2 Operation of CAN Message Slot Control Register during Data Frame Reception
The following shows the procedure for reading out received data frames from the slot.
Write H’4E, H’40 or H’00 to the CAN Message Slot Control Register (C0MSLnCNT, C1MSLnCNT) to clear
the TRFIN bit to "0." After this write, the slot operates as follows:
Read the CAN Message Slot Control Register to check the TRFIN (Transmit/Receive Finished) bit.
NO
TRFIN bit = 0
YES
Initialize the CAN Message Slot Control Register for the slot to be transmitted by writing H’00 to the register.
Read the CAN Message Slot Control Register that has been initialized and check the TRSTAT (Transmit/
Receive Status) bit to see that transmission/reception has stopped and remains idle. If this bit = "1," it
means that the CAN module is accessing the message slot. Therefore, wait until the bit is cleared to "0."
Set the corresponding bit in CAN Frame Format Select Register to "0" if the data is to be transmitted as a
standard frame, or "1" if the data is to be transmitted as an extended frame.
Write H’A0 to the CAN Message Slot Control Register to set the TR (Transmit Request) bit and RM (Re-
mote) bit to "1."
Remote frame
transmit procedure
NO
TRSTAT bit = 0 Confirm that transmission
and reception are idle
YES
End of setting
The following describes remote frame transmit operation. The operations described below are automatically
performed in hardware.
The RA (Remote Active) bit is set to "1" at the same time H’A0 (Transmit Request, Remote) is written to the
CAN Message Slot Control Register, indicating that the corresponding slot is to handle remote frames.
The CAN module checks slots which have transmit requests (including data frame transmit slots) every
intermission to determine the frame to transmit. If two or more transmit slots exist, frames are transmitted in
order of slot numbers beginning with the smallest.
After determining the transmit slot, the CAN module sets the corresponding CAN Message Slot Control
Register’s TRSTAT (Transmit/Receive Status) bit to "1" and starts transmitting.
If the CAN module lost in CAN bus arbitration or a CAN bus error occurs in the middle of transmission, the
CAN module clears the CAN Message Slot Control Register’s TRSTAT (Transmit/Receive Status) bit to "0."
If the CAN module requested a transmit abort, the transmit abort is accepted and the message slot is
enabled for write.
When remote frame transmission finishes, the timestamp count value at which transmission finished is
written to the CAN Message Slot Timestamp (C0MSLnTSP, C1MSLnTSP) and the CAN Message Slot
Control Register’s RA (Remote Active) bit is cleared to "0." In addition, the CAN Slot Interrupt Request
Status bit is set to "1" by completion of transmission, but the CAN Message Slot Control Register’s TRFIN
(Transmit/Receive Finished) bit is not set to "1." If the CAN slot interrupt request has been enabled, an
interrupt request is generated when transmission has finished.
When remote frame transmission finishes, the slot automatically starts functioning as a data frame receive slot.
When the CAN module finished receiving data, it starts searching for the slot that satisfies the conditions for
receiving the received message, sequentially from slot 0 (up to slot 31). The following shows receive condi-
tions for the slots that have been set for data frame reception.
[Conditions]
• The received frame is a data frame.
• The receive ID and the slot ID are identical, assuming the ID Mask Register bits set to "0" are “Don’t care.”
• The standard and extended frame types are the same.
When the receive conditions in (7) above are met, the CAN module sets the CAN Message Slot Control
Register’s TRSTAT (Transmit/Receive Status) bit and TRFIN (Transmit/Receive Finished) bit to "1" while at
the same time writing the received data to the message slot. If the TRFIN (Transmit/Receive Finished) bit is
already set to "1" at this time, the CAN module also sets the ML (Message Lost) bit to "1," indicating that the
message slot has been overwritten. The message slot has both of its ID and DLC fields entirely overwritten
and has an undefined value written in its unused area (e.g., extended ID field during standard frame recep-
tion and an unused data field).
Furthermore, a timestamp count value at which the message was received is written to the CAN Message
Slot Timestamp (C0MSLnTSP, C1MSLnTSP) along with the received data. When the CAN module finished
writing to the message slot, it sets the CAN Slot Interrupt Request Status bit to "1." If the interrupt request for
the slot has been enabled, the CAN module generates an interrupt request and enters a wait state for the
next reception.
Note: • If the CAN module receives a corresponding data frame before sending a remote frame, it stores
the received data frame in the slot and does not transmit the remote frame.
The received frame is discarded, and the CAN module goes to the next transmit/receive operation without
writing to the message slot.
Figure 13.7.2 Operation of the CAN Message Slot Control Register during Remote Frame Transmission
13.7.3 Reading Out Received Data Frames when Set for Remote Frame Transmission
The following shows the procedure for reading out the data frames that have been received in the slot when it
is set for remote frame transmission.
Write H’AE or H’00 to the CAN Message Slot Control Register (C0MSLnCNT, C1MSLnCNT) to clear the
TRFIN bit to "0." After this write, the slot operates as follows:
Read the CAN Message Slot Control Register to check the TRFIN (Transmit/Receive Finished) bit.
NO
TRFIN bit = 0
YES
Figure 13.7.3 Procedure for Reading Out Received Data when Set for Remote Frame Transmission
Initialize the CAN Message Slot Control Register for the slot to be received by writing H’00 to the register.
Read the CAN Message Slot Control Register that has been initialized and check the TRSTAT (Transmit/
Receive Status) bit to see that reception has stopped and remains idle. If this bit = "1," it means that the CAN
module is accessing the message slot. Therefore, wait until the bit is cleared to "0."
Set the corresponding bit in CAN Frame Format Select to "0" if a standard frame is to be received, or "1" if
an extended frame is to be received.
1) When automatic response (data frame transmission) for remote frame reception is desired
Write H’60 to the CAN Message Slot Control Register to set the RR (Receive Request) bit and RM
(Remote) bit to "1."
2) When automatic response (data frame transmission) for remote frame reception is to be disabled
Write H’70 to the CAN Message Slot Control Register to set the RR (Receive Request) bit, RM
(Remote) bit and RL (Automatic Response Inhibit) bit to "1."
Note: • During BasicCAN mode, slots 30 and 31, although capable of receiving remote frames,
cannot automatically respond to remote frame reception.
Remote frame
receive procedure
NO
TRSTAT bit = 0 Confirm that transmmision
and reception are idle
YES
Write H'60
Set CAN Message Slot (receive request, remote and automatic response enable)
Control Register Write H'70
(receive request, remote and automatic response disable)
End of setting
The following describes remote frame receive operation. The operations described below are automatically
performed in hardware.
The RA (Remote Active) bit indicating that the corresponding slot is to handle remote frames is set to "1" at
the same time H’60 (Receive Request, Remote, Automatic Response Enable) or H’70 (Receive Request,
Remote, Automatic Response Disable) is written to the CAN Message Slot Control Register.
When the CAN module finished receiving data, it starts searching for the slot that satisfies the conditions for
receiving the received message, sequentially from slot 0 (up to slot 31). The following shows receive condi-
tions for the slots that have been set for remote frame reception.
[Conditions]
• The received frame is a remote frame.
• The receive ID and the slot ID are identical, assuming the ID Mask Register bits set to "0" are “Don’t care.”
• The standard and extended frame types are the same.
When the receive conditions in (2) above are met, the CAN module sets the CAN Message Slot Control
Register’s TRSTAT (Transmit/Receive Status) bit and TRFIN (Transmit/Receive Finished) bit to "1" while at
the same time writing the received data to the message slot. In addition, a timestamp count value at which
the message was received is written to the CAN Message Slot Timestamp (C0MSLnTSP, C1MSLnTSP)
along with the received data. When the CAN module finished writing to the message slot, it sets the CAN
Slot Interrupt Request Status bit to "1." If the interrupt request for the slot has been enabled, the CAN
module generates an interrupt request.
Notes: • The ID field and DLC value are written to the message slot.
• An undefined value is written to the extended ID area when receiving standard format frames.
• The data field is not written to.
• The RA and TRFIN bits are cleared to "0" after writing the received remote frame data.
The received data is discarded, and the CAN module waits for the next receive frame. No data is written to
the message slot.
The operation performed after receiving a remote frame differs depending on how automatic response is set.
Sto
ata
B'0110 1000
B'0110 1000 B'0111 1000 r
Clee the
ed d ar re
ceiv e t c
reqhe re eived
t h e re receiv ue cei da
re e Store the st ve ta
Sto lear thquest Store the
C re received data received data
Store the received data Store the received data
Clear the receive Clear the receive
request request
B'0000 1011 B'0110 1011 B'0111 1011 Fin B'0000 1011
is
Cle reched s
Finished storing e
ar ive tor
Finished storing Finished storing
the received data Finished storing the received data reqthe re d daing th the received data
ue ce ta e
the received data st ive
Clear the
receive request
Finished storing the received data Send a data frame Lost in CAN bus
Clear the receive request arbitration
Send a data frame CAN bus error occurred
Clear the receive
request
B'0000 0010 B'0110 0010
Finished sending
a data frame Finished sending a data frame
Figure 13.8.2 Operation of CAN Message Slot Control Register during Remote Frame Reception
When aborting remote frame transmission or canceling remote frame receiving, make sure that the RA (Re-
mote Active) bit is cleared to "0" after writing "H'00" or "H'0F" to the CAN Message Slot Control Register.
No
RA (Remote Active)
bit = "0"
Yes
Complete transmission
abort
No
RA (Remote Active)
bit = "0"
Yes
Complete receiving
abort
S : Selecter
b8 9 10 11 12 13 14 b15
DD03SEL
0 0 0 0 0 0 0 0
About 16 high-order bits of DDn(n= 0 to 31)which is data input to DRI, pins can be selected from two groups
(pin groups A or B). Which pin groups (pin groups A or B) is used is selected in the DDSL (DD input 16 high-
order bit pin select) bit of DRI Data Capture Control Register (DRIDCAPCNT).In this DDSEL register, it
selects which pin is used for DD0 to DD3 when pin group A is selected.
In the DDSL bit of DRIDCAPCNT register when pin group B is selected, setting of this DDSEL register is
ignored.
In order to use pin function as DD input pin, port operation mode register also needs to be set up separately.
Pin group table is shown in Table 14.2.2.
The DRI interrupt related registers are used to control the interrupt request signals output to the Interrupt
Controller from the DRI.
This status bit is used to determine whether an interrupt is requested. When an interrupt request occurs, this
bit is set in hardware (cannot be set in software). The status bit is cleared by writing "0." Writing "1" has no
effect; the bit retains the status it had before the write. Because this bit is unaffected by the interrupt request
enable bit, it can also be used to inspect the operating status of peripheral functions. In interrupt handling,
make sure that within the grouped interrupt request status, only the status bit for the interrupt request that
has been serviced is cleared. If the status bit for any interrupt request that has not been serviced is cleared,
the pending interrupt request is cleared simultaneously with its status bit.
This bit is used to disable unnecessary interrupt requests within the grouped interrupt request. Set this bit to
"1" to enable interrupt requests or "0" to disable interrupt requests.
• Group interrupt
Set
b4 5 6 b7
Initial state 0 0 0 0
Interrupt request
Event occurs on bit 6 0 0 1 0
b4 5 6 b7
1 1 0 1 1 0 0 0
Program example
• To clear the Interrupt Request Status Register 0 (ISTREG) interrupt request status 1, ISTAT1 (0x02 bit)
To clear an interrupt request status, always be sure to write 1 to all other interrupt request status bits. At this time,
avoid using a logic operation like the one shown below. Because it requires three step-ISTREG read, logic operation
and write, if another interrupt request occurs between the read and write, status may be inadvertently cleared.
b4 5 6 b7
0 0 1 0
0 0 0 0
0 0 0 0 Write
b0 1 2 3 4 5 6 b7
DIN0IS DIN1IS DIN2IS DIN3IS DIN4IS DIN5IS
0 0 0 0 0 0 0 0
If a DINn event is detected according to settings of the DIN Input Processing Control Register, the status bit
corresponding to that DINn is set to "1" in hardware.
Note: • If the status is cleared in software at the same time it is set for an interrupt request generated, the
latter has priority, so that the status is set.
b8 9 10 11 12 13 14 b15
DIN0IEN DIN1IEN DIN2IEN DIN3IEN DIN4IEN DIN5IEN
0 0 0 0 0 0 0 0
This register disables or enables the interrupt requests that will be generated for DINn event detection.
Setting any bit in this register to "1" enables the corresponding DINn event detection interrupt request.
b0 1 2 3 4 5 6 b7
DEC0IS DEC1IS DEC2IS DEC3IS DEC4IS
0 0 0 0 0 0 0 0
If one of five event counters (DEC0–DEC4) included in the DRI underflows upon reaching the terminal count,
the corresponding status bit in this register is set to "1" in hardware.
Note: • If the status is cleared in software at the same time it is set for an interrupt request generated, the
latter has priority, so that the status is set.
b8 9 10 11 12 13 14 b15
DEC0IEN DEC1IEN DEC2IEN DEC3IEN DEC4IEN
0 0 0 0 0 0 0 0
This register enables or disables the interrupt requests that will be generated when one of the internal event
counters underflows.
Setting any bit in this register to "1" enables the interrupt request by the corresponding event counter under-
flow.
DRI Transfer Interrupt Request Status Register (DRITRMIST) <Address: H'0080 2004>
b0 1 2 3 4 5 6 b7
ADR0IS ADR1IS OVREIS DCPEIS DTRFIS
0 0 0 0 0 0 0 0
(1) ADR0IS (DRI Address Counter 0 Interrupt Request Status) bit (Bit 0)
If while DRI address counter 0 (DRIADR0CT) is enabled as the destination of transfer for the captured data
the DRI transfer counter (DRITRMCT) underflows (H'0000 0000: count stop) upon reaching the terminal
count, this bit is set to "1" in hardware.
(2) ADR1IS (DRI Address Counter 1 Interrupt Request Status) bit (Bit 1)
If while DRI address counter 1 (DRIADR1CT) is enabled as the destination of transfer for the captured data
the DRI transfer counter (DRITRMCT) underflows (H'0000 0000: count stop) upon reaching the terminal
count, this bit is set to "1" in hardware.
The DRI contains four 32-bit intermediate buffers to avoid losses of captured data arising from bus conten-
tion for RAM access with other bus masters. If a data capture event is detected while all of the buffers are
full, this bit is set to "1" in hardware. In this case, the detected data capture event is ignored.
(4) DCPEIS (Capture Enable Error Interrupt Request Status) bit (Bit 3)
If the DCPEN (capture enable) bit in the DRI Data Capture Control Register (DRIDCAPCNT) changes state
from "0" to "1" or the external event is detected before the DRI capture event counter (DRIDCAPCT) or the
DRI transfer counter (DRITRMCT) underflows (H'0000 0000: count stop), this bit is set to "1."
[Set condition]
1. If any capture enable external event is selected by DEXSL (capture enable external source select)
bit in the DRI Data Capture Control Register (DRIDCAPCNT); and
1) when the selected external event is detected while DCPEN (captur enable) bit is enabled for data capture
2) when the selected external event is detected before the DRI transfer counter (DRITRMCT)
underflows (H'0000 0000:count stop)
2. If DCPEN (capture enable) bit is set to "1" from "0" in software before the DRI transfer counter
underflows (H'0000 0000: count stop)
(5) DTRFIS (DRI Transfer Counter Interrupt Request Status) bit (Bit 4)
This bit is set when the DRI transfer counter (DRITRMCT) underflows (H'0000 0000: count stop) upon
reaching the terminal count.
Note: • If the status is cleared in software at the same time it is set for an interrupt request generated, the
latter has priority, so that the status is set.
DRI Transfer Interrupt Request Enable Register (DRITRMIEN) <Address: H'0080 2005>
b8 9 10 11 12 13 14 b15
ADR0IEN ADR1IEN OVREIEN DCPEIEN DTRFIEN
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
DRST DBST ADST ADMD ADSL ADEV
0 0 0 0 0 0 0 0
This bit indicates which DRI address counter, 0 or 1, is currently selected to specify the destination address
of DRI transfer.
This bit selects operation modes of DRI address counters 0 (DRIADR0CT) and DRI address counter 1
(DRIADR1CT). Both DRI address counters operate in the same mode.
Note: • If the bus width for the input data from external devices is chosen to be 8 bits, a DRI transfer is
executed every four data capture events detected. Similarly, a DRI transfer is executed every two
data capture events detected if the selected bus width is 16 bits or every data capture event detected
if the selected bus width is 32 bits.
The DRI contains two address counters to specify the internal RAM address to which data is transferred.
These bits are used to select one of the two address counters.
This bit is effective only when the ADSL (address counter select) bits are set to "10" (DRI address counters
0/1 toggled). This bit selects an event that causes the DRI address counter 0 (DRIADR0CT) and 1
(DRIADR1CT) that specify the destination address on the internal RAM of transfer to switch over.
Note: • If a DEC4 underflow is selected as the address counter switchover event, it is prohibited to
select DIN4 event detection/capture event as the DEC4 count event.
Selecting the special mode allows the DRI to be interfaced with esternal devices at still higher speed.
The width of input data bus during special mode is 8 or 16 bits. And data capturing timing (shown in Figure
14.2.6) can be selected when default timing. DI3 can only be selected for data synchronous signal.
Also, the event detection unit and data capture unit of the DRI are clocked by a signal whose transfer rate has
been halved as shown in Figure 14.2.5.
b8 9 10 11 12 13 14 b15
SPSSL SPISL SPMEN
0 0 0 0 0 0 0 0
Select the falling edge as the sampling edge for the transfer method shown in Figure 14.2.4, or the rising
edge for the transfer method shown in Figure 14.2.3. This bit can only be changed while the DRST (DRI
reset) bit in DRI transfer control register (DRITRMCNT) is "0." Note that the data synchronous clock signal
during special mode is fixed to DIN3, and cannot be changed. In special mode, furthermore, the signal
controlled by DIN3ED (DIN3 event detection control) bit in the DIN Input Processing Control Register
(DINCNT) is the “output signal to the event detection unit” shown in Figure 14.2.5, and not the input signal
from the DIN3 pin.
(2) SPISL (Special Mode Control Unit Initialization DIN1 Level Select) bit (Bit 10)
The special mode control circuit block can be initialized using the input signal supplied from DIN1. This bit
selects the active level of the DIN1 signal by which said circuit is initialized. When DIN1 is driven to the
initialization level, the output signals to the event detection unit and data capture unit all go "L," causing data
sampling to stop. Conversely, when DIN1 is not at the initialization level, data sampling is performed at
given internals and the signal shown in Figure 14.2.5 is passed to the event detection unit/data capture unit.
Note that initialization function of the special mode control circuit block by DIN1 is not affected by setting of
the DIN1ED bit in the DIN Input Processing Register (DINCNT). Note also that this bit can only be changed
when the DRST (DRI reset) bit in the DRI Transfer Control Register (DRITRMCNT) = "0."
Note: • If DIN1 changes to the initialization level while the DCPEN (capture enable) bit in the DRI
Data Capture Control Register (DRIDCAPCNT) = "1," the following problems may occur:
This bit selects whether to operate in special mode. If operation is special mode is selected, the following
limitations apply.
Note: • This register can only be set while the DRST (DRI reset) bit in the DRI Transfer Control Regis-
ter (DRITRMCNT) = "0," i.e., while the DRI is reset.
Data
synchronous signal
Data
Data
synchronous signal
Data
DIN1 (Note 1)
Note 1: When "L" level is selected in SPISL bit of DRI special mode register (DRISPMOD)
Note 2: Select falling detection to DIN3ED (DIN3 event detection control) bit of DIN input
processing control register (DINCNT).
Figure 14.2.5 Timing Chart when Special Mode is On (DIN3 Sampling Edge: Rise)
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DCPEN DEXSL DDSSL DWDSL DCPSL DDSL DWRPR DTMSL
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register is used to make settings necessary to capture the input data that is fed in synchronously with an
external clock signal. Before setting up this register, make sure the DRST (DRI reset) bit in the DRI Transfer Control
Register (DRITRMCNT) is set to "1." Also, if the DRST bit is cleared to "0," be sure to clear this register to "0."
When DCPEN = "1," the DRI is enabled for “capturing” data (i.e., taking in data into the internal RAM).
[Set condition]
• When explicitly set by writing "1" in software
• When the event selected by the DEXSL (capture enable external source select) bit is detected
[Clear condition]
• When explicitly cleared by writing "0" in software
• When the DRI capture event counter (DRIDCAPCT) underflows (H'0000 0000: stop counting) upon
reaching the terminal count
Notes: • If an external source is selected by the DEXSL (capture enable external source select)
bit, the bitcannot be set by writing "1" in software.
• Before setting the bit by writing "1" in software, always be sure to check the DRI transfer
counter to see that the counter is in an underflow state.
(2) DEXSL (Capture Enable External Source Select) bits (Bits 1–3)
These bits select an external source that causes DCPEN (capture enable) bit to be enabled for data cap-
ture. When the event selected here is detected, the capture enable bit is set to "1." If no external sources are
selected, in no case will the capture enable bit be set by any external source. The external source or event
selected by these bits can be cleared to "0" by using the DDSSL (capture external control disable source
select) bit.
(3) DDSSL (Capture External Control Disable Source Select) bits (Bits 4, 5)
These bits select the external source or event to clear the capture enable external source select bits to "0."
These bits select the bus width of the input data supplied from external devices. If the bus width is chosen
to be 8 bits, a DRI transfer is executed every four data capture events detected. Similarly, a DRI transfer is
executed every two data capture events detected if the selected bus width is 16 bits or every data capture
event detected if the selected bus width is 32 bits. Table 14.2.1 shows the relationship between each
selected bus width and the data bits that are taken in.
Note: • When special mode is selected, the input data bus width select bits are subject to setting
limitations. For details, refer to Section 14.2.4, “DRI Special Mode Control Register
(DRISPMOD).”
These bits select an event at which data is taken in. In cases where the DRTS (DRI reset) bit in DRI transfer
control register (DRITRMCNT) is enabled for operation, the capture enable bit is enabled for data capture
and the interleaving control is in use, data is taken in when the selected event is detected while capture
event detection conditions are met. If a data capture event is detected at the same time the DCPEN (capture
enable) bit is set, data is taken in.
Note: • When special mode is selected, be sure to select DIN3 event detection.
(6) DDSL (DD Input 16 High-Order Bit Pin Select) bit (Bit 10)
Of the data inputs to the DRI, DDn (n = 0–31), pins for the 16 high-order bits (DD0-DD15) can be selected
from two pin groups. This bit selects the pin group(the pin group A, B) to be used. However, for the other
inputs DD16–DD31 are fixed. Table 14.2.2 lists pins in each pin group. If pin group A is selected, the DD
Input Pin Select Register (DDSEL) should be set to specify which pins in DD0-DD3 to be used.
Note: • Port operation mode must be set separately from this register.
32192/32195/32196 Group Hardware Manual 14-19
Rev.1.10 REJ09B0123-0110 Apr.06.07
DIRECT RAM INTERFACE (DRI)
14 14.2 DRI Related Registers
This bit controls writing to DCPEN (capture enable) bit and DEXSL (capture enable external source select)
bit by enalbing or disabling the access for write. If this bit is "0" when the register is accessed for write, the
bits are write-enabled. If this bit is "1," the bits are write-protected.
These bits select the timing with which data is taken in after a data capture event is detected. The DRI
detects an event on each falling edge of BCLK. When the default timing is selected, data is taken in
synchronously with the falling edge of the same BCLK cycle in which an event is detected. With this as the
starting point, data capture can be chosen to occur 1 BCLK to 15 BCLKs later. Figure 14.2.6 shows a data
capture timing chart.
Note: • When special mode is selected, be sure to select the default timing.
BCLK
Capture
timing Default 1 BCLK 2 BCLK 14 BCLK 15 BCLK
later later later later
b0 1 2 3 4 5 6 b7
DSD0 DSD1 DSD2 DSD3 DSD4
0 0 0 0 0 0 0 0
The five event counters included in the DRI may be used to have the input data interleaved or “thinned out” in
hardware before being taken in. Use this register to make interleave control related settings.
If the DECn data interleave control bit (n = 0–4) is set to "0," the input data is not interleaved using the corre-
sponding DECn counter. If the DECn data interleave control bit is set to "1," the input data is interleaved or
“thinned out” because data is not taken in unless the corresponding DECn counter is in an underflow state
(count value = H'FFFF). If multiple event counters are selected for interleaving control data by this register,
data is taken in for only a capture event that is input while all of the DECn counters with their interleave control
bits set to "1" are in an underflow state.
Note: • The next event occurring after a counter underflow and those that follow are effective as the
capture event.
b8 9 10 11 12 13 14 b15
DIN5SL
0 0 0 0 0 0 0 0
The value of flip-flop, which is selected by the DIN5SL bit, is fed as an input signal to the DIN5 input processing
circuit.
b0 1 2 3 4 5 6 b7
DD0EN DD1EN DD2EN DD3EN DD4EN DD5EN DD6EN DD7EN
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
DD8EN DD9EN DD10EN DD11EN DD12EN DD13EN DD14EN DD15EN
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
DD16EN DD17EN DD18EN DD19EN DD20EN DD21EN DD22EN DD23EN
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
DD24EN DD25EN DD26EN DD27EN DD28EN DD29EN DD30EN DD31EN
0 0 0 0 0 0 0 0
The DD Input Enable Register "n" (n = 0–3) controls data input to the DRI by disabling or enabling the data
input. If the DDn input enable bit is set to "0," input to the DRI is always fixed to "0" irrespective of the corre-
sponding pin input level. If the DDn input enable bit is set to "1," data input to the DRI is taken in according to the
corresponding pin input level.
Figure 14.2.7 schematically shows a DD input block diagram.
DDSL bit
DDj_A0
s
DDj_A1
s
DD0-3 (To the data capture unit)
DDj_B
DDSL bit
DDm
DDk_A
s
DD4-15 (To the data capture unit)
DDk_B
DDn
DD16-31 (To the data capture unit)
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DCAPNUM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
DCAPNUM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register is used to set the number of events, at occurrence of which data is taken in.
The value set in this register is used as the reload value for the DRI capture event counter (DRIDCAPCT) and
the DRI transfer counter (DRITRMCT). Since the DRI performs data transfers in 32-bit units, make sure the
value set in this register satisfies the requirement given below depending on how DWDSL (input data bus width
select) bits in the DRI Data Capture Control Register are set:
Also be careful that the total amount of captured data will not exceed the RAM area supported by the DRI.
Note: • This register can only be rewritten when DCPEN (capture enable) bit in the DRI Data Capture
Control Register = "0."
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DCAPCT
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
DCAPCT
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Note: • This register must always be accessed in word (32 bit) units from the halfword boundaries (The lower address B'00).
The DRI Capture Event Counter is an 18-bit counter to count data capture events. When DCPEN (capture
enable) bit in the DRI Data Capture Control Register (DRIDCAPCNT) changes state from data capture dis-
abled to enabled, this counter is reloaded with the value of the DRI Data Capture Event Count Setting Register
(DRIDCAPNUM). Thereafter, the counter is decremented by one each time data is taken in.
Then, when the DRI capture event counter is decremented to H’0000 0000, it stops counting.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DRICT
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
DRICT
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The DRI Transfer Counter is an 18-bit counter to count DRI transfers. When DCPEN (capture enable) bit in the
DRI Data Capture Control Register (DRIDCAPCNT) changes state from data capture disabled to enabled, this
counter is reloaded with one of the values shown below, depending on how the DRI Data Capture Event Count
Setting Register (DRIDCAPNUM) and DWDSL (input data bus width select) bits are set.
• When selected to be 8 bits, the value set in the DRI Data Capture Event Count Setting Register
(DRIDCAPNUM) divided by 4
• When selected to be 16 bits, the value set in the DRI Data Capture Event Count Setting Register
(DRIDCAPNUM) divided by 2
• When selected to be 32 bits, the value set in the DRI Data Capture Event Count Setting Register
(DRIDCAPNUM)
If the bus width for the input data from external devices is chosen to be 8 bits, a DRI transfer is executed every
four data capture events detected. Similarly, a DRI transfer is executed every two data capture events de-
tected if the selected bus width is 16 bits or every data capture event detected if the selected bus width is 32
bits. The counter is decremented by one each time a DRI transfer finishes. Then, when the counter underflows
(H'0000 0000), it stops counting. And Underflow of DRI transfer counter indicates H'0000 0000 (counter stop).
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DRIADn
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
DRIADn
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DRI Address Counters 0 and 1 are used to specify the destination address A14–A29 in the internal RAM to
which data is DRI transferred. The address A30–A31 are fixed to "0." The counter is incremented by 4 each
time a DRI transfer finishes. DRI Address Counters have two operation modes to choose from. For details,
refer to “14.2.3 DRI Transfer Control Register.”
Notes • If the DRI address counter value is outside the mapped area of the internal RAM, the captured
data is not written to any location although the DRI behaves as if a DRI transfer had terminated
normally.
• The address counter that is incremented by 4 when a DRI transfer has finished is DRI Address
Counter 0 or 1 whichever is active as set by ADSL (address counter select) bit in the DRI
TransferControl Register (DRITRMCNT).
• These registers can only be rewritten when the DRI transfer counter (DRITRMCT) is in an
underflow state (H'0000 0000 counter: counter stop).
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DRIADnRLD
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
DRIADnRLD
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
These registers are used to store the values to be reloaded into DRI Address Counters 0 and 1. If reload mode
is selected by ADMD (address counter operation mode select) bit in the DRI Transfer Control Register
(DRITRMCNT), the value set in either reload register is reloaded into the corresponding DRI Address Counter
when DCPEN (capture enable) bit in the DRI Data Capture Control Register (DRIDCAPCNT) changes from "0"
to "1."
Note: • These registers can only be rewritten when DCPEN (capture enable) bit in the DRI Data
Capture Control Register (DRIDCAPCNT) is "0."
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DIN0ED DIN1ED DIN2ED DIN3ED DIN4ED DIN5ED
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
These bits specify the event detection of the input signal as it is fed in from devices external to the DRI. The
event detection can be selected from three choices: rising edge, falling edge or both edges. The value "00"
(input has no effect) is selected, no events are detected. Table 14.2.3 shows the relationship between each
DINn event detection circuit and the input signals fed in from devices external to the DRI.
Note: • For the DIN3 event detection circuit, the input event signal varies depending on whether DRI
special mode is on or off.
b0 1 2 3 4 5 6 b7
DEC0EN DEC0EXT DEC0CS DEC0MOD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
DEC1EN DEC1EXT DEC1CS DEC1MOD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
DEC2EN DEC2EXT DEC2CS DEC2MOD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
DEC3EN DEC3EXT DEC3CS DEC3MOD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
DEC4EN DEC4EXT DEC4CS DEC4MOD
0 0 0 0 0 0 0 0
These registers are used to control the internal event counters DECn of the DRI.
This bit controls DECn count operation by enabling or disabling the count operation. This bit can be set to
"1" by an external event. Furthermore, if single-shot operation mode is selected, this bit is cleared to "0" in
hardware by a DECn counter underflow.
Note: • If an external source is selected by DECnEXT (DECn count enable source select) bit, this
bit cannot be set by writing "1" in software.
(2) DECnEXT (DECn Count Enable Source Select) bits (Bits 1–3)
If DECn counter (DECnCT) needs to be enabled for counting by an external event, use these bits to select
the count enable source. When an event is detected by the selected source, DECnEN (DECn count enable)
bit is set to "1."
These bits select the event that causes DECn counter (DECnCT) to count. When the event selected from
factor that DECnEN (DECn count enable) bit = "1" is detected, the count value of DECn counter (DECnCT)
is decremented by one.
• Single-shot Mode
When DECnEN (DECn count enable) bit changes from "disabled" to "enabled," the DECn counter
(DECnCT) is loaded with the content of the DECn reload register (DECnRLD). Thereafter, the counter
counts down each time the event selected by the DECnCS (DECn count event select) bit occurs. When
event occurrences equal to the DECn Reload Register (DECnRLD) set value + 1 have been counted, the
counter underflows (count value = H’FFFF) and stops counting, at which time DECnEN (DECn count en-
able) bit is cleared to "0."
Notes: • The reload value loaded into the counter cannot be read out while count is enabled. If the
counter is accessed for read, the count value before being reloaded is read out.
• If the count is enabled by an external event at the same time the count source occurs, the
count enable bit is set to "1" by the external event, but the counter does not count.
• If the counter stops counting upon underflowing at the same time count is enabled by an
external event, the former has priority so that the counter stops.
• If the count is enabled by external event at the same time the count enable bit is disabled by
writing 0 in software, the latter has priority so the count is disabled.
Count source
Count enable
(Note 1)
Counter (5) 4 3 2 1 0 H'FFFF
Reload
Reload 5
Underflow signal
When DECnEN (DECn count enable) bit is enabled, the counter starts counting down from the DECn
counter (DECnCT) set value each time the event selected by the DECnCS (DECn count event select) bit
occurs. Then, when the DECn counter (DECnCT) underflows (counter value = H'FFFF), the counter is
reloaded with the value of the DECn reload register (DECnRDL). Thereafter, this operation is repeated each
time the DECn counter (DECnCT) underflows.
Notes: • When a reload occurs, the value reloaded into the counter cannot be read out. If the counter
is accessed for read, H'FFFF (underflow value) is read out.
• If the count is enabled by an external event at the same time the count source occurs, the
count enable bit is set to "1" by the external event, but the counter does not count.
• If the count is enabled by external event at the same time DECnEN (count enable) bit is
disabled by writing 0 in software, the latter has priority so the count is disabled.
• When reload and writing to counter are occured at same time, writing to counter has priority.
Interrupt by DECn counter underflow is not occured at that time.
• When count source and writing to counter are occured at same time, writing to counter has
priority. Count source is ignored at that time.
Count source
Count enable
(Note 1) (Note 1)
Counter 3 2 1 0 H'FFFF 1 0 H'FFFF 1
Reload Reload
Reload 2
Underflow signal
Note 1: The reload value loaded into the counter cannot be read out while reload is generated.
If the counter is accessed for read, H'FFFF (underflow value) is read out.
Note: This diagram does not show detailed timing information.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DECnCT
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The DECn Counter, which is a 16-bit down counter, starts counting synchronously with event detection after
count is enabled. When DECn counter is used in one-shot mode, do not write to the DECn counter while count
is enabled.
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
DECnRL
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The DECn Reload Register is used to reload the DECn Counter with data. The counter is reloaded with the
content of the reload register in the following cases:
• In order that the data writing from DRI and RTD to internal RAM use the exclusive bus prepared apart from M32
R-FPU, do not usually generate the competition with access from other bus masters (CPU, DMA, NBD, SDI).
However DRI transfer, RTD transfer and the access (read-out/writing) from other bus master occur at the
same time for areas of the 16-K byte unit of internal RAM, access competition occurs.
When access competition occurs, mediation is operated according to the following priority.
RTDCLK
Address Data Address Data Commands
RTDACK
RTDTXD
Address
Data Data RTDRXD
b8 9 10 11 12 13 14 b15
RTDWR
DIS
0 0 0 0 0 0 0 0
This register selects whether to enable or disable the RTD function for writing to RAM.
Setting the RTDWRDIS bit to "1" disables the RTD function for writing to RAM, so that even when the RTD
receives a command for write to RAM, the command is ignored and no data is written to RAM.
Note: • Settings of this register cannot be altered while the RTD is in use.
Operation of the RTD is specified by a command entered from devices external to the chip. A command is
indicated by bits 16–19 (Note 1) of the RTD received data.
When the RDR (real-time RAM content output) command is issued, the RTD is enabled to transfer the contents
of the internal RAM to external devices without causing the CPU’s internal bus to stop. Because the RTD reads
data from the internal RAM while there are no transfers performed between the CPU and internal RAM, no
extra CPU load is incurred.
Only the 32-bit word-aligned addresses (low-order address B'00) can be specified for read from the internal
RAM. (The two low-order address bits specified by a command are ignored.) Data are read out and transferred
from the internal RAM in 32-bit units.
RTDACK
2 clock periods
Read data
When the WRR (RAM content forcible rewrite) command is issued, the RTD forcibly rewrites the contents
of the internal RAM without causing the CPU’s internal bus to stop. Because the RTD writes data to the
internal RAM while there are no transfers performed between the CPU and internal RAM, no extra CPU
load is incurred.
Only the 32-bit word-aligned addresses (low-order address B'00) can be specified for read from the internal
RAM. (The two low-order address bits specified by a command are ignored.) Data are written to the internal
RAM in 32-bit units.
The external host should transmit the command and address in the first frame and then the write data in
the second frame. The RTD writes to the internal RAM in the third frame after receiving the write data.
a) First frame
(LSB side) (MSB side)
31 20 19 18 17 16 15 14 13 12 1 0
b) Second frame
(LSB side) (MSB side)
31 30 1 0
RTDRXD b31 b30 b1 b0
Write data
Notes: • X = Don't care. (However, if issued immediately after the RCV command, bits 20-31 must all be set to "1.")
• The specified address and write data are transferred LSB-first.
The RTD reads out data from the specified address before writing to the internal RAM and again reads out data
from the same address immediately after writing to the internal RAM (this helps to verify the data written to the
internal RAM). The read data is output at the timing shown below.
RTDTXD
RTDACK
When the VER (continuous monitor) command is issued, the RTD outputs the data from the address that has
been accessed by an instruction (either read or write) immediately before receiving the VER command.
Command (VER)
RTDTXD
RTDACK
D (A1) D (A1)
2 clock periods Read value Latest read value
When the VEI (interrupt request) command is issued, the RTD generates an interrupt request. Furthermore, the
RTD outputs the data from the address that has been accessed by an instruction (either read or write) immediately
before receiving the VEI command.
RTDTXD
RTDACK
RTD interrupt
If the RTD runs out of control, the RCV (recover from runaway) command may be issued to recover from the
runaway condition without the need to reset the system. The RCV command must always be issued twice in
succession. Also, any command issued immediately following the RCV command must have all of its bits 20–
31 set to "1."
Command (RCV)
Bits 20-31
Indeterminate data
RTDTXD during runaway condition D(A1)
Indeterminate value
RTDACK during runaway condition
Note: • The next command following the RCV command must have all of its bits 20-31 set to "1."
15.4.7 Method for Setting a Specified Address when Using the RTD
In the Real-Time Debugger (RTD), the low-order 18-bit addresses of the internal RAM(H'0 0000 to H'3 FFFF)
can be specified. However, it is inhibited to access any location other than the area in which the RAM is located
(for 32192: H'0080 4000 to H'0082 FFFF, for 32195: H'0080 4000 to H'0080 BFFF, for 32196: H'0080 4000 to
H'0081 3FFF). Note also that two least significant address bits, A31 and A30, are always "0" because data are
read and written to and from the internal RAM in a fixed length of 32 bits.
Memory map
(Note 1)
X ... X A15 A14 A29 ~ A16
H'0080 0000
SFR 16KB
H'0080 4000
Note 1: Because the address bits A29-A16 and the address bits A15 and A14 are not contiguously located,
care must be taken when setting the RAM addresses.
Note 2: For 32192: H'0080 4000 to H'0082 FFFF, for 32195: H'0080 4000 to H'0080 BFFF,
for 32196: H'0080 4000 to H'0081 3FFF
The RTD is reset by applying a system reset (i.e., RESET# signal input). The status of the RTD related output
pins upon exiting system reset are shown below.
The first command transfer to the RTD after being reset is initiated by transferring data to the RTDRXD pin
synchronously with the falling edge of RTDCLK.
RTDCLK
System
reset
RESET#
RTDACK "H"
Host
M32R/ECU microprocessor
RTDCLK SCLK
RTDRXD RXD
RTDTXD TXD
(Note 1)
RTDACK PORT
Note 1: This applies to the case where the RTDACK level is checked between transfer frames.
The RTD communication is performed in a fixed length of 32 bits per frame. Because serial interfaces generally
handle data in 8-bit units, data is transferred separately in four operations, 8 bits at a time. The RTDACK signal
is used to verify that communication is performed normally.
The RTDACK signal goes "L" after a command is sent, providing a means of verifying the communication status.
When issuing the VER command, the RTDACK signal is pulled "L" for only one clock period. Therefore, after
sending 32 bits in one frame via a serial interface, turn off RTDCLK output and check that RTDACK is "L." That
way, it is possible to know whether the RTD is communicating normally.
If it is desirable to identify the type of transmitted command by the width of RTDACK, use the microcomputer’s
internal measurement timer (to count RTDCLK pulses while RTDACK is "L"), or design a dedicated circuit.
Transfer of the
next frame
1 2
RTDCLK
RTDTXD
RTDACK
Figure 15.5.2 Example of Communication with the Host (when Using VER Command)
This function is provided for reading and writing to and from all resources connected to the internal/external
buses mapped in the address space. It allows the RAM data, etc. to be referenced and altered. Further-
more, accesses to the address space used exclusively for NBD (i.e., NBD space) are accomplished using
this function.
Upon detecting access to a preset address, this function outputs a "L" level signal from the NBDEVNT# pin.
A specific address and read/write access can be specified as the event occurrence condition.
NBD
NBDD0(P74/RTDTXD/TXD3)
M32R-FPU DMA for NBD
NBDD1(P75/RTDRXD/RXD3)
core
NBDD2(P76/RTDACK/CTX1)
Event detection
NBDD3(P77/RXDCLK/CRX1)
block
Internal
RAM
Internal bus
interface SFR area
Internal 16-bit bus
External bus
b0 1 2 3 4 5 6 b7
NBDSETP NBDSET
0 0 0 0 0 0 0 0
The NBDSET bit selects the functions of the NBD-related pins. To use the NBD function, set this bit to "1," so that
the NBD-related pins will be set for the NBD pin functions shown in Table 16.2.1.
To set the register, follow the procedure described below.
Notes: • If theare are writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 1 and 2, the
continuous setting ( A pair of two consecutive is 1 set for writing operation) is disabled and the writing
value is not reflected. Therefore, disable interrupts and DMA transfers before setting. However the writ-
ing cycle from RTD and DRI are not effected.
• In NBDCNT register, indefined value is outputted until EVTU_A register and EVTU_C register are set
after exiting reset, when set NBD related pin to NBD function.
NBDSETP "1"
NBDSETP "1"
NBDSETP "0"
NBDSET Set value
(2)
NBDSETP "1"
NBDSETP "1"
NBDSETP "0"
NBDSET Set value
Note 1: The writing cycle to the other area is the writing cycle from CPU, DMA, SDI (tool), NBD to any other area.
The writing cycle from RTD and DRI do not effect.
b0 1 2 3 4 5 6 b7
NBDENP NBDEN
0 0 0 0 0 0 0 0
The NBDEN bit selects to enable or disable the NBD functions. When NBDEN = "0," the NBD is in a reset state,
so that the content of each register is reset to the initial value. To use the NBD functions, this bit should be set
to "1" before setting other NBD registers.
When the NBDEN bit = "0," accessing not just the NBDENB register, but any other NBD registers (in either the
CPU or the NBD space) is prohibited.
To set the register, follow the procedure described below.
Notes: • If theare are writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 1 and 2, the continuous setting
(A pair of two consecutive is 1 set for writing operation) is disabled and the writing value is not reflected. Therefore,
disable interrupts and DMA transfers before setting. However the writing cycle from RTD and DRI are not effected.
• The setting procedure of NBDEN bit is same as that of NBDSET bit shown in Figure 16.2.1.
NBDCLK
NBDSYNC#
Command packet
NBDCLK
NBDSYNC#
Hi-Z Hi-Z
NBDD3 NBDD0 0000 0001 0001 0001 D0 D3 D0 D3
Figure 16.5.1 shows an example of read operation of the NBD. Figure 16.5.2 shows an example of write
operation of the NBD. When input to the NBDSYNC# pin is pulled "L," the NBD starts taking in a command
packet from NBDD3–NBDD0 in the format shown in Figure 16.4.1. When the command packet input finishes,
the NBD starts reading/writing to or from the address specified in the address field. When the NBD finishes
receiving a command packet, it starts outputting data from NBDD3–NBDD0 in the format shown in Figure
16.4.2 after the data bus is temporarily placed in the high-impedance (Hi-Z) state for 1 NBDCLK cycle. While
input to the NBDSYNC# pin is held "L," NBDD3–NBDD0 are in a flag sense state, in which they output Not
Ready (0000) during a read/write operation or Ready (0001) when the operation has finished.
During a read, when input to the NBDSYNC# pin is released back "H" after detecting Ready, the read data
(read data packet) is output (Figure 16.5.1).
Before a next command packet can be transmitted, input to the NBDSYNC# pin must be held "H" for at least 2
NBDCLK cycles.
NBDCLK
NBDSYNC#
(Note 1) (Note 2)
Hi-Z Hi-Z Hi-Z
NBDD3 NBDD0 0000 SIZ1, SIZ0, A28 A31 A0 A3 0000 0001 0001 0001 D4 D7 D0 D3
R/W, I/T
Not Ready Ready Ready Ready
Input Output
Note 1: When input adress from NBDD0 - NBDD3 is completed, plug sence packet is outputted though high impedance period of 1NBDCLK.
Note 2: After "H" level detection by rising NBDCLK, read out data (read data packet)is outputted from next NBDCLK rising.
Note: :Sampling point
Figure 16.5.1 Example of Read Operation (for 8-Bit Read from the CPU Space)
NBDCLK
NBDSYNC#
(Note 1) (Note 2)
Hi-Z Hi-Z Hi-Z
NBDD3 NBDD0 SIZ1, SIZ0,
0000 R/W, I/T A28 A31 A0 A3 D28 D31 D0 D3 0000 0001 0001 0001
Not Ready Ready Ready Ready
Input Output
Note 1: When input adress from NBDD0 - NBDD3 is completed, plug sence packet is outputted though high impedance period of 1NBDCLK.
Note 2: After "H" level detection by rising NBDCLK, read out data (read data packet)is outputted from next NBDCLK rising.
Note: :Sampling point
Figure 16.5.2 Example of Write Operation (for 32-Bit Write to the CPU Space)
The following describes the content of each packet/field which are input to or output from the NBDD3–NBDD0 pins.
1) Extension field
2) Control field
3) Address field
Bit Name Function Content
A0–A31 Specify address A0–A31 should be specified in big endian format (A0 = MSB).
When accessing NBD space: specify with 12 bits of A0–A11
When accessing CPU space: specify with 32 bits of A0–A31
Note 1: When the NBD space access is selected, only 8-bit access is accepted.
Address bus,
R/W signal information
EVTU_A, EVTU_C
information
Comparate
Output "L" when
circuit a match is detected
NBDEVNT# pin
b0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 b15
EVTU_A
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
b16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 b31
EVTU_A
? ? ? ? ? ? ? ? ? ? ? ? ? ? 0 0
BCLK
NBDEVNT# output
For one event detected, For two events detected, Asserted "L"
asserted "L" for 2 BCLK asserted "L" for 2 BCLK consecutively
cycles (for one event) cycles (for one event) for 4 BCLK cycles
Figure 16.6.2 Relationship between NBD Event Detection and NBDEVENT# Pin Operation
32192/32195/32196 Group Hardware Manual 16-12
Rev.1.10 REJ09B0123-0110 Apr.06.07
CHAPTER 17
EXTERNAL BUS INTERFACE
The 32192/32195/32196 has the external bus interface related signals described below. These signals can be
used in external extension and processor modes. Furthermore, a dedicated power supply for the bus control
pins (bus power supply: VCC-BUS) is included. When used separately from other power supplies, it allows
external devices operating with other than the main power supply voltage to be connected.
The symbol “#” suffixed to the signal names (or pin names) means that the signals (or pins) are active "L."
(1) Address
The 32192/32195/32196 outputs a 22-bit address (A9–A30) for addressing any location in a 8-Mbyte
space. The least significant A31 is not output.
Note: • During external extension mode, these pins are switched for port upon exiting reset. Their pin func-
tions must be set for address output using the corresponding Port Operation Mode Register as
necessary.
The CS0#–CS3# signals are output for external extension areas divided in 8-Mbyte units. The CS0# signal
points to a 8-Mbyte area during processor mode or a 7-Mbyte area during external extension mode. (For
details, see Chapter 3, “Address Space.”)
Note: • During external extension mode, these pins are switched for port upon exiting reset. Their pin
functions must be set for chip select using the corresponding Port Operation Mode Register as
necessary.
Output during an external read cycle, this signal indicates the timing at which to read data from the bus. This
signal is driven "H" when writing to the bus or accessing the internal area.
The pin function changes depending on the Bus Mode Control Register (BUSMODC).
When BUSMOD = "0" and this signal is Byte High Write (BHW#), during external write access it indicates
that the upper byte (DB0–DB7) of the data bus is the valid data transferred. During external read and when
accessing the internal area it outputs a "H."
When BUSMOD = "1" and this signal is Byte High Enable (BHE#), during external access (for read or write)
it indicates that the upper byte (DB0–DB7) of the data bus is the valid data transferred. When accessing the
internal area it outputs a "H."
The pin function changes depending on the Bus Mode Control Register (BUSMODC).
When BUSMOD = "0" and this signal is Byte Low Write (BLW#), during external write access it indicates that
the lower byte (DB8–DB15) of the data bus is the valid data transferred. During external read and when
accessing the internal area it outputs a "H."
When BUSMOD = "1" and this signal is Byte Low Enable (BLE#), during external access (for read or write)
it indicates that the lower byte (DB8–DB15) of the data bus is the valid data transferred. When accessing the
internal area it outputs a "H."
The pin function changes depending on the Bus Mode Control Register (BUSMODC).
When BUSMOD = "0" and this signal is System Clock (CLKOUT), the system clock necessary to synchro-
nize operations in external systems is output from the pin. If the CPU clock is 160 MHz, and the CLKOSEL
(CLKOUT select) bit in the CLKOUT select register is set to “0,” a 20 MHz clock is output; if the CLKOSEL
bit is set to “1,” a 40 MHz clock is output. Furthermore, if the CLKOUT/WR# function is unused, and P70MD
in the P7 Operation Mode Register is cleared to “0,” the pin can be used as P70; if P150MD in the P15
Operation Mode Register is cleared to “0,” the pin can be used as P150.
When BUSMOD = "1" and this signal is Write (WR#), during external write access it indicates the valid data
transferred on the data bus. During external read cycle and when accessing the internal area it outputs a "H."
Note: • During external extension mode, this pin is switched for port upon exiting reset. Its pin function must
be set for system clock/write using the corresponding Port Operation Mode Register as necessary.
When the 32192 started an external bus cycle, it automatically inserts wait states while the WAIT# input
signal is asserted. For details, see Chapter 18, “Wait Controller.” If the WAIT function is unused, and
P71MD in the P7 Operation Mode Register is cleared to “0,” the pin can be used as P71; if P153MD in the
P15 Operation Mode Register is cleared to “0,” the pin can be used as P153.
Note: • During external extension mode, this pin is switched for port upon exiting reset. Its pin function
must be set for wait using the corresponding Port Operation Mode Register as necessary.
The hold state means internal bus and external bus stop accessing the bus and the bus interface related
pins are tristated (high impedance). While the microcomputer is in a hold state, any bus master external to
the chip can use the system bus to transfer data. Even during hold status the command in which command
que is done though, if the command with access to bus is done, the command performance operation is
stopped at that time.
An "L" signal input on the HREQ# pin places the microcomputer into a hold state. While the microcomputer
remains in a hold state after accepting the hold request and during a transition to the hold state, the HACK#
pin outputs a "L" level signal. To exit the hold state and return to normal operating state, release the HREQ#
signal back "H."
Note: • During external extension mode, these pins are switched for port upon exiting reset. Their pin functions
must be set for hold control using the corresponding Port Operation Mode Register as necessary.
The peripheral clock is output from the pin. If the CPU clock is 160 MHz, a 40 MHz clock is output. Further-
more, if the BCLK output function is unused, and P70MD in the P7 Operation Mode Register is cleared to
“0,” the pin can be used as P70.
Note: • During external extension mode, this pin is switched for port upon exiting reset. Its pin function must
be set for peripheral clock using the corresponding Port Operation Mode Register and Port Periph-
eral Function Select Register as necessary.
This pin supplies power to the bus control pins. A voltage different from that of the main power supply can be
applied, which is convenient when external devices are connected to the system.
17.2.1 Port Operation Mode and Port Peripheral Function Select Registers
Ports P0–P4 (except P41–P43), P124, P125, P224 and P225 are switched for external access signal pins
during external extension mode when so set by the corresponding Operation Mode Register. During processor
mode, these ports always function as external access signal pins.
During external extension mode, these pins are switched for port upon exiting reset. Therefore, by switching
the pin functions for only those pins that are needed for external access, the remaining pins can be used as
port.
Ports P70–P73, P126, P127, P150, P153, P220 and P221 can be switched for external access signal pins at
any time irrespective of the CPU operation mode. Ports P41–P43 always function as external access signal
pins during external extension and processor modes.
b0 1 2 3 4 5 6 b7
P00SMD P01SMD P02SMD P03SMD P04SMD P05SMD P06SMD P07SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P10MD P11MD P12MD P13MD P14MD P15MD P16MD P17MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P10SMD P11SMD P12SMD P13SMD P14SMD P15SMD P16SMD P17SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P20MD P21MD P22MD P23MD P24MD P25MD P26MD P27MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P30MD P31MD P32MD P33MD P34MD P35MD P36MD P37MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P30SMD P31SMD P32SMD P33SMD P34SMD P35SMD P36SMD P37SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P44MD P45MD P46MD P47MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P44SMD P45SMD P46SMD P47SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P70MD P71MD P72MD P73MD P74MD P75MD P76MD P77MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P70SMD P72SMD P73SMD P74SMD P75SMD P76SMD P77SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P124MD P125MD P126MD P127MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P124SMD P125SMD P126SMD P127SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P150MD P153MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P150SMD P153SMD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P220MD P221MD P224MD P225MD
0 0 0 0 0 0 0 0
b0 1 2 3 4 5 6 b7
P220SMD P221SMD P224SMD P225SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
BUSMOD
0 0 0 0 0 0 0 0
This register is used to facilitate memory connections during processor mode and external extension mode.
When the Bus Mode Control bit (BUSMOD) = "0," the WR# signal is output separately for each byte area.
Signals RD#, BHW#, BLW#, CLKOUT, WAIT# and BCLK can be used.
When the Bus Mode Control bit (BUSMOD) = "1," the byte enable signal is output separately for each byte
area. Signals RD#, BHE#, BLE#, WR#, WAIT# and BCLK can be used. In a WAIT control circuit configuration,
because CLKOUT output is not available, timing must be controlled by BCLK or external to the chip.
For memory connection in boot mode, the Bus Mode Control Register has no effect, and the microcomputer
operates in the same way as when the Bus Mode Control bit (BUSMOD) is cleared to "0."
A9–A30 A9–A30
CS0#–CS3# CS0#–CS3#
CLKOUT RD#
RD# WR#
BHW# BHE#
BLW# BLE#
DB0–DB15 DB0–DB15
BCLK BCLK
Figure 17.2.1 Pin Functions when External Bus Modes are Changed
b0 1 2 3 4 5 6 b7
CLKOSELP CLKOSEL
0 0 0 0 0 0 0 0
This bit selects straight BCLK or divided-by-2 BCLK as outputting of CLKOUT (external bus synchronous
clock) pin. If the CPU clock is 160 MHz, BCLK is 40 MHz. If CLKOSEL is cleared to "0," CLKOUT or the
external bus reference clock is 20 MHz; if CLKOSEL is set to "1," CLKOUT is 40 MHz. The number of wait
states set by the CSn area wait control register, as well as CSn wait, strobe wait, recovery cycles and idle
cycles after read all are synchronized to CLKOUT.
However when "1" is selected in CLKOSEL bit (BCLK is selected as a CLKOUT terminal output), regardless
of CS0-CS3 is used or not, it is prohibition that selecting 0 wait in WAIT (the number selection of internal
wait) bit of a CSn area wait control register.
The following describes how to set the CLKOSEL (CLKOUT select) bit
1. The program in the internal ROM or the internal RAM should be used to set the bits.
3. Subsequent to 2 above, write "0" to the CLKOSEL write control bit (CLKOSELP) and then "0"
or "1" whichever desired to the CLKOUT select bit (CLKOSEL).
4. After writing to the above bits, access any SFR area for read twice.
CLKOSELP "1"
CLKOSELP "1"
CLKOSELP "0"
CLKOSEL Set value
(2)
CLKOSELP "1"
CLKOSELP "1"
CLKOSELP "0"
CLKOSEL Set value
Note 1: The writing cycle to the other area is the writing cycle from CPU, DMA, SDI (tool), NBD to any other area.
The writing cycle from RTD and DRI do not effect.
Note: • Operate this setup on internal ROM or in the program on internal RAM.
Figure 17.2.3 shows the clock configuration of CPUCLK, BCLK and CLKOUT.
1/2
CLKO CLKOUT(external bus clock)
SEL (32MHz-40MHz or 16MHz-20MHz)
The output pins for the peripheral clock BCLK and the external bus clock BCLKOUT are listed in Table 17.2.1.
A CLKOUT and BCLK select structure is shown in Figure 17.2.4.
BUSMOD P70MD
P70SMD
CLKOUT P70
External read/write operations are performed using the address bus, data bus and the signals CS0#–CS3#,
RD#, BHW#, BLW#, WAIT#, CLKOUT and BCLK. In the external read cycle, the RD# signal is "L" while
BHW# and BLW# both are "H," with data read in from only the necessary byte position. In the external write
cycle, the BHW# or BLW# signal output for the byte position to which to write is asserted "L" as data is
written to the bus.
When an external bus cycle starts, wait states are inserted as long as the WAIT# signal is "L," Unless
necessary, the WAIT# signal must always be held "H." If the WAIT function is unused, and P71MD in the P7
Operation Mode Register or P153MD in the P15 Operation Mode Register is cleared to “0”, the pin can be
used as port.
Bus-free state
Internal bus access
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
Hi-Z
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note: • Hi-Z denotes a high-impedance state.
Read
Read (1 cycle)
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write
Write (1 cycle)
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • When zero wait state is selected, assertion of WAIT# is not accepted.
Internal External
2 wait states 1 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write (4 cycles)
Write
Internal External
2 wait states 1 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram denote the sampling timing.
Figure 17.3.3 Read/Write Timing (for Access with Internal 2 and External 1 Wait States)
External read/write operations are performed using the address bus, data bus and the signals CS0#–CS3#,
RD#, BHE#, BLE#, WAIT#, WR# and BCLK. In the external read cycle, the RD# signal is "L" and the BHE#
or BLE# signal output for the byte position from which to read is asserted "L," with data read in from only the
necessary byte position of the bus. In the external write cycle, the WR# signal goes "L" and the BHE# or
BLE# signal output for the byte position to which to write is asserted "L," with data written to the necessary
byte position.
When an external bus cycle starts, wait states are inserted as long as the WAIT# signal is "L." Unless
necessary, the WAIT# signal must always be held "H."
Bus-free state
Internal bus access
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR# "H"
Hi-Z
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Notes: • Hi-Z denotes a high-impedance state.
• CLKOUT is not output.
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
Write (1 cycle)
Write
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • When zero wait state is selected, assertion of WAIT# is not accepted.
• CLKOUT is not output.
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHW#, BLW#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram denote the sampling timing.
• CLKOUT is not output.
Figure 17.3.6 Read/Write Timing (for Access with Internal 2 and External 1 Wait States)
When the input signal on the HREQ# pin is pulled "L" and the hold request is accepted, the microcomputer
goes to a hold state and outputs a "L" from the HACK# pin. During hold state, all bus related pins are placed
in the high-impedance state, allowing data to be transferred on the system bus. To exit the hold state and
return to normal operating state, release the HREQ# signal back "H."
Go to Next
Bus cycle Idle hold state Hold state Return bus cycle
CLKOUT
HREQ#
HACK#
Hi-Z
A9–A30
Hi-Z
CS0#–CS3#
Hi-Z
RD#
Hi-Z
BHW#, BLW#
Hi-Z
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Notes: • Circles in the above diagram denote the sampling timing.
• Hi-Z denotes a high-impedance state.
• Idle cycles are inserted only when a hold state is entered immediately following an external read access.
A recovery cycle is inserted in place of the idle cycle when setting RECOV=1 and IDLE=0 by the wait controller.
• The number of cycles before a state transition to idle (recovery) of hold state occurs after input to the HREQ#
pin is pulled "L" differs depending on the status of the bus access being executed then.
When the input signal on the HREQ# pin is pulled "L" and the hold request is accepted, the microcomputer
goes to a hold state and outputs a "L" from the HACK# pin. During hold state, all bus related pins are placed
in the high-impedance state, allowing data to be transferred on the system bus. To exit the hold state and
return to normal operating state, release the HREQ# signal back "H."
Go to Next
Bus cycle Idle hold state Hold state Return bus cycle
CLKOUT
HREQ#
HACK#
Hi-Z
A9–A30
Hi-Z
CS0#–CS3#
Hi-Z
RD#
Hi-Z
WR#
Hi-Z
BHE#, BLE#
Hi-Z
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Notes: • Circles in the above diagram denote the sampling timing.
• Hi-Z denotes a high-impedance state.
• Idle cycles are inserted only when a hold state is entered immediately following an external read access.
A recovery cycle is inserted in place of the idle cycle when setting RECOV=1 and IDLE=0 by the wait controller.
• The number of cycles before a state transition to idle (recovery) of hold state occurs after input to the HREQ#
pin is pulled "L" differs depending on the status of the bus access being executed then.
A typical memory connection when using external extension memory is shown in Figure 17.5.1. (External
extension memory can only be used in external extension mode and processor mode.)
M32192F8
M32195F4
M32196F8 Flash memory Memory mapping
H'0000 0000
A9 A21
Internal ROM area
A30 A0 (1MB)
SRAM
H'0100 0000
A21
A0
External memory area
D15 max4MB x 2 (8MB) 8M-CS1 are
(Total 8MB)
D0
BHW# UWR#(D15-D8)
BLW# LWR#(D7-D0) H'017F FFFF
RD#
CS1# CS#
WAIT#
CS2#
CS3# Number of bus wait states can be set to 0-15
Normally used as port. WAIT is used only when more than 15 wait states are needed.
Figure 17.5.1 Typical Connection of External Extension Memory (when BUSMOD bit = "0")
Notes: • Address pin 0 is the MSB, and pin 31 is the LSB. (Pins 9-30 are output).
• Data pin 0 is the MSB, and pin 15 is the LSB.
• If external extension memory is connected to the system, the MSB and the LSB sides (endian
format) should be taken into consideration when connecting each pin.
A typical memory connection when using external extension memory is shown in Figure 17.5.2. (External
extension memory can only be used in external extension mode and processor mode.)
M32192F8
M32195F4
M32196F8 Flash memory Memory mapping
H'0000 0000
A9 A21
Internal ROM area
A0 (1MB)
A30
D0
BHE# BHE#(D15-D8)
BLE# BLE#(D7-D0) H'017F FFFF
RD#
CS1# CS#
WR# WR#
WAIT#
CS2# Number of bus wait states can be set to 0-15
CS3# Normally used as port. WAIT is used only when more than 15 wait states are needed.
Figure 17.5.2 Typical Connection of External Extension Memory (when BUSMOD bit = "1")
Notes: • Address pin 0 is the MSB, and pin 31 is the LSB. (Pins 9-30 are output).
• Data pin 0 is the MSB, and pin 15 is the LSB.
• If external extension memory is connected to the system, the MSB and the LSB sides (endian
format) should be taken into consideration when connecting each pin.
(3) When the Bus Mode Control Register = "1" using a combination of 8/16-bit data bus memories
The diagram below shows a typical connection of external extension memory, with an 8-bit data bus
memory located in the CS0 area, and a 16-bit data bus memory located in the CS1 area. (External exten-
sion memory can only be used in external extension mode and processor mode.)
M32192F8
M32195F4 When CL = 50 pF, memory can be connected with only 2 ns of data delay.
M32196F8
8-bit memory Memory mapping
A9 H'0000 0000
A21
A0
External memory area
D15 (8MB) 8M-CS1 area
max8MB
16-bit bus area
D0
WR# WR#
RD#
H'017F FFFF
BHE# BHE#(D15-D8)
BLE# BLE#(D7-D0)
CS1# CS#
WAIT#
CS2#
CS3# Number of bus wait states can be set to 0-15
Normally used as port. WAIT is used only when more than 15 wait states are needed.
Figure 17.5.3 Typical Connection of External Extension Memory (when BUSMOD bit = "1" using a combina-
tion of 8/16-Bit Memories)
Notes: • Address pin 0 is the MSB, and pin 31 is the LSB. (Pins 9-30 are output).
• Data pin 0 is the MSB, and pin 15 is the LSB.
• If external extension memory is connected to the system, the MSB and the LSB sides (endian
format) should be taken into consideration when connecting each pin.
Ports and memory can be connected with external circuits via 5 V interfaces.
5V
M32R/ECU
Port
VCCE Connected at 5 V
VDDE
5V
Memory
Bus 5V
VCC-BUS VCC
(2) When ports and memory are connected at 3.3 V and 5 V, respectively
Ports and memory can be connected with external circuits via a 3.3 V interface directly as is and a 5 V
interface, respectively.
3.3V
M32R/ECU
Port
VCCE Connected at 3.3 V
VDDE
5V
5V Memory
Bus 5V
VCC-BUS VCC
Figure 17.6.2 When Port and Memory are Connected at 3.3 V and 5 V, Respectively
(3) When ports and memory are connected at 5 V and 3.3 V, respectively
Ports and memory can be connected with external circuits via a 5 V interface directly as is and a 3.3 V
interface, respectively.
5V
M32R/ECU
Port
VCCE Connected at 5 V
VDDE
3.3V
3.3V Memory
Bus 3.3V
VCC-BUS VCC
Figure 17.6.3 When Port and Memory are Connected at 5 V and 3.3 V, Respectively
Ports and memory can be connected with external circuits via 3.3 V interfaces.
3.3V
M32R/ECU
Port
VCCE Connected at 3.3V
VDDE
3.3V
Memory
Bus 3.3V
VCC-BUS VCC
Figure 17.6.4 When Both Port and Memory are Connected at 3.3 V
During external extension and processor modes, four chip select signals (CS0# to CS3#) are output, each corre-
sponding to one of the four external extension areas referred to as CS0 through CS3.
Non-CS0 area
(Internal ROM access area)
(8MB) (8MB)
H'017F FFFF
Extended external area
H'0180 0000
Ghost area Ghost area
(8MB) (8MB)
H'01FF FFFF
H'0200 0000
CS2 area CS2 area
(8MB) (8MB)
H'027F FFFF
H'0280 0000
Ghost area Ghost area
(8MB) (8MB)
H'02FF FFFF
H'0300 0000
CS3 area CS3 area
(8MB) (8MB)
H'037F FFFF
H'0380 0000
Ghost area Ghost area
(8MB) (8MB)
H'03FF FFFF
<External extension mode> <Processor mode>
When accessing the external extension area, the Wait Controller controls the number of wait states inserted in
bus cycles based on the number of wait states set by software and the input signal entered from the WAIT# pin.
When the input signal on the WAIT# pin is sampled "L" in the last cycle of internal wait state, the wait state is
extended as long as the WAIT# input signal is held "L." Then when the WAIT# input signal is released back "H."
the wait state is terminated and the next new bus cycle is entered into.
Table 18.1.2 Number of Wait States that Can Be Set by the Wait Controller
External extension Area Address Number of Wait States Inserted
CS0 area H’0010 0000 to H’007F FFFF Zero to 15 wait states set by software
(external extension mode) + any number of wait states entered from the WAIT# pin
H’0000 0000 to H’007F FFFF (However, software settings have priority.)
(processor mode)
CS1 area H’0100 0000 to H’017F FFFF Zero to 15 wait states set by software
(external extension and + any number of wait states entered from the WAIT# pin
(Note 1) processor modes) (However, software settings have priority.)
CS2 area H’0200 0000 to H’027F FFFF Zero to 15 wait states set by software
(external extension and + any number of wait states entered from the WAIT# pin
(Note 2) processor modes) (However, software settings have priority.)
CS3 area H’0300 0000 to H’037F FFFF Zero to 15 wait states set by software
(external extension and + any number of wait states entered from the WAIT# pin
(Note 3) processor modes) (However, software settings have priority.)
Note 1: A ghost (8 Mbytes) of the CS1 area will appear in the H'0180 0000 to H'01FF FFFF area.
Note 2: A ghost (8 Mbytes) of the CS2 area will appear in the H'0280 0000 to H'02FF FFFF area.
Note 3: A ghost (8 Mbytes) of the CS3 area will appear in the H'0380 0000 to H'03FF FFFF area.
b0(b8) 1 2 3 4 5 6 b7(b15)
WAITn CWAITn SWAITn RECOVn IDLEn
1 1 1 1 1 1 1 1
The operation is not guaranteed if the settings listed in the Table 18.2.1 are selected.
If a read cycle is followed immediately by a write cycle, one idle cycle is inserted unless RECOV bit = 1 and
IDLE bit = 0. Table 18.2.2 shows the relationship between RECOV bit and IDLE bit settings and the number of
idle cycles inserted after the bus cycle.
Table 18.2.2 RECOV Bit and IDLE Bit Settings and the Number of Idle Cycles Inserted after Bus Cycle
RECOV IDLE Read (Followed by Write) Read (Followed by Read) Write
0 0 1 0 (Note 1) 0
0 1 1 1 0
1 0 0 0 0
1 1 1 1 0
Note 1: The number of cycles inserted when instruction fetch access occurs back-to-back, or operand access is performed
successively by a word (32-bit) access. In other cases (if operand access is performed successively, instruction fetch
access is followed by operand access or operand access is followed by instruction fetch access), a 1-cycle idle cycle
is inserted.
Note: • Under each of the above conditions, no recovery cycle is inserted when RECOV bit = 0, and one recovery cycle is
inserted when RECOV bit = 1.
b0 1 2 3 4 5 6 b7
FEWWAIT
0 0 0 0 0 0 0 0
(1) FEWWAIT (Flash E/W Internal Wait States Select) bit (Bits 7)
This bit selects the number of wait states to be inserted in internal cycles during flash E/W access. Always
be sure to set this bit to "0" before executing flash E/W operation.
External read/write operations are performed using the address bus, data bus and the signals CS0#–CS3#,
RD#, BHW#, BLW#, WAIT#, CLKOUT and BCLK.
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
Hi-Z
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note: • Hi-Z denotes a high-impedance state.
Read Read
(1 cycle)
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write Write
(1 cycle)
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • When zero wait state is selected, wait states inserted by WAIT# are not accepted.
Read
Read (2 cycles)
Internal
1 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write
Write (2 cycles)
Internal
1 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram indicate the sampling timing.
Figure 18.3.3 Read/Write Timing (for Access with Internal 1 Wait State)
CLKOUT
A9–A30
CS0#–CS3#
RD#
BHW#, BLW#
"H"
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram indicate the sampling timing.
Figure 18.3.4 Read/Write Timing (for Access with Internal 7 Wait States)
External
Internal 2 wait states 1 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
External
Internal 2 wait states 1 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram indicate the sampling timing.
Figure 18.3.5 Read/Write Timing (for Access with Internal 2 and External 1 Wait States)
Read
Read (3 + n cycles)
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write
Write (3 + n cycles)
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram indicate the sampling timing.
Figure 18.3.6 Read/Write Timing (for Access with Internal 2 and External n Wait States)
Read
Read (3 cycles)
Internal
2 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write
Write (3 cycles)
Internal
2 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram indicate the sampling timing.
Figure 18.3.7 Read/Write Timing (for Access with Internal 2 Wait State + CS Wait)
Read
Read (3 cycles)
Internal
2 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write
Write (3 cycles)
Internal
2 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram indicate the sampling timing.
Figure 18.3.8 Read/Write Timing (for Access with Internal 2 Wait State + Strobe Wait)
Read
Read (3 cycles)
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write
Write (3 cycles)
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram indicate the sampling timing.
Figure 18.3.9 Read/Write Timing (for Access with Internal 2 Wait States + CS/Strobe Wait)
Read
Read (3 cycles)
Internal Recovery
1 wait state cycle
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Write
Write (3 cycles)
Internal Recovery
1 wait state cycle
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Note: • Circles in the above diagram indicate the sampling timing.
Figure 18.3.10 Read/Write Timing (Internal 1 Wait State + Recovery Cycle Added)
Internal Idle
1 wait state cycle
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Internal
1 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• No idle cycles are added after the write cycle.
Figure 18.3.11 Read/Write Timing (Internal 1 Wait State + Idle Cycle Added)
CLKOUT
A9–A30
CS0#–CS3#
RD#
DB0–DB15
Internal Recovery
1 wait state cycle
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
BHW#, BLW#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• No idle cycles are added after the write cycle.
Figure 18.3.12 Read/Write Timing (Internal 1 Wait State + Recovery and Idle Cycles Added)
External read/write operations are performed using the address bus, data bus and the signals CS0#–CS3#,
RD#, BHE#, BLE#, WAIT#, WR# and BCLK.
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR# "H"
Hi-Z
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Notes: • Hi-Z denotes a high-impedance state.
• CLKOUT is not output.
Read Read
(1 cycle)
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
Write Write
(1 cycle)
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• When zero wait state is selected, wait states inserted by WAIT# are not accepted.
• CLKOUT is not output.
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
Figure 18.3.15 Read/Write Timing (for Access with Internal 1 Wait State)
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
Figure 18.3.16 Read/Write Timing (for Access with Internal 7 Wait States)
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
Figure 18.3.17 Read/Write Timing (for Access with Internal 2 and External 1 Wait States)
32192/32195/32196 Group Hardware Manual 18-23
Rev.1.10 REJ09B0123-0110 Apr.06.07
WAIT CONTROLLER
18 18.3 Typical Operation of the Wait Controller
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
Figure 18.3.18 Read/Write Timing (for Access with Internal 2 and External n Wait States)
Read
Read (3 cycles)
Internal
2 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
Write
Write (3 cycles)
Internal
2 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
Figure 18.3.19 Read/Write Timing (for Access with Internal 2 Wait State + CS Wait)
Read
Read (3 cycles)
Internal
2 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
Write
Write (3 cycles)
Internal
2 wait state
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
Figure 18.3.20 Read/Write Timing (for Access with Internal 2 Wait State + Strobe Wait)
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
Figure 18.3.21 Read/Write Timing (for Access with Internal 2 Wait States + CS/Strobe Wait)
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
Figure 18.3.22 Read/Write Timing (Internal 1 Wait State + Recovery Cycle Added)
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
• No idle cycles are added after the write cycle.
Figure 18.3.23 Read/Write Timing (Internal 1 Wait State + Idle Cycle Added)
CLKOUT
A9–A30
CS0#–CS3#
RD#
WR# "H"
BHE#, BLE#
DB0–DB15
CLKOUT
A9–A30
CS0#–CS3#
RD# "H"
WR#
BHE#, BLE#
DB0–DB15
Note 1: For details about the Bus Mode Control Register, see Section 17.2.2, "Bus Mode Control Register."
Note 2: For details about the CS Area Wait Control Register, see Section 18.2.1, "CS Area Wait Control Registers."
Notes: • Circles in the above diagram indicate the sampling timing.
• CLKOUT is not output.
• No idle cycles are added after the write cycle.
Figure 18.3.24 Read/Write Timing (Internal 1 Wait State + Recovery and Idle Cycles Added)
• Backup parts of the internal RAM data when the power is forcibly turned off from the outside (RAM backup
when the power is off)
• For the M32R/ECU to turn off the power to the CPU at any time as needed to reduce the system’s power con-
sumption while retaining parts of the internal RAM data . (RAM backup for saving the power consumption)
The M32R/ECU is placed in RAM backup mode by applying a voltage of 3.3 V or 5.0 V to the VDDE pin
(provided for RAM backup) and 0 V to all other pins. However, when started by boot mode, internal RAM value
is indefinite after started by boot mode in order to "Flash writing/ Erase program" is transferred to internal
RAM.
During RAM backup mode, parts of the contents of the internal RAM are retained, while the CPU and internal
peripheral I/O remain idle. Because all pins except VDDE are held "L" during RAM backup mode, the power
consumption in the system can effectively be reduced.
32192 internal RAM (176KB) 32195 internal RAM (32KB) 32196 internal RAM (64KB)
H'0080 4000 H'0080 4000 H'0080 4000
H'0080 BFFF
RAM backup area (64KB)
H'0082 FFFF
DC IN Input Output
Regulator
(5V or 3.3V)
C
Figure 19.2.2 shows the normal operating state of the M32R/ECU. During normal operation, input on the SBI#
pin or AD0INi (i = 0–15) pin which is used to detect a RAM backup signal remains "H."
DC IN Input Output
Regulator
(5V or 3.3V)
C
Figure 19.2.3 shows the power outage RAM backup state of the M32R/ECU. When the power supply goes off,
the power supply monitor IC starts feeding current from the backup battery to the M32R/ECU. Also, the power
supply monitor IC’s power outage detection pin outputs a "L," causing the SBI# pin or AD0INi pin to go "L,"
which generates a RAM backup signal ((a) in Figure 19.2.3). Determination of whether the power is off must be
made with respect to the DC IN (regulator input) voltage in order to allow for a software processing time at
power outage.
To enable RAM backup mode, make the following setting:
(1) Create data for RAM check to verify whether the RAM data has been retained normally after returning from
RAM backup mode to normal mode ((b) in Figure 19.2.3).
If the power supply to VCCE goes off after making above setting, the VDDE pin voltage goes to 3.0–3.3 V and all
other pin voltages drop to 0 V, and the M32R/ECU is thereby placed in RAM backup mode ((c) in Figure 19.2.3).
DC IN Output
Input Regulator
(5V or 3.3V)
(Note 5) C
(c)
RAM backup mode
Regulator Output
(5V or 3.3V)
IB
External circuit
Figure 19.3.1 Typical RAM Backup Circuit for Saving Power Consumption
Figure 19.3.2 shows the normal operating state of the M32R/ECU. During normal operation, the RAM backup
signal output by the external circuit is "H." Also, input on the SBI# pin or AD0INi (i = 0–15) pin which is used to
detect a RAM backup signal remains "H."
Portn, which connects to the transistor’s base, should output a "H." This causes the transistor’s base voltage,
IB, to go "H" so that current is fed from the power supply to the VCCE pin via the transistor.
Regulator Output
(5V or 3.3V)
IB
External circuit
"H" 3.3V or 5V
RAM backup signal
(Note 1) 3.3V or 5V
"H"
Portn VCCE, VCC- VREF0 AVCC0 VDDE
(Note 2) VCCER BUS
EXCVCC
"H" SBI# (Note 3)
AD0INi EXCVDD
M32R/ECU
Figure 19.3.3 shows the RAM backup state of the M32R/ECU. Figure 19.3.4 shows a RAM backup sequence.
When the external circuit outputs a "L," input on the SBI# or AD0INi pin is pulled "L." An "L" on these input pins
generates a RAM backup signal (A and (a) in Figure 19.3.3). To enable RAM backup mode, make the following
settings:
(1) Create data for RAM check to verify after returning from RAM backup mode to normal mode
whether the RAM data has been retained normally ((b) in Figure 19.3.3).
(2) To materialize low-power operation, set all programmable input/output pins except portn for input
mode (or for output mode, with the output level fixed "L") ((c) in Figure 19.3.3).
(3) Set portn for input mode (B and (d) in Figure 19.3.3). This causes the transistor’s base voltage, IB,
to go "L," so that the power to all power supply pins except VDDE is shut off (C and D in Figure
19.3.3).
By settings in (1) to (3), the VDDE pin voltage goes to 3.0–5.5 V and all other pin voltages drop to 0 V, and the
M32R/ECU is thereby placed in RAM backup mode ((d) in Figure 19.3.3).
"L"
External circuit
"L" 0V
"L"
RAM backup signal B
(Note 1) 3.3V or 5V
"L"
Portn VCCE, VCC- VREF0 AVCC0 VDDE
A (Note 2) VCCER BUS
EXCVCC
"L" SBI#
(Note 3)
AD0INi EXCVDD
M32R/ECU
VDDE
Port output setting Port input Port output setting
("H" level) mode ("H" level)
Portn
External input signal External input signal
goes "L" goes "H"
SBI#
AD0INi
f(XIN)
Oscillation Oscillation
stabilization time stabilization time
RESET#
Figure 19.3.4 Example of a RAM Backup Sequence for Low Power Operation
When changing portn from input mode to output mode after power-on, pay attention to the following.
If port n is set for output mode while no data is set in the Portn Data Register, the port’s initial output level is
instable. Therefore, before changing portn for output mode, make sure the Portn Data Register is set to output
a "H."
Unless this precaution is followed, port output may go "L" at the same time the port is set for output after the
oscillation has stabilized, causing the microcomputer to enter RAM backup mode.
When powering on, make sure to meet the limitation VDDE ≥ VCCER. If VDDE is 3.0 V or more, there will be no
problem even when the limitation VDDE ≥ VCCER cannot be met.
When the above power-on limitation cannot be met, sufficient evaluation must be made during system design
in order to ensure that no power will be applied to the microcomputer with a potential difference of 1 V or more.
For potential differences 0 V to 0.6 V, there is almost no in-flow current. The amount of in-flow current begins to
increase when the potential difference exceeds 0.6 V.
Note 1: For wakeup from power outage RAM backup mode, portn settings are unnecessary.
(a) Reset
(b)
Set the transistor's base
connecting pin (portn)
for "H" level output mode
(Note 1)
Error
(d) Initialize the RAM
Note 1: For wakeup from power outage RAM backup mode, portn settings are unnecessary.
An oscillator circuit can be configured by connecting a ceramic (or crystal) resonator between the XIN and XOUT
pins external to the chip. Figure 20.1.1 shows an example of a system clock generating circuit using a resonator
connected external to the chip. For the constants Rf, Cin, Cout and Rd, the resonator manufacturer should be
consulted to determine the appropriate values.
To use an externally sourced clock signal without using an internal oscillator circuit, connect the external clock
signal to the XIN pin and leave the XOUT pin open.
M32R/ECU
Oscillator module
XIN Oscillation
stoppage
detection circuit
To the
CPU clock
Rd
C
Cin Cout
The M32R/ECU contains a detection circuit to find whether oscillation input to the PLL circuit has stopped. The PLL
circuit oscillates with the frequency of its normal mode of vibration in the absence of the reference oscillation input.
The XIN oscillation input is sampled at the peripheral clock and when the XIN oscillation is found to be at the
same level, the XSTAT bit is set. Because the CPU continues operating with the PLL circuit’s natural fre-
quency even when the XIN oscillation has stopped, error handling for the stoppage of XIN oscillation can be
accomplished by inspecting XSTAT bit in software.
For details about the value of XIN Oscillation Stoppage Detection,see Chapter 23, "ELECTRICAL
CHARACTERISTICS."
XOUT
Oscillator Counter XSTAT
PLL circuit
XIN circuit CLOCK flag
1/4 RESET
Edge detection
Figure 20.1.2 Block Diagram of the XIN Oscillation Stoppage Detection Circuit
Port Input Special Function Control Register (PICNT) <Address: H’0080 0745>
b8 9 10 11 12 13 14 b15
XSTAT PISEL PIEN0
0 0 0 0 0 0 0 0
For details about the function of the port input data select bit (PISEL) and port input enable bit (PIEN0), see
Chapter 8, "Input/Output Ports and pin functions.”
XSTAT bit is set to "1" upon detecting that XIN oscillation has stopped. When XIN remains at the same level
on the basis of threshold value for XIN Oscillation Stoppage Detection (3 BCLK periods up to 4 BCLK
periods), XIN oscillation is assumed to have stopped. When operating normally, XIN changes state ("H" or
"L") once every BCLK period.
XSTAT bit is cleared to "0" by a system reset or by writing "0." If XSTAT bit is cleared at the same time it is
set in 1) above, the former has priority so that XSTAT bit is cleared. Writing "1" to XSTAT bit is ignored.
Because internally contains a PLL, the internal clock remains active even when XIN oscillation has stopped.
By reading XSTAT bit without clearing it after exiting the reset state, it is possible to know whether XIN
has ever stopped since the reset signal was deasserted. Similarly, by reading XSTAT bit after clearing it
by writing 0, it is possible to know the current oscillating status of XIN. (However, there must be an
interval of at least 5 BCLK periods (20 CPU clock periods) between read and write.)
About possess when XSAT bit is set "1," clear XSTAT bit once (etc) pay extra attention before use.
(1) To know whether XIN oscillation has ever stopped after being reset
Note: • About possess when XSTAT is set "1," clear XSTAT bit once and pay extra attention before use.
b0 1 2 3 4 5 6 b7
XDRVP XDRV
0 0 0 0 0 0 1 1
This bit controls writing to the XIN-XOUT drive capability select bits.
Notes: • If theare are writing cycles from CPU, DMA, SDI (tool), NBD to any other area between 1
and 2, the continuous setting ( A pair of two consecutive is 1 set for writing operation) is
disabled and the writing value is not reflected. Therefore, disable interrupts and DMA
transfers before setting. However the writing cycle from RTD and DRI are not effected.
• When you input external clocks other than resonator or oscillator, make XOUT pin open and
XIN-XOUT drive capability high(maximum) is selected in XDRV bit.
XDRVP "1"
XDRVP "0"
XDRV Set value
XDRVP "1"
XDRVP "0"
XDRV Set value
(2)
XDRVP "1"
XDRVP "1"
XDRVP "0"
XDRV Set value
Note 1: The writing cycle to the other area is the writing cycle from CPU, DMA, SDI (tool), NBD to any other area.
The writing cycle from RTD and DRI do not effect.
A clock twice the frequency of the input clock, i.e., a peripheral clock, can be output from the BCLK pin. This
peripheral clock, either directly or after being divided by 2, can be output as an external bus clock from the
CLKOUT pin. This BCLK pin is shared with port P70. The CLKOUT pin is shared with port P70 or port P150.
The output pins for the peripheral clock BCLK and the external bus clock CLKOUT are listed in Table 20.1.1. A
CLKOUT and BCLK select structure is shown in Figure 20.1.5.
BUSMOD P70MD
P70SMD
CLKOUT P70
BCLK P150MD
P150SMD
P150
The external bus clock can be selected from BCLK and BCLK divided by two by using CLKOUT Select Register.
b0 1 2 3 4 5 6 b7
CLKOSELP CLKOSEL
0 0 0 0 0 0 0 0
This bit selects straight BCLK or divided-by-2 BCLK as outputting of CLKOUT (external bus synchronous
clock) pin. If the CPU clock is 160 MHz, BCLK is 40 MHz. If CLKOSEL is cleared to "0," CLKOUT or the
external bus reference clock is 20 MHz; if CLKOSEL is set to "1," CLKOUT is 40 MHz. The number of wait
states set by the CSn area control register, as well as CS wait, strobe wait, recovery cycles and idle cycles
after read all are synchronized to CLKOUT.
However when "1" is selected in CLKOSEL bit (BCLK is selected as a CLKOUT terminal output), regardless
of CS0~CS3 is used or not, it is prohibition that selecting 0 wait in WAIT (the number selection of internal
wait) bit of a CSn area wait control register.
The following describes how to set the CLKOSEL (CLKOUT select ) bit (See Figure 17.2.2.)
1. The program in the internal ROM or the internal RAM should be used to set the bits.
3. Subsequent to 2 above, write "0" to the CLKOSEL write control bit (CLKOSELP) and then "0"
or "1" whichever desired to the CLKOUT select bit (CLKOSEL).
4. After writing to the above bits, access any SFR area for read twice.
The following shows configurations for P7 Operation Mode Register, P7 Peripheral Function Select Register,
P15 Operation Mode Register and P15 Peripheral Function Select Register.
b8 9 10 11 12 13 14 b15
P70MD P71MD P72MD P73MD P74MD P75MD P76MD P77MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P70SMD P72SMD P73SMD P74SMD P75SMD P76SMD P77SMD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P150MD P153MD
0 0 0 0 0 0 0 0
b8 9 10 11 12 13 14 b15
P150SMD P153SMD
0 0 0 0 0 0 0 0
The oscillator circuit comprised of a ceramic (or crystal) resonator requires a finite time before its oscillation
stabilizes after being powered on. Therefore, there must be a certain amount of oscillation stabilization time
that suits the oscillator circuit used.
Figure 20.1.6 shows an oscillation stabilization time required at power-on.
VCC-BUS
RESET#
XIN
1/2
CLKO
CLKOUT (external bus clock)
SEL
(32MHz–40MHz or
16MHz–20MHz)
Note: • The JTAG interface in the M32R/ECU is used to connect a JTAG emulator during debugging as well.
In this chapter, the JTAG interface is explained assuming its use as an input/output path for bound-
ary-scan test.
Functions of the JTAG interface-related pins mounted on the M32R/ECU are shown below.
• Instruction register to hold the instruction code that is fetched through the boundary-scan path
• A set of registers which are accessed through the boundary-scan path
• Test access port (abbreviated TAP) controller to control the JTAG unit’s state transition
• Control logic to select input, output, etc.
M32R/ECU
Bypass Register
(JTAGBPR)
ID Code Register
(JTAGIDR)
Decoder
Output selection
Buffer
JTDO
JTMS
JTCK TAP Controller
JTRST
The Instruction Register is a 6-bit register to hold instruction code. This register is set in the IR path sequence. The
instructions set in this register determine the data register to be selected in the subsequent DR path sequence.
The initial value of this register after test is reset (to initialize the test circuit) is b’000010 (IDCODE instruction).
After a test reset, the ID Code Register is selected as the data register until instruction code is set by an
external device. In the Capture-IR state, this register always has b’110001 (fixed value) loaded into it. There-
fore, when in the Shift-IR state, no matter what value was set in this register, the value b’110001 is always
output from the JTDO pin (sequentially beginning with the LSB). However, this value normally is not handled as
instruction code.
Shown below is outside the scope of guaranteed operations. If this operation is attempted, the microcomputer
may handle b’110001 as instruction code, which makes the microcomputer unable to operate normally.
Following instructions are supported for the JTAG interface of the M32R/ECU:
The Boundary Scan Register is a 294-bit register used to perform boundary-scan test. The bits in this
register are assigned to each pin on the microcomputer.
Connected between the JTDI and JTDO pins, this register is selected when issuing EXTEST or SAMPLE/
PRELOAD instruction. In the Capture-DR state, this register captures the status of input pins or internal
logic outputs. In the Shift-DR state, while outputting the sampled value, this register receives the input data
for boundary-scan test to set pin functions (direction of input/output and tristate output pins) and output
values.
The Bypass Register is a 1-bit register used to bypass the boundary-scan path when the microcomputer is
not the target of boundary-scan test. Connected between the JTDI and JTDO pins, this register is selected
when issuing BYPASS instruction. This register is loaded with b’0 (fixed value) in the Capture-DR state.
The ID Code Register is a 32-bit register used to identify the device and manufacturer. It holds the following
information:
This register is connected between the JTDI and JTDO pins, and is selected when issuing IDCODE instruc-
tion. This register is loaded with said IDCODE data in the Capture-DR state, and outputs it from the JTDO
pin in the Shift-DR state.
The ID Code Register is a read-only register. Because the data written from the JTDI pin during DR path
sequence is ignored, make sure JTDI input = "L" while in the Shift-DR state.
0 3 4 19 20 30 31
Note: • For details about the Capture-DR and Shift-DR states, see Section 21.4, “Basic Operation of
JTAG.”
The instruction and data registers basically are accessed in conjunction with the following three operations,
which are performed based on the TAP Controller’s state transition. The TAP Controller changes state accord-
ing to JTMS input, and generates control signals required for operation in each state.
• Capture operation
The result of boundary-scan test or the fixed data defined for each register is sampled. As a register opera-
tion, data input is latched into the shift register stage.
• Shift operation
The register is accessed from outside through the boundary-scan path. The sample value is output to the
outside at the same time data is set from the outside. As a register operation, the bits are shifted right
between each shift register stage.
• Update operation
The data set from the outside during shifting is driven. As a register operation, the value set in the shift
register stage is transferred to the parallel output stage.
The JTAG interface undergoes transition of the internal state depending on JTMS input and on such state
transition, it performs the following two operations. In either case, the operation basically is performed in
order of Capture → Shift → Update.
• IR path sequence
Instruction code is set in the instruction register to select the data register to be operated on in the subse-
quent DR path sequence.
• DR path sequence
The state transition of the TAP Controller and the basic configuration of the JTAG related registers are shown below.
1 Test-Logic-Reset
0
1 1 1
0 Run-Test/Idle Select-DR-Scan Select-IR-Scan
0 0
1 1
Capture-DR Capture-IR
0 0
0 0
Shift-DR Shift-IR
1 1
1 1
Exit1-DR Exit1-IR
0 0
0 0
Pause-DR Pause-IR
1 1
0 0
Exit2-DR Exit2-IR
1 1
Update-DR Update-IR
1 0 1 0
Note: • The values (0 or 1) in this diagram denote the state of JTMS input signal.
Shift-DR or Shift-IR
Clock-DR or Clock-IR Parallel output stage
Update-DR or Update-IR
Instruction code is set in the Instruction Register (JTAGIR) to select the data register to be accessed in the
subsequent DR path sequence. The IR path sequence is performed following the procedure described below.
(1) From the Run-Test/Idle state, apply JTMS = "H" for a period of 2 JTCK cycles to enter the Select-IR-
Scan state.
(2) Apply JTMS = "L" to enter the Capture-IR state. At this time, b’110001 (fixed value) is set in the Instruc-
tion Register’s shift register stage.
(3) Proceed and apply JTMS = "L" to enter the Shift-IR state. In the Shift-IR state, the value of the shift
register stage is shifted right one bit every cycle, and the data b’110001 (fixed value) that was set in (2)
is serially output from the JTDO pin. At the same time, instruction code is set in the shift register stage bit
by bit as it is serially fed from the JTDI pin. Because the instruction code is set in the Instruction Register
that consists of 6 bits, the Shift-IR state must be continued for a period of 6 JTCK cycles. To stop the
shift operation in the middle of the execution, enter the Pause-IR state via the Exit1-IR state (by setting
JTMS input from "H" to "L"). To return from the Pause-IR state, enter the Shift-IR state via the Exit2-IR
state (by setting JTMS input from "H" to "L").
(4) Apply JTMS = "H" to move from the Shift-IR state to the Exit1-IR state. This completes the shift operation.
(5) Proceed and apply JTMS = "H" to enter the Update-IR state. In the Update-IR state, the instruction code
that was set in the Instruction Register’s shift register stage is transferred to the Instruction Register’s
parallel output stage, and decoding of JTAG instruction is thereby started.
(6) Proceed and apply JTMS = "H" to enter the Select-DR-Scan state or JTMS = "L" to enter the Run-Test/
Idle state.
JTDI input is sampled at rise of Instruction code is set in the parallel output
JTCK in the Shift-IR state. stage at fall of JTCK in the Update-IR state.
JTCK
JTMS
Select-DR-Scan
Select-IR-Scan
Run-Test/Idle
Run-Test/Idle
Capture-IR
Update-IR
Exit1-IR
Shift-IR
TAP
states
JTDO is output at fall of Shift output from the instruction Finished storing instruction code in the
JTCK in the Shift-IR state. register is fixed to b'110001. instruction register's shift register stage.
Data inspection or setting is performed for the data register selected in the IR path sequence prior to the DR
path sequence. The DR path sequence is performed following the procedure described below.
(1) From the Run-Test/Idle state, apply JTMS = "H" for a period of 1 JTCK cycle to enter the Select-DR-Scan
state. Which data register will be selected at this time depends on the instruction that was set during the
IR path sequence performed prior to the DR path sequence.
(2) Apply JTMS = "L" to enter the Capture-DR state. At this time, the result of boundary-scan test or the fixed
data defined for each register is set in the data register’s shift register stage.
(3) Proceed and apply JTMS = "L" to enter the Shift-DR state. In the Shift-DR state, the DR value is shifted
right one bit every cycle, and the data that was set in (2) is serially output from the JTDO pin. At the same
time, setup data is set in the data register’s shift register stage bit by bit as it is serially fed from the JTDI
pin. By continuing the Shift-IR state as long as the number of bits that comprise the selected data register
(by applying JTMS = "L"), all bits of data can be set in and read out from the shift register stage. To stop
the shift operation in the middle of the execution, enter the Pause-DR state via the Exit1-DR state (by
setting JTMS input from "H" to "L"). To return from the Pause-DR state, enter the Shift-DR state via the
Exit2-DR state (by setting JTMS input from "H" to "L").
(4) Apply JTMS = "H" to move from the Shift-DR state to the Exit1-DR state. This completes the shift operation.
(5) Proceed and apply JTMS = "H" to enter the Update-DR state. In the Update-DR state, the data that was
set in the data register’s shift register stage is transferred to the parallel output stage, and the setup data
is thereby made ready for use.
(6) Proceed and apply JTMS = "H" to enter the Select-DR-Scan state or JTMS = "L" to enter the Run-Test/Idle state.
JTDI input is sampled at rise of Setup data is set in the parallel output stage
JTCK in the Shift-DR state. at fall of JTCK in the Update-DR state.
JTCK
JTMS
Select-DR-Scan
Run-Test/Idle
Run-Test/Idle
Capture-DR
Update-DR
Shift-DR
Exit1-DR
TAP
states
Note: • Because all bits in the data register's shift register stage also are shifted right, data is output from JTDO
beginning with the LSB. Similarly, data is supplied to JTDI beginning with the LSB.
To inspect or set the data register, follow the procedure described below.
(1) To access the test access port (JTAG) for the first time, apply a test reset (to initialize the test circuit).
One of the following two methods may be used to apply a test reset:
(2) Apply JTMS = "L" to enter the Run-Test/Idle state. To continue the idle state, hold JTMS input "L".
(3) Apply JTMS = "H" to exit the Run-Test/Idle state and perform IR path sequence. In the IR path se-
quence, specify the data register to inspect or set.
(4) Proceed to perform DR path sequence. Feed setup data from the JTDI pin into the data register speci-
fied in the IR path sequence, and read out reference data from the JTDO pin.
(5) To proceed to perform IR path or DR path sequence after the DR path sequence is completed, apply
JTMS = "H" to return to the Select-DR-Scan state.
To wait for the next processing after a series of IR and DR sequence processing is completed, apply
JTMS = "L" to enter the Run-Test/Idle state and keep that state.
Instruction Instruction
code Setup data code
Setup data
JTDI
#0 #0 #1 #1
(Note 1)
Specify the data register Setup data is serially fed from JTDI.
to inspect or set. Reference data is serially output from JTDO.
Fixed value
JTDO (Note 3) (Note 3) (Note 3)
b'110001
(Note 2)
Specify the data register The same data register can be successively
to inspect or set. operated on to set or inspect.
The logical port description assigns meaningful symbol names to each pin on the chip. The logic type of
each pin, whether input, output, input/output, buffer or link, that defines the logical direction of signal flow is
determined here.
The physical pin map correlates the chip’s logical ports to the physical pins on each package. By using
separate names for each map, it is possible to define two or more physical pin maps in one BSDL descrip-
tion.
The instruction set statement writes bit patterns to be shifted in into the chip’s instruction register. This bit
pattern is necessary to place the chip into each test mode defined in standards. Instructions exclusive to the
chip can also be written.
The boundary register description is a list of boundary register cells or shift stages. Each cell is assigned a
separate number. The cell with number 0 is located nearest to the test data output (JTDO) pin, and the cell
with the largest number is located nearest to the test data input (JTDI) pin. Cells also contain related other
information which includes cell type, logical port corresponding to the cell, logical function of the cell, safety
value, control cell number, disable value and result value.
Note: • Boundary Scan Description Language (BSDL) can be downloaded from Renesas Technology
Website after mass production.
JTAG tool
VCCE(5V) SDI connector (JTAG connector)
M32R/ECU Power
10kΩ
(Note 1) 33Ω RESET
RESET# (Note 2)
10kΩ
33Ω TDO
JTDO
10kΩ
33Ω TDI
JTDI
10kΩ
33Ω TMS
JTMS
10kΩ
33Ω TCK
JTCK
33Ω TRST
JTRST
2kΩ
0.1µF GND
VSS
User board
Make sure wiring lengths are the same, and avoid bending wires as much as possible.
Be careful not to use through-holes within the wiring.
Note 1: The RESET# related circuit and resistance-capacitance values must be determined depending on
the user board's system design conditions and the microcomputer's operating conditions.
Note 2: N-channel open-drain output is recommended for the RESET output of JTAG tools. For details, see JTAG tool specifications.
Notes: • Only if the JTRST pin is firmly tied to ground, the JTDO, JTDI, JTMS and JTCLK pins can be processed by either pullup or pulldown.
• Each of these pins must always be processed even when not using JTAG tools.
The same pullup/pulldown resistance values as when using JTAG tools may be used.
VCCE(5V)
M32R/ECU
0–100kΩ
JTDO
0–100kΩ
JTDI
0–100kΩ
JTMS
0–100kΩ
JTCK
JTRST
0–100kΩ
User board
Note: • Only if the JTRST pin is firmly tied to ground, the JTDO, JTDI, JTMS and JTCLK pins can be
processed by either pullup or pulldown.
VCCE
I/O Control Circuit
VCCER
(65pin) Internal Voltage Generator Circuit
Main VDC
VCC-BUS
External Bus
EXCVDD
(Note 1)
CPU
Internal Flash
(Note 1) EXCVCC Memory
AVCC0
A/D Converter
Circuit
Note 1: Do not apply power voltage to the EXCVDD and EXCVCC pins.
Refer to Chapter 23, "ELECTRICAL CHARACTERISTICS" for external
capacitance of power suppy.
Figure 22.1.1 Configuration of the Power Supply Circuit (VCCE = 5.0 V or 3.3 V)
32192/32195/32196 Group Hardware Manual 22-2
Rev.1.10 REJ09B0123-0110 Apr.06.07
POWER SUPPLY CIRCUIT
22 22.2 Power-On Sequence
The diagram below shows a turn-on sequence of the power supply (5.0 V or 3.3 V) when not using RAM
backup.
VCCE, VCCER,
VCC-BUS, VDDE 0V
AVCC0 0V
VREF0 0V
(Note 1)
RESET# 0V
Note 1: After turning on all power supplies and holding the RESET# pin "L" for an oscillation stabilization time, release the
RESET# pin back "H" (to exit the reset state).
Notes: • Power-on limitation
VDDE>=VCCER
In addtion, when VDDE is more than 3.0V, it is not problem even if it cannot fulfill a restrictions (VDDE>=VCCER).
• However, if it cannot fulfill a restrictions (VDDE>=VCCER) when Power-On, sufficient evaluation must be made
during system design in order to ensure that no power will be applied to the microcomputer with a potential difference
of 1 V or more.
For potential differences 0 V to 0.6 V, there is almost no in-flow current. The amount of in-flow current begins to
increase when the potential difference exceeds 0.6 V.
The diagram below shows a turn-on sequence of the power supply (5.0 V or 3.3 V) when using RAM backup.
VCCE, VCCER,
VCC-BUS 0V
AVCC0
0V
VREF0 0V
(Note 1)
RESET# 0V
(Note 2)
VDDE 3.0V
0V
Note 1: After turning on all power supplies and holding the RESET# pin "L" for an oscillation stabilization time, release
the RESET# pin back "H" (to exit the reset state).
Note 2: Because of RAM backup, it is assumed that VDDE is 3.0 V or more. The diagram here is shown for the VCCE =
5 V or 3.3 V case.
Notes: • Power-on limitation
VDDE>=VCCER
In addtion, when VDDE is more than 3.0V, it is not problem even if it cannot fulfill a restrictions (VDDE>=VCCER).
• However, if it cannot fulfill a restrictions (VDDE>=VCCER) when Power-On, sufficient evaluation must be made
during system design in order to ensure that no power will be applied to the microcomputer with a potential difference
of 1 V or more.
For potential differences 0 V to 0.6 V, there is almost no in-flow current. The amount of in-flow current begins to
increase when the potential difference exceeds 0.6 V.
The diagram below shows a turn-off sequence of the power supply (5.0 V or 3.3 V) when not using RAM
backup.
VCCE, VCCER,
VCC-BUS
0V
AVCC0
0V
VREF0
(Note 1) 0V
RESET#
0V
VDDE
0V
Note 1: Wait until the RESET# pin goes "L" before turning the power supply off.
Notes: • Power-off limitation
VDDE>=VCCER
In addtion, when VDDE is more than 3.0V, it is not problem even if it cannot fulfill a restrictions (VDDE>=VCCER).
• However, if it cannot fulfill a restrictions (VDDE>=VCCER) when Power-On, sufficient evaluation must be made
during system design in order to ensure that no power will be applied to the microcomputer with a potential difference
of 1 V or more.
For potential differences 0 V to 0.6 V, there is almost no in-flow current. The amount of in-flow current begins to
increase when the potential difference exceeds 0.6 V.
The diagram below shows a turn-off sequence of the power supply (VCCE = VDDE = 5.0 V or 3.3 V) when
using RAM backup with HREQ function.
VCCE, VCCER,
VCC-BUS
0V
AVCC0
0V
VREF0
(Note 1) 0V
P72/HREQ# (Note 2)
0V
RESET# (Note 3)
0V
(Note 4)
VDDE
3V
Note 1: Pull the HREQ# input pin "L" to halt the CPU at the end of the bus cycle.
Or disable RAM access in software. P72 can be used as HREQ# irrespective of the operation mode.
However, HREQ# must be selected with the Port Operation Mode Register for P72.
Note 2: Pull the RESET# input pin "L" while the CPU is halted or RAM access is disabled.
Note 3: Wait until the RESET# pin goes "L" before turning the power supply off.
Note 4: Lower the VDDE voltage to 3.0 V as necessary.
Notes: • Power-off limitation
VDDE>=VCCER
In addtion, when VDDE is more than 3.0V, it is not problem even if it cannot fulfill a restrictions (VDDE>=VCCER).
• However, if it cannot fulfill a restrictions (VDDE>=VCCER) when Power-On, sufficient evaluation must be made
during system design in order to ensure that no power will be applied to the microcomputer with a potential difference
of 1 V or more.
For potential differences 0 V to 0.6 V, there is almost no in-flow current. The amount of in-flow current begins to
increase when the potential difference exceeds 0.6 V.
Figure 22.3.2 Power-Off Sequence when Using RAM Backup (VCCE = VDDE = 5.0 V or 3.3 V)
Power-Off Sequence of the power supply (VCCE=5.0V, VDDE=3.3V) when RAM backup is used with operat-
ing the HREQ function is shown below.
VCCE, VCCER,
VCC-BUS
0V
AVCC0
0V
VREF0
(Note 1) 0V
P72/HREQ# (Note 2)
0V
RESET# (Note 3)
0V
(Note 4)
VDDE
3V
Note 1: Pull the HREQ# input pin "L" to halt the CPU at the end of the bus cycle.
Or disable RAM access in software. P72 can be used as HREQ# irrespective of the operation mode.
However, HREQ# must be selected with the Port Operation Mode Register for P72.
Note 2: Pull the RESET# input pin "L" while the CPU is halted or RAM access is disabled.
Note 3: Wait until the RESET# pin goes "L" before turning the power supply off.
Note 4: Lower the VDDE voltage from 5.0 V to 3.0 V as necessary.
Notes: • Power-off limitation
VDDE>=VCCER
In addtion, when VDDE is more than 3.0V, it is not problem even if it cannot fulfill a restrictions (VDDE>=VCCER).
• However, if it cannot fulfill a restrictions (VDDE>=VCCER) when Power-On, sufficient evaluation must be made
during system design in order to ensure that no power will be applied to the microcomputer with a potential difference
of 1 V or more.
For potential differences 0 V to 0.6 V, there is almost no in-flow current. The amount of in-flow current begins to
increase when the potential difference exceeds 0.6 V.
Figure 22.3.3 Power-Off Sequence when Using RAM Backup (VCCE = 5.0V, VDDE = 3.3 V)
VCCE
5V or 3.3V I/O Control Circuit
VCCER
(65pin) Internal Voltage Generator Circuit
5V or 3.3V
Main VDC
VCC-BUS
External Bus
5V or 3.3V
(Note 1)
(Note 2) EXCVDD
CPU
Internal Flash
(Note 2) EXCVCC Memory
AVCC0
A/D Converter
5V or 3.3V Circuit
Note 1: When the microcomputer is ready to operate, it automatically changes to the main VDC.
Note 2: Do not apply power supply voltage to EXCVDD pin and EXCVCC pin. Refer to Chapter
23, "ELECTRICAL CHARACTERISTICS" for external capacitance of power supply.
VCCE
0V I/O Control Circuit
VCCER
(65pin) Internal Voltage Generator Circuit
0V
Main VDC
VCC-BUS
External Bus
0V
(Note 1)
(Note 2) EXCVDD
CPU
Internal Flash
(Note 2) EXCVCC Memory
AVCC0
A/D Converter
0V Circuit
Note 1: During RAM backup mode, it automatically changes to the sub VDC, allowing to save
on power consumption in the chip.
Note 2: Do not apply power supply voltage to EXCVDD pin and EXCVCC pin. Refer to Chapter
23, "ELECTRICAL CHARACTERISTICS" for external capacitance of power supply.
20MHz 5.0V±0.5V -40°C to 85°C 23.2 23.3 23.7 23.8 23.9 (Note 1)
5.0V±0.5V -40°C to 85°C 23.2 23.3 23.7 23.8 23.9 (Note 2)
3.3V±0.3V
-40°C to 105°C 23.2 23.3 23.7 23.8 23.9 (Note 2)
5.0V±0.5V -40°C to 85°C 23.2 23.5 23.7 23.8 23.10 (Note 2)
3.3V±0.3V -40°C to 105°C 23.2 23.5 23.7 23.8 23.10 (Note 1)
3.3V±0.3V
-40°C to 85°C 23.2 23.5 23.7 23.8 23.10 (Note 1)
16MHz 5.0V±0.5V -40°C to 85°C 23.2 23.4 23.7 23.8 23.9 (Note 1)
-40°C to 85°C 23.2 23.4 23.7 23.8 23.9 (Note 2)
5.0V±0.5V
3.3V±0.3V -40°C to 105°C 23.2 23.4 23.7 23.8 23.9 (Note 2)
-40°C to 125°C 23.2 23.4 23.7 23.8 23.9 (Note 2)
5.0V±0.5V -40°C to 85°C 23.2 23.6 23.7 23.8 23.10 (Note 2)
-40°C to 85°C 23.2 23.6 23.7 23.8 23.10 (Note 1)
3.3V±0.3V
3.3V±0.3V -40°C to 105°C 23.2 23.6 23.7 23.8 23.10 (Note 1)
-40°C to 125°C 23.2 23.6 23.7 23.8 23.10 (Note 1)
Note 1: If not specified, VCCE=VCC-BUS=VDDE=VCCER
Note 2: If not specified, VCCE=VCC-BUS=VDDE
Note 1: This does not guarantee that the microcomputer can operate continuously at 85°C-plus. Consult Renesas if the
microcomputer is going to be used for 85°C-plus applications.
Note 2: The following ports below operate not with VCCE power supply but with VCC-BUS power supply, so that a regulation
value serves as VCC-BUS standard.
P00–P07, P10–P17, P20–P27, P30–P37, P41–P47, P150, P153, P220, P221, P224, P225, XIN, XOUT
A/D Conversion Characteristics (In case if VCCE,VCCER,VCC-BUS,VDDE,Ta are not specified refer-
enced to "23.1 Adapted Table.")
Symbol Parameter Test Condition Rated Value Unit
MIN TYP MAX
– Resolution VREF=VCCE=AVCC 10 bits
– Absolute Normal speed ±2
Slow mode
Accuracy Double speed ±2
Invalid S&H
(Note 1) Normal speed ±3
Fast mode
Double speed ±3
LSB
Valid normal Normal speed ±2
Slow mode
S&H, invalid Double speed ±2
synchronous Normal speed ±3
Fast mode
S&H Double speed ±3
Valid fast Normal speed ±3
Slow mode
S&H, invalid Double speed ±3
synchronous Normal speed ±3
Fast mode
S&H Double speed ±8
Valid normal Normal speed ±3
Slow mode
S&H, valid Double speed ±3
synchronous Normal speed ±3
Fast mode
S&H Double speed ±3
Valid fast Normal speed ±3
Slow mode
S&H and Double speed ±3
synchronous Normal speed ±3
Fast mode
S&H Double speed ±8
TCONV Conversion Normal speed 14.95
Invalid S&H Slow mode
Time Double speed 8.65
or valid
Normal speed 6.55
normal S&H Fast mode
Double speed 4.45
µs
Normal speed 9.55
Slow mode
Valid fast Double speed 5.05
S&H Normal speed 4.75
Fast mode
Double speed 2.65
IIAN Analog Input Leakage Current (Note 2) AVSS ≤ ADiINn ≤ AVCC -5 5 µA
Note 1: Absolute accuracy refers to the accuracy of output code relative to the analog input including all error sources
(including quantization error) in an A/D converter, and is calculated using the equation below.
Absolute accuracy = output code - (analog input voltage ADiINn / 1 LSB)
When AVCC = AVREF = 5.12 V, 1 LSB = 5 mV.
Note 2: This refers to the input leakage current on ADiINn while the A/D converter remains idle.
Notes: • S&H stands for Sample and Hold
• It is A/D Conversion Characteristics when in 2BCLK mode and VCCE=VCC-BUS=VDDE=5.12V, VCCER=5.12V or 3.072V.
Recommended Operating Conditions (In case if VCCE,VCCER,VCC-BUS,VDDE,Ta are not specified ref-
erenced to "23.1 Adapted Table.")
Symbol Parameter Rated Value Unit
MIN TYP MAX
VCCE Main Power Supply (Note 1) 4.5 5.0 5.5 V
Power Supply for the Internal Voltage Generator Circuit 3.0 3.3 3.6 V
VCCER
(Note 1)(Note 2) 4.5 5.0 5.5 V
VCC-BUS Bus Power Supply (Note 1) 4.5 5.0 5.5 V
VDDE RAM Power Supply (Note 1) 4.5 5.0 5.5 V
AVCC Analog Power Supply (Note 1) 4.5 5.0 5.5 V
VREF Reference Voltage Input (Note 1) 4.5 5.0 5.5 V
VIH Input "H" Threshold When Threshold selection
0.45VCCE VCCE V
Voltage switching CMOS input : 0.35VCCE
(Note 3) function is selected Threshold selection
0.6VCCE VCCE V
(multipurpose : 0.5VCCE
port function Threshold selection
0.8VCCE VCCE V
pin) : 0.7VCCE
When VT+/VT-
0.6VCCE VCCE V
Schmitt input : 0.5VCCE/0.35VCCE
is selected VT+/VT-
0.8VCCE VCCE V
: 0.7VCCE/0.35VCCE
VT+/VT-
0.8VCCE VCCE V
: 0.7VCCE/0.5VCCE
FP, MOD0, MOD1, JTMS, JTRST, JTCK/NBDCLK,
0.8VCCE VCCE V
JTDI/NBDSYNC#, RESET#
Standard input for the following pins: RTDCLK,
RTDRXD, SCLKI0, SCLKI1, SCLKI4, SCLKI5, RXD0–
0.8VCCE VCCE V
RXD5, TCLK0–TCLK3, TIN0, TIN3, TIN16–TIN26,
CRX0, CRX1, NBDD0–NBDD3
Standard input for the following pins: DB0–DB15, WAIT#
0.43VCCE VCCE V
TIN4–TIN11, TIN30–TIN33
Standard input for the following pins: SBI#, HREQ#, TIN27 0.6VCCE VCCE V
XIN threshold oscillation abort dection (Note 6) 0.65VCC-BUS VCC-BUS V
A/D Conversion Characteristics (In case if VCCE,VCCER,VCC-BUS,VDDE, Ta are not specified refer-
enced to "23.1 Adapted Table.")
Symbol Parameter Test Condition Rated Value Unit
MIN TYP MAX
– Resolution VREF=VCCE=AVCC 10 bits
– Absolute Normal speed ±2
Slow mode
Accuracy Double speed ±2
Invalid S&H
(Note 1) Normal speed ±3
Fast mode
Double speed ±3
LSB
Valid normal Normal speed ±2
Slow mode
S&H, invalid Double speed ±2
synchronous Normal speed ±3
Fast mode
S&H Double speed ±3
Valid fast Normal speed ±3
Slow mode
S&H, invalid Double speed ±3
synchronous Normal speed ±3
Fast mode
S&H Double speed ±8
Valid normal Normal speed ±3
Slow mode
S&H, valid Double speed ±3
synchronous Normal speed ±3
Fast mode
S&H Double speed ±3
Valid fast Normal speed ±3
Slow mode
S&H and Double speed ±3
synchronous Normal speed ±3
Fast mode
S&H Double speed ±8
TCONV Conversion Normal speed 18.6875
Invalid S&H Slow mode
Time Double speed 10.8125
or valid
Normal speed 8.1875
normal S&H Fast mode
Double speed 5.5625
µs
Normal speed 11.9375
Slow mode
Valid fast Double speed 6.3125
S&H Normal speed 5.9375
Fast mode
Double speed 3.3125
IIAN Analog Input Leakage Current (Note 2) AVSS ≤ ADiINn ≤ AVCC -5 5 µA
Note 1: Absolute accuracy refers to the accuracy of output code relative to the analog input including all error sources
(including quantization error) in an A/D converter, and is calculated using the equation below.
Absolute accuracy = output code - (analog input voltage ADiINn / 1 LSB)
When AVCC = AVREF = 5.12 V, 1 LSB = 5 mV.
Note 2: This refers to the input leakage current on ADiINn while the A/D converter remains idle.
Notes: • S&H stands for Sample and Hold
• It is A/D Conversion Characteristics when in 2BCLK mode and VCCE=VCC-BUS=VDDE=5.12V, VCCER=5.12V or 3.072V.
Recommended Operating Conditions (In case if VCCE,VCCER,VCC-BUS,VDDE,Ta are not specified ref-
erenced to "23.1 Adapted Table.")
Symbol Parameter Rated Value Unit
MIN TYP MAX
VCCE Main Power Supply (Note 1) 3.0 3.3 3.6 V
Power Supply for the Internal Voltage Generator Circuit 3.0 3.3 3.6 V
VCCER
(Note 1)(Note 2) 4.5 5.0 5.5 V
VCC-BUS Bus Power Supply (Note 1) 3.0 VCCE 3.6 V
VDDE RAM Power Supply (Note 1) 3.0 VCCE 3.6 V
AVCC Analog Power Supply (Note 1) 3.0 VCCE 3.6 V
VREF Reference Voltage Input (Note 1) 3.0 VCCE 3.6 V
VIH Input "H" Threshold When Threshold selection
0.5VCCE VCCE V
Voltage switching CMOS input : 0.35VCCE
(Note 3) function is selected Threshold selection
0.65VCCE VCCE V
(multipurpose : 0.5VCCE
port function Threshold selection
0.8VCCE VCCE V
pin) : 0.7VCCE
When VT+/VT-
0.65VCCE VCCE V
Schmitt input : 0.5VCCE/0.35VCCE
is selected VT+/VT-
0.8VCCE VCCE V
: 0.7VCCE/0.35VCCE
VT+/VT-
0.8VCCE VCCE V
: 0.7VCCE/0.5VCCE
FP, MOD0, MOD1, JTMS, JTRST, JTCK/ NBDCLK,
0.8VCCE VCCE V
JTDI/NBDSYNC#, RESET#
Standard input for the following pins: RTDCLK,
RTDRXD, SCLKI0, SCLKI1, SCLKI4, SCLKI5, RXD0–
0.8VCCE VCCE V
RXD5, TCLK0–TCLK3, TIN0, TIN3, TIN16–TIN26,
CRX0, CRX1, NBDD0–NBDD3
Standard input for the following pins: DB0–B15, WAIT#
0.5VCCE VCCE V
TIN4–TIN11, TIN30–TIN33
Standard input for the following pins: SBI#, HREQ#, TIN27 0.65VCCE VCCE V
XIN threshold oscillation abort dection (Note 6) 0.65VCC-BUS VCC-BUS V
23.5.3 A/D Conversion Characteristics (when VCCE = 3.3 V ± 0.3 V, f(XIN) = 20 MHz)
A/D Conversion Characteristics (In case if VCCE,VCCER,VCC-BUS,VDDE,Ta are not specified refer-
enced to "23.1 Adapted Table.")
Symbol Parameter Test Condition Rated Value Unit
MIN TYP MAX
– Resolution VREF=VCCE=AVCC 10 bits
– Absolute Normal speed ±4
Slow mode
Accuracy Double speed ±4
Invalid S&H
(Note 1) Normal speed ±6
Fast mode
Double speed ±16
LSB
Valid normal Normal speed ±4
Slow mode
S&H, invalid Double speed ±4
synchronous Normal speed ±6
Fast mode
S&H Double speed ±16
Valid fast Normal speed ±4
Slow mode
S&H, invalid Double speed ±16
synchronous Normal speed ±16
Fast mode
S&H Double speed ±48
Valid normal Normal speed ±4
Slow mode
S&H, valid Double speed ±4
synchronous Normal speed ±6
Fast mode
S&H Double speed ±16
Valid fast Normal speed ±4
Slow mode
S&H and Double speed ±16
synchronous Normal speed ±16
Fast mode
S&H Double speed ±48
TCONV Conversion Normal speed 14.95
Invalid S&H Slow mode
Time Double speed 8.65
or valid
Normal speed 6.55
normal S&H Fast mode
Double speed 4.45
µs
Normal speed 9.55
Slow mode
Valid fast Double speed 5.05
S&H Normal speed 4.75
Fast mode
Double speed 2.65
IIAN Analog Input Leakage Current (Note 2) AVSS ≤ ADiINn ≤ AVCC -5 5 µA
Note 1: Absolute accuracy refers to the accuracy of output code relative to the analog input including all error sources
(including quantization error) in an A/D converter, and is calculated using the equation below.
Absolute accuracy = output code - (analog input voltage ADiINn / 1 LSB)
When AVCC = AVREF = 3.072 V, 1 LSB = 3 mV.
Note 2: This refers to the input leakage current on ADiINn while the A/D converter remains idle.
Notes: • S&H stands for Sample and Hold
• It is A/D Conversion Characteristics when in 2BCLK mode and VCCE=VCC-BUS=VDDE=3.072V, VCCER=5.12V or 3.072V.
Recommended Operating Conditions (In case if VCCE,VCCER,VCC-BUS,VDDE,Ta are not specified ref-
erenced to "23.1 Adapted Table.")
Symbol Parameter Rated Value Unit
MIN TYP MAX
VCCE Main Power Supply (Note 1) 3.0 3.3 3.6 V
Power Supply for the Internal Voltage Generator Circuit 3.0 3.3 3.6 V
VCCER
(Note 1)(Note 2) 4.5 5.0 5.5 V
VCC-BUS Bus Power Supply (Note 1) 3.0 VCCE 3.6 V
VDDE RAM Power Supply (Note 1) 3.0 VCCE 3.6 V
AVCC Analog Power Supply (Note 1) 3.0 VCCE 3.6 V
VREF Reference Voltage Input (Note 1) 3.0 VCCE 3.6 V
VIH Input "H" Threshold When Threshold selection
0.5VCCE VCCE V
Voltage switching CMOS input : 0.35VCCE
(Note 3) function is selected Threshold selection
0.65VCCE VCCE V
(multipurpose : 0.5VCCE
port function Threshold selection
0.8VCCE VCCE V
pin) : 0.7VCCE
When VT+/VT-
0.65VCCE VCCE V
Schmitt input : 0.5VCCE/0.35VCCE
is selected VT+/VT-
0.8VCCE VCCE V
: 0.7VCCE/0.35VCCE
VT+/VT-
0.8VCCE VCCE V
: 0.7VCCE/0.5VCCE
FP, MOD0, MOD1, JTMS, JTRST, JTCK/NBDCLK,
0.8VCCE VCCE V
JTDI/NBDSYNC#, RESET#
Standard input for the following pins: RTDCLK,
RTDRXD, SCLKI0, SCLKI1, SCLKI4, SCLKI5, RXD0–
0.8VCCE VCCE V
RXD5, TCLK0–TCLK3, TIN0, TIN3, TIN16–TIN26,
CRX0, CRX1, NBDD0–NBDD3
Standard input for the following pins: DB0–B15, WAIT#
0.5VCCE VCCE V
TIN4–TIN11, TIN30–TIN33
Standard input for the following pins: SBI#, HREQ#, TIN27 0.65VCCE VCCE V
XIN threshold oscillation abort dection (Note 6) 0.65VCC-BUS VCC-BUS V
23.6.3 A/D Conversion Characteristics (when VCCE = 3.3 V ± 0.3 V, f(XIN) = 8 MHz)
A/D Conversion Characteristics (In case if VCCE,VCCER,VCC-BUS,VDDE,Ta are not specified refer-
enced to "23.1 Adapted Table.")
Symbol Parameter Test Condition Rated Value Unit
MIN TYP MAX
– Resolution VREF=VCCE=AVCC 10 bits
– Absolute Normal speed ±4
Slow mode
Accuracy Invalid S&H Double speed ±4
(Note 1) Normal speed ±6
Fast mode
Double speed ±16
LSB
Valid normal Normal speed ±4
Slow mode
S&H, invalid Double speed ±4
synchronous Normal speed ±6
Fast mode
S&H Double speed ±16
Valid fast Normal speed ±4
Slow mode
S&H, invalid Double speed ±16
synchronous Normal speed ±16
Fast mode
S&H Double speed ±48
Valid normal Normal speed ±4
Slow mode
S&H, valid Double speed ±4
synchronous Normal speed ±6
Fast mode
S&H Double speed ±16
Valid fast Normal speed ±4
Slow mode
S&H and Double speed ±16
synchronous Normal speed ±16
Fast mode
S&H Double speed ±48
TCONV Conversion Normal speed 18.6875
Invalid S&H Slow mode
Time Double speed 10.8125
or valid
Normal speed 8.1875
normal S&H Fast mode
Double speed 5.5625
µs
Normal speed 11.9375
Slow mode
Valid fast Double speed 6.3125
S&H Normal speed 5.9375
Fast mode
Double speed 3.3125
IIAN Analog Input Leakage Current (Note 2) AVSS ≤ ADiINn ≤ AVCC -5 5 µA
Note 1: Absolute accuracy refers to the accuracy of output code relative to the analog input including all error sources
(including quantization error) in an A/D converter, and is calculated using the equation below.
Absolute accuracy = output code - (analog input voltage ADiINn / 1 LSB)
When AVCC = AVREF = 3.072 V, 1 LSB = 3 mV.
Note 2: This refers to the input leakage current on ADiINn while the A/D converter remains idle.
Notes: • S&H stands for Sample and Hold
• It is A/D Conversion Characteristics when in 2BCLK mode and VCCE=VCC-BUS=VDDE=3.072V, VCCER=5.12V or 3.072V.
Measured pin
CMOS output
[115]
Input JTCK, JTDI, JTMS 10 ns
JTRST pin 2 ms
tf Low-ging NBDCLK, NBDD0-NBDD3 pins (input),
8 ns
(INPUT) Transition Time of NBDSYNC# pin
[116]
Input JTCK, JTDI, JTMS 10 ns
JTRST pin 2 ms
[119] tc(XIN)
XIN (Input)
0.5VCC-BUS 0.5VCC-BUS
(When using
oscillation circuit)
XIN (Input)
(When using 0.8VCC-BUS 0.8VCC-BUS
0.2VCC-BUS 0.2VCC-BUS 0.2VCC-BUS
external clock input)
(Note 1)
[124] tw(RESET)
Note 1: Make XOUT pin open and set parasitic capacity as 10pF or less.
The XDRV bit of clock control register (CLKCR) should be choosen B'11 (maximum).
0.8VCCE
BCLK
0.8VCCE 0.8VCCE
Port (Input) 0.2VCCE 0.2VCCE
[3] td(E-P)
0.8VCCE
Port (Output) 0.2VCCE
Note: • The ports listed below operate with the VCC-BUS power supply, and not with the VCCE power supply.
Therefore, the reference voltage for these ports is the VCC-BUS input voltage.
P00–P07, P10–P17, P20–P27, P30–P37, P41–P47, P70–P73, P224, P225
0.8VCCE
SCLKO 0.2VCCE
0.8VCCE
TXD 0.2VCCE
0.8VCCE 0.8VCCE
RXD 0.2VCCE 0.2VCCE
0.8VCCE
SCLKI 0.2VCCE
0.8VCCE
TXD 0.2VCCE
0.8VCCE 0.8VCCE
RXD 0.2VCCE 0.2VCCE
(6) SBI
Timing tc(BCLK)
tw(SBIL) SBI# Input Pulse Width 5× ns [13]
requirements 2
SBI#
0.2VCCE 0.2VCCE
[13] tw(SBIL)
(7) TIN
Note 1: TIN24, 25, PWMOFF0 are selected in TOU0 control register 1 (TOU0CR1) PRS3CKS bit, TIN26, 27, PWMOFF1 are
selected in TOU1 control register 1 (TOU1CR1) PRS4CKS bit, other TIN are selected in common count clock select
register (CNTCKSEL) PRS012CKS bit.
[14] tw(TIN)
0.8VCCE 0.8VCCE
TIN 0.2VCCE 0.2VCCE
(8)TO
BCLK 0.2VCC-BUS
[15] td(CLKOUT-TO)
0.8VCCE
TO 0.2VCCE
(9) TCLK
Note 1: Selected in common count clock select register (CNTCKSEL) PRS012CKS bit.
[99] tw(TCLKH)
0.8VCCE
TCLK 0.2VCCE
[100] tw(TCLKL)
[16] tc(CLKOUT)
[18] tw(CLKOUTL)
0.43VCC-BUS
CLKOUT 0.16VCC-BUS
[17] tw(CLKOUTH)
Address 0.43VCC-BUS
(A9–A30) 0.16VCC-BUS
[113] td(CLKOUTL-CSL)
CS# 0.43VCC-BUS
(Access area) 0.16VCC-BUS
[114] tw(CSH)
CS# 0.43VCC-BUS
(Non-access area)
RD# 0.16VCC-BUS
0.43VCC-BUS
WAIT# 0.16VCC-BUS
Notes: • For signal-to-signal timing, see Figure 23.9.12, "Read Timing (Relative to Read Pulse),"
and Figure 23.9.13, "Write Timing (Relative to Write Pulse)."
• When using the threshold switching function, the data input and WAIT# voltage levels are
determined with respect to the rated minimum and maximum values for VIH and VIL.
Figure 23.9.10 Read and Write Timing (Relative to CLKOUT) with 1 or More Wait States
[16] tc(CLKOUT)
[18] tw(CLKOUTL)
0.43VCC-BUS
CLKOUT
0.16VCC-BUS
[17] tw(CLKOUTH)
RD# 0.16VCC-BUS
BLW#
BHW# 0.16VCC-BUS
[28] tv(CLKOUTH-D)
Data output 0.43VCC-BUS
(DB0–DB15) [29] tpzx(CLKOUTL-DZ) 0.16VCC-BUS
[30] tpxz(CLKOUTH-DZ)
[27] td(CLKOUTL-D)
Note: • When using the threshold switching function, the voltage levels of data input and WAIT#
are determined with respect to the rated minimum and maximum values for VIH and VIL.
Figure 23.9.11 Read and Write Timing (Relative to CLKOUT) with Zero Wait State
td(CSL-BLWL) tc(CLKOUT)
Chip Select Delay Time before Write 2 (1+S) -15 ns [95]
td(CSL-BHWL)
tc(CLKOUT)
td(A-RDL) Address Delay Time before Read 2
(1+C+S)-15 ns [39]
tc(CLKOUT)
td(CS-RDL) Chip Select Delay Time before Read 2 (1+S) - 15 ns [40]
tv(RDH-A) Address Valid Time after Read tc(CLKOUT)(R+ID) ns [41]
tv(RDH-CS) Chip Select Valid Time after Read tc(CLKOUT) × R ns [42]
tpzx(RDH-DZ) Data Output Enable Time after Read tc(CLKOUT)( 12 +R+ID) ns [46]
td(A-BLWL) Address Delay Time before Write tc(CLKOUT)
2 (1+C+S)-15 ns [47]
td(A-BHWL) (byte write mode)
td(CS-BLWL) Chip Select Delay Time before Write tc(CLKOUT)
2 (1+S)-15 ns [48]
td(CS-BHWL) (byte write mode)
tv(BLWH-A) Address Valid Time after Write 0 wait state: -5
tv(BHWH-A) (byte write mode) 1-plus wait states: ns [49]
1
tc(CLKOUT)( 2 +R)-5
tv(BLWH-CS) Chip Select Valid Time after Write 0 wait state: -5
tv(BHWH-CS) (byte write mode) 1-plus wait states: ns [50]
1
tc(CLKOUT)( 2 +R)-5
td(BLWL-D) Data Output Delay Time after Write 0 wait state: 5
td(BHWL-D) (byte write mode) 1-plus wait states: ns [52]
tc(CLKOUT)
15 - 2 (S+C)
Note 1: Hold a level during tw(WAITH), tw(WAITL) from the position of the minimum value of tsu(WAITH-RDL), tsu(WAITL-
RDL), tsu(WAITH-BLWL), tsu(WAITH-BHWL), tsu(WAITL-BLWL), and tsu(WAITL-BHWL).
BLW# 0.43VCC-BUS
BHW# 0.16VCC-BUS
0.43VCC-BUS
Data input
0.16VCC-BUS
(DB0–DB15)
[44] tsu(D-RDH) [45] th(RDH-D)
[46] tpzx(RDH-DZ)
[132] tsu(WAITH-RDL)
[133] tw(WAITH)
WAIT#
Note: • When using the threshold switching function, the voltage levels of data input and WAIT#
are determined with respect to the rated minimum and maximum values for VIH and VIL.
[51] tw(BLWL)
tw(BHWL)
BLW# 0.43VCC-BUS
BHW# 0.16VCC-BUS 0.16VCC-BUS
0.43VCC-BUS
RD# 0.16VCC-BUS
Address 0.43VCC-BUS
(A9–A30) 0.16VCC-BUS
CS#
(Access area) 0.16VCC-BUS
CS# 0.43VCC-BUS
(Non-access area)
[135] tsu(WAITH-BHWL)
tsu(WAITL-BHWL)
tsu(WAITH-BLWL)
tsu(WAITL-BLWL)
[133] tw(WAITH)
[134] tw(WAITL)
WAIT#
tc(CLKOUT)
td(CSL-RDL) Chip select Dalay time before Read 2 (1+S)-16 ns [93]
[43] tw(RDL)
0.43VCCE
RD# 0.16VCCE
BLE#
BHE# 0.16VCCE
Address 0.43VCCE
(A12–A30) 0.16VCCE
CS#
(Access area) 0.16VCCE
CS# 0.43VCCE
(Non-Access area)
[46] tpzx(RDH-DZ)
(DB0–DB15) 0.16VCCE
2 (1+C+S)-15 ns [69]
(byte enable mode)
td(CS-WRL) Chip Select Delay Time before Write
tc(CLKOUT) (1+S) - 15 ns [70]
(byte enable mode) 2
tv(WRH-A) Address Valid Time after Write 0 wait state: -5
(byte enable mode) 1-plus wait states: ns [71]
1
tc(CLKOUT)( 2 +R) - 5
tv(WRH-CS) Chip Select Valid Time after Write 0 wait state: -5
(byte enable mode) 1-plus wait states: ns [72]
1
tc(CLKOUT)( 2 +R) - 5
td(BLEL-WRL) Byte Enable Delay Time before Write tc(CLKOUT)
(1+S) - 15 ns [73]
td(BHEL-WRL) (byte enable mode) 2
tv(WRH-BLEL) Byte Enable Valid Time after Write 0 wait state: -5
tv(WRH-BHEL) (byte enable mode) 1-plus wait states: ns [74]
1
tc(CLKOUT)( 2 +R) - 5
td(WRL-D) Data Output Delay Time after Write 0 wait state: 7
(byte enable mode) 1-plus wait states: ns [75]
tc(CLKOUT)
15 - 2 (S+C)
tv(WRH-D) Data Output Valid Time after Write 0 wait state : -7
(byte enable mode) 1-plus wait states: ns [76]
1
tc(CLKOUT)( 2 +R)-13
tpzx(WRH-DZ) Data Output Enable Time after Write 0 wait state:-20
ns [127]
(byte enable mode) 1-plus wait states:
tc(CLKOUT)
-22- 2 (S+C)
tpxz(WRH-DZ) Data Output Disable Time after Write 0 wait state: 5
(byte enable mode) 1-plus wait states: ns [77]
1
tc(CLKOUT)( 2 +R) + 5
[68] tw(WRL)
0.43VCC-BUS
WR# 0.16VCC-BUS
BLE#
0.16VCC-BUS
BHE#
Address 0.43VCC-BUS
(A9–A30) 0.16VCC-BUS
CS#
(Access area) 0.16VCC-BUS 0.16VCC-BUS
CS# 0.43VCC-BUS
(Non-access area)
0.43VCC-BUS
CLKOUT 0.16VCC-BUS
[35] tsu(HREQL-CLKOUTH)
[36] th(CLKOUTH-HREQL)
[38] tv(CLKOUTL-HACKL)
HACK#
0.16VCC-BUS 0.16VCC-BUS
[37] td(CLKOUTL-HACKL)
[60] tc(JTCK)
0.5VCCE
JTCK
[67] tw(JTRST)
JTRST 0.2VCCE
0.2VCCE
[82] tc(RTDCLK)
RTDACK 0.2VCCE
0.8VCCE
[87] td(RTDCLKH-RTDTXD)
0.8VCCE
RTDTXD 0.2VCCE
0.8VCCE 0.8VCCE
RTDRXD 0.2VCCE 0.2VCCE
after NBDCLK
NBDD Output Valid Time
tv(NBDCLKH-NBDD) CL=100pF 5 ns [106]
after NBDCLK
NBDD Output Disable Time
tpxz(NBDCLKH-NBDDZ) CL=100pF 60 ns [131]
after NBDCLK
tw(NBDEVNTL) NBDEVNT# Output "L" Pulse Width CL=100pF 30 ns [111]
NBDSYNC# 0.2VCCE
(input) 0.2VCCE
[111] tw(NBDEVNTL)
NBDEVNT#
(output) 0.2VCCE 0.2VCCE
tw(DIN) DIN Input pulse width DIN0, DIN1, DIN2, DIN3, DIN4 1.5 x tc(BCLK) ns [138]
tw(DIN) DIN Input pulse width DIN0, DIN1, DIN2, DIN3, DIN4 1.5 x tc(BCLK) ns [138]
tc(DCAP) Import period When Input data bus width is 8, 16 bit 2 x tc(BCLK) ns [139]
Set up time
b) Timing of Event detection (Edge interval that Event detection is not simultaneous in DRI)
0.8VCCE 0.8VCCE
DINi 0.2VCCE 0.2VCCE
0.8VCCE 0.8VCCE
DINj 0.2VCCE 0.2VCCE
0.8VCCE
DIN1 0.2VCCE
[143] tar [144] tbr [143] tar [144] tbr [143] tar [144] tbr [143] tar [144] tbr
0.8VCCE
DIN3 0.2VCCE
When Initializing level L by DIN1/ When Initializing level L by DIN1/ When Initializing level L by DIN1/ When Initializing level L by DIN1/
DIN3 rising edge are selected DIN3 falling edge are selected DIN3 rising edge are selected DIN3 falling edge are selected
CMOS output
[115]
Input JTCK, JTDI, JTMS 10 ns
JTRST pin 2 ms
tf Low-ging NBDCLK, NBDD0-NBDD3 pins (input),
8 ns
(INPUT) Transition Time of NBDSYNC# pin
[116]
Input JTCK, JTDI, JTMS 10 ns
JTRST pin 2 ms
[119] tc(XIN)
XIN (Input)
0.5VCC-BUS 0.5VCC-BUS
(When using
oscillation circuit)
XIN (Input)
(When using 0.8VCC-BUS 0.8VCC-BUS
0.2VCC-BUS 0.2VCC-BUS 0.2VCC-BUS
external clock input)
(Note 1)
[124] tw(RESET)
Note 1: Make XOUT pin open and set parasitic capacity as 10pF or less.
The XDRV bit of clock control register (CLKCR) should be choosen B'11 (maximum).
0.8VCCE
BCLK
0.8VCCE 0.8VCCE
Port (Input) 0.2VCCE 0.2VCCE
[3] td(E-P)
0.8VCCE
Port (Output) 0.2VCCE
Note: • The ports listed below operate with the VCC-BUS power supply, and not with the VCCE power supply.
Therefore, the reference voltage for these ports is the VCC-BUS input voltage.
P00–P07, P10–P17, P20–P27, P30–P37, P41–P47, P70–P73, P224, P225
0.8VCCE
SCLKO 0.2VCCE
0.8VCCE
TXD 0.2VCCE
0.8VCCE 0.8VCCE
RXD 0.2VCCE 0.2VCCE
0.8VCCE
SCLKI 0.2VCCE
0.8VCCE
TXD 0.2VCCE
0.8VCCE 0.8VCCE
RXD 0.2VCCE 0.2VCCE
(6) SBI
Timing tc(BCLK)
tw(SBIL) SBI# Input Pulse Width 5× ns [13]
requirements 2
SBI#
0.2VCCE 0.2VCCE
[13] tw(SBIL)
(7) TIN
Note 1: TIN24, 25, PWMOFF0 are selected in TOU0 control register 1 (TOU0CR1) PRS3CKS bit, TIN26, 27, PWMOFF1 are
selected in TOU1 control register 1 (TOU1CR1) PRS4CKS bit, other TIN are selected in common count clock select
register (CNTCKSEL) PR012CKS bit.
[14] tw(TIN)
0.8VCCE 0.8VCCE
TIN 0.2VCCE 0.2VCCE
(8)TO
BCLK 0.2VCC-BUS
[15] td(CLKOUT-TO)
0.8VCCE
TO 0.2VCCE
(9) TCLK
Note 1: Selected in common count clock select register (CNTCKSEL) PRS012CKS bit.
[99] tw(TCLKH)
0.8VCCE
TCLK 0.2VCCE
[100] tw(TCLKL)
[16] tc(CLKOUT)
[18] tw(CLKOUTL)
0.43VCC-BUS
CLKOUT 0.16VCC-BUS
[17] tw(CLKOUTH)
Address 0.43VCC-BUS
(A9–A30) 0.16VCC-BUS
[113] td(CLKOUTL-CSL)
CS# 0.43VCC-BUS
(Access area) 0.16VCC-BUS
[114] tw(CSH)
CS# 0.43VCC-BUS
(Non-access area)
RD# 0.16VCC-BUS
0.43VCC-BUS
WAIT# 0.16VCC-BUS
Notes: • For signal-to-signal timing, see Figure 23.10.12, "Read Timing (Relative to Read Pulse),"
and Figure 23.10.13, "Write Timing (Relative to Write Pulse)."
• When using the threshold switching function, the data input and WAIT# voltage levels are
determined with respect to the rated minimum and maximum values for VIH and VIL.
Figure 23.10.10 Read and Write Timing (Relative to CLKOUT) with 1 or More Wait States
[16] tc(CLKOUT)
[18] tw(CLKOUTL)
0.43VCC-BUS
CLKOUT
0.16VCC-BUS
[17] tw(CLKOUTH)
RD# 0.16VCC-BUS
BLW#
BHW# 0.16VCC-BUS
[28] tv(CLKOUTH-D)
Data output 0.43VCC-BUS
(DB0–DB15) [29] tpzx(CLKOUTL-DZ) 0.16VCC-BUS
[30] tpxz(CLKOUTH-DZ)
[27] td(CLKOUTL-D)
Note: • When using the threshold switching function, the voltage levels of data input and WAIT#
are determined with respect to the rated minimum and maximum values for VIH and VIL.
Figure 23.10.11 Read and Write Timing (Relative to CLKOUT) with Zero Wait State
tsu(WAITH-RDL)
Data Input Setup Time before Read tc(CLKOUT) + 21 ns [132]
tsu(WAITL-RDL)
tw(WAITH) Wait "H" Pulse Width (Note 1) 26 ns [133]
tw(WAITL) Wait "L" Pulse Width (Note 1) 26 ns [134]
tsu(WAITH-BLWL) ns [135]
tsu(WAITH-BHWL) Wait Input Setup Time before Write tc(CLKOUT)
2 + 21
tsu(WAITL-BLWL) (byte write mode)
tsu(WAITL-BHWL)
tc(CLKOUT)
tw(RDH) Read "H" Pulse Width 2
(1+C+S) - 5 ns [55]
tc(CLKOUT)
tw(RDL) Read "L" Pulse Width (1+2W-C-S)-20 ns [43]
2
tw(BLWL) Write "L" Pulse Width 0 wait state:
tw(BHWL) (byte write mode) tc(CLKOUT) - 11
2 ns [51]
1-plus wait states:
tc(CLKOUT)
(2W-C-S) -20
2
td(RDH-BLWL)
Write Delay Time after Read tc(CLKOUT)(1+C+S
2 +R+ID)-10 ns [56]
td(RDH-BHWL)
td(BLWH-RDL) Read Delay Time after Write 0 wait state:
td(BHWH-RDL) tc(CLKOUT) - 10
2 ns [57]
1-plus wait states:
C+S
tc(CLKOUT)(1+R+ 2 )-10
tc(CLKOUT)
td(CSL-RDL) Chip Select Delay Time before Read 2 (1+S) -16 ns [93]
Switching characteristics
td(CSL-BLWL) tc(CLKOUT)
Chip Select Delay Time before Write (1+S) -16 ns [95]
td(CSL-BHWL) 2
tc(CLKOUT)
td(A-RDL) Address Delay Time before Read 2 (1+C+S)-15 ns [39]
tc(CLKOUT)
td(CS-RDL) Chip Select Delay Time before Read 2 (1+S) - 15 ns [40]
tv(RDH-A) Address Valid Time after Read tc(CLKOUT) x (R+ID) ns [41]
tv(RDH-CS) Chip Select Valid Time after Read tc(CLKOUT) x R ns [42]
tpzx(RDH-DZ) Data Output Enable Time after Read tc(CLKOUT)( 12 +R+ID) ns [46]
td(A-BLWL) Address Delay Time before Write tc(CLKOUT)
2 (1+C+S)-15 ns [47]
td(A-BHWL) (byte write mode)
td(CS-BLWL) Chip Select Delay Time before Write tc(CLKOUT)
2 (1+S) - 15 ns [48]
td(CS-BHWL) (byte write mode)
tv(BLWH-A) Address Valid Time after Write 0 wait state: -5
tv(BHWH-A) (byte write mode) 1-plus wait states: ns [49]
1
tc(CLKOUT)( 2 +R) - 5
tv(BLWH-CS) Chip Select Valid Time after Write 0 wait state: -5
tv(BHWH-CS) (byte write mode) 1-plus wait states: ns [50]
1
tc(CLKOUT)(2 +R) - 5
td(BLWL-D) Data Output Delay Time after Write 0 wait state: 5
td(BHWL-D) (byte write mode) 1-plus wait states: ns [52]
tc(CLKOUT)
15 - 2 x (S+C)
Note 1: Hold a level during tw(WAITH), tw(WAITL) from the position of the minimum value of tsu(WAITH-RDL), tsu(WAITL-RDL),
tsu(WAITH-BLWL), tsu(WAITH-BHWL), tsu(WAITL-BLWL), and tsu(WAITL-BHWL).
32192/32195/32196 Group Hardware Manual 23-51
Rev.1.10 REJ09B0123-0110 Apr.06.07
ELECTRICAL CHARACTERISTICS
23 23.10 A.C. Characteristics (when VCCE = 3.3 V)
BLW# 0.43VCC-BUS
BHW# 0.16VCC-BUS
0.43VCC-BUS
Data input
0.16VCC-BUS
(DB0–DB15)
[44] tsu(D-RDH) [45] th(RDH-D)
[46] tpzx(RDH-DZ)
[132] tsu(WAITH-RDL)
[133] tw(WAITH)
WAIT#
Note: • When using the threshold switching function, the voltage levels of data input and WAIT#
are determined with respect to the rated minimum and maximum values for VIH and VIL.
[51] tw(BLWL)
tw(BHWL)
BLW# 0.43VCC-BUS
BHW# 0.16VCC-BUS 0.16VCC-BUS
0.43VCC-BUS
RD# 0.16VCC-BUS
Address 0.43VCC-BUS
(A9–A30) 0.16VCC-BUS
CS#
(Access area) 0.16VCC-BUS
CS# 0.43VCC-BUS
(Non-access area)
[135] tsu(WAITH-BHWL)
tsu(WAITL-BHWL)
tsu(WAITH-BLWL)
tsu(WAITL-BLWL)
[133] tw(WAITH)
[134] tw(WAITL)
WAIT#
tc(CLKOUT)
tw(RDL) Read "L" Pulse Width 2 (1+2W-C-S)-20 ns [43]
1
tpzx(RDH-DZ) Data Output Enable Time after Read tc(CLKOUT)( 2 +R+ID) ns [46]
tc(CLKOUT)
td(CSL-RDL) Chip select Dalay time before Read 2 (1+S)-16 ns [93]
[43] tw(RDL)
0.43VCCE
RD# 0.16VCCE
BLE#
BHE# 0.16VCCE
Address 0.43VCCE
(A12–A30) 0.16VCCE
CS#
(Access area) 0.16VCCE
CS# 0.43VCCE
(Non-Access area)
[46] tpzx(RDH-DZ)
(DB0–DB15) 0.16VCCE
2 (1+C+S)-20 ns [69]
(byte enable mode)
td(CS-WRL) Chip Select Delay Time before Write
tc(CLKOUT) (1+S) - 15 ns [70]
(byte enable mode) 2
tv(WRH-A) Address Valid Time after Write 0 wait state: -5
(byte enable mode) 1-plus wait states: ns [71]
1
tc(CLKOUT)( 2 +R) - 5
tv(WRH-CS) Chip Select Valid Time after Write 0 wait state: -5
(byte enable mode) 1-plus wait states: ns [72]
1
tc(CLKOUT)( 2 +R) - 5
td(BLEL-WRL) Byte Enable Delay Time before Write tc(CLKOUT)
(1+S) - 15 ns [73]
td(BHEL-WRL) (byte enable mode) 2
tv(WRH-BLEL) Byte Enable Valid Time after Write 0 wait state: -5
tv(WRH-BHEL) (byte enable mode) 1-plus wait states: ns [74]
1
tc(CLKOUT)( 2 +R) - 5
td(WRL-D) Data Output Delay Time after Write 0 wait state: 9
(byte enable mode) 1-plus wait states: ns [75]
tc(CLKOUT)
15 - 2 (S+C)
tv(WRH-D) Data Output Valid Time after Write 0 wait state : -7
(byte enable mode) 1-plus wait states: ns [76]
1
tc(CLKOUT)( 2 +R)-13
tpzx(WRH-DZ) Data Output Enable Time after Write 0 wait state:-20
ns [127]
(byte enable mode) 1-plus wait states:
tc(CLKOUT)
-22- 2 (S+C)
tpxz(WRH-DZ) Data Output Disable Time after Write 0 wait state: 5
(byte enable mode) 1-plus wait states: ns [77]
1
tc(CLKOUT)( 2 +R) + 5
[68] tw(WRL)
0.43VCC-BUS
WR# 0.16VCC-BUS
BLE#
0.16VCC-BUS
BHE#
Address 0.43VCC-BUS
(A9–A30) 0.16VCC-BUS
CS#
(Access area) 0.16VCC-BUS 0.16VCC-BUS
CS# 0.43VCC-BUS
(Non-access area)
0.43VCC-BUS
CLKOUT 0.16VCC-BUS
[35] tsu(HREQL-CLKOUTH)
[36] th(CLKOUTH-HREQL)
[38] tv(CLKOUTL-HACKL)
HACK#
0.16VCC-BUS 0.16VCC-BUS
[37] td(CLKOUTL-HACKL)
[60] tc(JTCK)
0.5VCCE
JTCK
[67] tw(JTRST)
JTRST 0.2VCCE
0.2VCCE
[82] tc(RTDCLK)
RTDACK 0.2VCCE
0.8VCCE
[87] td(RTDCLKH-RTDTXD)
0.8VCCE
RTDTXD 0.2VCCE
0.8VCCE 0.8VCCE
RTDRXD 0.2VCCE 0.2VCCE
after NBDCLK
NBDD Output Valid Time
tv(NBDCLKH-NBDD) CL=100pF 5 ns [106]
after NBDCLK
NBDD Output Disable Time
tpxz(NBDCLKH-NBDDZ) CL=100pF 60 ns [131]
after NBDCLK
tw(NBDEVNTL) NBDEVNT# Output "L" Pulse Width CL=100pF 30 ns [111]
NBDSYNC# 0.2VCCE
(input) 0.2VCCE
[111] tw(NBDEVNTL)
NBDEVNT#
(output) 0.2VCCE 0.2VCCE
tw(DIN) DIN Input pulse width DIN0, DIN1, DIN2, DIN3, DIN4 1.5 x tc(BCLK) ns [138]
tw(DIN) DIN Input pulse width DIN0, DIN1, DIN2, DIN4 1.5 x tc(BCLK) ns [138]
tc(DCAP) Import period When Input data bus width is 8, 16 bit 2 x tc(BCLK) ns [139]
Set up time
b) Timing of Event detection (Edge interval that Event detection is not simultaneous in DRI)
0.8VCCE 0.8VCCE
DINi 0.2VCCE 0.2VCCE
0.8VCCE 0.8VCCE
DINj 0.2VCCE 0.2VCCE
0.8VCCE
DIN1 0.2VCCE
[143] tar [144] tbr [143] tar [144] tbr [143] tar [144] tbr [143] tar [144] tbr
0.8VCCE
DIN3 0.2VCCE
When Initializing level L by DIN1/ When Initializing level L by DIN1/ When Initializing level L by DIN1/ When Initializing level L by DIN1/
DIN3 rising edge are selected DIN3 falling edge are selected DIN3 rising edge are selected DIN3 falling edge are selected
HD
*1
D
108 73
NOTE)
109 72 1. DIMENSIONS "*1" AND "*2"
DO NOT INCLUDE MOLD FLASH.
2. DIMENSION "*3" DOES NOT
INCLUDE TRIM OFFSET.
bp
b1
c1
c
HE
E
Symbol
Min Nom Max
Terminal cross section
D 19.9 20.0 20.1
E 19.9 20.0 20.1
A2 1.4
HD 21.8 22.0 22.2
HE 21.8 22.0 22.2
144 A 1.7
37
ZE
c
ZD Index mark b1 0.20
F
c 0.09 0.145 0.20
A1
L c1 0.125
L1 0° 8°
*3 e 0.5
e bp
y x Detail F x 0.08
y 0.10
ZD 1.25
ZE 1.25
L 0.35 0.5 0.65
L1 1.0
D A b
w S A S AB
A1 ZD e
e
P
N
M
L
K
J
E
H
G
F
E
D
y S
ZE
B
A Dimension in Millimeters
Reference
Symbol
Min Nom Max
x4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
v S D 13.0
Index mark
(Laser mark) Index mark E 13.0
v 0.15
w 0.20
A 1.4
A1 0.3 0.35 0.4
e 0.8
b 0.4 0.45 0.5
x 0.08
y 0.10
ZD 0.9
ZE 0.9
Note 1: Two E stages, E1 and EM, are used for the FPU instructions.
Table 2.1.1 Instruction Processing Time in Each Pipelined Stage (Other Than FPU Instructions)
Number of Execution Cycles in Each Stage
Instruction IF D E MEM1 MEM2 WB
Load instructions (LD, LDB, LDUB, LDH, LDUH, LOCK) R(Note 1) 1 1 R(Note 1) 1 1
Store instructions (ST, STB, STH, UNLOCK) R(Note 1) 1 1 W(Note 1) 1 (1)(Note 2)
BSET and BCLR instructions R(Note 1) 1 R(Note 1) W(Note 1) 1 –
+3
Multiply instructions (MUL) R(Note 1) 1 3 – – 1
Divide/remainder instructions (DIV, DIVU, REM, REMU) R(Note 1) 1 37 – – 1
Other instructions(including DSP function instructions R(Note 1) 1 1 – – 1
BTST, SETPSW and CLRPSW)
Note 1: See the calculation methods for R and W described in the next page.
Note 2: Of the store instructions, only those that have register indirect + register update addressing modes require one cycle
in the WB stage (but not more than that).
Table 2.1.2 Instruction Processing Time in Each Pipelined Stage (FPU Instructions)
Number of Execution Cycles in Each Stage
Instruction IF D E1 EM EA E2 WB
FMADD and FMSUB instructions R(Note 1) 1 – 1 1 1 1
FDIV instruction R(Note 1) 1 14 – – 1 1
Other FPU instructions R(Note 1) 1 1 – – 1 1
Note 1: See the calculation methods for R and W described in the next page.
The following shows the number of memory access cycles in the IF and MEM stages. Shown here are the
minimum number of cycles required for memory access. Therefore, these values do not always reflect the num-
ber of cycles actually required for memory or bus access.
In write access, for example, although the CPU finishes the MEM stage by only writing to the write buffer, this
operation actually is followed by a write to memory. Depending on the memory or bus state before or after the
CPU requests a memory access, the instruction processing may take more time than the calculated value.
R (read cycle)
W (write cycle)
Note 1: This applies when external memory is accessed with zero wait state. The instruction process-
ing time increases by 1 CLKOUT when one wait state is inserted.
Note: • CLKOUT and CPUCLK have the relationship 1 CLKOUT = 8 CPUCLK. When CLKOUT = BCLK
is selected with CLKOUT select register, the relationship 1 CLKOUT = 4 CPUCLK is set.
Table 3.1.1 Example Processing of Unused Pins during Single-Chip Mode (Note 1)
P61–P63, P70–P77, P82–87, Set the port for input mode and pull each pin low to VSS or
P93–P97, P100–P107, P110–P117, pull high to VCCE via a 1 kΩ-10 kΩ resistor.
P124–P127, P130–P137, P174, P175 Or set the port for output mode and leave the pin open.
P00–P07, P10–P17, P20–P27, Set the port for input mode and pull each pin low to VSS or
P30–P37, P41–P47, P150, P153, pull high to VCC-BUS via a 1 kΩ-10 kΩ resistor.
P220, P221, P224, P225 Or set the port for output mode and leave the pin open.
A/D converter
AD0IN0–AD0IN15, AVREF0, AVSS0 Connect to VSS
AVCC0 Connect to VCCE
JTAG
JTDO, JTMS, JTDI, JTCK Pull high to VCCE or low to VSS via a 0-100 kΩ resistor
Note 1: Process the unused pins in the shortest wiring length possible (within 20 mm) from the microcomputer pins.
Note 2: If any port is set for output mode and left open, care should be taken because the port remains set for input
before it is changed for output in a program after being reset. Therefore, the voltage level at the pin is instable,
and the power supply current tends to increase while the port remains set for input. Because it is possible that
the content of the port direction register will inadvertently be altered by noise or noise-induced runaway,
higher reliability may be obtained by periodically setting the port direction register back again in a program.
Note, however, that P221 is input-only port and does not work as an output port.
Note 3: Make sure that unintended falling edges due to noise, etc. will be not applied. (A falling edge at the SBI# input
causes a system break interrupt to occur.)
Note 4: This is necessary when an external clock is connected to XIN.
Table 3.1.2 Example Processing of Unused Pins during External Extension Mode (Note 1)
P00–P07, P10–P17, P20–P27, Set the port for input mode and pull each pin low to VSS or
P30–P37, P44–P47, P150, P153, pull high to VCC-BUS via a 1 kΩ-10 kΩ resistor.
P220, P221, P224, P225 Or set the port for output mode and leave the pin open.
A/D converter
AD0IN0–AD0IN15, AVREF0, AVSS0 Connect to VSS
AVCC0 Connect to VCCE
JTAG
JTDO, JTMS, JTDI, JTCK Pull high to VCCE or low to VSS via a 0-100 kΩ resistor
JTRST Pull low to VSS via a 0-100 kΩ resistor
Note 1: Process the unused pins in the shortest wiring length possible (within 20 mm) from the microcomputer pins.
Note 2: If any port is set for output mode and left open, care should be taken because the port remains set for input
before it is changed for output in a program after being reset. Therefore, the voltage level at the pin is instable,
and the power supply current tends to increase while the port remains set for input. Because it is possible that
the content of the port direction register will inadvertently be altered by noise or noise-induced runaway,
higher reliability may be obtained by periodically setting the port direction register back again in a program.
Note, however, that P221 is input-only port and does not work as an output port.
Note 3: Make sure that unintended falling edges due to noise, etc. will be not applied. (A falling edge at the SBI# input
causes a system break interrupt to occur.)
Note 4: This is necessary when an external clock is connected to XIN.
Table 3.1.3 Example Processing of Unused Pins during Processor Mode (Note 1)
P150, P153, P220, P221 Set the port for input mode and pull each pin low to VSS or
pull high to VCC-BUS via a 1 kΩ-10 kΩ resistor.
Or set the port for output mode and leave the pin open
A9–A30, DB0–DB15,
Leave open
BLW#/BLE#, BHW#/BHE#, RD#, CS0#, CS1#
A/D converter
AD0IN0–AD0IN15, AVREF0, AVSS0 Connect to VSS
AVCC0 Connect to VCCE
JTAG
JTDO, JTMS, JTDI, JTCK Pull high to VCCE or low to VSS via a 0-100 kΩ resistor
Note 1: Process the unused pins in the shortest wiring length possible (within 20 mm) from the microcomputer pins.
Note 2: If any port is set for output mode and left open, care should be taken because the port remains set for input
before it is changed for output in a program after being reset. Therefore, the voltage level at the pin is instable,
and the power supply current tends to increase while the port remains set for input. Because it is possible that
the content of the port direction register will inadvertently be altered by noise or noise-induced runaway,
higher reliability may be obtained by periodically setting the port direction register back again in a program.
Note, however, that P221 is input-only port and does not work as an output port.
Note 3: Make sure that unintended falling edges due to noise, etc. will be not applied. (A falling edge at the SBI# input
causes a system break interrupt to occur.)
Note 4: This is necessary when an external clock is connected to XIN.
When transferring data, be aware that data arrangements in registers and memory are different.
(R0–R15) +0 +1 +2 +3
HH HL LH LL HH HL LH LL
b0 b31 b0 b31
(R0–R15) +0 +1 +2 +3
H L H L
b0 b31 b0 b15
(R0–R15) +0 +1 +2 +3
H L H L
b0 b31 b16 b31
(R0–R15) +0 +1 +2 +3
b0 b31 b0 b7
(R0–R15) +0 +1 +2 +3
b0 b31 b8 b15
(R0–R15) +0 +1 +2 +3
(R0–R15) +0 +1 +2 +3
The microcomputer has the function to map 8-Kbyte memory blocks of the internal RAM (maximum for 32192 is
16 blocks, for 32195 is 4 blocks, for 32196 is 8 blocks) into areas (L banks) of the internal flash memory that are
divided in 8-Kbyte units. This functions is referred to as the Virtual Flash Emulation Function.
This function allows the data located in 8-Kbyte blocks of the internal RAM to be changed with the contents of
internal flash memory at the addresses specified by the Virtual Flash L Bank Register. That way, the relevant
RAM data can read out by reading the content of internal flash memory. For details about this function, see
Section 6.7, "Virtual Flash Emulation Function."
• The writes from DRI,RTD to internal RAM uncompete with access from other bus masters (CPU, DMA, NBD,
SDI), because of using dedicated bus not M32R-FPU.
But in case DRI,RTD transfers and access from other bus masters for area in 16-Kbyte of internal RAM occur at
same time, access competition occurs.
When access competition occurs, arbitration is performed according to the following priority.
• When started by boot mode, internal RAM value is indefinite after started by boot mode in order to "Flash
writing/erasing program" is transferred to internal RAM.
• When the internal flash memory is programmed or erased, a high voltage is generated internally. Because mode
transitions during programming/erase operation may cause the chip to break down, make sure the mode setting/
reset pin and power supply voltages do not fluctuate to prevent unintended changes of modes.
• If the system uses any pins that are to be used by a general-purpose programming/erase tool, care must be taken
to prevent adverse effects on the system when the tool is connected.
• If the internal flash memory needs to be protected while using a general-purpose programming/erase tool, set any
ID in the flash memory protect ID verification area (H’0000 0084 to H’0000 008F).
• If the internal flash memory does not need to be protected while using a general-purpose programming/erase tool,
fill the entire flash memory protect ID verification area (H’0000 0084 to H’0000 008F) with H’FF.
• If the Flash Status Register (FSTAT)’s each error status is to be cleared (initialized to H’80) by resetting the Flash
Control Register 4 (FCNT4) FRESET bit, check to see that the Flash Status Register (FSTAT) FBUSY bit = "1"
(ready) before clearing the error status.
• Before resetting the Flash Control Register 1 (FCNT1) FENTRY bit from "1" to "0," check to see that the Flash
Status Register (FSTAT) FBUSY bit = "1" (ready).
• Do not clear the FENTRY bit if the Flash Control Register 1 (FCNT1) FENTRY bit = "1" and the Flash Status
Register (FSTAT) FBUSY bit = "0" (being programmed or erased).
• When programming/erasing via JTAG, the flash memory can be programmed or erased regardless of the pin state
because the FP pin is controlled internally within the chip.
When exiting reset, the microcomputer’s input/output ports are disabled against input in order to prevent shoot-
through current. To use any ports in input mode, set the Port Input Special Function Control Register (PICNT)
PIEN0 bit to enable them for input. For details, see Section 8.3, “Input/Output Port Related Registers.”
Because the value of the Port Data Register is undefined when exiting the reset state, the Port Data Register must
have its initial value set in it before the Port Direction Register can be set for output. Conversely, if the Port
Direction Register is set for output before setting data in the Port Data Register, the Port Data Register outputs an
undefined value until any data is written into it.
After switching from output mode to input mode in the Port Direction Register, or after setting port input enable
(PIEN0) bit to "1" (input enable), pin level can be read after 2BCLK period.
Because the input/output ports are disabled against input upon exiting reset, they must be enabled for input by
setting the Port Input Enable (PIEN0) bit to "1" before their input functions can be used.
When disabled against input, the input/output ports are in a state equivalent to a situation where the pin has a "L"
level input applied. Consequently, if a peripheral input function (uncontrolled pin) is selected for any port while
disabled against input by using the Port Operation Mode Register, the port may operate unexpectedly due to the
"L" level input on it.
The Port Peripheral Function Select Register can only be set when the corresponding bit of the Port Operation
Mode Register is "0."
• About the pereipheral function input when it is set to the gereral-purpose port
In the pin for both peripheral function input and general-purpose port, "H" level is entered to the peripheral function
input when it is set to the general-purpose port in the operation mode register. Therefore, when "L" level is entered
to the peripheral function input pin, edge signal is entered to the peripheral function input at manipulating operation
mode register.
Because DMA transfer involves exchanging data via the internal bus, the DMAC related registers basically can
only be accessed for write upon exiting the reset state or when transfer is disabled (transfer enable bit = "0").
When transfer is enabled, do not write to the DMAC related registers, except the DMA transfer enable bit, the
transfer request flag, DMA interrupt related register and the DMA Transfer Count Register that is protected in
hardware. This is a precaution necessary to ensure stable DMA operation.
The table below lists the registers that can or cannot be accessed for write.
Appendix Table 4.8.1 DMAC Related Registers That Can or Cannot Be Accessed for Write
Status Transfer enable bit Transfer request flag DMA interrupt related register Other DMAC related registers
Transfer enabled Can be accessed Can be accessed Can be accessed Cannot be accessed
Transfer disabled Can be accessed Can be accessed Can be accessed Can be accessed
Even for registers that can exceptionally be written to while transfer is enabled, the following conditions must be
observed:
(1) DMA Channel Control Register 0 transfer enable bit and transfer request flag
For all bits other than transfer enable bit and transfer request flag in this register, be sure to write the same data
that those bits had before the write. Note, however, that only writing "0" is effective for the transfer request flag.
When transfer is enabled, this register is protected in hardware, so that any data rewritten to it is ignored.
(3) Rewriting the DMA source and DMA destination addresses on different channels by DMA transfer
Although this operation means accessing the DMAC related registers while DMA is enabled, there is no
problem. Note, however, that no data can be transferred by DMA to the DMAC related registers on the currently
active channel itself.
When manipulating the DMAC related registers by means of DMA transfer (e.g., reloading the DMAC related
registers with the initial values by DMA transfer), do not write to the DMAC related registers on the currently active
channel through that channel. (If this precaution is neglected, device operation cannot be guaranteed.)
It is only the DMAC related registers on other channels that can be rewritten by means of DMA transfer. (For
example, the DMAn Source Address and DMAn Destination Address Registers on channel 1 can be rewritten by
DMA transfer through channel 0.)
When clearing the DMA Interrupt Request Status Register, be sure to write "1" to all bits, except those to be cleared.
Writing "1" to any bits in this register has no effect, so that they retain the data they had before the write.
To ensure the stable operation of DMA transfer, never rewrite the DMAC related registers, except transfer enable
bits of the DMA channel control register 0, unless transfer is disabled. One exception is that even when transfer is
enabled, the DMA Source Address and DMA Destination Address Registers can be rewritten by DMA transfer
from one channel to another.
The following describes precautions to be observed when using TOP single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input, the
former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the enable
bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• Because the timer operates synchronously with the count clock, a count clock-dependent delay is included
before F/F output is inverted after the timer is enabled.
• When writing to the correction register, be careful not to cause the counter to overflow. Even if the counter
overflows due to correction of counts, no interrupt requests are generated for reasons of an overflow. There-
fore, if the counter underflows in the subsequent down-count after an overflow, a false interrupt request is
generated for an underflow that includes the overflowed count.
In the example below, the reload register is initially set to H’FFF8. When the timer starts, the value that "the
reload register -1" is loaded into the counter, letting it start counting down. In the diagram below, the value
H’0014 is written to the correction register when the counter has counted down to H’FFF0. As a result of this
correction, the count overflows to H’0004 and the counter fails to count correctly. Also, an interrupt request is
generated for an erroneous overflowed count.
Enabled
(by writing to the enable bit
or by external input)
Count clock
(Note 1)
Enable bit
Write to the
correction register Overflow occurs
H'(FFF0+0014)
H'FFFF
H'FFFF H'FFF8
H'(FFF8-1)
H'FFF0
Undefined
value
Counter
(Note 2) Actual count after overflow
H'0004
H'0000
H'FFF8
Reload register
Undefined H'0014
Correction register
F/F output
Note 1: A count clock dependent delay is included before F/F output changes state after the timer is enabled.
Note 2: The value that "reload register - 1" is reloaded.
Note: • This diagram does not show detailed timing information.
Appendix Figure 4.9.1 Example of an Operation in TOP Single-shot Output Mode Where Count Overflows Due to Correction
The following describes precautions to be observed when using TOP delayed single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input, the
former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the enable
bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• Even if the counter overflows due to correction of counts, no interrupt requests are generated for reasons of an
overflow. Therefore, if the counter underflows in the subsequent down-count after an overflow, a false interrupt
request is generated for an underflow that includes the overflowed count.
• If the counter is accessed for read at the cycle of underflow, the counter value is read as H’FFFF but changes
to "reload register value -1" at the next count clock timing after underflow.
Count clock
H'(AAAA-1) H'(AAAA-2)
The following describes precautions to be observed when using TOP continuous output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read as H’FFFF but changes
to "reload register value -1" at the next count clock timing.
• Because the timer operates synchronously with the count clock, a count clock-dependent delay is included
before F/F output is inverted after the timer is enabled.
Appendix 4.9.4 Notes on using TIO measure free-run/ clear input modes
The following describes precautions to be observed when using TIO measure free-run/ clear input modes.
• If measure event input and write to the counter occur in the same clock period, the write value is set in the
counter while at the same time latched into the measure register.
The following describes precautions to be observed when using TIO PWM output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read as H’FFFF but
changes to "reload register value -1" at the next count clock timing.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay is
generated before F/F output is inverted after writing to the enable bit.
The following describes precautions to be observed when using TIO single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the enable
bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay is
generated before F/F output is inverted after writing to the enable bit.
The following describes precautions to be observed when using TIO delayed single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the enable
bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• If the counter is accessed for read ar the cycle of underflow, the counter value is read out as H’FFFF but
changes to "reload register value -1" at the next count clock timing.
The following describes precautions to be observed when using TIO continuous output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read out as H’FFFF but
changes to "reload register value -1" at the next count clock timing.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay is
generated before F/F output is inverted after writing to the enable bit.
The following describes precautions to be observed when using TMS measure input.
• If measure event input and write to the counter occur in the same clock period, the write value is set in the
counter while at the same time latched into the measure register.
The following describes precautions to be observed when using TML measure input.
• If measure event input and write to the counter occur in the same clock period, the write value is set in the
counter, whereas the up-count value (before being rewritten) is latched into the measure register.
• If clock bus 1 is selected and any clock other than BCLK/2 or BCLK/4 (Note 1) is used for the timer, by
divided by internal prescaler PRS1, the value captured into the measure register is one count larger the
counter value. During the count clock to BCLK/2 or BCLK/4 (Note 1) period interval, however, the captured
value is exactly the counter value.
The diagram below shows the relationship between counter operation and the valid data that can be captured.
Note 1: To select BCLK/2 or BCLK/4, use the PRS012CKS (prescaler 0-2, TML0,1 supplied clock
select) bit. For details, refer to Section 10.2.2, “Common Count Clock Select Function.”
Captured A B C D E F
Counter A B C
Captured B C D
Note 1: To select BCLK/2 or BCLK/4, use the PRS012CKS (prescaler 0-2, TML0,1 supplied clock select) bit.
For details, refer to Section 10.2.2, "Common Count Clock Select Function."
Appendix Figure 4.9.3 Mistimed Counter Value and the Captured Value
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• If the counter is accessed for read to the cycle of underflow, the counter value is read out as H'FFFF but
changes to “reload register value -1” at the next count clock timing.
• Because the timer operates synchronously with the count clock, a count clock-dependent delay is included
before F/F output is inverted after the timer is enabled.
Because a 0% or 100% duty-cycle needs to be determined when reloading the counter, there is a one count
clock equivalent delay before F/F is inverted and an interrupt or DMA transfer request is generated. However,
startup requests to other timers are not delayed. For details, see Section 10.8.19, “0% or 100% Duty-Cycle
Wave Output during PWM Output and Single-shot PWM Output Modes.”
(a) When reload register updates take effect in the current period (reflected in the next period)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
New PWM
Old PWM output period output period
F/F output
Operation by new reload value written
Enlarged
view
New PWM output period
Count clock
Interrupt due
to underflow
F/F output
(b) When reload register updates take effect in the next period (reflected one period later)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
Old PWM
Old PWM output period output period
F/F output
Operation by old reload value
Enlarged
view
Old PWM output period
Count clock
Interrupt due
to underflow
F/F output
Appendix Figure 4.9.4 Reload 0 and Reload 1 Register Updates in PWM Output Mode
(a) When reload register updates take effect in the current period (reflected in the next period)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
New PWM
Old PWM output period output period
F/F output
Enlarged
view
New PWM output period
Count clock
Interrupt due
to underflow
F/F output
Timing at which reload 0
register is updated PWM period latched and timing at which reload 1 buffer is updated
(b) When reload register updates take effect in the next period (reflected one period later)
Write to reload 0
Write to reload 1 (Reload 1 data latched)
Enlarged
view
Old PWM output period
Count clock
Interrupt due
to underflow
F/F output
Appendix Figure 4.9.5 Reload 0 and Reload 1 Register Updates in PWM Output Mode (For 0% or 100% Duty-Cycle Wave Output)
The following describes precautions to be observed when using TOU single-shot PWM output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read out as H'FFFF but
changes to “reload register value -1” at the next count clock timing.
• Updating of reload 0 and reload 1 during timer operation does not effect PWM waveform that is outputting at
present. Updating is reflected at the next PWM period after updating reload 0 register.
Because a 0% or 100% duty-cycle needs to be determined when reloading the counter, there is a one count
clock equivalent delay before F/F is inverted and an interrupt or DMA transfer request is generated. However,
startup requests to other timers are not delayed. For details, see Appendix 4.9.16, “0% or 100% Duty-Cycle
Wave Output during PWM Output and Single-shot PWM Output Modes.”
The following describes precautions to be observed when using TOU delayed single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the enable
bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read as H'FF FFFF but
changes to “reload register value -1” at the next count clock timing.
• Because the timer operates synchronously with the count clock, a count clock-dependent delay is included
before F/F output is inverted after the timer is enabled.
The following describes precautions to be observed when using TOU single-shot output mode.
• If the counter stops due to an underflow in the same clock period as the timer is enabled by external input,
the former has priority so that the counter stops.
• If the counter stops due to an underflow in the same clock period as count is enabled by writing to the enable
bit, the latter has priority so that count is enabled.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay is
generated before F/F output is inverted after writing the enable bit.
The following describes precautions to be observed when using TOU continuous output mode.
• If the timer is enabled by external input in the same clock period as count is disabled by writing to the enable
bit, the latter has priority so that count is disabled.
• If the counter is accessed for read at the cycle of underflow, the counter value is read out as H'FF FFFF but
changes to “reload register value -1” at the next count clock timing.
• Because the timer operates synchronously with the count clock, up to one count clock-dependent delay is
generated before F/F output is inverted after writing the enable bit.
Appendix 4.9.16 0% or 100% Duty-Cycle Wave Output during PWM Output and Single-
shot PWM Output Modes
During PWM output or single-shot PWM output mode, if the value "H'FFFF" is written to the reload 0 or reload 1
register, F/F output will not be inverted, making it possible to produce a 0% or 100% duty-cycle PWM output.
Because determination is made to see if the reload value is "H'FFFF" during PWM output or single-shot PWM
output mode, following precautions must be observed.
(1) Because the counter counts one even when detecting 0% or 100% duty-cycle, one of the two reload
registers must have set in it one less than the intended value in order for a constant-cycle waveform to be
produced.
Example: If the desired output cycle is 10 counts
0008: FFFF
The counter counts one without inverting
F/F output after detecting "FFFF." For
this reason, the value to be set in the
register must be "0008," and not "0009."
(2) Because setting the value "H'FFFF" in the reload register produces a 0% or 100% duty-cycle, it is impos-
sible to count the exact "H'FFFF."
(3) Setting the value "H'FFFF" in both reload 0 and reload 1 registers is inhibited.
(4) Writing the value "H'FFFF" to the counter while in operation is inhibited.
(5) Even for a 0% or 100% duty-cycle, interrupt requests and startup registers to other timers are generated.
(6) Because a 0% or 100% duty-cycle needs to be determined when reloading the counter, there is a one count
clock equivalent delay before F/F is inverted and an interrupt or DMA transfer request is generated. How-
ever, startup requests to other timers are not delayed.
Enabled
(by writing to the enable bit Superficial
or by external input) underflow Underflow
Count clock
Enable bit
H'(FFFF-1) H'(FFFF-1)
H'FFFF
(Note 1) (Note 1)
Undefined
value
H'E000
H'(E000-1) H'(E000-1)
(Note 2) (Note 2)
Counter
H'0000
F/F output
Interrupt request
due to underflow
Appendix Figure 4.9.6 Typical Operation in PWM Output Mode (Reload 0 Register: H’FFFF)
Enabled
(by writing to the enable bit Superficial
or by external input) Underflow underflow
Count clock
Enable bit
H'(FFFF-1) H'(FFFF-1)
H'FFFF (Note 2) (Note 2)
Undefined
value
H'E000
H'(E000-1) H'(E000-1) H'(E000-1)
(Note 1) (Note 3) (Note 3)
Counter
H'0000
F/F output
Interrupt request
due to underflow
Appendix Figure 4.9.7 Typical Operation in PWM Output Mode (Reload 1 Register: H’FFFF)
Enabled
(by writing to the enable bit
or by external input) Superficial Underflow
underflow
Count clock
Enable bit
H'(FFFF-1)
H'FFFF
(Note 1)
Undefined
value
H'E000
H'(E000-1)
(Note 2)
Counter
H'0000
F/F output
Interrupt request
due to underflow
Appendix Figure 4.9.8 Typical Operation in Single-shot PWM Output Mode (Reload 0 Register: H’FFFF)
Enabled
(by writing to the enable bit Superficial
or by external input) Underflow underflow
(Note 3)
Count clock
Enable bit
H'(FFFF-1)
H'FFFF (Note 2)
Undefined
value
H'E000
H'(E000-1)
(Note 1)
Counter
H'0000
F/F output
Interrupt request
due to underflow
Appendix Figure 4.9.9 Typical Operation in Single-shot PWM Output Mode (Reload 1 Register: H’FFFF)
C1 : parasitic capacitance of the board R2 : parasitic resistance of the VREF0 : analog reference voltage
+ stabilizing capacitance selector (1-2 KΩ) V2 : voltage across C2
R1 : resistance of analog output device C2 : comparator capacitance E : voltage of analog output device
Cin : input pin capacitance (approx. 10 pF) (approx. 2.9 pF)
Appendix Figure 4.10.1 Internal Equivalent Circuit of the Analog Input Part
32192/32195/32196 Group Hardware Manual Appendix 4-22
Rev.1.10 REJ09B0123-0110 Apr.06.07
SUMMARY OF PRECAUTIONS
Appendix 4 Appendix 4.10 Notes on the A/D Converter
(a) Example for calculating the external stabilizing capacitor C1 (addition of this capacitor is recommended)
Assuming the R1 in Appendix Figure 4.10.1 is infinitely large and that the current necessary to charge the
internal capacitor C2 is supplied from C1, if the potential fluctuation, Vp, caused by capacitance division of C1
and C2 is to be within 0.1 LSB, then what amount of capacitance C1 should have. For a 10-bit A/D Converter
where VREF0 is 5.12 V, 1 LSB determination voltage = 5.12 V / 1,024 = 5 mV. The potential fluctuation of 0.1
LSB means a 0.5 mV fluctuation.
The relationship between the capacitance division of C1 and C2 and the potential fluctuation,
Vp, is obtained by the equation below:
C2
Vp = × (E - V2) Eq. A-1
C1 + C2
Vp is also obtained by the equation below:
x-1 1 VREF0
Vp = Vp1 × ∑ < Eq. A-2
i=0 2 i 10 × 2× where Vp1 = potential fluctuation in the first A/D conversion performed
and x = 10 for a 10-bit resolution A/D converter
When Eq. A-1 and Eq. A-2 are solved, the following results:
C1 = C2 { E - V2 - 1 } Eq. A-3
Vp1
x-1 1
∴ C1 > C2 {10 × 2× × ∑ i -1}
Eq. A-4
i=0 2
Thus, for a 10-bit resolution A/D Converter where C2 = 2.9 pF, C1 is 0.06 µF or more. Use this value for
reference when setting up C1.
If the external capacitor C1 in Appendix Figure 4.10.1 is not used, examination must be made to see if the
analog output device can fully charge C2 within a predetermined time. First, the equation to find i2 when C1 in
Appendix Figure 4.10.1 does not exist is shown below.
C2(E - V2) { - t }
i2 = ×exp --------------------- Eq. B-1
Cin×R1+C2(R1+R2) Cin×R1+C2(R1+R2)
Conversion time
for the first bit Second bit
When sample-and-hold
is disabled
ADINi
* When sample-and-hold is enabled, the analog input is sampled for only the first bit.
Appendix Figure 4.10.2 shows an A/D conversion timing diagram. C2 must be charged up within the sampling
time shown in this diagram. When the sample-and-hold function is disabled, the sampling time for the second
and subsequent bits is about half that of the first bit.
The sampling times at the respective conversion speeds are listed in the Appendix Table 4.10.1. Note that
when the sample-and-hold function is enabled, the analog input is sampled for only the first bit.
Therefore, the time in which C2 needs to be charged is found from Eq. B-1, as follows:
Sampling time (in which C2 needs to be charged) > Cin × R1 + C2(R1 + R2) ----Eq. B-2
Thus, the maximum value of R1 can be obtained as a criterion from the equation below. Note, however, that for
single mode (when sample-and-hold is disabled), the sampling time for the second and subsequent bits (C2
charging time) must be applied.
C2 charging time - C2 × R2
R1 <
Cin + C2
• About reception
Because the receive shift clock in CSIO mode is derived by an operation of the transmit circuit, transmit
operation must always be executed (by sending dummy data) even when the serial interface is used for only
receiving data. In this case, be aware that if the port function is set for the TXD pin (by setting the operation
mode register to "1"), dummy data may actually be output from the pin.
• Settings of SIO Transmit/Receive Mode Register and SIO Baud Rate Register
The SIO Transmit/Receive Mode Register, SIO Special Mode Register and SIO Baud Rate Register and
the Transmit Control Register’s BRG count source select bit must always be set when the serial interface
is not operating. If a transmit or receive operation is in progress, wait until the transmit and receive
operations are finished and then clear the transmit and receive enable bits before making changes.
Writes to the SIO Baud Rate Register take effect in the next cycle after the BRG counter has finished
counting. However, if the register is accessed for write while transmission and reception are disabled, the
written value takes effect at the same time it is written.
To transmit/receive data in DMA request mode, enable the DMAC to accept transfer requests (by setting
the DMA Mode Register) before serial communication starts.
If all bits of the next received data have been set in the SIO Receive Shift Register before reading out the
SIO Receive Buffer Register (i.e., an overrun error occurred), the received data is not stored in the receive
buffer register, with the previous received data retained in it. Once an overrun error occurs, although a
receive operation continues, the subsequent received data is not stored in the receive buffer register.
Before normal receive operation can be restarted, the receive enable bit must be temporarily cleared. And
this is the only way that the overrun error flag can be cleared.
There are following flags that indicate the status of receive operation during UART mode:
The manner in which the reception finished bit and various error flags are cleared differs depending on
whether an overrun error occurred, as described below.
When switching from general-purpose port to the serial interface pin by the port operation mode register, the
terminal TXDn pin outputs "H" level.
When aborting remote frame transmission or canceling remote frame receiving, make sure that the RA (Remote
Active) bit is cleared to "0" after writing "H'00" or "H'0F" to the CAN Message Slot Control Register.
No
RA (Remote Active)
bit = "0"
Yes
Complete transmission
abort
Appendix Figure 4.12.1 Opertion Flow when Aborting Remote Frame Transmission
No
RA (Remote Active)
bit = "0"
Yes
Complete receiving
abort
Appendix Figure 4.12.2 Opertion Flow when Canceling Remote Frame Receiving
32192/32195/32196 Group Hardware Manual Appendix 4-28
Rev.1.10 REJ09B0123-0110 Apr.06.07
SUMMARY OF PRECAUTIONS
Appendix 4 Appendix 4.13 Notes on DRI
• In order that the data writing from DRI and RTD to internal RAM use the exclusive bus prepared apart from M32 R-
FPU, do not usually generate the competition with access from other bus masters (CPU, DMA, NBD, SDI).
However DRI transfer, RTD transfer and the access (read-out/writing) from other bus master occur at the same
time for areas of the 16-K byte unit of internal RAM, access competition occurs.
When access competition occurs, mediation is operated according to the following priority.
When changing portn from input mode to output mode after power-on, pay attention to the following.
If port n is set for output mode while no data is set in the Portn Data Register, the port’s initial output level is
instable. Therefore, before changing portn for output mode, make sure the Portn Data Register is set to output a
"H."
Unless this precaution is followed, port output may go "L" at the same time the port is set for output after the
oscillation has stabilized, causing the microcomputer to enter RAM backup mode.
When powering on, make sure to meet the limitation VDDE ≥ VCCER. If VDDE is 3.0 V or more, there will be no
problem even when the limitation VDDE ≥ VCCER cannot be met.
When the above power-on limitation cannot be met, sufficient evaluation must be made during system design
in order to ensure that no power will be applied to the microcomputer with a potential difference of 1 V or more.
For potential differences 0 V to 0.6 V, there is almost no in-flow current. The amount of in-flow current begins to
increase when the potential difference exceeds 0.6 V.
To materialize fast and highly reliable communication with JTAG tools, make sure wiring lengths of JTAG pins are
matched during board design.
JTAG tool
VCCE(5V) SDI connector (JTAG connector)
M32R/ECU Power
10kΩ
(Note 1) 33Ω RESET
RESET# (Note 2)
10kΩ
33Ω TDO
JTDO
10kΩ
33Ω TDI
JTDI
10kΩ
33Ω TMS
JTMS
10kΩ
33Ω TCK
JTCK
33Ω TRST
JTRST
2kΩ
0.1µF GND
VSS
User board
Make sure wiring lengths are the same, and avoid bending wires as much as possible.
Be careful not to use through-holes within the wiring.
Note 1: The RESET# related circuit and resistance-capacitance values must be determined depending on
the user board's system design conditions and the microcomputer's operating conditions.
Note 2: N-channel open-drain output is recommended for the RESET output of JTAG tools. For details, see JTAG tool specifications.
Notes: • Only if the JTRST pin is firmly tied to ground, the JTDO, JTDI, JTMS and JTCLK pins can be processed by either pullup or pulldown.
• Each of these pins must always be processed even when not using JTAG tools.
The same pullup/pulldown resistance values as when using JTAG tools may be used.
Appendix Figure 4.15.1 Notes on Board Design when Connecting JTAG Tools
The following shows how the pins on the chip should be processed when not using JTAG tools.
VCCE(5V)
M32R/ECU
0–100kΩ
JTDO
0–100kΩ
JTDI
0–100kΩ
JTMS
0–100kΩ
JTCK
JTRST
0–100kΩ
User board
Note: • Only if the JTRST pin is firmly tied to ground, the JTDO, JTDI, JTMS and JTCLK pins can be
processed by either pullup or pulldown.
Wiring on the board may serve as an antenna to draw noise into the microcomputer. Shorter the total wiring length,
the smaller the possibility of drawing noise into the microcomputer.
Reduce the length of wiring connecting to the RESET# pin. Especially when connecting a capacitor between
the RESET# and VSS pins, make sure it is wired to each pin in the shortest distance possible (within 20 mm).
<Reasons>
Reset is a function to initialize the internal logic of the microcomputer. The width of a pulse applied to the
RESET# pin is important and is therefore specified as part of timing requirements. If a pulse in width
shorter than the specified duration (i.e., noise) is applied to the RESET# pin, the microcomputer will not be
reset for a sufficient duration of time and come out of reset before its internal logic is fully initialized,
causing the program to malfunction.
Noise
Use as much thick and short wiring as possible for connections to the clock input/output pins.
When connecting a capacitor to the oscillator, make sure its grounding lead wire and the OSC-VSS pin on the
microcomputer are connected in the shortest distance possible (within 20 mm).
Also, make sure the VSS pattern used for clock oscillation is a large ground plane and is connected to GND.
<Reasons>
The microcomputer operates synchronously with the clock generated by an oscillator circuit. Inclusion of
noise on the clock input/output pins causes the clock waveform to become distorted, which may result in
the microcomputer operating erratically or getting out of control. Furthermore, if a noise-induced potential
difference exists between the microcomputer’s VSS level and that of the oscillator, the clock fed into the
microcomputer may not be an exact clock.
Noise
OSC-VSS OSC-VSS
XIN XIN
XOUT XOUT
VSS VSS
Noise
Appendix Figure 4.16.3 Example Wiring of the MOD0 and MOD1 Pins
32192/32195/32196 Group Hardware Manual Appendix 4-33
Rev.1.10 REJ09B0123-0110 Apr.06.07
SUMMARY OF PRECAUTIONS
Appendix 4 Appendix 4.16 Notes on Noise
Appendix 4.16.2 Inserting a Bypass Capacitor between VSS and VCC Lines
Insert a bypass capacitor of about 0.1 µF between the VSS and VCC lines. At this time, make sure the require-
ments described below are met.
• The wiring length between the VSS pin and bypass capacitor and that between the VCC pin and bypass
capacitor are the same.
• The wiring length between the VSS pin and bypass capacitor and that between the VCC pin and bypass
capacitor are the shortest distance possible.
• The VSS and VCC lines have a greater wiring width than that of all other signal lines.
VCC VSS
VSS
VCC VSS
Appendix Figure 4.16.4 Example of a Bypass Capacitor Inserted between VSS and VCC Lines
Insert a resistor of about 100 to 500Ω in series to the analog signal line connecting to the analog input pin at a
position as close to the microcomputer as possible. Also, insert a capacitor of about 100 pF between the analog
input pin and AVSS pin at a position as close to the AVSS pin as possible.
<Reasons>
The signal fed into the analog input pin (e.g., A/D converter input pin) normally is an output signal from a
sensor. In many cases, a sensor to detect changes of event is located apart from the board on which the
microcomputer is mounted, so that wiring to the analog input pin is inevitably long. Because a long wiring
serves as an antenna which draws noise into the microcomputer, the signal fed into the analog input pin
tends to be noise-ridden. Furthermore, if the capacitor connected between the analog input pin and AVSS
pin is grounded at a position apart from the AVSS pin, noise riding on the ground line may penetrate into
the microcomputer via the capacitor.
Noise
Sensor
Microcomputer
Analog
input pin
AVSS
Appendix Figure 4.16.5 Example of a Resistor and Capacitor Inserted for the Analog Signal Line
32192/32195/32196 Group Hardware Manual Appendix 4-34
Rev.1.10 REJ09B0123-0110 Apr.06.07
SUMMARY OF PRECAUTIONS
Appendix 4 Appendix 4.16 Notes on Noise
The oscillator that generates the fundamental clock for microcomputer operation requires consideration to make it
unsusceptible to influences from other signals.
Signal lines that conduct a large current exceeding the range of current values that the microcomputer can
handle must be routed as far away from the microcomputer (especially the oscillator) as possible. Also, make
sure the circuit is protected with a GND pattern.
<Reasons>
Systems using a microcomputer have signal lines to control a motor, LED or thermal head, for example.
When a large current flows in these signal lines, it generates noise due to mutual inductance (M).
Noise is generated by
mutual inductance between
the microcomputer and M
an adjacent signal line
OSC-VSS
XIN
GND
M
OSC-VSS
XIN
XOUT
Large current
GND
Locate signal lines whose levels change rapidly as far away from the oscillator as possible. Also, make sure
the rapidly level-changing signal lines will not intersect the clock-related signal lines and other noise-sensitive
signal lines.
<Reasons>
Rapidly level-changing signal lines tend to affect other signal lines as their voltage level frequently rises and
falls. Especially if these signal lines intersect the clock-related signal lines, they will cause the clock waveform
to become distorted, which may result in the microcomputer operating erratically or getting out of control.
XIN
XOUT
XIN
XOUT
Locate the signal line away from the clock-related and other signal lines
(3) Protection against signal lines that are the source of strong noise
Do not use any pin that will probably be subject to strong noise for an adjacent port near the oscillator. If the pin
can be left unused, set it for input and connect to GND via a resistor, or fix it to output and leave open. If the pin
needs to be used, it is recommended that it be used for input-only.
For protection against a still stronger noise source, set the adjacent port for input and connect to GND via a
resistor, and use those that belong to the same port group as much for input-only as possible. If greater
stability is required, do not use those that belong to the same port group and set them for input and connect to
GND via a resistor. If they need to be used, insert a limiting resistor for protection against noise.
<Reasons>
If the ports or pins adjacent to the oscillator operate at high speed or are exposed to strong noise from an
external source, noise may affect the oscillator circuit, causing its oscillation to become instable.
XIN
Oscillator
XOUT
Noise
External noise or
switching noise
Noise
External noise from an input pin applied directly to the port
Noise
Method for limiting noise with a resistor
Noise
For input/output ports, take the appropriate measures in both hardware and software following the procedure
described below.
Hardware measures
Software measures
• For input ports, read out data in a program two or more times to verify that the levels coincide.
• For output ports, rewrite the data register at certain intervals because there is a possibility of the output data
being inverted by noise.
• Rewrite the direction register at certain intervals.
Noise
Data bus
Noise
Direction register
Data register
Input/output port