8.8MB

The following document contains information on Cypress products.
FUJITSU SEMICONDUCTOR
CONTROLLER MANUAL
CM71-10132-3E
32-BIT MICROCONTROLLER
FR60Lite
MB91345 Series
HARDWARE MANUAL
32-BIT MICROCONTROLLER
FR60Lite
MB91345 Series
HARDWARE MANUAL
For the information for microcontroller supports, see the following web site.
This web site includes the "Customer Design Review Supplement" which provides the latest cautions on system
development and the minimal requirements to be checked to prevent problems before the system
development.
http://edevice.fujitsu.com/micom/en-support/
FUJITSU SEMICONDUCTOR LIMITED
PREFACE
■ Purpose of This Document and Intended Reader
The MB91345 series is a microcontroller that has a 32-bit high performance RISC CPU as well as built-in I/
O resources and bus control mechanisms for embedded controller that requires high-performance and highspeed CPU processing. In order to support the extensive address space to which the 32-bit CPU accesses, it is
based on the external bus access, however, the MB91345 series has built-in RAM (for data) to increase the
speed at which the CPU executes instructions.
MB91345 series has the optimum specifications for the built-in applications that require a high-performance
CPU processing power, such as digital home appliances or AV equipments control.
MB91345 series is a FR family designed for higher-speed processing by integrating peripheral functions to a
compact package for the single chip.
This manual is intended for engineers who will develop products using the MB91345 series and describes the
functions and operations of the MB91345 series. Read this manual thoroughly.
For more information on instructions, see the "Instructions Manual".
Note: FR, which is an abbreviation of FUJITSU RISC controller, is a product of Fujitsu Semiconductor
Limited.
■ Trademarks
The company names and brand names herein are the trademarks or registered trademarks of their respective
owners.
i
■ Organization of This Document
This manual contains the following 22 chapters and appendix.
CHAPTER 1 Overview
The FR families are lines of standard single-chip microcontrollers each based on a 32-bit highperformance RISC CPU, incorporating a variety of I/O resources and bus control features for embedded
control applications which require high performance/high-speed CPU processing.
CHAPTER 2 Handling of Device
This chapter describes precautions about handling of the MB91345 series.
CHAPTER 3 CPU and Control Section
In this chapter, basic matters such as architecture, specifications and instructions are explained for
knowing the function of FR family.
CHAPTER 4 I/O Port
This chapter describes the overview, the register configuration, and the function of I/O port.
CHAPTER 5 DMA Controller (DMAC)
This chapter describes an overview, the configuration and functions of registers, and operation of the
DMA controller (DMAC).
CHAPTER 6 Interrupt Controller
This chapter describes an overview, the configuration and functions of registers, and operation of the
interrupt controller.
CHAPTER 7 External Interrupt Controller
This chapter describes an overview, the configuration and functions of registers, and operation of the
external interrupt controller.
CHAPTER 8 REALOS-Related Hardware
REALOS-related hardware is used by real-time operating systems. Therefore, if REALOS is used, it
cannot be used in a user program.
CHAPTER 9 16-bit Reload Timer
This chapter describes register configuration and feature of 16-bit reload timer and its timer operation.
CHAPTER 10 16-bit Compare Timer
This chapter describes the overview, the configuration and functions of registers, and operation of the 16bit compare timer.
CHAPTER 11 32-bit Compare Timer
This chapter describes the overview, the configuration and functions of registers, and operation of the 32bit compare timer.
CHAPTER 12 16-bit PWC
This chapter describes the overview, the configuration and functions of registers, and operations of the
16-bit PWC.
CHAPTER 13 PPG Timer
This chapter describes the overview, the configuration and functions of registers, and operation of the
PPG timer.
ii
CHAPTER 14 Up/Down Counter
This chapter explains the overview, the configuration and functions of registers, and operations of the 8/
16-bit up/down counter.
CHAPTER 15 Serial Interface
This chapter describes the overview, the configuration and functions of registers, and operations of serial
interface.
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
This chapter describes a UART function of the multi function serial interface functions, which is
supported on operation mode 2.
CHAPTER 17 I2C Interface
I2C interface, which is supported by the operation mode 4, among the multi function interfaces is
described.
CHAPTER 18 A/D Converter
This chapter describes an overview of the A/D converter, configuration/function of the register, and its
operation.
CHAPTER 19 Flash Memory
This chapter describes an overview of flash memory, configuration/function of the register, and its
operation. This product has an internal flash memory with a capacity of 512 Kbytes/IM, and the flash
memory enables mass erase of all the sectors, erase in sector units and writing from the CPU.
CHAPTER 20 Wild Register
This chapter describes functions and operations of the wild register.
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum and Absolute Values
This chapter describes the overview, the configuration and functions of registers, and the operation of the
arithmetic macro for MIN/MAX/ABS.
CHAPTER 22 Serial Writing Connection
This chapter explains an example of a serial writing connection using the flash microcontroller
programmer (manufactured by Yokogawa Digital Computer Corporation).
APPENDIX
This section contains detailed information which is not included in the main text but required for
programming, such as the I/O map, interrupt vectors, pin status in the CPU state, and notes and
instruction lists that may be needed when using the little endian field.
iii
•
•
•
•
•
•
•
The contents of this document are subject to change without notice.
Customers are advised to consult with sales representatives before ordering.
The information, such as descriptions of function and application circuit examples, in this document are presented solely for the
purpose of reference to show examples of operations and uses of FUJITSU SEMICONDUCTOR device; FUJITSU
SEMICONDUCTOR does not warrant proper operation of the device with respect to use based on such information. When you
develop equipment incorporating the device based on such information, you must assume any responsibility arising out of such
use of the information. FUJITSU SEMICONDUCTOR assumes no liability for any damages whatsoever arising out of the use of
the information.
Any information in this document, including descriptions of function and schematic diagrams, shall not be construed as license
of the use or exercise of any intellectual property right, such as patent right or copyright, or any other right of FUJITSU
SEMICONDUCTOR or any third party or does FUJITSU SEMICONDUCTOR warrant non-infringement of any third-party's
intellectual property right or other right by using such information. FUJITSU SEMICONDUCTOR assumes no liability for any
infringement of the intellectual property rights or other rights of third parties which would result from the use of information
contained herein.
The products described in this document are designed, developed and manufactured as contemplated for general use, including
without limitation, ordinary industrial use, general office use, personal use, and household use, but are not designed, developed
and manufactured as contemplated (1) for use accompanying fatal risks or dangers that, unless extremely high safety is secured,
could have a serious effect to the public, and could lead directly to death, personal injury, severe physical damage or other loss
(i.e., nuclear reaction control in nuclear facility, aircraft flight control, air traffic control, mass transport control, medical life
support system, missile launch control in weapon system), or (2) for use requiring extremely high reliability (i.e., submersible
repeater and artificial satellite).
Please note that FUJITSU SEMICONDUCTOR will not be liable against you and/or any third party for any claims or damages
arising in connection with above-mentioned uses of the products.
Any semiconductor devices have an inherent chance of failure. You must protect against injury, damage or loss from such
failures by incorporating safety design measures into your facility and equipment such as redundancy, fire protection, and
prevention of over-current levels and other abnormal operating conditions.
Exportation/release of any products described in this document may require necessary procedures in accordance with the
regulations of the Foreign Exchange and Foreign Trade Control Law of Japan and/or US export control laws.
The company names and brand names herein are the trademarks or registered trademarks of their respective owners.
Copyright© 2006-2011 FUJITSU SEMICONDUCTOR LIMITED All rights reserved.
iv
CONTENTS
CHAPTER 1
1.1
1.2
1.3
1.4
1.5
1.6
CHAPTER 2
2.1
Overview ...................................................................................................... 1
Overview ............................................................................................................................................. 2
Block Diagram .................................................................................................................................... 5
External Dimensions ........................................................................................................................... 6
Pin Assignments ................................................................................................................................. 7
Pin Function List ................................................................................................................................. 8
I/O Circuit Type ................................................................................................................................. 18
Handling of Device .................................................................................... 23
Precautions on Handling of Device ................................................................................................... 24
CHAPTER 3
CPU and Control Section ......................................................................... 31
3.1
Memory Space ..................................................................................................................................
3.2
Internal Architecture ..........................................................................................................................
3.3
Overview of the Instructions .............................................................................................................
3.4
Special Registers ..............................................................................................................................
3.4.1
Program Status Register (PS) .....................................................................................................
3.5
General Registers .............................................................................................................................
3.6
Data Structure ...................................................................................................................................
3.7
Word Alignment ................................................................................................................................
3.8
Memory Map .....................................................................................................................................
3.9
Branch Instruction .............................................................................................................................
3.9.1
Operation of Branch Instruction with a Delay Slot .......................................................................
3.9.2
Operation of Branch Instruction without a Delay Slot ..................................................................
3.10 EIT (Exception, Interrupt, Trap) ........................................................................................................
3.10.1 Interrupt Level of EIT ...................................................................................................................
3.10.2 Interrupt Control Register (ICR) ...................................................................................................
3.10.3 System Stack Pointer (SSP) ........................................................................................................
3.10.4 Table Base Register (TBR) .........................................................................................................
3.10.5 Multi EIT Processing ....................................................................................................................
3.10.6 Operation of EIT ..........................................................................................................................
3.11 Operation Modes ..............................................................................................................................
3.12 Reset (Initialization of the Device) ....................................................................................................
3.12.1 Reset Level ..................................................................................................................................
3.12.2 Reset Factor ................................................................................................................................
3.12.3 Reset Sequence ..........................................................................................................................
3.12.4 Oscillation Stabilization Waiting Time ..........................................................................................
3.12.5 Reset Operation Mode ................................................................................................................
3.13 Clock Generation Control .................................................................................................................
3.13.1 PLL Control ..................................................................................................................................
3.13.2 Oscillation Stabilization Waiting/PLL Lock Waiting Time .............................................................
3.13.3 Clock Distribution .........................................................................................................................
3.13.4 Clock Dividing ..............................................................................................................................
v
32
33
36
38
42
47
48
49
50
52
53
55
56
57
59
61
62
66
68
72
75
76
77
79
80
82
84
85
87
88
89
3.13.5 Block Diagram of Clock Generation Control Section ................................................................... 90
3.13.6 Registers of the Clock Generation Control Section ..................................................................... 91
3.13.7 Peripheral Circuits Provided for Clock Control Section ............................................................. 111
3.13.8 Smooth Activation and Stop of the Clock .................................................................................. 114
3.14 Device Status Control ..................................................................................................................... 119
3.14.1 Device Status and Various Transitions ...................................................................................... 121
3.14.2 Low Power Consumption Modes ............................................................................................... 124
CHAPTER 4
4.1
4.2
4.3
4.4
4.5
Overview of I/O Port .......................................................................................................................
Port Data Register (PDR0 to PDRE) ..............................................................................................
Data Direction Register (DDR0 to DDRE) ......................................................................................
Port Function Register (PFR0 to PFRE)/Extended Port Function Register
(EPFR0 to EPFRE) .........................................................................................................................
Pull-up Control Register (PCR0 to PCRE) ......................................................................................
CHAPTER 5
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
I/O Port ..................................................................................................... 129
194
197
198
200
201
External Interrupt Controller .................................................................. 207
7.1
Overview of External Interrupt Controller ........................................................................................
7.2
External Interrupt Controller Registers ...........................................................................................
7.2.1
Enable Interrupts Register (ENIR0 to ENIR2) ...........................................................................
7.2.2
External Interrupt Factor Register (EIRR0 to EIRR2) ................................................................
7.2.3
External Interrupt Request Level Setting Register (ELVR0 to ELVR2) .....................................
7.3
Operation of External Interrupt Controller .......................................................................................
CHAPTER 8
158
161
176
178
179
181
190
192
Interrupt Controller ................................................................................. 193
6.1
Overview of Interrupt Controller ......................................................................................................
6.2
Interrupt Controller Register ...........................................................................................................
6.2.1
Interrupt Control Register (ICR) .................................................................................................
6.2.2
Hold Request Cancel Request Register (HRCL) .......................................................................
6.3
Operation of Interrupt Controller .....................................................................................................
CHAPTER 7
136
156
DMA Controller (DMAC) ......................................................................... 157
Overview of DMA Controller (DMAC) .............................................................................................
DMA Controller (DMAC) Register ...................................................................................................
Operation of DMA Controller ..........................................................................................................
Setting Transfer Request ................................................................................................................
Transfer Sequence .........................................................................................................................
General Aspects of DMA Transfer ..................................................................................................
Operation Flowchart .......................................................................................................................
Data Path ........................................................................................................................................
CHAPTER 6
130
134
135
208
209
210
211
212
214
REALOS-Related Hardware ................................................................... 217
8.1
Delayed Interrupt Module ...............................................................................................................
8.1.1
Overview of delayed interrupt module .......................................................................................
8.1.2
Register of Delayed Interrupt Module ........................................................................................
8.1.3
Operation of Delayed Interrupt Module .....................................................................................
8.2
Bit Search Module ..........................................................................................................................
vi
218
219
220
221
222
8.2.1
8.2.2
8.2.3
Overview of Bit Search Module ................................................................................................. 223
Register of Bit Search Module ................................................................................................... 224
Operation of Bit Search Module ................................................................................................ 226
CHAPTER 9
16-bit Reload Timer ................................................................................. 229
9.1
Overview of 16-bit Reload Timer ....................................................................................................
9.2
Register of 16-bit Reload Timer ......................................................................................................
9.2.1
Control Status Register (TMCSR) .............................................................................................
9.2.2
16-bit Timer Register (TMR) ......................................................................................................
9.2.3
16-bit Reload Register (TMRLR) ...............................................................................................
9.3
Operation of 16-bit Reload Timer ...................................................................................................
230
231
232
235
236
237
CHAPTER 10 16-bit Compare Timer ............................................................................. 241
10.1 Overview of 16-bit Compare Timer .................................................................................................
10.2 Block Diagram of 16-bit Compare Timer ........................................................................................
10.3 Compare Timer Registers ...............................................................................................................
10.3.1 Compare Clear Register (CPCLRB/CPCLR) .............................................................................
10.3.2 Timer Data Register (TCDTH/TCDTL) ......................................................................................
10.3.3 Timer Status Control Register (TCCSH/TCCSL) .......................................................................
10.3.4 Output Compare Register (OCCPH0 to OCCPH3/OCCPL0 to OCCPL3) .................................
10.3.5 Compare Control Register (OCSH0 to OCSH3/OCSL0 to OCSL3) ..........................................
10.3.6 Input Capture Data Register (IPCPH0 to IPCPH3/IPCPL0 to IPCPL3) .....................................
10.3.7 Input Capture Status Control Register (ICSH01, ICSL01/ICSH23, ICSL23) ............................
10.4 Interrupt by the Compare Timer ......................................................................................................
10.5 Compare Timer Operation ..............................................................................................................
10.5.1 Operation of the 16-bit Free-run Timer ......................................................................................
10.5.2 Operation of the 16-bit Output Compare ...................................................................................
10.5.3 Operation of the 16-bit Input Capture ........................................................................................
10.6 Notes on Using the Compare Timer ...............................................................................................
10.7 Program Example of the Compare Timer .......................................................................................
242
243
247
251
252
253
257
258
262
263
270
272
273
276
279
281
282
CHAPTER 11 32-bit Compare Timer ............................................................................. 287
11.1 Overview of 32-bit Compare Timer .................................................................................................
11.2 Block Diagram of 32-bit Compare Timer ........................................................................................
11.3 Compare Timer Registers ...............................................................................................................
11.3.1 Compare Clear Register (CPCLRB/CPCLR) .............................................................................
11.3.2 Timer Data Register (TCDT) .....................................................................................................
11.3.3 Timer Status Control Register of High-order Byte (TCCSH) .....................................................
11.3.4 Timer Status Control Register of Low-order Byte (TCCSL) .......................................................
11.3.5 Output Compare Register (OCCP4 to OCCP7) ........................................................................
11.3.6 Compare Control Register of High-order-side (OCSH45, OCSH67) .........................................
11.3.7 Compare Control Register of Low-order Byte (OCSL45, OCSL67) ..........................................
11.3.8 Input Capture Data Register (IPCP4 to IPCP7) .........................................................................
11.3.9 Input Capture Status Control (ICS67, ICS45) ............................................................................
11.4 Interrupt by the Compare Timer ......................................................................................................
11.5 Compare Timer Operation ..............................................................................................................
11.5.1 Operation of the 32-bit Free-run Timer ......................................................................................
vii
288
289
293
296
297
298
300
302
303
305
307
308
312
314
315
11.5.2 Operation of the 32-bit Output Compare ...................................................................................
11.5.3 Operation of the 32-bit Input Capture ........................................................................................
11.6 Notes on Using the Compare Timer ...............................................................................................
11.7 Program Example of the Compare Timer .......................................................................................
318
321
323
324
CHAPTER 12 16-bit PWC ............................................................................................... 329
12.1 Overview of the 16-bit PWC ...........................................................................................................
12.2 Register of the 16-bit PWC .............................................................................................................
12.2.1 PWC Control Status Register (PWCSR0) .................................................................................
12.2.2 PWC Data Buffer Register (PWCR0) ........................................................................................
12.2.3 Division Ratio Control Register (PDIVR0) .................................................................................
12.3 Operation of the 16-bit PWC ...........................................................................................................
12.4 Notes on Using in the 16-bit PWC ..................................................................................................
330
332
333
338
339
340
350
CHAPTER 13 PPG Timer ................................................................................................ 353
13.1
13.2
13.3
13.4
13.5
Overview of PPG Timer ..................................................................................................................
Block Diagrams of PPG Timer ........................................................................................................
PPG Timer Registers ......................................................................................................................
Operation Descriptions about PPG Timer ......................................................................................
Timing Generator to PPG Timer .....................................................................................................
354
358
362
369
378
CHAPTER 14 Up/Down Counter .................................................................................... 387
14.1 Overview of Up/Down Counter .......................................................................................................
14.2 Up/Down Counter Registers ...........................................................................................................
14.2.1 Up/Down Count Register (UDCR0 to UDCR3) ..........................................................................
14.2.2 Reload Compare Register (RCR) ..............................................................................................
14.2.3 Counter Status Register (CSR) .................................................................................................
14.2.4 Counter Control Register (CCR) ................................................................................................
14.3 Operations of Up/Down Counter .....................................................................................................
388
391
392
393
394
396
400
CHAPTER 15 Serial Interface ........................................................................................ 409
15.1 Overview of Serial Interface ............................................................................................................
15.2 Function of UART (Asynchronous Serial Interface) ........................................................................
15.3 Registers of UART (Asynchronous Serial Interface) ......................................................................
15.3.1 Serial Control Register (SCR0 to SCRA) ..................................................................................
15.3.2 Serial Mode Register (SMR0 to SMRA) ....................................................................................
15.3.3 Serial Status Register (SSR0 to SSRA) ....................................................................................
15.3.4 Extended Communication Control Register (ESCR0 to ESCRA) ..............................................
15.3.5 Receive Data Register (RDR0 to RDRA), Transmit Data Register (TDR0 to TDRA) ................
15.3.6 Baud Rate Generator Registers 0/1 (BGR00 to BGRA0, BGR01 to BGRA1) ...........................
15.3.7 FIFO Control Register 1 (FCR01, FCR11) ................................................................................
15.3.8 FIFO Control Register 0 (FCR00, FCR10) ................................................................................
15.3.9 FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12) ............................................
15.4 UART Interrupt ................................................................................................................................
15.4.1 Reception Interrupt Generation and Flag Set Timing ................................................................
15.4.2 Timing when the interrupt occurs and the flag
should be set during the use of the reception FIFO ..................................................................
viii
410
412
413
414
416
418
421
423
426
428
430
433
435
437
438
15.4.3
15.4.4
Transmit Interrupt Generation and Flag Set Timing ..................................................................
Timing when the Interrupt Occurs and the Flag Should be Set during the
Use of the Transmit FIFO ..........................................................................................................
15.5 Operation of UART .........................................................................................................................
15.6 Dedicated Baud Rate Generator ....................................................................................................
15.6.1 Baud Rate Setting .....................................................................................................................
15.7 Setting Procedure and Program Flow of Operation Mode 0 (In Asynchronous Normal Mode) ......
15.8 Setting Procedure and Program Flow of Operation Mode 1
(In Asynchronous Multiprocessor Mode) ........................................................................................
15.9 Notes on UART Mode .....................................................................................................................
440
441
442
447
448
452
454
458
CHAPTER 16 CSIO (Clock Synchronous Serial Interface) ......................................... 459
16.1 Overview of CSIO (Clock Synchronous Serial Interface) ...............................................................
16.2 CSIO (Clock Synchronous Serial Interface) Registers ...................................................................
16.2.1 Serial Control Register (SCR0 to SCRA) ..................................................................................
16.2.2 Serial Mode Register (SMR0 to SMRA) ....................................................................................
16.2.3 Serial Status Register (SSR0 to SSRA) ....................................................................................
16.2.4 Extended Communication Control Register (ESCR0 to ESCRA) ..............................................
16.2.5 Receive Data Register (RDR0 to RDRA), Transmit Data Register (TDR0 to TDRA) ................
16.2.6 Baud Rate Generator Registers 0/1 (BGR00 to BGRA0/BGR01 to BGRA1) ............................
16.2.7 FIFO Control Register 1 (FCR01, FCR11) ................................................................................
16.2.8 FIFO Control Register 0 (FCR00, FCR10) ................................................................................
16.2.9 FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12) ............................................
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts ...................................................................
16.3.1 Reception Interrupt Generation and Flag Set Timing ................................................................
16.3.2 Timing when the Interrupt Occurs and the Flag Should be Set during the
Use of the Reception FIFO ........................................................................................................
16.3.3 Transmit Interrupt Generation and Flag Set Timing ..................................................................
16.3.4 Timing when the Interrupt Occurs and the Flag
Should be Set during the Use of the Transmit FIFO .................................................................
16.4 Operation of CSIO (Clock Synchronous Serial Interface) ...............................................................
16.5 Dedicated Baud Rate Generator ....................................................................................................
16.5.1 Baud Rate Setting .....................................................................................................................
16.6 Setting Procedure and Program Flow of CSIO (Clock Synchronous Serial Interface) ...................
16.7 Notes on CSIO Mode ......................................................................................................................
460
461
462
464
467
469
471
474
476
478
481
483
484
486
488
489
490
502
503
506
508
CHAPTER 17 I2C Interface ............................................................................................. 509
17.1 Overview of I2C Interface ................................................................................................................
17.2 I2C Interface Register .....................................................................................................................
17.2.1 I2C Bus Control Register (IBCR) ...............................................................................................
17.2.2 Serial Mode Register (SMR0 to SMRA) ....................................................................................
17.2.3 I2C Bus Status Register (IBSR) .................................................................................................
17.2.4 Serial Status Register (SSR0 to SSRA) ....................................................................................
17.2.5 Receive Data Register (RDR0 to RDRA), Transmit Data Register (TDR0 to TDRA) ................
17.2.6 7-bit Slave Address Mask Register (ISMK0 to ISMKA) .............................................................
17.2.7 7-bit Slave Address Register (ISBA) .........................................................................................
17.2.8 Baud Rate Generator Register 1/Baud Rate Generator Register 0
(BGR00 to BGRA0/BGR01 to BGRA1) .....................................................................................
ix
510
511
512
517
519
523
525
527
529
530
17.2.9 FIFO Control Register 1 (FCR01, FCR11) ................................................................................
17.2.10 FIFO Control Register 0 (FCR00, FCR10) ................................................................................
17.2.11 FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12) ............................................
17.3 I2C Interface Interruption ................................................................................................................
17.3.1 Operation of I2C Interface Communication ................................................................................
17.3.2 Master Mode ..............................................................................................................................
17.3.3 Slave Mode ................................................................................................................................
17.3.4 Bus Error ...................................................................................................................................
17.4 Dedicated Baud Rate Generator ....................................................................................................
17.4.1 Example of I2C Flowcharts ........................................................................................................
17.5 Notes on I2C Mode .........................................................................................................................
531
533
537
539
541
542
561
565
566
568
582
CHAPTER 18 A/D Converter .......................................................................................... 585
18.1 Overview of A/D Converter .............................................................................................................
18.2 Block Diagram of A/D Converter .....................................................................................................
18.3 Registers of A/D Converter .............................................................................................................
18.3.1 Analog Input Enable Register (ADERH) ....................................................................................
18.3.2 A/D Control Status Register (ADCS) .........................................................................................
18.3.3 Data Register (ADCR) ...............................................................................................................
18.3.4 Mirror Data Register (ADCR0M, ADCR1M) ...............................................................................
18.3.5 A/D Conversion Time Setting Register (ADCT) .........................................................................
18.3.6 A/D Start/End Channels Setting Registers (ADSCH, ADECH) .................................................
18.3.7 Trigger Control Register (ADTGS) ............................................................................................
18.4 Operation of A/D Converter ............................................................................................................
586
587
588
589
590
594
595
596
598
601
602
CHAPTER 19 FLASH MEMORY ..................................................................................... 605
19.1 Outline of Flash Memory .................................................................................................................
19.2 Flash Memory Registers .................................................................................................................
19.2.1 Flash Control Status Register (FLCR) .......................................................................................
19.2.2 Wait Register (FLWC) ...............................................................................................................
19.3 Flash Memory Access Modes .........................................................................................................
19.4 Automatic Algorithm of Flash Memory ............................................................................................
19.5 Execution Status of the Automatic Algorithm ..................................................................................
19.6 Data Writing to and Erasing from Flash Memory ............................................................................
19.6.1 Read/Reset Status ....................................................................................................................
19.6.2 Data Writing ...............................................................................................................................
19.6.3 Erasing Data (Chip Erase) .........................................................................................................
19.6.4 Erasing Data (Sector Erase) ......................................................................................................
19.6.5 Temporary Sector Erase Stop ...................................................................................................
19.6.6 Sector Erase Restart .................................................................................................................
19.7 Restrictions on Data Polling Flag (DQ7) and How to Avoid Erroneous Judgment .........................
19.8 Notes on Flash Memory Programming ...........................................................................................
606
610
611
613
614
616
620
624
625
626
628
629
631
632
633
636
CHAPTER 20 Wild Register ........................................................................................... 637
20.1 Wild Register Function .................................................................................................................... 638
20.1.1 Description of Registers for Wild Register Function .................................................................. 639
x
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum
and Absolute Values ............................................................................... 643
21.1
21.2
21.3
21.4
Overview of Arithmetic Macro for MIN/MAX/ABS ...........................................................................
Register Configuration of Arithmetic Macro for MIN/MAX/ABS ......................................................
Operation Description of Arithmetic Macro for MIN/MAX/ABS .......................................................
Caution of Arithmetic Macro for MIN/MAX/ABS ..............................................................................
644
645
648
650
CHAPTER 22 Serial Writing Connection ...................................................................... 651
22.1
22.2
22.3
22.4
22.5
Basic Configuration of the Serial Writing ........................................................................................
Pins Used for Fujitsu-Standard Serial Onboard Writing .................................................................
Sample Connection of Serial Writing ..............................................................................................
System Configuration of Flash Microcontroller Programmer ..........................................................
Caution of Serial Writing .................................................................................................................
652
653
654
655
656
APPENDIX ......................................................................................................................... 657
APPENDIX A I/O Map ................................................................................................................................ 658
APPENDIX B Vector Table ......................................................................................................................... 672
APPENDIX C Pin Status List ...................................................................................................................... 675
INDEX................................................................................................................................... 679
xi
xii
Major changes in this edition
The vertical lines marked in the left side of the page show the changes.
Page
Section
Changes (For details, refer to main body.)
CHAPTER 5 DMA
191 Controller (DMAC)
Corrected "Figure 5.7-2 Operation Flowchart (Burst Transfer)".
5.7 Operation Flowchart
CHAPTER 8 REALOSRelated Hardware
224,
8.2 Bit Search Module
Corrected Figure 8.2-3, Figure 8.2-4, Figure 8.2-5, and Figure 8.2-6.
225
8.2.2 Register of Bit
Search Module
CHAPTER 9 16-bit
Reload Timer
237
9.3 Operation of 16-bit
Reload Timer
Corrected Figure 9.3-1.
238, 9.3 Operation of 16-bit
239 Reload Timer
Corrected Figure 9.3-4 and Figure 9.3-5.
CHAPTER 10 16-bit
Compare Timer
10.5 Compare Timer
276
Operation
10.5.2 Operation of the
16-bit Output Compare
Corrected "■ Operation of the 16-bit Output Compare (Inversion Mode)".
282
10.7 Program Example
of the Compare Timer
CHAPTER 13 PPG
355, Timer
356 13.1 Overview of PPG
Timer
362
13.3 PPG Timer
Registers
13.5 Timing Generator
to PPG Timer
384 ■ Overview of the
Timing Generator
Operation
391 CHAPTER 14 Up/
Down Counter
396 14.2 Up/Down Counter
Registers
409
CHAPTER 15 Serial
Interface
Corrected the main text in "● Details of processing".
(62.5ms  62.5ns)
Corrected Figure 13.1-2, Figure 13.1-3, and Figure 13.1-4.
Corrected "■ PPGCn Register (PPGn Operation Mode Control Register) n = 0 to F".
Corrected Figure 13.3-1.
Corrected "Figure 13.5-5 Timing for Operating/Stopping the 8-bit Counter".
(MONITER  MONI)
Corrected Figure 14.2-1.
Corrected Figure 14.2-5.
Added "15.9 Notes on UART Mode".
xiii
Page
Section
424
15.3 Registers of UART
(Asynchronous Serial
428 Interface)
Changes (For details, refer to main body.)
Corrected Figure 15.3-7.
Corrected Figure 15.3-9.
Initial value in Figure 15.3-9 was changed to 00-0000000000000B.
447
15.6 Dedicated Baud
Rate Generator
Corrected "Notes:".
(1500H  0000H)
15.9 Notes on UART
Mode
Added an item.
458
CHAPTER 16 CSIO
(Clock Synchronous
Serial Interface)
491
16.4 Operation of CSIO
(Clock Synchronous
Serial Interface)
508
16.7 Notes on CSIO
Mode
According to the errata notes, attachment 2 was added as 15.9.
Corrected "● Timing chart for Normal Transfer (I)" and others.
(SOUT  SOT)
Added an item.
Added "16.7 Notes on CSIO Mode".
2
509 CHAPTER 17 I C
Interface
Added "17.1 Overview of I2C Interface".
17.2 I2C Interface
Register
512 17.2.1
I2C Bus Control
Register (IBCR)
Corrected Figure 17.2-2.
17.2.6
7-bit Slave Address
528
Mask Register (ISMK0
to ISMKA)
Corrected Table 17.2-6.
17.2.7
529 7-bit Slave Address
Register (ISBA)
Corrected Figure 17.2-9.
531 17.2.9
FIFO Control Register 1
532 (FCR01, FCR11)
568
17.4 Dedicated Baud
to
Rate Generator
581
Corrected Figure 17.2-11.
CR01  FCR01
Corrected the title of Table 17.2-8.
Corrected Figure 17.4-1 to Figure 17.4-12
582 17.5 Notes on I2C Mode Added an item in "17.5 Notes on I2C Mode".
xiv
Page
Section
CHAPTER 18 A/D
Converter
18.1 Overview of A/D
586
Converter
■ Features of the A/D
Converter
588
18.3 Registers of A/D
Converter
590
"channel" was changed to "unit".
Corrected Figure 18.3-1.
Corrected "■ A/D Control Status Register (ADCS0, ADCS1)".
18.3.2 A/D Control
592 Status Register (ADCS)
598 18.3.6
A/D Start/End Channels
Setting Registers
599 (ADSCH, ADECH)
603, 18.4 Operation of A/D
604 Converter
605
Changes (For details, refer to main body.)
CHAPTER 19 FLASH
MEMORY
Corrected the term.
(A/D  A/D conversion)
Corrected "Summary" and "■ A/D Start/End Channel Setting Registers (ADSCH,
ADECH)".
Corrected the terms.
(UNIT)(Reserved)
"■ Setting Example of the Compare/Sampling time" was replaced by master copy.
Replaced by the latest version of CM71-00512-2.
606
Deleted "TM" in "*: Automatic algorithm: embedded algorithmTM".
19.1 Outline of Flash
608 Memory
Corrected Figure 19.1-2.
609
Corrected Figure 19.1-3.
611
19.2.1 Flash Control
Status Register (FLCR)
Corrected Figure 19.2-2.
629
19.6.4 Erasing Data
(Sector Erase)
Corrected "❍ How to Specify Sectors".
(erase code (30H)  erase code (3030H))
636
19.8 Notes on Flash
Memory Programming
Added an item.
637
CHAPTER 20 Wild
to
Register
642
Totally revised from "19.6 Wild Register" of the second edition.
CHAPTER 21
643 Arithmetic Macro for
to the Minimum,
650 Maximum and Absolute
Values
Corrected Chapter number.
(CHAPTER 20  CHAPTER 21)
651
CHAPTER 22 Serial
to
Writing Connection
656
Corrected Chapter number.
(CHAPTER 21  CHAPTER 22)
xv
Page
Section
662 APPENDIX
663 APPENDIX A I/O Map
Changes (For details, refer to main body.)
Corrected "Attached Table A-1 I/O Map".
Corrected "Attached Table A-1 I/O Map".
xvi
CHAPTER 1
Overview
The FR families are lines of standard single-chip
microcontrollers each based on a 32-bit highperformance RISC CPU, incorporating a variety of I/O
resources and bus control features for embedded
control applications which require high performance/
high-speed CPU processing.
1.1 Overview
1.2 Block Diagram
1.3 External Dimensions
1.4 Pin Assignments
1.5 Pin Function List
1.6 I/O Circuit Type
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
1
CHAPTER 1 Overview
1.1 Overview
1.1
MB91345 Series
Overview
This section shows the features of MB91345 series.
■ Features
• 32-bit RISC, load/store architecture, and 5-stage pipeline
• Maximum operating frequency: 50 MHz [when PLL used at original oscillation of 12.5 MHz]
• 16-bit fixed length instruction (basic instruction); 1 instruction/cycle
• Memory-to-memory transfer instruction, bit manipulation instruction, barrel shift instruction, etc.
Instructions suiting for embedded applications.
• Function entry/exit instruction, multi-load/store instruction of register contents
Instructions supporting high-level languages
• Register interlock function
Facilitating description in assembler language
• Built-in multiplier/supported at instruction level
- Signed 32-bit multiplication: 5 cycles
- Signed 16-bit multiplication: 3 cycles
• Interrupt (PC and PS saved): 6 cycles, 16 priority levels
• Harvard architecture enabling concurrent program access and data access
• Instruction compatibility with other products of FR family
■ Internal Memory
Table 1.1-1 Internal Memory
Flash memory
D-bus RAM
F-bus RAM
MB91F345B
512 Kbytes
24 Kbytes
8 Kbytes
MB91F346B
1 Mbyte
24 Kbytes
8 Kbytes
■ DMAC (DMA Controller)
• Up to 5 channels can operate simultaneously
• Two transfer factors (internal peripheral and software)
• Addressing mode: 20-/24-bit full-address specification (increase, decrease, and fixed)
• Various transfer modes (burst transfer, step transfer, and block transfer)
• Selectable transfer data sizes of 8, 16, and 32 bits
■ Bit Search Module (REALOS is Used)
The position of the first change "1" / "0" is searched from MSB in 1 word.
■ Reload Timer: 3 channels (Including 1 channel for REALOS)
• 16-bit timer
• Any of 2-/8-/32-divided frequency can be selected for the internal clock.
2
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.1 Overview
MB91345 Series
■ Multi Function Serial Interface: Up to 11 channels
• Full duplex double buffer
• 2 channels out of 11 channels with 16-byte FIFO
• Any of asynchronous (Start-Stop synchronous) communication, clock synchronous communication, I2C
normal mode (Max 100 Kbps), and I2C high-speed mode (Max 400 Kbps) can be selected for
transmission mode.
• With parity and without parity
• Baud rate generator for each channel
• A full range of error detection functions is provided. (Parity, frame, and overrun)
• External clocks used as transfer clocks
• ch.0, ch.1, ch.2, and ch.10 is tolerant of 5V.
• SPI supported
■ Interrupt Controller: External Interrupts Up to 24 channels
• Interrupts from internal peripherals.
• Software-programmable priority levels (16 levels)
• Used as Wake up at stop
■ A/D Converter: 8 channels + 8 channels 2 unit
• 10-bit resolution
• Sequential conversion
Conversion time: min. 1.2 s (at 16 MHz)
• Conversion mode (one-shot conversion and scan conversion)
• Trigger (software and external)
■ PPG Timer: Up to 16 channels (at 8 bits)
• 8/16-bit PPG timer: 8 bits  16 channels or 16 bits  8 channels
• Any of 1-/4-/16-/64-divided frequency can be selected for the internal clock.
■ PWC Timer: 1 channel
16-bit up counter 1 channel (1 input)
■ Input Capture and Output Compare: Up to 8 channels (ch.0 to ch.3; 16-bit ICU, OCU,
ch.4 to ch.7; 32-bit ICU, OCU)
• 16-bit free-run counter  1 channel + 16-bit input capture  4 channels + 16-bit output compare  4
channels
• 32-bit free-run counter  1 channel + 32-bit input capture  4 channels + 32-bit output compare  4
channels
■ Other Interval Timer and Counter
• 8-/16-bit up down counter:
8-bit  4 channels or 16-bit  2 channels
• 16-bit time-base timer/watchdog timer
• MIN/MAX/ABS arithmetic functions
Performance of MIN, MAX and ABS arithmetical operations, and cumulative addition of the results
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
3
CHAPTER 1 Overview
1.1 Overview
MB91345 Series
■ I/O Port: Max 71 ports
■ Other Features
• Oscillation circuit for clock source and PLL multiplier
• INIT Reset pin
• Watchdog timer and software resets
• Stop mode and sleep mode supported as low-power-consumption mode
• Gear function
• Built-in time-base timer
• Memory patch function
• Package: TQFP-100
• CMOS technology (0.18 m)
• Power supply voltage: 3.3 V ± 0.3 V (single power supply)
4
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.2 Block Diagram
MB91345 Series
1.2
Block Diagram
This section shows the block diagram of MB91345 series.
■ Block Diagram
Figure 1.2-1 Block Diagram
FR CPU
Core
32
Absolute value
operation macro
32
Bit search
RAM 24Kbytes
(data)
Bus
Converter
Flash 512K/1Mbytes
RAM 8Kbytes
X0 ,X1
MD2 to MD0
INIT
32
32
16
Adapter
Clock
control
PORT I/F
16
Interrupt
controller
INT23 to INT0
SIN10 to SIN0
SOT10 to SOT0
SCK10 to SCK0
AN7 to AN0
ADTRG0,
ADTRG0-2
AVRH ,AVCC
AVSS/AVRL
ADTRG1,
ADTRG1-2
AN15 to AN8
AIN3 to AIN0,
BIN3 to BIN0,
ZIN3 to ZIN0
PPGF to PPG0
CM71-10132-3E
DMAC
5 channels
16-bit Reload timer
3 channels
External interrupt
24 channels
PORT
TOT2 to TOT0,
TOT0-2, TOT1-2,
TOT2-2
TIN2 to TIN0
16-bit Free-run timer
FRCK0
11 channels
16-bit Input capture
4 channels
IC3 to IC0
10-bit A/D
8 channels x 1 unit
16-bit Output compare
4 channels
RT3 to RT0
10-bit A/D
8 channels x 1 unit
32-bit Free-run timer
FRCK1
8/16-bit up down
2 channels
32-bit Input capture
4 channels
IC7 to IC4
32-bit Output compare
4 channels
RT7 to RT4
UART (including 2channels
with internal FIFO)
8/16-bit PPG
16 channels
FUJITSU SEMICONDUCTOR LIMITED
5
CHAPTER 1 Overview
1.3 External Dimensions
1.3
MB91345 Series
External Dimensions
This section shows the external dimensions drawing of MB91345 series.
■ TQFP 100-pin
Figure 1.3-1 External Dimensions
100-pin plastic TQFP
(FPT-100P-M18)
100-pin plastic TQFP
(FPT-100P-M18)
Lead pitch
0.40 mm
Package width ×
package length
12.0 × 12.0 mm
Lead shape
Gullwing
Sealing method
Plastic mold
Mounting height
1.20 mm MAX
Weight
0.40g
Code(Reference)
P-TFQFP100-12 × 12-0.40
Note 1) * : These dimensions do not include resin protrusion.
Note 2) Pins width and pins thickness include plating thickness.
Note 3) Pins width do not include tie bar cutting remainder.
14.00±0.20(.551±.008)SQ
* 12.00±0.10(.472±.004)SQ
75
0.145±0.055
(.006±.002)
51
76
50
0.08(.003)
Details of "A" part
1.10±0.10
(.043±.004)
INDEX
0°~8°
26
100
0.10±0.05
(.004±.002)
(Stand off)
"A"
0.25(.010)
LEAD No.
1
0.40(.016)
C
0.60±0.15
(.024±.006)
25
0.18±0.05
(.007±.002)
0.07(.002)
M
2003-2010 FUJITSU SEMICONDUCTOR LIMITED F100029S-c-3-6
Dimensions in mm (inches).
Note: The values in parentheses are reference values.
Please confirm the latest Package dimension by following URL.
http://edevice.fujitsu.com/package/en-search/
6
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.4 Pin Assignments
MB91345 Series
1.4
Pin Assignments
This section shows the pin assignments drawing of MB91345 series.
■ TQFP 100-pin
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
VCC
P23/SIN1
P22/SCK0/SCL0
P21/SOT0/SDA0
P20/SIN0
P17/ADTRG0
P16/SCK7/SCL7/ADTRG1
P15/SOT7/SDA7/TOT2
P14/SIN7/TIN2
P13/SCK6/SCL6/TOT1
P12/SOT6/SDA6/TIN1
P11/SIN6/TOT0
P10/SCK5/SCL5/TIN0
P07/SOT5/SDA5/INT15
P06/SIN5/INT14
P05/SCK4/SCL4/INT13
P04/SOT4/SDA4/INT12
P03/SIN4/INT11
P02/SCK3/SCL3/INT10
P01/SOT3/SDA3/INT9
P00/SIN3/INT8
P63/RT3
P62/RT2/ADTRG1-2
P61/RT1/PWC0/ADTRG0-2
VCC
Figure 1.4-1 TQFP 100-pin
VSS
C
P24/SOT1/SDA1
P25/SCK1/SCL1
P26/SIN2
P27/SOT2/SDA2
P30/SCK2/SCL2
P31/AIN0/TOT0-2
P32/BIN0/TOT1-2
P33/ZIN0/TOT2-2
P34/AIN2
P35/BIN2/IC4
P36/ZIN2/IC5
P37/FRCK1
P40/PPG9/INT16
P41/PPGB/INT17
P42/PPGD/INT18
P43/PPGF/INT19
P44/IC0/INT20
P45/IC1/INT21/SIN10
P46/IC2/INT22/SOT10/SDA10
P47/IC3/INT23/SCK10/SCL10
VSS
X1
X0
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
Top View
TOP View
(TQFP-100)
MB91420 Series
(LQFP-100)
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
57
53
52
51
VSS
P60/RT0
P57/RT7
P56/RT6
P55/RT5
P54/RT4
P53/PPG7
P52/PPG5
P51/PPG3
P50/PPG1
MD2
MD1
MD0
INIT
TRST
IBREAK
ICS2
ICS1
ICS0
ICD3
ICD2
ICD1
ICD0
ICLK
VCC
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
VSS
PC2/IC7/SCK9/SCL9
PC1/IC6/SOT9/SDA9
PC0/FRCK0/SIN9
PE7/AN15/INT7/SCK8/SCL8
PE6/AN14/INT6/SOT8/SDA8
PE5/AN13/INT5/SIN8
PE4/AN12/INT4/PPGE
PE3/AN11/INT3/PPGC
PE2/AN10/INT2/PPGA
PE1/AN9/INT1/PPG8
PE0/AN8/INT0/PPG6
AVSS
AVRL
AVRH
AVCC
PD7/AN7/PPG4
PD6/AN6/PPG2
PD5/AN5/ZIN3/PPG0
PD4/AN4/BIN3
PD3/AN3/AIN3
PD2/AN2/ZIN1
PD1/AN1/BIN1
PD0/AN0/AIN1
VCC
Note: TOTx and TOTx-2 have same function. Also ADTRGx and ADTRGx-2 have
same function. Use either of the two depending on the combined resource.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
7
CHAPTER 1 Overview
1.5 Pin Function List
1.5
MB91345 Series
Pin Function List
This section shows the pin function list.
■ Pin Function List
Table 1.5-1 Pin Function List (1 / 9)
Pin No.
Pin name
Circuit
type
1
VSS
-
Power supply pin (0V)
2
C
-
Power stabilization capacitance pin
P24
3
SOT1
General-purpose I/O port
B
P25
SCK1
General-purpose I/O port. Enabled in single-chip mode.
B
P26
6
General-purpose I/O port. Enabled in single-chip mode.
B
SIN2
UART2 serial data input pin
P27
General-purpose I/O port. Enabled in single-chip mode.
SOT2
B
P30
SCK2
General-purpose I/O port. Enabled in single-chip mode.
B
P31
AIN0
General-purpose I/O port. Enabled in single-chip mode.
B
TOT0-2
BIN0
General-purpose I/O port. Enabled in single-chip mode.
B
TOT1-2
ZIN0
TOT2-2
8
Up down counter input pin
Reload timer output pin
P33
10
Up down counter input pin
Reload timer output pin
P32
9
UART2 clock I/O pin
I2C2 clock I/O pin.
SCL2
8
UART2 serial data output pin
I2C2 data I/O pin.
SDA2
7
UART1 clock I/O pin
I2C1 clock I/O pin.
SCL1
5
UART1 serial data output pin
I2C1 data I/O pin.
SDA1
4
Function
General-purpose I/O port. Enabled in single-chip mode.
B
Up down counter input pin
Reload timer output pin
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-1 Pin Function List (2 / 9)
Pin No.
Pin name
Circuit
type
P34
11
General-purpose I/O port. Enabled in single-chip mode.
B
AIN2
Up down counter input pin
P35
12
13
BIN2
General-purpose I/O port. Enabled in single-chip mode.
B
Input capture ICU 4 data sample input pin
P36
General-purpose I/O port. Enabled in single-chip mode.
ZIN2
B
General-purpose I/O port. Enabled in single-chip mode.
B
FRCK1
16-bit free-run timer input pin
P40
PPG9
General-purpose I/O port
B
INT16
PPGB
General-purpose I/O port
B
INT17
General-purpose I/O port
B
INT18
PPGF
General-purpose I/O port
B
INT19
IC0
General-purpose I/O port
B
INT20
Input capture ICU0 data sample input pin
External interrupt request 20 input pin
P45
General-purpose I/O port
IC1
20
PPG output pin
External interrupt request 19 input pin
P44
19
PPG output pin
External interrupt request 18 input pin
P43
18
PPG output pin
Input pin of external interrupt request 17
P42
PPGD
PPG output pin
Input pin of External interrupt request 16
P41
17
Up down counter input pin
Input capture ICU 5 data sample input pin
P37
14
16
Up down counter input pin
IC4
IC5
15
Function
Input capture ICU1 data sample input pin
B
INT21
External interrupt request 21 input pin
SIN10
UART10 serial data input pin
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
9
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-1 Pin Function List (3 / 9)
Pin No.
21
22
Pin name
Circuit
type
P46
General-purpose I/O port
IC2
Input capture ICU2 data sample input pin
INT22
B
External interrupt request 22 input pin
SOT10
UART10 serial data output pin
SDA10
I2C10 data I/O pin.
P47
General-purpose I/O port
IC3
Input capture ICU3 data sample input pin
INT23
B
External interrupt request 10 input pin
SCK10
UART10 clock I/O pin
SCL10
I2C10 clock I/O pin.
23
VSS
-
Power supply pin (0V)
24
X1
A
Main clock I/O
25
X0
A
Main clock input
26
VCC
-
Power supply pin (3.3V)
PD0
27
28
29
30
31
AN0
General-purpose I/O port
E
A/D converter analog input pin
AIN1
Up down counter input pin
PD1
General-purpose I/O port
AN1
E
A/D converter analog input pin
BIN1
Up down counter input pin
PD2
General-purpose I/O port
AN2
E
A/D converter analog input pin
ZIN1
Up down counter input pin
PD3
General-purpose I/O port
AN3
E
A/D converter analog input pin
AIN3
Up down counter input pin
PD4
General-purpose I/O port
AN4
BIN3
10
Function
E
A/D converter analog input pin
Up down counter input pin
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-1 Pin Function List (4 / 9)
Pin No.
Pin name
Circuit
type
PD5
General-purpose I/O port
AN5
32
33
34
Function
A/D converter analog input pin
E
ZIN3
Up down counter input pin
PPG0
PPG output pin
PD6
General-purpose I/O port
AN6
E
A/D converter analog input pin
PPG2
PPG output pin
PD7
General-purpose I/O port
AN7
E
PPG4
A/D converter analog input pin
PPG output pin
35
AVCC
-
Analog power supply input pin
36
AVRH
-
A/D converter standard voltage input pin
Be sure to turn on/off this power supply when potential of AVRH or more is
applied to AVCC.
37
AVRL
-
A/D converter standard low voltage input pin
38
AVSS
-
Analog VSS input pin
PE0
General-purpose I/O port
AN8
39
A/D converter analog input pin
E
INT0
External interrupt request 0 input pin
PPG6
PPG output pin
PE1
General-purpose I/O port
AN9
40
A/D converter analog input pin
E
INT1
External interrupt request 1 input pin
PPG8
PPG output pin
PE2
General-purpose I/O port
AN10
41
A/D converter analog input pin
E
INT2
External interrupt request 2 input pin
PPGA
PPG output pin
PE3
General-purpose I/O port
AN11
42
A/D converter analog input pin
E
INT3
External interrupt request 3 input pin
PPGC
PPG output pin
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
11
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-1 Pin Function List (5 / 9)
Pin No.
Pin name
Circuit
type
PE4
General-purpose I/O port
AN12
43
A/D converter analog input pin
E
INT4
External interrupt request 4 input pin
PPGE
PPG output pin
PE5
General-purpose I/O port
AN13
44
A/D converter analog input pin
E
INT5
External interrupt request 5 input pin
SIN8
UART8 serial data input pin
PE6
General-purpose I/O port
AN14
45
INT6
A/D converter analog input pin
E
UART8 serial data output pin
SDA8
I2C8 data I/O pin.
General-purpose I/O port
AN15
INT7
A/D converter analog input pin
E
UART8 clock I/O pin
SCL8
I2C8 clock I/O pin.
FRCK0
General-purpose I/O port
C
UART9 serial data input pin
PC1
General-purpose I/O port
SOT9
Input capture ICU6 data sample input pin
C
PC2
General-purpose I/O port
IC7
SCK9
Input capture ICU7 data sample input pin
C
UART9 clock I/O pin
I2C9 clock I/O pin.
SCL9
12
UART9 serial data output pin
I2C9 data I/O pin.
SDA9
49
16-bit free-run timer input pin
SIN9
IC6
48
External interrupt request 7 input pin
SCK8
PC0
47
External interrupt request 6 input pin
SOT8
PE7
46
Function
50
VSS
-
Power supply pin (0V)
51
VCC
-
Power supply pin (3.3V)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-1 Pin Function List (6 / 9)
Pin No.
Pin name
Circuit
type
52
ICLK
H
Development tool clock pin
53
ICD0
K
Development tool data pin
54
ICD1
K
Development tool data pin
55
ICD2
K
Development tool data pin
56
ICD3
K
Development tool data pin
57
ICS0
J
Development tool status pin
58
ICS1
J
Development tool status pin
59
ICS2
J
Development tool status pin
60
IBREAK
I
Development tool break pin
61
TRST
G
Development tool reset pin
62
INIT
G
Reset pin
63
MD0
F
Operation mode designation input pin. Directly connect this pin to VCC or VSS.
64
MD1
F
Operation mode designation input pin. Directly connect this pin to VCC or VSS.
65
MD2
F
Operation mode designation input pin. Directly connect this pin to VCC or VSS.
P50
66
Function
General-purpose I/O port
C
PPG1
PPG output pin
P51
67
General-purpose I/O port
C
PPG3
PPG output pin
P52
68
General-purpose I/O port
C
PPG5
PPG output pin
P53
69
General-purpose I/O port
C
PPG7
PPG output pin
P54
70
General-purpose I/O port
C
RT4
Output compare OCU4 waveform output pin
P55
71
General-purpose I/O port
C
RT5
Output compare OCU5 waveform output pin
P56
72
General-purpose I/O port
D
RT6
Output compare OCU6 waveform output pin
P57
73
General-purpose I/O port
D
RT7
Output compare OCU7 waveform output pin
P60
74
General-purpose I/O port
C
RT0
CM71-10132-3E
Output compare OCU0 waveform output pin
FUJITSU SEMICONDUCTOR LIMITED
13
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-1 Pin Function List (7 / 9)
Pin No.
Pin name
Circuit
type
75
VSS
-
Power supply pin (0V)
76
VCC
-
Power supply pin (3.3V)
P61
General-purpose I/O port
RT1
77
Output compare OCU1 waveform output pin
C
PWC0
PWC input pin
ADTRG0-2
A/D converter trigger input pin
P62
78
RT2
General-purpose I/O port
C
ADTRG1-2
General-purpose I/O port
C
RT3
Output compare OCU3 waveform output pin
P00
General-purpose I/O port
SIN3
C
INT8
General-purpose I/O port
SOT3
81
UART3 serial data output pin
C
SDA3
I2C3 data I/O pin.
INT9
External interrupt request 9 input pin
P02
General-purpose I/O port
SCK3
82
UART3 clock I/O pin
C
SCL3
I2C3 clock I/O pin.
INT10
External interrupt request 10 input pin
P03
SIN4
General-purpose I/O port
C
INT11
General-purpose I/O port
SOT4
84
UART4 serial data input pin
External interrupt request 11 input pin
P04
14
UART3 serial data input pin
External interrupt request 8 input pin
P01
83
Output compare OCU2 waveform output pin
A/D converter trigger input pin
P63
79
80
Function
UART4 serial data output pin
C
SDA4
I2C4 data I/O pin.
INT12
External interrupt request 12 input pin
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-1 Pin Function List (8 / 9)
Pin No.
Pin name
Circuit
type
P05
General-purpose I/O port
SCK4
85
UART4 clock I/O pin
C
SCL4
I2C4 clock I/O pin.
INT13
External interrupt request 13 input pin
P06
86
SIN5
General-purpose I/O port
C
INT14
General-purpose I/O port
SOT5
87
UART5 serial data output pin
C
SDA5
I2C5 data I/O pin.
INT15
External interrupt request 15 input pin
P10
General-purpose I/O port
SCK5
88
UART5 clock I/O pin
C
SCL5
I2C5 clock I/O pin.
TIN0
Reload timer 0 event input pin
P11
SIN6
General-purpose I/O port
C
UART6 serial data input pin
TOT0
Reload timer 0 output pin
P12
General-purpose I/O port
SOT6
90
UART6 serial data output pin
C
SDA6
I2C6 data I/O pin.
TIN1
Reload timer 1 event input pin
P13
General-purpose I/O port
SCK6
91
92
UART5 serial data input pin
External interrupt request 14 input pin
P07
89
Function
UART6 clock I/O pin
C
SCL6
I2C6 clock I/O pin.
TOT1
Reload timer 1 output pin
P14
General-purpose I/O port
SIN7
TIN2
CM71-10132-3E
C
UART7 serial data input pin
Reload timer 2 event input pin
FUJITSU SEMICONDUCTOR LIMITED
15
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-1 Pin Function List (9 / 9)
Pin No.
Pin name
Circuit
type
P15
General-purpose I/O port
SOT7
93
UART7 serial data output pin
C
SDA7
I2C7 data I/O pin.
TOT2
Reload timer 2 output pin
P16
General-purpose I/O port
SCK7
94
UART7 clock I/O pin
C
SCL7
ADTRG1
General-purpose I/O port
C
ADTRG0
A/D converter trigger input pin
P20
96
General-purpose I/O port
C
SIN0
UART0 serial data input pin
P21
General-purpose I/O port
SOT0
C
P22
SCK0
General-purpose I/O port
C
P23
General-purpose I/O port
C
SIN1
100
16
UART0 clock I/O pin
I2C0 clock I/O pin.
SCL0
99
UART0 serial data output pin
I2C0 data I/O pin.
SDA0
98
I2C7 clock I/O pin.
A/D converter trigger input pin
P17
95
97
Function
VCC
UART1 serial data input pin
-
Power supply pin (3.3V)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.5 Pin Function List
MB91345 Series
Table 1.5-2 I/O Pin Number
Package pin number
Pin name
TQFP100
CM71-10132-3E
X1
24
X0
25
INIT
62
P00 to P07
80 to 87
P10 to P17
88 to 95
P20 to P23
96 to 99
P24 to P27
3 to 6
P30 to P37
7 to 14
P40 to P47
15 to 22
P50 to P57
66 to 73
P60
74
P61 to P63
77 to 79
PC0 to PC2
47 to 49
PD0 to PD7
27 to 34
PE0 to PE7
39 to 46
AVCC
35
AVRH
36
AVRL
37
AVSS
38
MD0 to MD2
63 to 65
VCC
26, 51, 76, 100
VSS
1, 23, 50, 75
C
2
FUJITSU SEMICONDUCTOR LIMITED
17
CHAPTER 1 Overview
1.6 I/O Circuit Type
1.6
MB91345 Series
I/O Circuit Type
This section shows the I/O circuit type.
■ I/O Circuit Type
Table 1.6-1 I/O Circuit Type (1 / 4)
Classification
Circuit type
Remarks
X1
Clock input
A
Oscillation circuit
Internal resistor: approx. 1M.
X0
STANDBY CONTROL
B
P-ch
Open drain control
N-ch
Digital output
• CMOS level output
IOH = 4 mA
• With open drain output control
• CMOS level hysteresis input
VIH = 0.7  VCC
• Standby control provided
• Tolerant: 5V
Digital input
STANDBY CONTROL
P-ch
C
P-ch
Open drain control
N-ch
Digital output
• CMOS level output
IOH = 4 mA
• With open drain output control
• CMOS level hysteresis input
VIH = 0.8  VCC
• Standby control provided
• With pull-up resistance (33 k)
Digital input
STANDBY CONTROL
18
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.6 I/O Circuit Type
MB91345 Series
Table 1.6-1 I/O Circuit Type (2 / 4)
Classification
Circuit type
D
Remarks
P-ch
Digital output
N-ch
Digital output
• CMOS level output
IOH = 4 mA
• CMOS level hysteresis input
VIH = 0.8  VCC
Standby control provided
Without pull-up resistance
Digital input
STANDBY CONTROL
P-ch
P-ch
Open drain control
N-ch
Digital output
E
• CMOS level output
IOH = 4 mA
• With open drain output control
• CMOS level hysteresis input
VIH = 0.8  VCC
Standby control provided
• With analog input switch
• With pull-up resistance (33 k)
Analog input
CONTROL
Digital input
STANDBY CONTROL
• CMOS level input
• Standby control not provided
P-ch
F
N-ch
Digital input
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
19
CHAPTER 1 Overview
1.6 I/O Circuit Type
MB91345 Series
Table 1.6-1 I/O Circuit Type (3 / 4)
Classification
Circuit type
Remarks
• CMOS hysteresis input
• With pull-up resistance
P-ch
G
P-ch
N-ch
Digital input
CMOS level output
P-ch
Digital output
N-ch
Digital output
H
• CMOS hysteresis input
• With pull-down resistance
• Standby control not provided
P-ch
I
N-ch
N-ch
Digital input
J
P-ch
Digital output
N-ch
Digital output
• CMOS level output
• CMOS level hysteresis input
• Standby control not provided
Digital input
20
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 1 Overview
1.6 I/O Circuit Type
MB91345 Series
Table 1.6-1 I/O Circuit Type (4 / 4)
Classification
Circuit type
P-ch
Digital output
N-ch
Digital output
K
N-ch
Remarks
•
•
•
•
CMOS level output
CMOS level hysteresis input
Standby control not provided
With pull-down resistance
Digital input
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
21
CHAPTER 1 Overview
1.6 I/O Circuit Type
22
MB91345 Series
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 2
Handling of Device
This chapter describes precautions about handling of
the MB91345 series.
2.1 Precautions on Handling of Device
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
23
CHAPTER 2 Handling of Device
2.1 Precautions on Handling of Device
2.1
MB91345 Series
Precautions on Handling of Device
This section explains how to prevent latch-up, how to design pin processing, how to
handle the circuit, and notes on input at power on.
■ To Prevent Latch-up
The latch-up phenomenon may occur in CMOS IC if a voltage higher than VCC or lower than VSS is
applied to the input pin or output pin, or if a voltage exceeding the rated voltage is applied between VCC
pin and VSS pin. If the latch-up phenomenon occurs, the power supply current can increase rapidly, leading
to thermal damage of elements. Thus, sufficient care must be taken to ensure that the maximum voltage
rating is not exceeded when using the device.
■ Handling of Unused Input Pin
If an unused input pin is left open, a malfunction may occur. Thus, perform pull-up or pull-down
processing.
■ Handling of Power Pin
If there are multiple VCC pins and VSS pins, potential to be the same is connected inside the device at the
designing device, in order to prevent malfunctioning such as latch-up. Be sure to connect all of them to the
power supply and ground externally for reducing unnecessary radiation, preventing malfunctioning of the
strobe signal due to the rising ground level, and obeying the total output current standard. In addition,
consideration should be given to connecting VCC pin/VSS pin of this device with as low an impecance as
possible from the current supply source. Also, we recommend connecting a ceramic capacitor of about 0.1
µF between VCC pin and VSS pin near this device as a bypass capacitor.
■ Handling of Crystal Oscillator Circuit
Noise in the vicinity of the X0 and X1 pins may cause a malfunction in the device. Design the printed
circuit board so that X0 pin, X1 pin, the crystal oscillator (or ceramic oscillator), and the bypass capacitor
are as close to the ground as possible. It is strongly recommended to design the printed circuit board
artwork so that the X0/X1 pins are surrounded by ground plane, because stable operation can be expected
with such an artwork. Please ask the crystal maker to evaluate the oscillational characteristics of the crystal
and this device.
■ Handling of Mode Pins (MD0 to MD2)
These pins should be connected directly to VCC pin or VSS pin. To prevent the device from being
erroneously switched to test mode due to noise, design the printed circuit board such that the pattern length
between the mode pins and VCC pin or VSS pin is as short as possible to ensure that they are connected at
a low impedance.
24
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 2 Handling of Device
2.1 Precautions on Handling of Device
MB91345 Series
■ About Operation at Power-on
Be sure to execute setting initialized reset (INIT) with INIT pin immediately after power-on.
Also, in order to provide the oscillation stabilization wait time of the oscillator circuit and the stabilization
wait time of regulator immediately after power-on, the "L" level input to the INIT pin should be maintained
for the wait time required by the oscillator circuit to stabilize. (For INIT via the INIT pin, the oscillation
stabilization wait time setting is initialized to the minimum value.)
■ About Oscillation Input at Power On
When turning the power on, be sure that clock input is maintained until the device is released from the
oscillation stabilization wait state.
■ Note at Power On/Off
When the power is turned on, the output pin may be indeterminate until the internal power supply
stabilizes.
■ About Clocks
● Note when using external clock
In principle, when using external clock, supply a clock to the X0 pin and an opposite-phase clock signal to
the X1 pin simultaneously. However, the STOP mode (oscillation stop mode) must not be used in this case,
because the X1 pin stops with the "H" output in the STOP mode. When operating at 12.5 MHz or less, the
device can be used with the clock signal supplied only to the X0 pin.
The following Figure 2.1-1 and Figure 2.1-2, are two examples of how to use the external clock.
Figure 2.1-1 Example of Using an External Clock (Normal Case)
X0
X1
MB91345 series
[The STOP mode (oscillation stop mode) cannot be used.]
Figure 2.1-2 Example of Using an External Clock (Possible Only If 12.5 MHz or Below)
X0
OPEN
X1
MB91345 series
Note:
The X1 pin must be designed to have a delay within 15 ns, at 10 MHz, from the signal to the X0 pin.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
25
CHAPTER 2 Handling of Device
2.1 Precautions on Handling of Device
MB91345 Series
■ About C Pin
MB91345 series has a built-in regulator. A bus condenser of 4.7 µF or above should be connected to the C
pin for the regulator.
C
4.7 µF
VSS
■ About AVCC Pin
MB91345 series has a built-in A/D converter. A condenser of approximately 0.1 µF should be inserted
between the AVCC pin and AVSS pin.
AVCC
0.1 µF
AVSS
■ Handling of NC Pin and OPEN Pin
The NC and OPEN pins should always be open.
■ Note when not Using Emulator
If evaluation MCU on user system is executed without emulator, the input pins on evaluation MCU
connected to the emulator interface on the user system should be handled, as described in the following
table. Note that the switch circuit or other function may be required on user system when designing the
MCU.
Table 2.1-1 Pin Processing for Emulator Interface
Name of evaluation
MCU pin
TRST
Connect to the reset output circuit on user system.
INIT
Connect to the reset output circuit on user system.
Others
26
Pin processing
Should be open.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 2 Handling of Device
2.1 Precautions on Handling of Device
MB91345 Series
■ Handling of Emulator Pin (ICLK)
To control the reflected wave, ICLK pin for the emulator connection of this product should connect the
dumping resistance (About 56).
The resistance value is different depending on the substrate layout, so it should set to the proper value using
the substrate.
Figure 2.1-3 Connection Example of MB2198-01 Emulator
ICLK
MB91345 series
MB2198-10
emulator cable
MB2198-01
emulator
■ Restrictions
● Common in the series
• Clock control block
Take the oscillation stabilization wait time during "L" input to INIT.
• Bit search module
The data register for detecting 0 (BSD0), data register for detecting 1 (BSD1), and data register for
detecting a change point (BSDC) are only word-accessible.
• I/O port
Ports are accessed only in bytes.
• Low power consumption mode
- To enter the standby mode, use the synchronous standby mode (set with the SYNCS bit as bit8 in
TBCR, or time-base counter control register) and be sure to use the following sequence:
(ldi
#value_of_standby, r0)
(ldi
#_STCR, r12)
stb
r0, @r12
// set STOP/SLEEP bit
ldub
@r12, r0
// Must read STCR
ldub
@r12, r0
// after reading, go into standby mode
nop
// Must insert NOP *5
nop
nop
nop
nop
- When the monitor debugger is used, please ensure that:
CM71-10132-3E
•
Setting a break point within the instructions array shown above.
•
Performed a single-stepping for the instructions array shown above.
FUJITSU SEMICONDUCTOR LIMITED
27
CHAPTER 2 Handling of Device
2.1 Precautions on Handling of Device
MB91345 Series
• Notes on the PS register
As the PS register is processed by some instructions in advance, exception handling below may cause
the interrupt handling routine to break when the debugger is used or the display contents of flags in the
PS register to be updated. As the device is designed to carry out reprocessing correctly upon returning
from such an EIT event, it performs operations before and after the EIT as specified in either case.
1. When the instruction followed by a DIV0U/DIV0S instruction results in acceptance of a user
interrupt or NMI, step execution, or a break at a data event or emulator menu, the following
operations may be performed:
(1) The D0 and D1 flags are updated in advance.
(2) An EIT handling routine (user interrupt, NMI, or emulator) is executed.
(3) Upon returning from the EIT, the DIV0U/DIV0S instruction is executed and the D0 and D1 flags
are updated to the same values as shown in (1).
2. If the OR CCR/ST ILM/MOV Ri, PS instructions are executed to enable interruptions when a user
interrupt or NMI trigger even has occurred, the following operations are performed.
(1) The PS register is updated in advance.
(2) An EIT handling routine (user interrupt, NMI, or emulator) is executed.
(3) Upon returning from the EIT, the instructions shonw above are executed and the PS register is
updated to the same value as shown in (1).
• About watchdog timer
MB91345 series has a built-in function called "watchdog timer". This function monitors a program to
perform the reset defer operation within a certain period of time. The watchdog timer resets the CPU if
the program runs out of controls and the reset defer operation is not executed. Thus, once enabled, the
watchdog timer will be up and running until it resets the CPU. However, with one exception, the
watchdog timer automatically defers a reset timing under the condition in which the CPU stops program
execution. Refer to "3.13.7 Peripheral Circuits Provided for Clock Control Section" for the exceptional
condition. If the system runs out of control and develops the above condition, a watchdog reset may not
be generated. In that case, please reset (INIT) from external INIT pin.
• Note on using the A/D converter
MB91345 series has a built-in A/D converter. The AVCC should not be supplied with higher voltage
than VCC.
• About software reset of synchronous mode
When using software reset of the synchronous mode, fill it with the following two conditions before
setting "0" to the SRST bit of STCR (standby control register) .
- Set the interrupt enable flag (I-Flag) to interrupt disable (I-Flag=0).
- NMI is not used.
● Unique to the evaluation chip
• Single-stepping of the RETI instruction
If an interrupt occurs frequently during single stepping, only the relevant processing routine is executed
repeatedly after single-stepping RETI. This will prevent the main routine and low-interrupt-level
programs from being executed. Do not single-step the RETI instruction for escape. Also, when the
debugging of the relevant interrupt routine becomes unnecessary, perform debugging with that interrupt
disabled.
• About operand break
Do not apply a data event break to access to the area containing the address of a stack pointer.
28
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 2 Handling of Device
2.1 Precautions on Handling of Device
MB91345 Series
• Execution in an unused area of Flash memory
Accidentally executing an instruction in an unused area of Flash memory (with data placed at FFFFH)
will prevent breaks from being accepted. To avoid this, the code event address mask function of the
debugger should be used to cause a break when accessing an instruction in an unused area.
• Interrupt handler for NMI request (tool)
To prevent the device from malfunctioning in case the factor flag to be set only in response to a break
request from the ICE is set accidentally, for example, by a noise to the DSU pin while the ICE is not
connected, add the following program to the interrupt handler. ICE can be used without problems when
this program is added.
Location to add the program:
Next interrupt handler
Interrupt factors: NMI request (tool)
Interrupt number: 13 (decimal), 0D (hexadecimal)
Offset: 3C8H
Address when TBR is the default: 000FFFC8H
Program to be added
STM (R0, R1)
LDI #0B00H, R0 ; 0B00H is the address of DSU break factor register
LDI #0, R1
STB R1, @R0 ; Clear the break factor register
LDM (R0, R1)
RETI
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
29
CHAPTER 2 Handling of Device
2.1 Precautions on Handling of Device
30
FUJITSU SEMICONDUCTOR LIMITED
MB91345 Series
CM71-10132-3E
CHAPTER 3
CPU and Control Section
In this chapter, basic matters such as architecture,
specifications and instructions are explained for
knowing the function of FR family.
3.1 Memory Space
3.2 Internal Architecture
3.3 Overview of the Instructions
3.4 Special Registers
3.5 General Registers
3.6 Data Structure
3.7 Word Alignment
3.8 Memory Map
3.9 Branch Instruction
3.10 EIT (Exception, Interrupt, Trap)
3.11 Operation Modes
3.12 Reset (Initialization of the Device)
3.13 Clock Generation Control
3.14 Device Status Control
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
31
CHAPTER 3 CPU and Control Section
3.1 Memory Space
3.1
MB91345 Series
Memory Space
The logical address space of FR family is 4G bytes (232 addresses) and CPU accesses
to it linearly.
■ Direct Addressing Area
The following area of the address space is used for I/O.
This area is called direct addressing area and you can directly specify the address of operand in the
instructions. As shown below, the direct addressing area differs by the size of the data to be accessed.
 byte data access
: 000H to 0FFH
 half word data access
: 000H to 1FFH
 word data access
: 000H to 3FFH
■ Memory Map
Figure 3.1-1 Memory Space
Single chip mode
0000 0000H
I/O
Direct addressing area
0000 0400H
da
I/O
Refer to I/O map
0001 0000H
Access prohibited
000 3 E000H
0004 0000H
000 4 6000H
000 5 0000H
Built-in
RAM 8Kbytes
(Data/instruction)
Built-in
RAM 24Kbytes
(Data)
Access prohibited
000 8 0000H
Built-in Flash*
512Kbytes
0010 0000H
0020_0000H
Access prohibited
FFFF FFFFH
*: The built-in flash area of MB91F346B is 1 Mbyte by 00080000H to 0017FFFFH
32
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.2 Internal Architecture
MB91345 Series
3.2
Internal Architecture
FR family CPU is high performance core adopting RISC architecture and implementing
high-level function instructions for embedded applications.
■ Features of Internal Architecture
• Adopting RISC architecture
Basic instructions: One instruction per cycle
• 32-bit architecture
General purpose register: 32 bits × 16
• 4 Gbytes linear memory space
• On chip multiplier
- 32 bits × 32-bit multiplication: 5 cycles
- 16 bits × 16-bit multiplication: 3 cycles
• Enhanced interruption function
- High speed response: 6 cycles
- Multiple interruption support
- Level mask function: 16 levels
• Enhanced I/O operation instruction
- Memory-memory transfer instructions
- Bit processing instructions
• High code efficiency
Basic instruction word length: 16 bits
• Low power consumption
Sleep mode/stop mode
• Gear function
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
33
CHAPTER 3 CPU and Control Section
3.2 Internal Architecture
MB91345 Series
■ Structure of Internal Architecture
The CPU of FR family adopts Harvard architecture structure which instruction bus and data bus are
independent. The 32-bit 16-bit bus converter is connected to 32-bit bus (F-bus), and realizes interface
between CPU and peripheral resources. Harvard Princeton bus converter is connected to both I-bus
and D-bus, and realizes interface between CPU and bus controller.
Figure 3.2-1 shows the structure of internal architecture.
Figure 3.2-1 Structure of Internal Architecture
FRex
D-bus
CPU
I-bus
32
I address
Harvard
32
External address
24
I data
D address
Princeton
bus
converter
32
Data
D data
RAM
External data
16
32
32-bit
Address
32
16-bit
Data
32
bus converter
16
R-bus
Peripheral resources
34
F-bus
Internal I/O
FUJITSU SEMICONDUCTOR LIMITED
Bus controller
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.2 Internal Architecture
MB91345 Series
● CPU
The CPU is the one which compactly implements FR architecture of 32-bit RISC.
Five-stage instruction pipeline system is adopted for executing one instruction per cycle. The pipeline
consists of the stages shown below.
• Instruction Fetch (IF)
: Output instruction address and fetch instruction.
• Instruction Decode (ID) : Decode the fetched instruction. Read out register too.
• Execution (EX)
: Execute operation.
• Memory Access (MA)
: Load or store access to the memory.
• Write Back (WB)
: Write the operation results (or loaded memory data) to the register.
Figure 3.2-2 shows the configuration of instruction pipeline.
Figure 3.2-2 Instruction Pipeline
CLK
Instruction 1
WB
Instruction 2
MA
WB
Instruction 3
EX
MA
WB
Instruction 4
ID
EX
MA
WB
Instruction 5
IF
ID
EX
MA
WB
IF
ID
EX
MA
Instruction 6
WB
Instructions are not executed in random order. That means if instruction A enters in the pipeline before
instruction B, instruction A surely reaches write back stage before instruction B does.
Basically instruction is executed at the speed of one instruction per cycle. But multiple cycles are required
for the execution of load store instruction with memory wait, branch instruction without a delay slot and
multi cycle instruction. Execution speed slows down too in case the instructions’ supply is late.
● 32-bit 16-bit bus converter
The converter interfaces between F-bus accessed with 32-bit width and R-bus accessed with 16-bit width
and realizes data access from CPU to built-in peripheral circuits.
When there is a 32-bit width access from CPU to R-bus, the converter transforms it into two 16-bit width
accesses and accesses to R-bus. There is a restriction on access width in some built-in peripheral circuits.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
35
CHAPTER 3 CPU and Control Section
3.3 Overview of the Instructions
3.3
MB91345 Series
Overview of the Instructions
This section explains an overview of the instructions for FR family.
■ Overview of the Instructions
Adding to general RISC instruction system, FR family supports logical operation and bit handling
optimized for embedded applications and direct addressing instructions. As each instruction is 16-bit length
(some instructions are 32 or 48 bits), it has good memory usage efficiency.
The instruction set is categorized into the groups shown below.
• Arithmetic operation
• Load and store
• Branch
• Logical operation and bit handling
• Direct addressing
• Others
For the list of instruction set, refer to the "Appendix E Instruction List".
● Arithmetic Operation
In the arithmetic operation, there are standard arithmetic operation instruction (addition, subtraction,
comparing) and shift instruction (logical shift, arithmetic operation shift). In the addition instruction and
subtraction instruction, carried operation used for multi word length operation and operation that does not
change flag value which is useful for address calculation are possible.
Furthermore, there are 32-bit × 32-bit, 16-bit × 16-bit multiplication instruction and 32-bit / 32-bit step
division instruction. It also provides instantaneous transfer instruction which instantaneously sets value in
the register and inter-register transfer instruction.
All arithmetic operation instructions operate using general registers and multiply & divide register in the
CPU.
● Load and Store
Load and store are the instructions for reading and writing to external memory. They are also used for
reading and writing to peripheral circuits (I/O) on the chip.
Load and store have three kinds of access length as byte, half word and word. Adding to general register
indirect memory addressing, register indirect with displacement and register indirect with increment/
decrement memory addressing are also possible for some instructions.
● Branch
Branch group has the instructions of branch, call, interrupts and return.
There are branch instructions with a delay slot and branch instructions without a delay slot, and they are
optimized for their use. Details of the branch instructions are explained in the "3.9 Branch Instruction".
● Logical Operation and Bit Handling
Logical operation instructions can execute logical operation of AND, OR, EOR between general registers
or between general registers and memory (and I/O). And bit handling instructions can directly handle the
contents of memory (and I/O). Memory addressing is general register indirect addressing.
36
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 3 CPU and Control Section
3.3 Overview of the Instructions
● Direct Addressing
Direct addressing instructions are used for accessing between I/O and general registers or between I/O and
memory. Fast and high efficiency access can be accomplished by directly designating the I/O address in the
instructions rather than register indirect. Register indirect memory addressing with register increment/
decrement is possible for some instructions.
● Others
They are instructions for flag setting in the program status register (PS), stack operation, sign/zero
expansion and others. Function entrance/exit for high level language and register multi load/store
instructions are also provided.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
37
CHAPTER 3 CPU and Control Section
3.4 Special Registers
3.4
MB91345 Series
Special Registers
These registers are used for special purpose. Program counter (PC), program status
(PS), table base register (TBR), return pointer (RP), system stack pointer (SSP), user
stack pointer (USP) and multiply & divide register (MDH/MDL) are provided.
■ List of Special Registers
Each register consists of 32 bits.
Figure 3.4-1 shows the list of special registers.
Figure 3.4-1 List of Special Registers

ILM

SCR
CCR
Program counter
(PC)
Program status
(PS)
Table base register
(TBR)
Return pointer
(RP)
System stack pointer
(SSP)
User stack pointer
(USP)
Multiply & Divide register
(MDH)
(MDL)
■ Program Counter (PC)
The function of the program counter (PC) is described here. The program counter (PC) consists of 32 bits.
Figure 3.4-2 shows bit configuration of the program counter (PC).
Figure 3.4-2 Bit Configuration of the Program Counter (PC)
bit31
bit0
Initial value
XXXXXXXXH
The program counter indicates the executing instruction address. When updating PC with instruction
execution, bit0 is set to "0". Bit0 becomes "1", only when odd number address is specified as a branch
destination address.
Although in that case, bit0 is invalid and the instruction should be placed in the address that is multiple of
two.
Initial value by reset is indeterminate.
38
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.4 Special Registers
MB91345 Series
■ Table Base Register (TBR)
The function of the table base register (TBR) is explained.
The table base register (TBR) consists of 32 bits.
Figure 3.4-3 shows the bit configuration of the table base register (TBR).
Figure 3.4-3 Bit Configuration of the Table Base Register (TBR)
bit31
bit0
Initial value
000FFC00H
The table base register holds the first address of the vector table which is used for EIT processing.
The initial value set by reset is "000FFC00H".
■ Return Pointer (RP)
The function of return pointer (RP) is explained.
The return pointer (RP) consists of 32 bits.
Figure 3.4-4 shows the bit configuration of the return pointer (RP).
Figure 3.4-4 Bit Configuration of the Return Pointer (RP)
bit31
bit0
Initial value
XXXXXXXXH
The return pointer holds the return address from subroutine.
The value of PC is transferred to this RP when CALL instruction is executed.
The contents of the RP is transferred to PC when RET instruction is executed.
The initial value set by reset is indeterminate.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
39
CHAPTER 3 CPU and Control Section
3.4 Special Registers
MB91345 Series
■ System Stack Pointer (SSP)
The function of the system stack pointer (SSP) is explained.
The system stack pointer (SSP) consists of 32 bits.
Figure 3.4-5 shows the bit configuration of the system stack pointer (SSP).
Figure 3.4-5 Bit Configuration of the System Stack Pointer (SSP)
bit31
bit0
Initial value
00000000H
SSP is a system stack pointer.
When S flag is "0", it works as R15.
SSP can be explicitly specified. It is also used as stack pointer which specifies the stack for saving PS and
PC when EIT occurs.
The initial value by reset is "00000000H".
■ User Stack Pointer (USP)
The function of the user stack pointer (USP) is explained.
The user stack pointer (USP) consists of 32 bits.
Figure 3.4-6 shows the bit configuration of the user stack pointer (USP).
Figure 3.4-6 Bit Configuration of the User Stack Pointer (USP)
bit31
bit0
Initial value
XXXXXXXXH
USP is a user stack pointer.
When S flag is "1", it works as R15.
USP can be explicitly specified.
The initial value set by reset is indeterminate.
It cannot be used in RETI instruction.
40
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.4 Special Registers
MB91345 Series
■ Multiply & Divide Register (MDH/MDL)
The function of the Multiply & Divide register (MDH/MDL) is explained.
The Multiply & Divide register (MDH/MDL) consists of 32 bits.
Figure 3.4-7 shows bit configuration of the Multiply & Divide register (MDH/MDL).
Figure 3.4-7 Multiply & Divide Register (MDH/MDL)
bit31
bit0
MDH
MDL
Multiply & Divide register is used for multiplication and division operation and it consists of MDH and
MDL. Each consists of 32-bit length.
The initial value set by reset is indeterminate.
● Function at multiplication execution
In case of 32-bit × 32-bit multiplication, 64 bits executed results are stored in the Multiply & Divide
register arranged as shown below.
• MDH: upper 32 bits
• MDL: lower 32 bits
In case of 16-bit × 16-bit multiplication, executed results are stored in the Multiply & Divide register
arranged as shown below.
• MDH: indeterminate
• MDL: 32-bit results
● Function at division execution
When calculation starts, dividend is stored in MDL.
When division is done by execution of the instruction DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S, the
results are stored in MDL and MDH as shown below.
• MDH: remainder
• MDL: quotient
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
41
CHAPTER 3 CPU and Control Section
3.4 Special Registers
3.4.1
MB91345 Series
Program Status Register (PS)
Program Status Register (PS) is a register to hold program status and it is separated
into three parts of ILM, SCR and CCR. All undefined bits are reserved bits. When it is
read, "0" is always read out. Write is prohibited.
■ Program Status Register (PS)
● Program status register (PS)
The program status register (PS) consists of condition code register (CCR), system condition code register
(SCR) and interrupt level mask register (ILM).
Figure 3.4-8 shows register structure of the program status register.
Figure 3.4-8 Structure of the Program Status Register (PS)
bit31
bit20
bit16
bit10 bit8 bit7
ILM
SCR
bit0
CCR
● Condition code register (CCR)
Figure 3.4-9 shows the structure of the condition code register (CCR).
Figure 3.4-9 Structure of the Condition Code Register (CCR)
42
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value


S
I
N
Z
V
C
--00XXXXB
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.4 Special Registers
MB91345 Series
The function of each bit is explained below.
[bit5] S: Stack flag
This bit specifies the stack pointer used as R15.
Table 3.4-1 shows the function of stack flag (S).
Table 3.4-1 Function of the Stack Flag (S)
S
Function
0
System stack pointer (SSP) is used as R15.
When EIT occurs, the flag becomes "0" automatically.
(But the value saved in the stack is the value before it is cleared.)
1
User stack pointer (USP) is used as R15.
This bit is cleared to "0" by reset.
Set "0" when RETI instruction is executed.
[bit4] I: Interrupt enable flag
This bit controls enable/disable of user interrupt request.
Table 3.4-2 shows the function of interrupt enable flag (I).
Table 3.4-2 Function of the Interrupt Enable Flag (I)
I
Function
0
Disable user interrupt.
When INT instruction is executed, it is cleared to "0".
(But the value saved in the stack is the value before it is cleared.)
1
Enable user interrupt.
Masking process of user interrupt request is controlled by the value held in ILM.
This bit is cleared to "0" by reset.
[bit3] N: Negative flag
This bit indicates the sign of integer expressed in two’s complement of executed results.
Table 3.4-3 shows the function of negative flag (N).
Table 3.4-3 Function of the Negative Flag (N)
N
Function
0
Indicates the executed result was positive value.
1
Indicates the executed result was negative value.
Initial state of this bit by reset is indeterminate.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
43
CHAPTER 3 CPU and Control Section
3.4 Special Registers
MB91345 Series
[bit2] Z: Zero flag
This bit indicates whether the executed result was "0" or not.
Table 3.4-4 shows the function of zero flag (Z).
Table 3.4-4 Function of the Zero Flag (Z)
Z
Function
0
Indicates that executed result was a value other than "0".
1
Indicates that executed result was "0".
Initial state of this bit by reset is indeterminate.
[bit1] V: Overflow flag
Assuming the operand used in the execution as an integer expressed in two’s complement, this bit
indicates whether overflow occurred or not in the executed results.
Table 3.4-5 shows the function of overflow flag (V).
Table 3.4-5 Function of the Overflow Flag (V)
V
Function
0
Shows overflow didn’t occur in the executed results.
1
Shows overflow occurred in the executed results.
Initial state of this bit by reset is indeterminate.
[bit0] C: Carry flag
This bit indicates whether carry or borrow from the MSB was occurred or not in the execution.
Table 3.4-6 shows the function of carry flag (C).
Table 3.4-6 Function of the Carry Flag (C)
C
Function
0
Shows neither carry nor borrow occurred.
1
Shows either carry or borrow occurred.
Initial state of this bit by reset is indeterminate.
44
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.4 Special Registers
MB91345 Series
● System condition code register (SCR)
Figure 3.4-10 shows the structure of the system condition code register (SCR).
Figure 3.4-10 Structure of the System Condition Code Register (SCR)
bit10
bit9
bit8
Initial value
D1
D0
T
XX0B
The function of each bit for the system condition code register (SCR) is explained below.
[bit10, bit9] D1, D0: Flag for step division
These bits hold intermediate data during step division execution.
Do not change these bits during division execution.
In case other processing is done during step division execution, restarting of step division is assured by
save/restore of the value in the program status register (PS).
Initial state of this bit by reset is indeterminate.
These bits are set by DIV0S instruction execution referring dividend and divisor.
These bits are forcibly cleared by DIV0U instruction execution.
• DIV0S/DIV0U instructions and simultaneous acceptance of user interrupt and NMI
Do not execute a process in the EIT processing routine, expecting D0/D1 bit of PS register before
EIT branch.
• In case execution is halted by break or step just before DIV0S/DIV0U instructions, there is a case
that D0/D1 bits of PS register does not show correct values. But the executed result after resume is
correct.
[bit8] T: Step trace trap flag
This bit specifies whether enable or not step trace trap.
Table 3.4-7 shows the function of step trace trap flag (T).
Table 3.4-7 Function of the Step Trace Trap Flag (T)
T
Function
0
Step Trace Trap is ineffective
1
Step Trace Trap is effective
In case of this, both NMI for user and user interrupt are disabled.
This bit is initialized to "0" by reset.
The emulator uses the function of the step trace trap. When the emulator is using it, it cannot be used in
the user program.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
45
CHAPTER 3 CPU and Control Section
3.4 Special Registers
MB91345 Series
● Interrupt level mask register (ILM)
Figure 3.4-11 shows the structure of the interrupt level mask register (ILM).
Figure 3.4-11 Structure of the Interrupt Level Mask Register (ILM)
bit20
bit19
bit18
bit17
bit16
Initial value
ILM4
ILM3
ILM2
ILM1
ILM0
01111B
The interrupt level mask register (ILM) holds the value of interrupt level mask and the value held by the
ILM is used for level mask.
Among interrupt requests taken into CPU, only in case corresponding interrupt level is higher than the level
given by ILM, that interrupt request is accepted.
The strongest level value is 0 (00000B) and the weakest value is 31 (11111B).
There is a limitation that can be set by the program.
In case the original value is 16 to 31, the value that can be set as new value is 16 to 31. If an instruction to
set 0 to 15 is executed, then the value (specified value +16) is transferred.
In case the original value is 0 to 15, any value of 0 to 31 can be set.
This register is initialized to 15 (01111B) by reset.
46
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.5 General Registers
MB91345 Series
3.5
General Registers
Registers R0-R15 are general registers. These registers are used as an accumulator and
a pointer for memory access in various operations.
■ General Register
Figure 3.5-1 shows the structure of the general registers.
Figure 3.5-1 Structure of the General Registers
32 bits
Initial value
R0
XXXX XXXX
H
H
R1
R12
R13
R14
AC
FP
XXXX XXXX
R15
SP
0000 0000
H
The registers R0-R15 are general registers. These registers are used as an accumulator and a pointer for
memory access in various operations. Among 16 registers, the registers shown below are assumed to be
used for special purposes, and some instructions are enhanced.
• R13: Virtual accumulator (AC)
• R14: Frame pointer (FP)
• R15: Stack pointer (SP)
Initial values of R0-R14 by reset are indeterminate. R15 becomes "00000000H" (value of SSP).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
47
CHAPTER 3 CPU and Control Section
3.6 Data Structure
3.6
MB91345 Series
Data Structure
In FR family, there are two kinds of data allocation as shown below.
• Bit ordering
• Byte ordering
■ Bit Ordering
FR family adopts little endian for bit ordering.
Figure 3.6-1 shows bit configuration of bit ordering.
Figure 3.6-1 Bit Configuration of the Bit Ordering
bit
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSB
LSB
■ Byte Ordering
FR family adopts big endian for byte ordering.
Figure 3.6-2 shows the structure of byte ordering.
Figure 3.6-2 Structure of Byte Ordering
Memory
MSB
bit31
bit23
bit15
bit7
LSB
bit0
10101010 11001100 11111111 00010001
bit
7
n Address
bit
0
10101010
(n+1) Address 11001100
(n+2) Address 11111111
(n+3) Address 00010001
48
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.7 Word Alignment
MB91345 Series
3.7
Word Alignment
As instructions or data access by byte, allocated address is different depending on the
instruction length and data width.
■ Program Access
Program of FR family is necessary to be allocated in the address that is multiple of two.
The bit0 of the program counter (PC) is set to "0" when PC is updated with execution of instructions.
"1" is set only when odd number address is specified as a branch destination address.
Even in that case, bit0 is invalid and the instructions have to be allocated in the address that is multiple of
two.
There is no odd number exception.
■ Data Access
In FR family, when data access is performed, forcible alignment is done to the address depending on its
width as shown below.
• Word access
: Address is multiple of "4". (The least two significant bits are forcibly set to "00".)
• Half word access
: Address is multiple of "2". (The least significant bit is forcibly set to "0".)
• Byte access
: --
In word data access and half word data access, some bits are forcibly set to "0" for executed result of
effective address. For example, in case of addressing mode of @(R13,Ri), the register before addition (even
though the least significant bit is "1") is used for calculation as it is, and lower bit of addition result is
masked. This means the register before addition is not masked.
[Example] LD@(R13,R2),R0
R13
00002222H
R2
00000003H
+)
Addition result
Address terminal
CM71-10132-3E
00002225H
The least two significant bits are forcibly masked
00002224H
FUJITSU SEMICONDUCTOR LIMITED
49
CHAPTER 3 CPU and Control Section
3.8 Memory Map
3.8
MB91345 Series
Memory Map
Memory map of FR family is shown.
■ Memory Map
The Memory address space is 32 bits linear.
Figure 3.8-1 shows the memory map.
Figure 3.8-1 Memory Map
0000 0000H
Byte data
0000 0100H
Half word data
Direct addressing area
0000 0200H
Word data
0000 0400H
000F FC00H
Vector table
000F FFFFH
Initial area
FFFF FFFFH
50
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.8 Memory Map
MB91345 Series
■ Memory Map of Single-chip Mode
Figure 3.8-2 Memory Map of Single-chip Mode
Single-chip mode
0000 0000H
I/O
Direct-addressing area
0000 0400H
da
I/O
0001 0000H
See the I/O map.
Access
prohibited
0003 E000H
0004 0000H
0004 6000H
0005 0000H
8 Kbytes
Internal RAM
(Data/Instruction)
24 Kbytes
Internal RAM
(Data)
Access
prohibited
0008 0000H
512 Kbytes*
Internal Flash
0010 0000H
0020_0000H
Access
prohibited
FFFF FFFFH
*: The built-in flash memory area of MB91F346B is 1 Mbyte by 00080000H to 0017FFFFH
● Direct addressing area
In the address space, the areas shown below are the area for I/O. This area can directly specify operand
address in the instructions by direct addressing.
The size of address area which can specify direct address is different depending on the data length.
• Byte data (8 bits)
: 000H to 0FFH
• Half word data (16 bits)
: 000H to 1FFH
• Word data (32 bits)
: 000H to 3FFH
● Vector table initial area
The area "000FFC00H" to "000FFFFFH" is the initial area of EIT vector table.
The vector table which is used at EIT processing can be allocated in any address by rewriting TBR, but it is
allocated in this address by reset initialization.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
51
CHAPTER 3 CPU and Control Section
3.9 Branch Instruction
3.9
MB91345 Series
Branch Instruction
FR family can specify operation with a delay slot and operation without a delay slot to
branch instruction.
■ Branch Instruction with a Delay Slot
The instructions expressed as shown below accomplish branch operation with a delay slot.
52
JMP:D @Ri
CALL:D label12
CALL:D @Ri
RET:D
BRA:D label9
BNO:D label9
BEQ:D label9
BNE:D label9
BC:D
label9
BNC:D label9
BN:D
BP:D
BV:D
label9
BNV:D label9
BLT:D label9
BGE:D label9
BLE:D label9
BGT:D label9
BLS:D label9
BHI:D label9
label9
FUJITSU SEMICONDUCTOR LIMITED
label9
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.9 Branch Instruction
MB91345 Series
3.9.1 Operation of Branch Instruction with a Delay Slot
In the operation with a delay slot, before executing the instruction of branch
destination, it executes the instruction which is located just after (called "a delay slot")
the branch instruction, and then it branches to the branch destination.
■ Operation of Branch Instruction with a Delay Slot
As instruction with a delay slot is executed before branch operation, apparent execution speed becomes one
cycle. On the other hand, when effective instruction cannot be put into a delay slot, NOP instruction has to
be placed.
[Example]
;
Instruction line
ADD
R1, R2 ;
BRA:D
LABEL
MOV
R2, R3 ; A delay slot …… Executed before branch.
; Branch destination

LABEL : ST
R3, @R4 ; Branch destination
In case of conditional branch instruction, the instruction located in the delay slot is executed regardless of
the condition is met or not.
In the delay branch instructions, though the execution order of some instruction appears to be inverted, it is
only for updating operation of PC, and other operations (such as updating and referring of registers) are
executed in the order described.
Example is shown below.
● JMP:D @Ri / CALL:D @Ri instruction
The Ri referred by JMP:D @Ri / CALL:D @Ri instruction is not affected even if the instruction in a delay
slot updates the Ri.
[Example]
LDI:32
#Label, R0
JMP:D
@R0
LDI:8
#0,
; Branch to Label
R0
; Does not affect on the branch destination address.

● RET:D instruction
RP referred by RET:D instruction is not affected even if the instruction in a delay slot updates RP.
[Example]
; Branch to the address indicated by RP which was set
RET:D
; before.
MOV
R8,
RP
; Does not affect on return operation.

CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
53
CHAPTER 3 CPU and Control Section
3.9 Branch Instruction
MB91345 Series
● Bcc:D rel instruction
The flag referred by Bcc:D rel instruction is not affected by a delay slot instruction.
[Example]
R0
; Flag change
ADD
#1,
BC:D
Overflow
; Branch by the execution result of above instruction
ANDCCR
#0
; This flag update is not referred by the above branch
; instruction

● CALL:D instruction
When RP is referred by the instruction in a delay slot of CALL:D instruction, the contents updated by
CALL:D instruction is read out.
[Example]
CALL:D
Label
MOV
RP,
; Update RP and branch
R0
; RP of execution result for above CALL:D is transferred.

■ Restrictions on Branch Instructions with a Delay Slot
● Instructions that can be located in a delay slot
Only the instructions that satisfy the condition shown below can be executed in a delay slot.
• 1 cycle instruction
• Not branch instruction
• The instruction that does not affect on the operation even when the order is changed.
"One cycle instruction" is the instruction, either "1", "a", "b", "c" or "d" is described in the cycle column
of the instruction list.
● Step trace trap
Step trace trap does not occur between the execution of branch instruction with a delay slot and the delay
slot.
● Interrupt/NMI
Interrupt/NMI is not accepted between the execution of branch instruction with a delay slot and the delay
slot.
● Undefined instruction exception
In case undefined instruction exists in a delay slot, undefined instruction exception does not occur. In this
situation, undefined instruction works as NOP instruction.
54
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.9 Branch Instruction
MB91345 Series
3.9.2
Operation of Branch Instruction without a Delay Slot
In the operation of branch instruction without a delay slot, it is adamantly executed in
the order of the instructions. The instruction just next to it is never executed before
branch.
■ Branch Instruction without a Delay Slot
The instructions expressed as shown below do the operation of branch instruction without a delay slot.
JMP @Ri
CALL label12
CALL @Ri
RET
BRA label9
BNO
label9
BEQ
label9
BNE label9
BC
label9
BNC
label9
BN
label9
BP
BV
label9
BNV
label9
BLT
label9
BGE label9
BLE label9
BGT
label9
BLS
label9
BHI label9
label9
■ Operation of Branch Instruction without a Delay Slot
In the operation of branch instruction without a delay slot, it is adamantly executed in the order of the
instructions. The instruction just next to it is never executed before branch.
[Example]
;
List of commands
ADD
R1, R2 ;
BRA
LABEL
MOV
R2, R3 ; Not executed
; Branch instruction (without a delay slot)

LABEL:
ST
R3, @R4 ; Branch destination
The number of execution cycle for branch instruction without a delay slot is 2 cycles when it branches and
1 cycle when it does not branch.
Compared to the branch instruction with a delay slot in which NOP is explicitly written as it is not possible
to place adequate instructions in it, instruction code efficiency can be improved.
By selecting the operation with a delay slot in case that effective instruction can be placed in a delay slot
and in other case by selecting the operation without a delay slot, you can accomplish both execution speed
and code efficiency.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
55
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
3.10
MB91345 Series
EIT (Exception, Interrupt, Trap)
EIT is the generic term of Exception, Interrupt and Trap and when events occur during
the relevant program execution, it executes other program by interrupting the execution
of the program.
■ EIT (Exception, Interrupt, Trap)
Exception: The exception is the event that occurs relating to the executing context. Execution restarts from
the instruction that arouses the exception.
Interrupt: The interrupt is the event that occurs irrelevantly with the executing context. The factors of
event are hardware.
Trap:
Trap is the event that occurs relating to the executing context. There are instructions like a
system call that are specified by the program. Execution restarts from the next instruction of the
instruction that arouses the trap.
■ Feature
• Interrupt supports multi interrupts
• Interrupt has level mask function (User can use 15 levels.)
• Trap instruction (INT)
• EIT for emulator activation (hardware /software)
■ EIT Factors
Followings are EIT factors.
• Reset
• User interrupt (internal resource, external resource)
• NMI
• Delayed interrupt
• Undefined instruction exception
• Trap instruction (INT)
• Trap instruction (INTE)
• Step trace trap
• Co-processor non existence trap
• Co-processor error trap
■ Return from EIT
RETI instruction is used for returning from EIT.
56
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
3.10.1
Interrupt Level of EIT
The interrupt levels are 0 to 31, and controlled with 5 bits.
■ Interrupt Level of EIT
Table 3.10-1 shows the EIT interrupt level.
Table 3.10-1 Interrupt Level of EIT
Level
Interrupt cause
Binary
Decimal
00000


00011
0


3
(System reserved)


(System reserved)
00100
4
INTE command
Step trace trap
00101


01110
5


14
(System reserved)


(System reserved)
01111
15
NMI (for user)
10000
10001


11110
11111
16
17


30
31
Interrupt
Interrupt


Interrupt
—
Note
In case the original value of ILM is between 16
and 31, the value in this range cannot be set to
ILM by the program.
When setting ILM, user interrupt is disabled.
When setting ICR, interrupt is disabled.
The levels 16 to 31 are operable.
Undefined instruction exception, co-processor non existence trap, co-processor error trap and INT
instruction are not affected by the interrupt level. And they do not change the ILM.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
57
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
■ I Flag
This flag specifies interrupt enable/disable. The bit4 of CCR in the program status register (PS) is assigned
for it.
Table 3.10-2 shows the function of I flag.
Table 3.10-2 Function of I Flag
I
Function
0
Interrupt disabled
This is cleared to "0" when INT instruction is executed.
But the value saved to stack is the value before cleared.
1
Interrupt enabled
The processing of interrupt request mask is controlled by the value held by ILM.
■ Interrupt Level Mask Register (ILM)
This is the program status register (PS) (bit20 to bit16) that holds interrupt level mask value.
In the interrupt request input to CPU, the interrupt request is accepted only in case that the relevant
interrupt level is stronger than the level indicated by interrupt level mask register (ILM).
The strongest level value is 0 (00000B) and the weakest is 31 (11111B).
There is a limitation in the value to be set by the program. In case the original value is between 16 and 31,
the value between 16 and 31 can be set as a new value. If the instruction of setting the values 0 to 15 is
executed, the value (specified value +16) is transferred.
In case the original value is between 0 and 15, any value between 0 and 31 can be set.
Note:
For setting, use the instruction ST ILM.
■ Level Mask for Interrupt/NMI
When NMI and interrupt request occur, the interrupt level of interrupt factor (see Table 3.10-1) is
compared with the level mask value held in the ILM. And it is masked when the following condition is met
and the request is not accepted.
Interrupt level of interrupt factor Level mask value
58
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
3.10.2
Interrupt Control Register (ICR)
The interrupt control register (ICR) is a register set in the interrupt controller and sets
the level for each request of interrupt. The ICR is prepared corresponding to each
interrupt request input. The ICR is mapped in the I/O space and it is accessed through a
bus by CPU.
■ Bit Configuration of the Interrupt Control Register (ICR)
Figure 3.10-1 shows the bit configuration of the interrupt control register (ICR).
Figure 3.10-1 Bit Configuration of the Interrupt Control Register (ICR)
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000440H
to
00046FH



ICR4
ICR3
ICR2
ICR1
ICR0
---11111B



R
R/W
R/W
R/W
R/W
R/W : Readable/writable
R : Read only
The function of each bit for the interrupt control register (ICR) is shown below.
[bit4] ICR4
This bit is always "1".
[bit3 to bit0] ICR3 to ICR0
These bits are the lower four bits of interrupt level for corresponding interrupt factor. Reading and
writing are enabled.
The ICR can set the value in the range of 16 to 31 with bit4.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
59
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
■ Mapping of the Interrupt Control Register (ICR)
Table 3.10-3 shows the relation between interrupt factors, the interrupt control register and the interrupt
vector.
Table 3.10-3 Interrupt Factors, Interrupt Control Register and Interrupt Vector
Corresponding interrupt vector
Interrupt
factor
Interrupt control register
Number
Address
Hexadecimal
Decimal
IRQ00
ICR00
00000440H
10H
16
TBR + 3BCH
IRQ01
ICR01
00000441H
11H
17
TBR + 3B8H
IRQ02
ICR02
00000442H
12H
18
TBR + 3B4H












IRQ45
ICR45
0000046DH
3DH
61
TBR + 308H
IRQ46
ICR46
0000046EH
3EH
62
TBR + 304H
IRQ47
ICR47
0000046FH
3FH
63
TBR + 300H
TBR initial value: "000F FC00H"
Refer to "CHAPTER 6 Interrupt Controller" for details.
60
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
3.10.3
System Stack Pointer (SSP)
The System Stack Pointer (SSP) is used for EIT acceptance and used as a pointer that
indicates the stack for data save/restore during return operation.
■ System Stack Pointer (SSP)
The system stack pointer (SSP) consists of 32 bits.
Figure 3.10-2 shows bit configuration of the system stack pointer (SSP).
Figure 3.10-2 Bit Configuration of the System Stack Pointer (SSP)
bit31
bit0
Initial value
00000000H
When processing EIT, 8 is subtracted from the contents, and when resuming the operation from EIT by the
execution of RETI instruction "8" is added.
By reset, the initial value of SSP is "00000000H".
The SSP works as a general register R15 when S flag in the CCR is "0".
■ Interrupt Stack
In the area indicated by SSP, the value of PC and PS are saved/restored. After interruption, PC is stored in
the address indicated by the SSP and PS is stored in the address (SSP+4).
Figure 3.10-3 shows the interrupt stack.
Figure 3.10-3 Interrupt Stack
[Example]
SSP
[Before interrupt]
80000000H
[After interrupt]
SSP
7FFFFFF8H
Memory
80000000H
7FFFFFFCH
7FFFFFF8H
CM71-10132-3E
80000000H
7FFFFFFCH
7FFFFFF8H
FUJITSU SEMICONDUCTOR LIMITED
PS
PC
61
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
3.10.4
MB91345 Series
Table Base Register (TBR)
Table base register (TBR) is a register that indicates the head address of the vector
table for EIT.
■ Table Base Register (TBR)
The table base register (TBR) consists of 32 bits.
Figure 3.10-4 shows bit configuration of the table base register (TBR).
Figure 3.10-4 Bit Configuration of the Table Base Register (TBR)
bit31
bit0
Initial value
000FFC00H
The address that predetermined offset value for TBR and EIT factors is added becomes the vector address.
By reset, the initial value of TBR is "000FFC00H".
■ EIT Vector Table
The 1 Kbyte area from the address which is indicated by TBR becomes the vector area for EIT.
The size per vector is four bytes and the relation between vector number and vector address is expressed
below.
vctadr = TBR + vctofs
= TBR + (3FCH - 4 vct)
vctadr : Vector address
vctofs : Vector offset
vct
: Vector number
The lower two bits of the added results are always treated as "00B".
The area "000FFC00H" to "000FFFFFH" is the initial area of the vector table by reset.
Special function is assigned to some of the vectors.
Table 3.10-4 shows the vector table on the architecture.
62
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
Table 3.10-4 Vector Table (1 / 3)
Interrupt Factor
Interrupt
Number
Interrupt
Level
Offset
TBR Default
Address
Reset *1
0
00

3FCH
000FFFFCH
Mode vector *1
1
01

3F8H
000FFFF8H
System reserved
2
02

3F4H
000FFFF4H
System reserved
3
03

3F0H
000FFFF0H
System reserved
4
04

3ECH
000FFFECH
System reserved
5
05

3E8H
000FFFE8H
System reserved
6
06

3E4H
000FFFE4H
Co-processor non existence trap
7
07

3E0H
000FFFE0H
Co-processor error trap
8
08

3DCH
000FFFDCH
INTE instruction
9
09

3D8H
000FFFD8H
System reserved
10
0A

3D4H
000FFFD4H
System reserved
11
0B

3D0H
000FFFD0H
Step trace trap
12
0C

3CCH
000FFFCCH
NMI request (tool)
13
0D

3C8H
000FFFC8H
Undefined instruction exception
14
0E

3C4H
000FFFC4H
NMI request
15
0F
15(FH) fixed
3C0H
000FFFC0H
External interrupt 0
16
10
ICR00
3BCH
000FFFBCH
External interrupt 1
17
11
ICR01
3B8H
000FFFB8H
External interrupt 2
18
12
ICR02
3B4H
000FFFB4H
External interrupt 3
19
13
ICR03
3B0H
000FFFB0H
External interrupt 4
20
14
ICR04
3ACH
000FFFACH
External interrupt 5
21
15
ICR05
3A8H
000FFFA8H
External interrupt 6
22
16
ICR06
3A4H
000FFFA4H
External interrupt 7
23
17
ICR07
3A0H
000FFFA0H
Reload timer 0
24
18
ICR08
39CH
000FFF9CH
Reload timer 1
25
19
ICR09
398H
000FFF98H
Reload timer 2
26
1A
ICR10
394H
000FFF94H
Maskable factor *2
27
1B
ICR11
390H
000FFF90H
Maskable factor *2
28
1C
ICR12
38CH
000FFF8CH
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
63
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
Table 3.10-4 Vector Table (2 / 3)
Interrupt Factor
64
Interrupt
Number
Interrupt
Level
Offset
TBR Default
Address
Maskable factor *2
29
1D
ICR13
388H
000FFF88H
Maskable factor *2
30
1E
ICR14
384H
000FFF84H
Maskable factor *2
31
1F
ICR15
380H
000FFF80H
Maskable factor *2
32
20
ICR16
37CH
000FFF7CH
Maskable factor *2
33
21
ICR17
378H
000FFF78H
Maskable factor *2
34
22
ICR18
374H
000FFF74H
Maskable factor *2
35
23
ICR19
370H
000FFF70H
Maskable factor *2
36
24
ICR20
36CH
000FFF6CH
Maskable factor *2
37
25
ICR21
368H
000FFF68H
Maskable factor *2
38
26
ICR22
364H
000FFF64H
Maskable factor *2
39
27
ICR23
360H
000FFF60H
Maskable factor *2
40
28
ICR24
35CH
000FFF5CH
Maskable factor *2
41
29
ICR25
358H
000FFF58H
Maskable factor *2
42
2A
ICR26
354H
000FFF54H
Maskable factor *2
43
2B
ICR27
350H
000FFF50H
Maskable factor *2
44
2C
ICR28
34CH
000FFF4CH
Maskable factor *2
45
2D
ICR29
348H
000FFF48H
Maskable factor *2
46
2E
ICR30
344H
000FFF44H
Time-base timer overflow
47
2F
ICR31
340H
000FFF40H
Maskable factor *2
48
30
ICR32
33CH
000FFF3CH
Maskable factor *2
49
31
ICR33
338H
000FFF38H
Maskable factor *2
50
32
ICR34
334H
000FFF34H
Maskable factor *2
51
33
ICR35
330H
000FFF30H
Maskable factor *2
52
34
ICR36
32CH
000FFF2CH
Maskable factor *2
53
35
ICR37
328H
000FFF28H
Maskable factor *2
54
36
ICR38
324H
000FFF24H
Maskable factor *2
55
37
ICR39
320H
000FFF20H
Maskable factor *2
56
38
ICR40
31CH
000FFF1CH
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
Table 3.10-4 Vector Table (3 / 3)
Interrupt Factor
Interrupt
Number
Interrupt
Level
Offset
TBR Default
Address
Maskable factor *2
57
39
ICR41
318H
000FFF18H
Maskable factor *2
58
3A
ICR42
314H
000FFF14H
Maskable factor *2
59
3B
ICR43
310H
000FFF10H
Maskable factor *2
60
3C
ICR44
30CH
000FFF0CH
Maskable factor *2
61
3D
ICR45
308H
000FFF08H
Maskable factor *2
62
3E
ICR46
304H
000FFF04H
Delayed interrupt factor bit
63
3F
ICR47
300H
000FFF00H
System reserved (use in REALOS)
64
40

2FCH
000FFEFCH
System reserved (use in REALOS)
65
41

2F8H
000FFEF8H
System reserved
66
42

2F4H
000FFEF4H
System reserved
67
43

2F0H
000FFEF0H
System reserved
68
44

2ECH
000FFEECH
System reserved
69
45

2E8H
000FFEE8H
System reserved
70
46

2E4H
000FFEE4H
System reserved
71
47

2E0H
000FFEE0H
System reserved
72
48

2DCH
000FFEDCH
System reserved
73
49

2D8H
000FFED8H
System reserved
74
4A

2D4H
000FFED4H
System reserved
75
4B

2D0H
000FFED0H
System reserved
76
4C

2CCH
000FFECCH
System reserved
77
4D

2C8H
000FFEC8H
System reserved
78
4E

2C4H
000FFEC4H
System reserved
79
4F

2C0H
000FFEC0H
Use in INT instruction
80
to
255
50
to
FF

2BCH
to
000H
000FFEBCH
to
000FFC00H
*1: Although the value of TBR is changed, reset vector and mode vector use the fixed address "000FFFFCH"
and "000FFFF8H".
*2: The maskable factors are defined for each product. Refer to "APPENDIX B Vector Table" for the vector
table of MB91345 series.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
65
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
3.10.5
MB91345 Series
Multi EIT Processing
In case plural EIT factors occur simultaneously, the CPU repeats the operation, such as
selecting one EIT and accepting it, and after executing the EIT sequence, detecting the
EIT factors again. During EIT factors detection, when there is not any acceptable EIT
factor, the handler instruction of EIT factor which was accepted at the last is executed.
Therefore, when plural EIT factors occur simultaneously, the execution order of handler
for each factor is decided by the two factors shown below.
• Priority of acceptance for EIT factors
• How to mask other factors when accepting the one
■ Priority of EIT Factor Acceptance
The priority of acceptance for EIT factors is the order for selecting the factor of executing EIT sequence,
such as saving PS and PC and updating PC and (when it is necessary) doing mask processing.
The handler of factor accepted at first is not necessarily executed at first.
Table 3.10-5 shows the priority of EIT factor acceptance and mask for other factors.
Table 3.10-5 Priority of EIT Factor Acceptance and Mask for Other Factors
Priority of
acceptance
Factor
Mask for other factors
1
Reset
Other factors are discarded.
2
Undefined instruction exception
Cancel
3
INT instruction
I flag=0
4
Co-processor non existence trap
Co-processor error trap
5
User interrupt
ILM=Level of the factor accepted
6
NMI (for user)
ILM=15
7
(INTE instruction)
ILM=4 *
8
NMI (for emulator)
ILM=4
9
Step trace trap
ILM=4
10
INTE instruction
ILM=4
—
* : Only when INTE instruction and NMI for emulator occur simultaneously, the priority
becomes "6".
66
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
By considering the mask processing for other factors after accepting the EIT factors, the execution order of
each handler for EIT factor which occurred simultaneously becomes as shown below.
Table 3.10-6 shows the execution order of each handler for EIT factor.
Table 3.10-6 Execution Order of Each Handler for EIT Factor
Execution order of
handler
Factor
1
Reset *1
2
Undefined instruction exception
3
Step trace trap *2
4
INTE instruction *2
5
NMI (for user)
6
INT instruction
7
User interrupt
8
Co-processor non existence trap, co-processor error trap
* 1: Other factors are discarded.
* 2: When INTE instruction is executed by step, only EIT of step trace trap occurs. The
factor caused by INTE is neglected.
Figure 3.10-5 shows an example of the multi EIT processing.
Figure 3.10-5 Multi EIT Processing
Main routine
Handler of NMI
Handler of
INT instruction
Priority
(1) Execute first
(High) NMI occurrence
(Low) INT instruction execution
(2) Execute next
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
67
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
3.10.6
MB91345 Series
Operation of EIT
The operation of EIT is explained.
■ Operation of EIT
In the explanation below, "PC" of transferred source means the instruction address that detected each EIT
factor. And "next instruction address" means, the instruction that detected EIT is as shown below.
• In case LDI is 32: PC+6
• In case LDI is 20 and COPOP, COPLD, COPST, COPSV: PC+4
• In case other instruction: PC+2
■ Operation of User Interrupt/NMI
When an interrupt request of user interrupt or NMI for user occurs, enable or disable of request acceptance
is judged in the order shown below.
[Judging enable or disable for interrupt request acceptance]
1) Comparing the interrupt levels of request that occurred simultaneously, the one holding the strongest
level (the least number) is selected.
As the level used for comparing, for maskable interrupt the value held in the corresponding ICR is used,
and for NMI the predetermined constant is used.
2) When plural interrupt requests of same level occur simultaneously, the interrupt request that has the
youngest interrupt number is selected.
3) In case "interrupt level  level mask value", interrupt request is masked and not accepted. In case
"interrupt level < level mask value", goes to 4).
4) In case the selected interrupt request is maskable interrupt, if I flag is "0", then the interrupt request is
masked and not accepted. If I flag is "1", then goes to 5). In case the selected interrupt request is NMI,
regardless of the value for I flag, goes to 5).
5) When the above conditions are met, interrupt request is accepted at the interval of the instruction
processing.
In case the user interrupt/NMI request is accepted when EIT request is detected, using the interrupt number
corresponding to the accepted interrupt request, the CPU operates as shown below. ( ) indicates the address
that register specifies.
[Operation]
1) (TBR + vector offset of accepted interrupt request)  TMP
2) SSP - 4
 SSP
3) PS
 (SSP)
4) SSP - 4
 SSP
5) Address of next instruction
 (SSP)
6) Interrupt level of accepted request
 ILM
7) "0"
 S flag
8) TMP
 PC
After finishing the interrupt sequence, before executing the head instruction of the handler, new EIT
detection is done. If acceptable EIT has occurred at this point of time, the CPU makes the transition to EIT
processing sequence.
68
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
During user interrupt or NMI factor is occurring, if each of the instruction OR CCR, ST ILM and MOV Ri,
PS is executed to enable the interrupt, there is a case that the above instruction is executed twice before and
after the interrupt handler. But there is no problem in the operation since it just sets the same value twice in
the register of the CPU.
In the EIT processing routine, do not execute the processing expecting the contents of PS register before
EIT branch.
■ Operation of INT Instruction
INT #u8 instruction operates as shown below.
It branches to the interrupt handler of vector specified by u8.
[Operation]
1) (TBR+3FCH - 4u8)
 TMP
2) SSP- 4
 SSP
3) PS
 (SSP)
4) SSP- 4
 SSP
5) PC+2
 (SSP)
6) "0"
 I flag
7) "0"
 S flag
8) TMP
 PC
■ Operation of INTE Instruction
INTE instruction operates as shown below.
It branches to the interrupt handler of vector number #9.
[Operation]
1) (TBR+3D8H)
 TMP
2) SSP- 4
 SSP
3) PS
 (SSP)
4) SSP- 4
 SSP
5) PC+2
 (SSP)
6) "00100B"
 ILM
7) "0"
 S flag
8) TMP
 PC
In the INTE instruction and processing routine of step trace trap, do not use INTE instruction.
Also, EIT does not occur by INTE during the execution of the step.
■ Operation of Step Trace Trap
If the step trace function is enabled by setting T flag at the SCR in the PS, trap occurs every one instruction
execution and breaks. The detecting conditions of step trace trap are shown below.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
69
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
[Detecting conditions of step trace trap]
• T flag=1
• Not a branch instruction with delay
• When a processing routine excepting INTE instruction or step trace trap is executing.
When the above conditions are met, it breaks at the interval of the instruction operations.
[Operation]
1) (TBR+3CCH)
 TMP
2) SSP- 4
 SSP
3) PS
 (SSP)
4) SSP- 4
 SSP
5) Address of the next instruction  (SSP)
6) "00100B"
 ILM
7) "0"
 S flag
8) TMP
 PC
When the step trace trap is enabled by setting T flag, NMI for user and user interrupt enter into the
prohibited state. And EIT by INTE instruction does not occur.
In the FR family, trap occurs from the instruction next to the one that T flag was set.
■ Operation of Undefined Instruction Exception
Undefined instruction exception occurs when it detects undefined instruction during instruction decoding.
The detecting conditions of undefined instruction exception are shown below.
• When decoding the instruction, it detects as undefined instruction.
• It is located outside of the delay slot. (It is not just after the branch instruction with delay.)
When the above conditions are met, undefined instruction exception occurs and breaks.
[Operation]
1) (TBR+3C4H)
 TMP
2) SSP- 4
 SSP
3) PS
 (SSP)
4) SSP- 4
 SSP
5) PC
 (SSP)
6) "0"
 S flag
7) TMP
 PC
The one to be saved into as PC is the address of the instruction itself that detected the undefined instruction
exception.
■ Co-processor Non Existence Trap
Co-processor non existence trap occurs when co-processor instruction that uses uninstalled co-processor is
executed.
70
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.10 EIT (Exception, Interrupt, Trap)
MB91345 Series
[Operation]
1) (TBR+3E0H)
 TMP
2) SSP- 4
 SSP
3) PS
 (SSP)
4) SSP- 4
 SSP
5) Address of next instruction
 (SSP)
6) "0"
 S flag
7) TMP
 PC
■ Co-processor Error Trap
In case an error occurs during a co-processor is used, and when the next co-processor instruction that
handles the co-processor is executed, a co-processor error trap occurs.
[Operation]
1) (TBR+3DCH)
 TMP
2) SSP- 4
 SSP
3) PS
 (SSP)
4) SSP- 4
 SSP
5) Address of next instruction
 (SSP)
6) "0"
 S flag
7) TMP
 PC
■ Operation of RETI Instruction
RETI instruction is the instruction to return from EIT processing routine.
[Operation]
1) (R15)
 PC
2) R15+4
 R15
3) (R15)
 PS
4) R15+4
 R15
RETI instruction should be executed in the state which S flag is "0".
■ Caution for a Delay Slot
A delay slot of branch instruction has restrictions regarding EIT.
Refer to "3.9 Branch Instruction".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
71
CHAPTER 3 CPU and Control Section
3.11 Operation Modes
3.11
MB91345 Series
Operation Modes
There are bus mode and access mode for the operation modes. Each mode is
explained.
■ Operation Mode
Bus mode
Access mode
Single chip
32-bit bus width
16-bit bus width
8-bit bus width
● Bus mode
The bus mode is the mode that specifies with the mode setting pins (MD2, MD1, MD0) and the contents of
ROMA bit in the mode data.
● Access mode
The access mode is the mode that controls external data bus width, and it specifies with WTH1, WTH0 bits
in the mode register.
■ Bus Mode
● Bus mode 0 (Single chip mode)
In this mode, internal I/O, D-bus RAM, F-bus RAM and F-bus ROM are valid and the access to other area
is invalid.
External pin does the function of peripheral or general purpose port. It does not work as a bus pin.
■ Mode Setting
In the FR family, operation mode is set by the mode setting pins (MD2, MD1, MD0) and the mode register
(MODR).
● Mode pins
They are three pins of MD2, MD1 and MD0, and specify the contents of the mode vector fetch.
Table 3.11-1 explains about the mode setting.
Table 3.11-1 Mode Setting
Mode pins
MD2 MD1 MD0
Mode name
Reset vector Access area
000B
Internal ROM mode vector
Internal
Remarks
Note:
In the FR family, external mode vector fetch by multiplex bus is not supported.
72
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.11 Operation Modes
MB91345 Series
● Mode register (MODR)
The data that are written in the mode register by mode vector fetch is called mode data. For mode vector
fetch, refer to "3.12.3 Reset Sequence".
After the mode register (MODR) is set, it operates in the operation mode set by this register.
The mode register is set by all reset factors. And it is not written in by the user program.
Reference:
Nothing exists in the address (0000 07FFH) of the mode register of conventional FR family.
In the emulator mode, rewriting is possible. In this case, use data transfer instruction of 8-bit length.
It cannot be written by 16/32-bit length transfer instruction.
The details of the mode register are shown below.
[Details of the mode register]
Figure 3.11-1 Bit Configuration of Mode Register (MODR)
MODR
0007FCH
bit7
bit6
bit5
bit4
bit3
0
0
0
0
0
W
W
W
W
W
bit2
bit1
bit0
ROMA WTH1 WTH0
W
W
Initial value
XXXXXXXXB
W
Operation mode setting bits
W: Write only
[bit7 to bit3] Reserved bits
Make sure to set "00000B".
The operation is not assured if the value other than "00000B" is set.
[bit2] ROMA (Internal ROM enable bit)
Make sure to set "1".
Table 3.11-2 ROMA (Internal ROM Enable Bit)
ROMA
Function
0
-
1
CM71-10132-3E
Remarks
Setting is prohibited
Internal ROM mode
Embedded F-bus RAM and F-bus ROM become valid.
FUJITSU SEMICONDUCTOR LIMITED
73
CHAPTER 3 CPU and Control Section
3.11 Operation Modes
MB91345 Series
[bit1, bit0] WTH1, WTH0 (Bus width specifying bits)
Make sure to set "11B".
Table 3.11-3 WTH1, WTH0 (Bus Width Specifying Bits)
WTH1
WTH0
Function
Remarks
0
0
-
Setting is prohibited
0
1
-
Setting is prohibited
1
0
-
Setting is prohibited
1
1
Single chip mode
Single chip mode
Note:
Mode data to be set to the mode vector must be placed in "000FFFF8H" as byte data. Since big
endian is used for byte endian in the FR family, mode data should be placed in the most significant
byte, from bit31 to bit24 as shown in the diagram below.
bit
24
23
16
15
8
7
0
Wrong
000FFFF8H
XXXXXXXX
XXXXXXXX
XXXXXXXX
Mode Data
Correct
000FFFF8H
Mode Data
XXXXXXXX
XXXXXXXX
XXXXXXXX
000FFFFCH
74
31
Reset Vector
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
MB91345 Series
3.12
Reset (Initialization of the Device)
In this section, reset which is the initialization of the FR family devices is explained.
■ Reset (Initialization of the Device)
When reset factor occurs, the device halts all programs and hardware operations and initializes the state.
This state is called a reset state.
Disappearing of reset factors makes the device start programs and hardware operations from the initial
state. MB91345 series of operation from the reset state to the starting of operations is called a reset
sequence.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
75
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
3.12.1
MB91345 Series
Reset Level
The reset operations of the FR family device are divided into two kinds of level and each
occurring factors and initialization contents are different respectively.
■ Setting Initialization Reset (INIT)
The highest level reset that initializes all settings is called setting initialization reset (INIT).
The main settings that are initialized by setting initialization reset (INIT) are as shown below.
● Settings initialized by setting initialization reset (INIT)
• Operation mode of the device (settings of the bus mode and the access mode)
• All settings regarding the internal clock (clock source selection, PLL control, division ratio setting)
• All settings of other pin state
• All settings that are initialized by operation initialization reset (RST)
For details, refer to the explanation of each function.
Note:
Be sure to do the setting initialization reset by INIT pin after power on.
■ Operation Initialization Reset (RST)
Normal level reset that initializes the program operation is called operation initialization reset (RST).
At setting initialization reset (INIT), operation initialization reset (RST) is also occurred simultaneously.
The main settings that are initialized by operation initialization reset (RST) are as shown below.
● Settings initialized by operation initialization reset (RST)
• Program operations
• CPU and internal buses
• Register setting values of the peripheral circuits
• I/O port settings
• Operation mode of the devices (settings of the bus mode and the access mode)
For details, refer to the explanation of each function.
76
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
MB91345 Series
3.12.2
Reset Factor
Various reset occurring factors and occurring reset levels of the FR family devices are
explained.
The reset factors that occurred in the past can be known by reading out the RSRR
(Reset Factor Register). The details of register and flag in each explanation are
explained in "3.13.5 Block Diagram of Clock Generation Control Section" and "3.13.6
Registers of the Clock Generation Control Section".
■ INIT Pin Input (Setting Initialization Reset Pin)
INIT pin of external pin works as a setting initialization reset pin.
While "L" level is input to this pin, the setting initialization reset (INIT) request occurs.
By inputting "H" level to this pin, the setting initialization reset (INIT) request is released.
When INIT occurs by the request of this pin, bit15 (INIT bit) in the RSRR (reset factor register) is set.
The setting initialization reset (INIT) by the request of this pin is the strongest in all reset factors, and it
takes priority over all input/operation/state.
Make sure to do setting initialization reset (INIT) on INIT pin just after power on.
And, to assure the oscillation stabilization waiting time for oscillation circuit and the stabilization waiting
time for the regulator just after power on, hold "L" level input on INIT pin during the waiting time for
stabilization that the oscillation circuits requires.
For INIT by the INIT pin, the initial setting of the stabilization waiting time for oscillation is set to
minimum value.
• Generation trigger
: "L" level input on the external INIT pin
• Release trigger
: "H" level input on the external INIT pin
• Generation level
: Setting initialization reset (INIT)
• Corresponding flag : bit15 (INIT)
■ Software Reset (STCR:SRST Bit Writing)
When "0" is written in the bit4 (SRST bit) of the standby control register (STCR), a software reset request
occurs. The software reset request is an operation initialization reset (RST) request.
When the request is accepted and an operation initialization reset (RST) occurs, then the software reset
request is released.
In case the operation initialization reset (RST) occurred by the software reset request, then bit11 (SRST bit)
of RSRR (reset factor register) is set.
In case the bit9 (SYNCR bit) in the time-base counter control register (TBCR) is set (the synchronous reset
mode), the operation initialization reset (RST) by the software reset request does not occur until all bus
access stops.
Therefore, depending on the situation of bus use, there is a case that it takes a long time until the operation
initialization reset (RST) occurs.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
77
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
MB91345 Series
• Generation trigger
: Writing "0" into the bit4 (SRST bit) of standby control register (STCR)
• Release trigger
: Generation of operation initialization reset (RST)
• Generation level
: Operation initialization reset (RST)
• Corresponding flag : bit11 (SRST)
■ Watchdog Reset
When writing into the watchdog timer control register (RSRR), the watchdog timer is activated. After that,
if A5H/5AH writing is not done into the watchdog reset generation postpone register (WPR) in a period set
by the bit9 and bit8 (WT1, WT0 bits) in RSRR, a watchdog reset request is generated.
The watchdog reset request is a setting initialization reset (INIT) request. When the request is accepted and
if setting initialization reset (INIT) generates or operation initialization reset (RST) generates, the watchdog
reset request is cancelled.
When setting initialization reset (INIT) generates by watchdog reset request, the bit13 (WDOG bit) in the
reset factor register (RSRR) is set.
In addition, in case setting initialization reset (INIT) generates by watchdog reset request, oscillation
stabilization waiting time setting is not initialized.
• Generation trigger
: Passing the set period of watchdog timer
• Release trigger
: Generation of setting initialization reset (INIT) or operation initialization reset (RST)
• Generation level
: Setting initialization reset (INIT)
• Corresponding flag : bit13 (WDOG)
78
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
MB91345 Series
3.12.3
Reset Sequence
The device starts execution of reset sequence by disappearing of reset trigger.
The operation content of reset sequence is different for each reset level.
In this section, the operation contents of reset sequence for each reset level are
explained.
■ Setting Initialization Reset (INIT) Cancellation Sequence
When setting initialization reset (INIT) request is cancelled, the device executes the operations shown
below in sequence.
1) Cancellation of setting initialization reset (INIT), transition to oscillation stabilization waiting state
2) During the oscillation stabilization waiting time (set by bit3, bit2 (OS1, OS0 bits of STCR)), holds the
state of operation initialization reset (RST), stops the internal clock.
3) State of operation initialization reset (RST), stars the internal clock operation.
4) Cancellation of operation initialization reset (RST), transition to the state of normal operation
5) From the address 000FFFF8H, reads the mode vector.
6) To MODR (mode register) in the address 000007FDH, writes the mode vector.
7) From the address 000FFFFCH, reads reset vector.
8) To program counter (PC), writes reset vector.
9) From the address indicated by the program counter (PC), starts program operation.
■ Operation Initialization Reset (RST) Cancellation Sequence
This reset is generated by software reset.
When operation initialization reset (RST) request is cancelled, the device executes the operations shown
below in sequence.
1) Cancellation of operation initialization reset (RST), transition to the state of normal operation
2) From the address 000FFFF8H, reads the mode vector.
3) To MODR (mode register) in the address 000007FDH, writes the mode vector.
4) From the address 000FFFFCH, reads the reset vector.
5) To program counter (PC), writes the reset vector.
6) From the address indicated by the program counter (PC), starts the program operation.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
79
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
3.12.4
MB91345 Series
Oscillation Stabilization Waiting Time
When the device returned from the state that source oscillation of the device was
halting or the state that such a possibility existed, it automatically moves to oscillation
stabilization waiting state. By this function, it makes not to use the oscillator output that
is not stable after starting oscillation.
During oscillation stabilization waiting time, clock supply to internal and external is
halted, and only internal time-base counter operates and waits for passing of
stabilization waiting time which was set in the standby control register (STCR).
In this section, oscillation stabilization waiting operation is explained.
■ Generation Trigger of Oscillation Stabilization Waiting
Generation trigger of oscillation stabilization waiting is shown below.
● When setting initialization reset (INIT) is cancelled
It moves to the state of oscillation stabilization waiting just after setting initialization reset (INIT) was
cancelled by some triggers.
After passing oscillation stabilization waiting time, it moves to the state of operation initialization reset
(RST).
● When returning from the stop mode
Just after the stop mode was cancelled, it moves to the state of oscillation stabilization waiting. But, in case
it was cancelled by the setting initialization reset (INIT) request, it moves to the state of setting
initialization reset (INIT), and after the setting initialization reset (INIT) is cancelled, it moves to the state
of oscillation stabilization waiting.
After passing oscillation stabilization waiting time, it moves to the state corresponding to the factors that
cancelled the stop mode.
• When returning by the occurrence of valid external interrupt request input (includes NMI):
It moves to the normal operation state.
• When returning by the setting initialization reset (INIT) request:
It moves to the state of the setting initialization reset (INIT)
• When returning by the operation initialization reset (RST) request:
It moves to the state of the operation initialization reset (RST)
● When returning from the abnormal state occurrence at selecting PLL
In case any abnormality* occurs in PLL control during the PLL is operating as a source clock, it
automatically moves to oscillation stabilization waiting time to secure PLL lock time.
After passing oscillation stabilization waiting time, it moves to the normal operation state.
*: Occurrence of the change in the frequency multiplication coefficient while PLL is being used, and PLL
operation enable bit is garbled, etc.
80
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
MB91345 Series
■ Selection of the Oscillation Stabilization Waiting Time
The oscillation stabilization waiting time is counted by the embedded time-base counter.
When the oscillation stabilization waiting generation trigger occurs and it moves to the state of oscillation
stabilization waiting, once the embedded time-base counter is initialized and then starts clocking of the
oscillation stabilization waiting time.
By the bit3 and bit2 (OS1, OS0 bits) of the standby control register (STCR), the oscillation stabilization
waiting time can be set by selecting from the four kinds of the waiting time. Once the setting is selected, it
is not initialized except setting initialization reset (INIT) by external INIT pin. By other resets such as
watchdog reset/setting initialization reset (INIT) by low voltage detection standby and the operation
initialization reset (RST), the oscillation stabilization waiting time which was set before reset occurred is
held.
The four kinds of setting parameters for selecting the oscillation stabilization waiting time are assumed to
be used as shown below.
• OS1, OS0=00B : No oscillation stabilization waiting time (the case that PLL does not stop oscillator
by stop mode)
• OS1, OS0=01B : PLL lock waiting time (the case that oscillator is not stopped by external clock input
or stop mode)
• OS1, OS0=10B : Oscillation stabilization waiting time (medium) (the case that uses oscillator element
which stabilizes fast, such as ceramic resonator)
• OS1, OS0=11B : Oscillation stabilization waiting time (long) (the case that uses conventional crystal
oscillator element)
In addition, just after power on, be sure to do setting initialization reset (INIT) by INIT pin.
And just after power on, to assure the oscillation stabilization waiting time of the oscillator circuits and the
stabilization waiting time of regulator, hold "L" level input on INIT pin during the stabilization waiting
time which is required by the oscillation circuits. (In case INIT by INIT pin, the setting of the oscillation
stabilization waiting time is initialized to minimum value.)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
81
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
3.12.5
MB91345 Series
Reset Operation Mode
In the operation initialization reset (RST), there are two modes, the normal
(asynchronous) reset mode and the synchronous reset mode, and either of two modes
can be set by the bit9 (SYNCR bit) in the time-base counter control register (TBCR). This
mode setting is initialized only by the setting initialization reset (INIT). The setting
initialization reset (INIT) always does reset operation asynchronously.
Operation of each mode is explained in this section.
■ Normal Reset Operation
The operation that instantaneously moves to the state of operation initialization reset (RST) when the
operation initialization reset (RST) request occurs is called the normal reset operation.
In this mode, when reset (RST) request is accepted, it instantaneously moves to the reset (RST) state
regardless of the operation state for internal bus access.
In this mode, the results cannot be assured for the bus access which was being done at the time moving to
each state. But it is possible to surely accept those requests.
When the bit9 (SYNCR bit) in the time-base counter control register (TBCR) is "0", it becomes the normal
reset mode. The initial value after occurring of the setting initialization reset (INIT) becomes the normal
reset mode.
■ Synchronous Reset Operation
In case the operation initialization reset (RST) request occurs, the operation that moves to the operation
initialization reset (RST) state after all bus access stopped is called the synchronous reset operation.
In this mode, moving to the reset (RST) state is not done during internal bus access is being done despite
the reset (RST) request is accepted.
When the above request is accepted, then the sleep request is issued to the internal bus. When each bus
halts operation and moves to the sleep state, then it moves to the operation initialization reset (RST) state.
In this mode, as all bus access is halting at the time of moving to each state, the results of all bus access are
assured.
But in case that bus access does not halt by some reason, each request cannot be accepted during that
period. Even in the case like this, the setting initialization reset (INIT) becomes valid instantaneously.
The following cases are listed as the causes that bus access does not halt.
• The case that bus cancellation request (BRQ) is being continued to input to the external expanded bus
interface, and the bus cancellation acknowledge (BGRNT) is valid, and in case that new bus access
request is occurring from the internal bus.
• The case that ready request (RDY) is being continued to input to the external expanded bus interface,
and in case the bus wait is valid.
In the next case, it takes long time to move, though it moves to each state for the last time.
• The case that SDRAM interface is activated, and self refresh at sleep is set (it does not perform status
transition until self refresh mode setting is finished).
82
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 3 CPU and Control Section
3.12 Reset (Initialization of the Device)
Reference:
• Refer to the restrictions on bit9: SYNCR bit in the time-base counter control register (TBCR) for
the use of the synchronous reset mode.
• Transfer of the DMA controller will be stopped on receiving each request, so transition to each
status does not need to be delayed.
• The synchronous reset mode will start when bit9: SYNCR bit in the time-base counter control
register (TBCR) is "1".
• The initial value after the setting initialization reset (lNIT) has occurred returns to the normal reset
mode.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
83
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
3.13
MB91345 Series
Clock Generation Control
In this section, clock generation and its control are explained.
■ Clock Generation Control
The internal operation clock of the FR family device is generated as shown below.
• Selection of the source clock
: Selects the source of the clock supply.
• Generation of the base clock
: Generates the basic clock by dividing the source clock by two or by
oscillating PLL.
• Generation of each internal clock : Divides the base clock, and generates three kinds of operation
clocks that are supplied to each part.
 indicates the base clock generated by dividing the source clock by 2 or by oscillating PLL. Therefore, the
system base clock is a clock generated when the base clock above occurs.
Generation and control of each clock are explained below. Refer to "3.13.5 Block Diagram of Clock
Generation Control Section", "3.13.6 Registers of the Clock Generation Control Section" for details of the
registers and the flags in each explanation.
■ Source Clock
● Autodyne oscillation mode (X0/X1 pin input)
This is the mode that makes source oscillation that is generated in the internal oscillation circuit by
connecting an oscillator element on the external oscillation pin as the source clock.
All clock supply source is the FR family device itself.
Main clock:
Generates from X0/X1 pin input, and it is assumed to be used as a high speed clock.
The main clock is multiplied by using the controllable embedded main PLL.
The internal base clock is generated by selecting the source clock shown below.
• Main clock divided by two
• Main clock multiplied by main PLL
Selection control of the source clock is done by setting of the clock source control register (CLKR).
84
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
3.13.1
PLL Control
For each PLL oscillation circuits corresponding to the main source clock, it is possible
to control operation (oscillation) enable/disable and the setting of multiplier ratio
independently. Each control is done by setting the clock source control register (CLKR).
The content of each control is explained below.
■ PLL Operation Enabling
Enable/disable of the main PLL oscillation is done by setting the bit10 (PLL1EN bit) of the clock source
control register (CLKR).
● PLL operation control
Both bits are initialized to "0" after setting initialization reset (INIT), and PLL oscillation operation stays in
halt. During halt, PLL output cannot be selected as a source clock.
When the program operation starts, in the first place, set the frequency multiplication coefficient of PLL for
the clock source, and after enabling operation, switch the source clock after passing the lock waiting time
of PLL. In this case, during the lock waiting time of the PLL, the time-base timer interrupt can be used.
During the PLL output is selected as the source clock, that PLL operation cannot be stopped (writing into
the register becomes invalid). In case to stop the PLL to move to the stop mode, once reselect the main
clock divided by two as a source clock, then stop the PLL.
In addition, in case that it is specified as oscillation stops in the stop mode by setting the bit0 (OSCD1 bit)
of the standby control register (STCR), as the corresponding PLL automatically stops when it moves to the
stop mode, it is not necessary to set to stop operation again. After that when returning from the stop mode,
PLL automatically starts oscillation operation. In case that it is specified as the oscillation does not stop in
stop mode, the PLL does not stop automatically. In this case, if it is necessary, set the operation stop before
moving to the stop mode.
■ PLL Frequency Multiplication Coefficient
The frequency multiplication coefficient of the main PLL is set by bit14 to bit12 (PLL1S2, PLL1S1,
PLL1S0 bits) of the clock source control register (CLKR).
After the setting initialization reset (INIT), bit14 to bit12 (PLL1S2, PLL1S1, PLL1S0 bits) are initialized to
"0".
● Setting of the PLL frequency multiplication coefficient
When changing the setting of PLL frequency multiplication coefficient from the initial value in the
autodyne oscillation mode, it should be set after the program operation starts, and before or at the same
time of enabling the PLL operation. After the frequency multiplication coefficient is changed, switch the
source clock after passing lock waiting time. In this case, in the PLL lock waiting time, the time-base timer
interrupt can be used.
When changing the PLL frequency multiplication coefficient in operation, once switch the source clock to
the one that is not relevant PLL, and then change it. After changing the frequency multiplication
coefficient, switch the source clock after passing the lock waiting time as described above.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
85
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
Though setting of the PLL frequency multiplication coefficient can be changed while the PLL is being
used, in this case, after rewriting the frequency multiplication coefficient, it automatically moves to the
state of oscillation stabilization waiting, the program operation stops until passing the set oscillation
stabilization waiting time.
In case the clock source is changed to other than PLL, the program operation does not stop.
86
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
3.13.2
Oscillation Stabilization Waiting/PLL Lock Waiting Time
In case the clock selected as the source clock is not in stable state, the oscillation
stabilization waiting time is required. (Refer to "3.12.4 Oscillation Stabilization Waiting
Time")
For the PLL, lock waiting time is required until the output becomes stable at the set
frequency after the operation started.
In this section, waiting times for several cases are explained.
● Waiting time after power on
After power on, in the first place, the oscillation stabilization waiting time for the oscillation circuit for
main clock is required.
As the setting of the oscillation stabilization waiting time is initialized to the minimum value by the INIT
pin input (setting initialization reset pin), this oscillation stabilization waiting time is assured by the input
time of "L" level on INIT pin input.
In this state, as both PLL are not enabled to operate, the lock waiting time is not need to be considered.
● Waiting time after setting initialization
When the setting initialization reset (INIT) is cancelled, it moves to the state of oscillation stabilization
waiting. In that state, the specified oscillation stabilization waiting time is internally generated. At the
beginning of the state for oscillation stabilization waiting after INIT pin input, as the setting value is
initialized to the minimum value, soon this state finishes, and it moves to the state of operation initialization
reset (RST).
After the program operation started, at the time of cancellation in case the setting initialization reset (INIT)
occurred by the causes other than INIT pin input, the oscillation stabilization waiting time that was set by
the program is internally generated.
In these state, as both PLL are not enabled to operate, the lock waiting time is not need to be considered.
● Waiting time after changing of the PLL frequency multiplication coefficient
After the program operation starts, when the frequency multiplication coefficient setting of the PLL in
operation is changed, the program operation halts temporarily and moves to the state of oscillation
stabilization waiting (lock waiting), and after passing the specified oscillation stabilization waiting (lock
waiting) time, it returns to the program operation.
The time-base counter is once initialized by this operation.
● Waiting time after returning to the stop mode
After the program operation starts, at the time of cancellation in case it moved to the stop mode, the time
period of oscillation stabilization waiting time set by the program is internally generated. In case the setting
was to stop the oscillation circuit for main clock in the stop mode, between the oscillation stabilization
waiting time of the oscillation circuit and lock waiting time of main PLL, the longer time becomes
necessary. Before moving to the stop mode, set its oscillation stabilization waiting time in advance.
In case setting is not to stop the oscillation circuit for the main clock in the stop mode, the PLL does not
stop automatically. Unless stopping the PLL, the oscillation stabilization waiting time is not necessary.
Before moving to the stop mode, the oscillation stabilization waiting time should be set to the minimum
value in advance.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
87
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
3.13.3
MB91345 Series
Clock Distribution
The operation clocks for each function are generated based on the base clock
generated from the source clock. There are four kinds of internal operation clock and
the dividing ratio can be set independently for each of them.
In this section, each internal operation clock is explained.
■ CPU Clock (CLKB)
This is the clock that is used for the CPU, the internal memory and the internal bus.
The circuits that use this clock are as shown below.
• CPU
• Embedded RAM
• Bit search module
• I-bus, D-bus, X-bus, F-bus
• DMA controller
• DSU (development tool interface circuit)
As the upper limit of the operable frequency is 50 MHz, do not set a combination of the frequency
multiplication coefficient and the dividing ratio that makes the frequency exceeding this limit.
■ Peripheral Clock (CLKP)
This is the clock used for the peripheral circuits and the peripheral bus.
The circuits that use this clock are as shown below.
• Peripheral bus
• Clock control section (bus interface section only)
• Interrupt controller
• Peripheral I/O port
• I/O port bus
• External interrupt input
• UART
• 16-bit timer
• A/D converter
• PPG
As the upper limit of the operable frequency is 25 MHz, do not set a combination of the frequency
multiplication coefficient and the dividing ratio that makes the frequency exceeding this limit.
Note:
The processing power of the CPU also depends on the wait register (FLWC) setting. Make sure that
the setting of this register is optimized before use. Refer to "19.2.2 Wait Register (FLWC)".
88
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
3.13.4
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
Clock Dividing
For the internal operation clock, the dividing ratio from the base clock can be set
independently. The optimum operation frequency can be set for each circuit by this
function.
■ Clock Dividing
The dividing ratio is set by the base clock dividing setting register 0 (DIVR0) and the base clock dividing
setting register 1 (DIVR1). Each register has four bits of setting bits corresponding to each clock, and for
its clock, (register set value +1) becomes the dividing ratio to the base clock. Regardless the dividing ratio
setting is odd number, the duty always becomes 50 %.
When the setting value is changed, the changed dividing ratio becomes valid from the rising edge of the
next clock after setting.
The setting of dividing ratio is not initialized by the occurrence of the operation initialization reset (RST),
and the setting is held as the one before reset occurred. It is initialized only by the occurrence of the setting
initialization reset (INIT).
In the initial state, as all dividing ratio become one, except peripheral clock (CLKP), be sure to set the
dividing ratio before changing the source clock to fast one.
For each clock, the upper limit of the operable frequency is defined. Be cautious that in case the setting
which exceeds the upper limit frequency is done by the combination of the source clock selection, the
frequency multiplication coefficient setting of the PLL and the dividing ratio setting, the operation is not
assured. Especially be careful not to mistake the order with setting of source clock selection change.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
89
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
3.13.5
MB91345 Series
Block Diagram of Clock Generation Control Section
In this section, the block diagram of the clock generation control section is shown.
■ Block Diagram
Figure 3.13-1 shows the block diagram of the clock generation control section.
For details of the register in Figure 3.13-1, refer to "3.13.6 Registers of the Clock Generation Control
Section".
Figure 3.13-1 Block Diagram of Clock Generation Control Section
Peripheral stop control register
R-bus
[ Clock generation section ]
DIVR0,DIVR1 register
CPU clock dividing
CPU clock
X0
X1
Oscillation
circuit
External bus clock dividing
X1A
Oscillation
circuit
Selector
External bus clock
CLKR register
PLL
Main oscillation
1/2
X0A
Each peripheral clock
Selector
Main oscillation
stabilization
waiting timer
(for selecting sub)
Selector
Peripheral
stop control
Each peripheral clock dividing
Stop control
Selector
Sub oscillation
Watch timer
[ Stop/sleep control section ]
Internal interrupt
STCR Register
Stop state
State
transition
control
circuits
Internal reset
Sleep state
Reset generation
F/F
Reset generation
F/F
Internal reset (RST)
Internal reset (INIT)
[ Reset factor circuits ]
INIT pin
RSRR register
[ Watchdog control section ]
Watchdog F/F
WPR register
Time-base counter
Counter clock
CTBR register
Selector
TBCR register
Overflow detecting F/F
Time-base timer
interrupt request
Interrupt enable
90
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
3.13.6
Registers of the Clock Generation Control Section
In this section, the function of the registers used in the clock generation control section
is explained.
■ Reset Factor Register/Watchdog Timer Control Register (RSRR)
Figure 3.13-2 shows the bit configuration of the reset factor register/watchdog timer control register
(RSRR).
Figure 3.13-2 Bit Configuration of Reset Factor Register/Watchdog Timer Control Register (RSRR)
Address: 00000480H
R/W:
R:
:
X:
bit15
bit14
bit13
bit12
bit11
bit10
bit9
INIT

WDOG

SRST

WT1
R
R
R
R
R
R
R/W
bit8
Initial value
WT0 10000000B (INIT pin)
-0-XX-00B (INIT)
R/W XXX--X00 (RST)
B
Readable/writable
Read only
Initialized by the factor
Not initialized
This register holds reset causes which occurred just before, and accomplishes the setting of the period for
the watchdog timer and its activation control. When reading this register, the held reset causes is cleared
after reading out. In case plural resets occur until reading out, the reset factor flags are accumulated and
plural flags are set.
When writing into this register, the watchdog timer is activated. After that, the watchdog timer continues to
operate until reset (RST) occurs.
The function of each bit in the reset factor register/watchdog timer control register (RSRR) is explained
below.
[bit15] INIT (INITialize reset occurred)
This bit indicates whether there was an occurrence of reset (INIT) by INIT pin input.
Table 3.13-1 shows the function of INIT.
Table 3.13-1 INIT Function
INIT
Function
0
INIT did not occur by INIT pin input.
1
INIT occurred by INIT pin input.
• It is initialized to "0" just after reading.
• Reading is possible, and writing does not affect to the bit value.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
91
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[bit14]  (Reserved bit)
This bit is a reserved bit.
[bit13] WDOG (WatchDOG reset occurred)
This bit indicates whether there was an occurrence of reset (INIT) by the watchdog timer. Table 3.13-2
shows the function of WDOG.
Table 3.13-2 WDOG Function
WDOG
Function
0
INIT by watchdog timer did not occur.
1
INIT by watchdog timer occurred.
• It is initialized to "0" just after reset (INIT) by the INIT pin input or reading.
• Reading is possible, and writing does not affect to the bit value.
[bit12] (Reserved bit)
This bit is a reserved bit.
[bit11] SRST (Software ReSeT occurred)
This bit indicates whether there was an occurrence of reset (RST) by SRST bit writing (software reset)
of standby control register (STCR).
Table 3.13-3 shows the function of SRST.
Table 3.13-3 SRST Function
SRST
Function
0
RST by software reset did not occur.
1
RST by software reset occurred.
• It is initialized to "0" just after reset (INIT) by the INIT pin input or reading.
• Reading is possible, and writing does not affect to the bit value.
[bit10] (Reserved bit)
This bit is a reserved bit.
92
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[bit9, bit8] WT1, WT0 (Watchdog interval Time select)
These bits set the time period of the watchdog timer.
By the value written into these bits, the time period of the watchdog timer is selected from the four
kinds shown in Table 3.13-4.
Table 3.13-4 shows the time period of the watchdog timer.
Table 3.13-4 Time Period of Watchdog Timer
The minimum required intervals of
writing to WPR to deter the
occurrence of the watchdog reset
The time from the last 5AH writing into
WPR till the occurrence of the
watchdog reset
WT1
WT0
0
0
×216
0
1
×218
×218 to ×219
1
0
×220
×220 to ×221
1
1
×222
×222 to ×223
(Initial value)
×216 to ×217
 : Time period of the system base clock.
• These bits are initialized to "00B" by reset (RST).
• These bits are readable and writing is valid only once after reset (RST). The writing after that is
invalid.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
93
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Standby Control Register (STCR)
Figure 3.13-3 shows the bit configuration of the standby control register (STCR).
Figure 3.13-3 Bit Configuration of the Standby Control Register (STCR)
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
OSCD1 00110011 (INIT pin)
HIZ SRST OS1 OS0

B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W 00111111B (HST)*
*
: Only in case it is done at the same time of initialization by the INIT pin, in other 0011XX11B (INIT)
cases, it is same as the one at INIT.
00X1XXXXB (RST)
R/W : Readable/writable
Address: 00000481H STOP SLEEP
The standby control register (STCR) controls the operation mode of the device.
It does moving to two standby modes of stop and sleep, pin and oscillation stop control in the stop mode,
setting of oscillation stabilization waiting time and issuing of software reset.
Note:
In case being able to go into the standby mode, use synchronous standby mode (set by the bit8
SYNCS bit of the time-base counter control register TBCR) and be sure to use the following
sequence.
(LDI
#value_of_standby, R0) ; value_of_standby is the write data to STCR
(LDI
#_STCR, R12)
; _STCR is the address (481H) of STCR
STB
R0,@R12
; Write into the standby control register (STCR)
LDUB
@R12, R0
; STCR read for synchronous standby
LDUB
@R12, R0
NOP
; Once again, dummy read STCR
; NOP × 5 for timing adjustment
NOP
NOP
NOP
NOP
94
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
The function of each bit in the standby control register (STCR) is explained.
[bit7] STOP (STOP mode)
This bit specifies to move to the stop mode. In case "1" is written both in the bit6 (SLEEP bit) and in
this bit, this bit (STOP) takes priority and moves to the stop mode.
Table 3.13-5 shows the function of STOP.
Table 3.13-5 STOP Function
STOP
Function
0
Does not move to stop mode. (Initial value)
1
Moves to stop mode.
• It is initialized to "0" by reset (RST) and the stop returning factor.
• Read and write are possible.
[bit6] SLEEP (SLEEP mode)
This bit specifies to move to the sleep mode. In case "1" is written both in the bit7 (STOP bit) and in
this bit, the bit7 (STOP bit) has a priority and moves to the stop mode.
Table 3.13-6 shows the function of SLEEP.
Table 3.13-6 SLEEP Function
SLEEP
Function
0
Does not move to sleep mode. (Initial value)
1
Moves to sleep mode.
• It is initialized to "0" by reset (RST) and the sleep returning factor.
• Read and write are possible.
[bit5] HIZ (HIZ mode)
This bit controls the pin state in the stop mode.
Table 3.13-7 shows the function of HIZ.
Table 3.13-7 HIZ Function
HIZ
Function
0
Holds the pin state before it moved to stop mode.
1
Makes the pin output to high impedance in stop mode. (Initial value)
• It is initialized to "0" by reset (INIT)
• Read and write are possible.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
95
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[bit4] SRST (Software ReSeT)
This bit specifies issuing of the software reset (RST).
Table 3.13-8 shows the function of SRST.
Table 3.13-8 SRST Function
SRST
Function
0
Issues a software reset.
1
Does not issue a software reset. (Initial value)
• It is initialized to "1" by reset (RST).
• Read and write are possible. The read out value is always "1".
Reference:
Refer to the restrictions on bit9:SYNCR bit in the time-base counter control register (TBCR) for the
use of the synchronous reset mode.
[bit3, bit2] OS1, OS0 (Oscillation Stabilization time select)
These bits specify the oscillation stabilization waiting time after reset (INIT) and returning to the stop
mode, etc.
By the value written in these bits, the oscillation stabilization waiting time is selected from the four kinds
shown in the Table 3.13-9. Table 3.13-9 shows the setting of the oscillation stabilization waiting time.
Table 3.13-9 Setting of the Oscillation Stabilization Waiting Time
Oscillation stabilization waiting
time
In case the source oscillation is
12.5 MHz
OS1
OS0
0
0
×21 (Initial value)
0
1
×211
327.68 s
1
0
×216
10.49 ms
1
1
×222
671.09 ms
0.32 s
 : Period of the system base clock, in this case double period of the source oscillation input.
• These are initialized to "00B" by reset (INIT) due to the INIT pin input.
• Read and write are possible.
[bit1]  (Reserved bit)
• It is initialized to "1" by reset (INIT).
• Write "1" when writing.
96
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[bit0] OSCD1 (OSCillation Disable mode for XIN1)
This bit controls oscillation stop in stop mode for main oscillation input (XIN1).
Table 3.13-10 shows the function of OSCD1.
Table 3.13-10 OSCD1 Function
OSCD1
Function
0
Main oscillation does not stop in stop mode.
1
Main oscillation stops in stop mode. (Initial value)
• It is initialized to "1" by reset (INIT).
• Read and write are possible.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
97
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Time-Base Counter Control Register (TBCR)
Figure 3.13-4 shows the bit configuration of the time-base counter control register (TBCR).
Figure 3.13-4 Bit Configuration of the Time-Base Counter Control Register (TBCR)
bit15
Address: 00000482H
bit14
TBIF
TBIE
R/W
R/W
bit13
bit12
bit11
TBC2 TBC1 TBC0
R/W
R/W
R/W
bit10
bit9
bit8
Initial value
SYNCR SYNCS 00XXXX00B (INIT)

R/W
R/W
R/W 00XXXXXXB (RST)
R/W: Readable/writable
The time-base counter control register (TBCR) is the register that controls time-base timer interrupt, etc.
Not only it enables the time-base timer interrupts and selects the interrupt interval time, but also it sets
option functions of the reset operation.
The function of each bit in the time-base counter control register (TBCR) is explained.
[bit15] TBIF (Time-Base timer Interrupt Flag)
This bit is a time-base timer interrupt flag. It shows that the time-base counter has passed the specified
interval time (set by the TBC2 to TBC0 bits of bit13 to bit11).
Time-base timer interrupt request occurs when this bit becomes "1" in case interrupt occurrence is
enabled (TBIE=1) by the bit14 (TBIE bit).
Table 3.13-11 shows the function of time-base timer interrupt flag (TBIF).
Table 3.13-11 Time-Base Timer Interrupt Flag (TBIF) Function
TBIF
Function
Clear factor
"0" is written by instruction.
Set factor
Passing the specified interval time (detection of falling edge for the timebase counter output).
• It is initialized to "0" by reset (RST).
• Read and write are possible. But only "0" can be written, and if "1" is written, bit value does not
change. And in case of reading by the read modify write (RMW) instruction series, the read out
value always becomes "1".
98
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[bit14] TBIE (Time-Base timer Interrupt Enable)
This bit is a time-base timer interrupt request output enable bit.
It controls the interrupt request output caused by passing of interval time for the time-base counter.
When this bit is "1" and when bit15 (TBIF bit) becomes "1", then time-base timer interrupt request
occurs.
Table 3.13-12 shows the function of the time-base timer interrupt request output enabling bit (TBIE).
Table 3.13-12 Time-Base Timer Interrupt Request Output Enabling Bit (TBIE) Function
TBIE
Function
0
Time-base timer interrupt request output disabled (Initial value)
1
Time-base timer interrupt request output enabled
• It is initialized to "0" by reset (RST).
• Read and write are possible.
[bit13 to bit11] TBC2, TBC1, TBC0 (Time-Basetimer Counting time select)
These bits set the interval time of the time-base counter used by the time-base timer.
By the value written in these bits, select the interval time from the eight kinds shown in the Table 3.13-13.
Table 3.13-13 shows setting of the interval time.
Table 3.13-13 Setting of the Interval Time
TBC2
TBC1
TBC0
Timer interval time
When the source oscillation is 12.5 MHz
and PLL is multiplied by four
0
0
0
×211
40.96 s
0
0
1
×212
81.92 s
0
1
0
×213
163.84 s
0
1
1
×222
83.9 ms
1
0
0
×223
167.8 ms
1
0
1
×224
335.5 ms
1
1
0
×225
671.1 ms
1
1
1
×226
1342.2 ms
 : Time period of the system base clock.
• Initial value is indeterminate. Before enable interrupt, be sure to set the value.
• Read and write are possible.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
99
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[bit10]  (Reserved bit)
This bit is a reserved bit. Read out value is indeterminate, and writing does not affect the operation.
[bit9] SYNCR (SYNChronous Reset enable)
This bit is a synchronous reset operation enable bit.
When the operation initialization reset (RST) request occurs, it selects whether to do the normal reset
operation that does reset (RST) instantaneously or to do the synchronous reset operation that does the
operation initialization reset (RST) after all bus access finish.
Table 3.13-14 shows the function of the synchronous reset operation enable bit (SYNCR).
Table 3.13-14 Synchronous Reset Operation Enable Bit (SYNCR) Function
SYNCR
Function
0
Normal reset operation (Initial value)
1
Synchronous reset operation
• It is initialized to "0" by reset (INIT).
• Read and write are possible.
Note:
When using software reset of the synchronous mode, be sure to satisfy the following two conditions
before setting "0" to the SRST bit of STCR (standby control register) .
• Set the interrupt enable flag (I-Flag) to interrupt disable (I-Flag=0).
• NMI is not used.
[bit8] SYNCS (SYNChronous Standby enable)
This bit is a synchronous standby operation enable bit.
Be sure to set "1" when the standby mode (the sleep mode or the stop mode) is used.
Table 3.13-15 shows the function of the synchronous standby operation enable bit (SYNCS).
Table 3.13-15 Synchronous Standby Operation Enable Bit (SYNCS) Function
SYNCS
Function
0
Normal standby operation (Initial value)
1
Synchronous standby operation
• It is initialized to "0" by reset (INIT).
• Read and write are possible.
Note:
On transition to the standby mode, be sure to set "1" as the synchronous standby operation.
100
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Time-Base Counter Clear Register (CTBR)
Figure 3.13-5 shows the bit configuration of time-base counter clear register (CTBR).
Figure 3.13-5 Bit Configuration of the Time-Base Counter Clear Register (CTBR)
bit7
Address: 00000483H
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
XXXXXXXXB (INIT)
XXXXXXXXB (RST)
D7
D6
D5
D4
D3
D2
D1
D0
W
W
W
W
W
W
W
W
W: Write only
The time-base counter clear register (CTBR) is used for initializing of the time-base counter.
When "A5H" and "5AH" are written consecutively in this register, all bits of the time-base counter are
cleared to "0" just after "5AH" is written. There is not a restriction for the time intervals of "A5H" writing
and "5AH" writing, but if the data other than "5AH" is written after "A5H" writing, then clear operation is
not done even if "5AH" is written unless "A5H" is written again.
The read out value of this register is indeterminate.
Note:
When clear the time-base counter using this register, the oscillation stabilization waiting time, the
watchdog timer time period, and the time period of the time-base timer change temporarily.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
101
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Clock Source Control Register (CLKR)
Figure 3.13-6 shows the bit configuration of the clock source control register (CLKR).
Figure 3.13-6 Bit Configuration of the Clock Source Control Register (CLKR)
bit15

Address: 00000484H
bit14
bit13
bit12
bit11

PLL1S2 PLL1S1 PLL1S0
R/W
R/W
R/W
R/W
R/W
bit10
bit9
bit8
Initial value
PLL1EN CLKS1 CLKS0 00000000B (INIT)
R/W
R/W
R/W
XXXXXXXXB (RST)
R/W: Readable/writable
The clock source control register (CLKR) is the register that selects clock source for the system base clock
and controls PLL. By this register, the clock source is selected from the two kinds. And it enables PLL
operation and controls selection of frequency multiplication coefficient.
The function of the each bit in the clock source control register (CLKR) is explained below.
[bit15]  (Reserved bit)
This bit is a reserved bit.
[bit14 to bit12] PLL1S2, PLL1S1, PLL1S0 (PLL1 ratio Select 2-0)
These bits are the bits used for selecting the PLL frequency multiplication coefficient. From the eight
kinds in Table 3.13-16, select the PLL frequency multiplication coefficient.
These bits disable rewriting during the main PLL is selected for the clock source.
Table 3.13-16 shows setting of the PLL frequency multiplication coefficient.
Table 3.13-16 Setting of the PLL Frequency Multiplication Coefficient
PLL1S2
PLL1S1
PLL1S0
0
0
0
0
0
1
0
1
0
Main PLL frequency
multiplication coefficient
×1
When the source oscillation is 12.5 MHz
(equal)
Setting is prohibited
×2
(multiplied by 2)
Setting is prohibited
0
×3
(multiplied by 3)
 =26.7 ns (37.5 MHz)
1
1
×4
(multiplied by 4)
 =20.0 ns (50.0 MHz)
1
0
0
×5
(multiplied by 5)
Setting is prohibited
1
0
1
×6
(multiplied by 6)
Setting is prohibited
1
1
0
×7
(multiplied by 7)
Setting is prohibited
1
1
1
×8
(multiplied by 8)
Setting is prohibited
 : Time period of system base clock.
• These bits are initialized to "000B" by reset (INIT).
• Read and write are possible.
102
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
Note:
As the upper limit of the operable frequency is 50 MHz, set them not to over this limit.
[bit11]  (Reserved bit)
This bit is a reserved bit.
[bit10] PLL1EN (PLL1 ENable)
This bit is an operation enable bit of the main PLL.
Rewriting of this bit is prohibited when the PLL is selected for the clock source.
In addition, when this bit is "0", selecting the main PLL for the clock source is prohibited (by setting
CLKS1, CLKS0 bits of bit9, bit8).
When bit0 (OSCD1 bit) of STCR is "1", and in the stop mode, the PLL stops even when this bit is "1".
After returning from the stop mode, it returns to operation enable.
Table 3.13-17 shows the function of the operation enable bit (PLL1EN) for the main PLL.
Table 3.13-17 Main PLL Operation Enable Bit (PLL1EN) Function
PLL1EN
Function
0
Main PLL stop (Initial value)
1
Main PLL operation enabled
• It is initialized to "0" by reset (INIT).
• Read and write are possible.
[bit9, bit8] CLKS1, CLKS0 (CLocK source Select)
These bits set the clock source used for FR core.
By the values written in these bits, select the clock source from the two kinds shown in the Table 3.1318.
Table 3.13-18 shows the setting of the clock source.
Table 3.13-18 Setting of the Clock Source
CM71-10132-3E
CLKS1
CLKS0
Setting of the clock source
0
0
Divided by two of the source oscillation input from X0/X1 (Initial value)
0
1
Divided by two of the source oscillation input from X0/X1
1
0
Main PLL
1
1
Setting is prohibited
FUJITSU SEMICONDUCTOR LIMITED
103
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
Table 3.13-19 shows unchangeable combination and changeable combination of CLKS1, CLKS0 bits.
Table 3.13-19 Unchangeable Combination and Changeable Combination of CLKS1,
CLKS0 Bits
Unchangeable combination
Changeable combination
"00B""11B"
"00B""01B" or "10B"
"01B""10B"
"01B""11B" or "00B"
"10B""01B" or "11B"
"10B""00B"
"11B""00B" or "10B"
"11B""01B"
• It is initialized to "00B" by reset (INIT).
• Read and write are possible.
104
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Watchdog Reset Generation Postponement Register (WPR)
Figure 3.13-7 shows the bit configuration of the watchdog reset generation postponement register (WPR).
Figure 3.13-7 Bit Configuration of the Watchdog Reset Generation Postponement Register (WPR)
Address: 00000485H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
D7
D6
D5
D4
D3
D2
D1
D0
W
W
W
W
W
W
W
W
XXXXXXXXB (INIT)
XXXXXXXXB (RST)
W: Write only
The watchdog reset generation postponement register (WPR) is the register that postpones generation of the
watchdog reset. When writing "A5H", "5AH" into this register consecutively, just after writing "5AH", it
clears the FF for the watchdog timer detection and postpones the generation of the watchdog reset. There is
no restriction for the time intervals between "A5H" writing and "5AH" writing. But if the data other than
"5AH" is written after "A5H" writing, clear operation is not done unless "A5H" is written again, even
though "5AH" is written. In addition, if writing of both data is not done in the time period shown in Table
3.13-20, the watchdog reset occurs.
By the state of bit9 (WT1), bit8 (WT0) of the reset factor/watchdog timer control register (RSRR), it
changes as shown in the Table 3.13-20.
Table 3.13-20 shows the setting of watchdog reset occurrence.
Table 3.13-20 Setting of Watchdog Reset Occurrence
WT1
WT0
The minimum writing intervals to WPR,
required for suppressing the watchdog reset
occurrence of RSRR
The time from the last "5AH" writing to WPR till
the occurrence of the watchdog reset
0
0
×216 (Initial value)
×216 to ×217
0
1
×218
×218 to ×219
1
0
×220
×220 to ×221
1
1
×222
×222 to ×223
 : Time period of the system base clock. WT1 and WT0 are bit9 and bit8 of RSRR and setting of the time period for the
watchdog timer.
As it clears automatically, during the time when CPU is not operating such as stop, sleep, DMA transfer, if
these conditions occur, the watchdog reset is automatically postponed.
The read out value of this register is indeterminate.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
105
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Base Clock Dividing Setting Register (DIVR0)
Figure 3.13-8 shows the bit configuration of the base clock dividing setting register 0 (DIVR0).
Figure 3.13-8 Bit Configuration of the Base Clock Dividing Setting Register 0 (DIVR0)
Address: 00000486H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
B3
R/W
B2
R/W
B1
R/W
B0
R/W
P3
R/W
P2
R/W
P1
R/W
bit8
Initial value
P0 00000011B (INIT)
R/W XXXXXXXXB (RST)
R/W: Readable/writable
The base clock dividing setting register 0 (DIVR0) is the register that controls the dividing ratio of each
internal clock to the base clock. This register sets the clock (CLKB) of CPU and internal bus and the
dividing ratio of the peripheral circuits and peripheral bus clock (CLKP).
The upper limit of operable frequency is defined for each clock. Be cautious, that if setting is done as it
exceeds the upper limit frequency, by the combination of source clock selection, PLL frequency
multiplication coefficient setting, and dividing ratio setting, the operation is not assured. Be cautious not to
reverse the order with setting of the source clock selection change.
When there is a change of the setting for this register, the changed dividing ratio becomes valid from the
next clock rate after setting.
[bit15 to bit12] B3, B2, B1, B0 (clkB divide select 3-0)
These bits are the bits for setting of the clock dividing ratio for CPU clock (CLKB). It sets the clock
dividing ratio of clock (CLKB) for CPU, internal memory and internal bus.
By the value written in these bits, select the dividing ratio (clock frequency) of the clock for the CPU
and the internal bus to the base clock, from the 16 kinds shown in the Table 3.13-21.
Note:
As the upper limit of operable frequency is 50 MHz, set the dividing ratio not to exceed this
frequency limit.
106
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
Table 3.13-21 shows the setting of the clock dividing ratio (CPU clock).
Table 3.13-21 Setting of the Clock Dividing Ratio (CPU Clock)
Clock dividing ratio
Clock frequency: Source oscillation 12.5 MHz
and PLL multiplication by four
B3
B2
B1
B0
0
0
0
0

50.0 MHz (Initial value)
0
0
0
1
×2 (divided by two)
25.0 MHz
0
0
1
0
×3 (divided by three)
16.7 MHz
0
0
1
1
×4 (divided by four)
12.5 MHz
0
1
0
0
×5 (divided by five)
10.0 MHz
0
1
0
1
×6 (divided by six)
8.3 MHz
0
1
1
0
×7 (divided by seven)
7.1 MHz
0
1
1
1
×8 (divided by eight)
6.25 MHz






1
1
1
1
×16 (divided by sixteen)
3.125 MHz
 : Time period of the system base clock.
• These bits are initialized to "0000B" by reset (INIT).
• Read and write are possible.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
107
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[bit11 to bit8] P3, P2, P1, P0 (clkP divide select 3-0)
These bits are the bits for setting the clock dividing ratio of the peripheral clock (CLKP). It sets the
clock dividing ratio of the peripheral circuits and the peripheral bus clock (CLKP).
By the value written in these bits, select the dividing ratio (clock frequency) of the peripheral circuits
and the peripheral bus clock to the base clock, from the 16 kinds shown in Table 3.13-22.
Table 3.13-22 shows the setting of the clock dividing ratio (CPU clock).
Table 3.13-22 Setting of the Clock Dividing Ratio (CPU Clock)
Clock dividing ratio
Clock frequency: Source oscillation 12.5 MHz
and PLL multiplication by four
P3
P2
P1
P0
0
0
0
0

50.0 MHz
0
0
0
1
×2 (divided by two)
25.0 MHz
0
0
1
0
×3 (divided by three)
16.7 MHz
0
0
1
1
×4 (divided by four)
12.5 MHz (Initial value)
0
1
0
0
×5 (divided by five)
10.0 MHz
0
1
0
1
×6 (divided by six)
8.3 MHz
0
1
1
0
×7 (divided by seven)
7.1 MHz
0
1
1
1
×8 (divided by eight)
6.25 MHz






1
1
1
1
×16 (divided by sixteen)
3.125 MHz
 : Time period of the system base clock.
• These bits are initialized to "0011B" by reset (INIT).
• Read and write are possible.
Note:
As the upper limit of operable frequency is 25 MHz, set the dividing ratio not to exceed this
frequency.
108
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Base Clock Dividing Setting Register 1 (DIVR1)
Figure 3.13-9 shows the bit configuration of the base clock dividing setting register 1 (DIVR1)
Figure 3.13-9 Bit Configuration of the Base Clock Dividing Setting Register 1 (DIVR1)
Address: 00000487H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
T3
T2
T1
T0




R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value
00000000B (INIT)
XXXXXXXX
B (RST)
R/W
R/W: Readable/writable
The base clock dividing setting register 1 (DIVR1) is the register that controls the dividing ratio of each
internal clock to the base clock. This register sets the dividing ratio of the clock (CLKT) for external
expanded bus interface. The upper limit of the operable frequency is defined for each clock. Be cautious,
that if setting is done as it exceeds the upper limit frequency, by the combination of the source clock
selection, PLL frequency multiplication coefficient setting, and dividing ratio setting, the operation is not
assured.
Be cautious not to reverse the order with setting of source clock selection change.
When there is a change of the setting for this register, the changed dividing ratio becomes valid from the
next clock rate after setting.
[bit7 to bit4] T3, T2, T1, T0 (clkT divide select 3-0)
These bits are the bits for setting the clock dividing ratio of the external bus clock (CLKT). These bits
set the clock dividing ratio of the clock (CLKT) for the external extended bus interface. By the value
written in these bits, select the dividing ratio (clock frequency) of the clock for the external extended
bus interface to the base clock, from the 16 kinds shown in the Table 3.13-23.
Table 3.13-23 shows the setting of the clock dividing ratio (external bus clock).
Table 3.13-23 Setting of the Clock Dividing Ratio (External Bus Clock)
Clock dividing ratio
Clock frequency: Source oscillation 12.5 MHz
and PLL multiplication by four
T3
T2
T1
T0
0
0
0
0

50.0 MHz (initial value)
0
0
0
1
×2 (divided by two)
25.0 MHz
0
0
1
0
×3 (divided by three)
16.7 MHz
0
0
1
1
×4 (divided by four)
12.5 MHz
0
1
0
0
×5 (divided by five)
10.0 MHz
0
1
0
1
×6 (divided by six)
8.3 MHz
0
1
1
0
×7 (divided by seven)
7.1 MHz
0
1
1
1
×8 (divided by eight)
6.25 MHz






1
1
1
1
×16 (divided by sixteen)
3.125 MHz
: Time period of the system base clock.
• Read and write are possible.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
109
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[bit3 to bit0]  (Reserved bits)
These are reserved bits.
Note:
As the upper limit of the operable frequency is 50 MHz, set the dividing ratio not to over this
frequency.
110
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
3.13.7
Peripheral Circuits Provided for Clock Control Section
In this section, the function of the peripheral circuits that the clock control section has
is explained.
■ Time-Base Counter
In the clock control section, there is the time-base counter of 26-bit length, and it works by the system base
clock.
The time-base counter is used for measuring of the oscillation stabilization waiting time, and it is also used
for the purposes shown below. (For the details of the oscillation stabilization waiting time, refer to "3.12.4
Oscillation Stabilization Waiting Time".)
• Watchdog timer
This is the watchdog timer for detection of the system hang-up and measures using the bit output of the
time-base counter.
• Time-base timer
Using the time-base counter output, it generates interval interrupt.
These functions are explained below.
● Watchdog timer
The watchdog timer is the timer for hang-up detection using the output of the time-base counter. When the
generation postponement operation of the watchdog reset is not done in the specified the interval, caused by
hang-up of the program, the setting initialization reset (INIT) request is generated as the watchdog reset.
[Activation and setting of the time period for the watchdog timer]
The watchdog timer is activated by the first writing operation into the reset factor register/watchdog
timer control register (RSRR) after reset (RST).
In this time, the interval time of the watchdog timer is set by the bit9 and bit8 (WT1, WT0 bits). For
setting of the interval time, only the time that is set by this first writing is valid, and all the writings
after it is neglected.
[Generation postponement of the watchdog reset]
Once the watchdog timer is activated, it is necessary to write the data "A5H", "5AH" orderly into the
watchdog reset generation postponement register (WPR) by the program periodically.
The flag for the watchdog reset generation is initialized by this operation.
[Generation of the watchdog reset]
The flag for the watchdog reset generation is set by the falling edge of the time-base counter output of
the specified interval. If the flag is set at the time of the second falling edge detection, the setting
initialization reset (INIT) request is generated as the watchdog reset.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
111
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
[Stop of the watchdog timer]
Once the watchdog timer is activated, it cannot be stopped until the operation initialization reset (RST)
is generated.
In the following states that generate the operation initialization reset (RST), the watchdog timer stops
and it does not work until it is activated by the program again.
• Operation initialization reset (RST) state
• Setting initialization reset (INIT) state
• Oscillation stabilization waiting reset (RST) state
[Temporary stop of the watchdog timer (postponement of automatic generation)]
When the program operation of the CPU is in stop, the watchdog timer initializes the watchdog reset
generation flag once and postpones the generation of the watchdog reset. Specifically, the program
operation stops are the following operations.
• Sleep state
• Stop state
• Oscillation stabilization waiting RUN state
• In process of break when emulator debugger or monitor debugger is used
• Period between INTE instruction execution and RETI instruction execution
• Step trace trap (break for each instruction by the T flag of PS register=1)
• In process of data access to the instruction cache control register (ISIZE, ICHCR) or to the cache
memory in RAM mode
In addition, when the time-base counter is cleared, the flag for the watchdog reset generation is also
initialized at the same time, and the watchdog reset generation is postponed.
And if the above states occur by the system hang-up, there is a possibility that the watchdog reset does
not generate. In that case, do reset (INIT) from the external INIT pin.
112
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Time-Base Timer
The time-base timer is the timer for interval interrupt generation, using the time-base counter output. It is
suitable for the time measuring of relatively long time till "base clock × 227" cycles as maximum, such as
the PLL lock waiting time or the oscillation stabilization waiting time of the sub clock.
When it detects the falling edge of output for the time-base counter corresponding to the specified interval,
it generates the time-base timer interrupt request.
[Activation of the time-base timer and setting of the interval]
The time-base timer sets the interval time by the bit13 to bit11 (TBC2, TBC1, TBC0 bits) of the timebase counter control register (TBCR). As the falling edge of the output for the time-base counter
corresponding to the specified interval is always being detected, after setting of the interval time, clear
the bit15 (TBIF bit) in the first place, set "1" in the bit14 (TBIE bit), and then enable the interrupt
request output.
When changing the interval time, set "0" in the bit14 (TBIE bit) in advance to disable the interrupt
request output.
As the time-base counter is doing count operation constantly without being affected by these settings,
clear the time-base counter before enabling the interrupt to get accurate interval interrupt time. If it is
not cleared, there is a case that the interrupt request occurs just after enabling the interrupt.
[Clear the time-base counter by the program]
When the data "A5H", "5AH" are written orderly in the time-base counter clear register (CTBR), all the
bits of the time-base counter are cleared to "0" right after writing "5AH". Although there is not any
restriction for the time between "A5H" writing and "5AH" writing when data other than "5AH" is written
after "A5H" writing, clear operation is not done even if "5AH" is written unless "A5H" is written again.
By clearing this time-base counter, the flag for the watchdog reset generation is also initialized at the
same time, and the generation of the watchdog reset is postponed once.
[Clear the time-base counter by the device state]
When the device state changes as shown below, all the bits of the time-base counter are cleared to "0"
simultaneously.
• Stop state
• Setting initialization reset (INIT) state
Especially, in case of the stop state, as the time-base counter is used for measuring the oscillation
stabilization waiting time, there is a case that the interval interrupts of the time-base timer occurs
unexpectedly. Therefore before setting the stop mode, disable the time-base timer interrupt and do not
use the time-base timer.
For other states, as operation initialization reset (RST) occurs, the time-base timer interrupt is
automatically disabled.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
113
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
3.13.8
MB91345 Series
Smooth Activation and Stop of the Clock
The method for suppressing the internal voltage effect or voltage surge is explained.
■ Smooth Activation and Stop of the Clock
For suppressing the internal voltage effect or voltage surge, the internal voltage fluctuation is significantly
suppressed by connecting bypass capacitor of around 4.7 µF on the C pin. In addition, when changing all
clocks (CPU and internal bus clock (CLKB), the external bus clock (CLKT), the peripheral circuits and the
peripheral bus clock (CLKP)), switch from low frequency to the target frequency step by step and do not
switch it abruptly.
When returning to the operation of low frequency, also do it step by step and do activation and shutdown of
the clock as shown below.
When switching from the high frequency operation to the low frequency operation, do it as the same way.
● Activation
1) Enable PLL operation (Set "1" in the PLL1EN bit of the clock source control register (CLKR).)
2) Oscillation stabilization waiting time
3) Divide CLKB, CLKT and CLKP by 16. (Set DIVR0, DIVR1 registers.)
4) Set the PLL frequency multiplication coefficient and switch X0 to PLL side. (Set the clock source
control register (CLKR).)
5) Decrease the dividing ratio of CLKB, CLKT, CLKP step by step. Waiting loop is inserted between
dividing steps.
● Shut down
1) Divide CLKB, CLKT, CLKP step by step (The number of step depends on the setting of the frequency.)
to the maximum dividing coefficient, and insert waiting loop between dividing steps.
(Set the registers DIVR0, DIVR1.)
2) Switch from the PLL to the source oscillation of X0/X1. (Set the clock source control register (CLKR).)
3) Disable the PLL. (Set "0" in the PLL1EN bit of the to the clock source control register (CLKR).)
114
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
■ Program Example for Smooth Activation and Stop of the Clock
● Activation procedure
#macro wait_loop loop_number
#local _wait64_loop
ldi
#loop_number,r0
_wait64_loop:
add
#-1,r0
bne
_wait64_loop
#endm
smooth_up_start3:
ldi #_DIVR0,r1
// Dividing register for CLKB and CLKP
ldi #_DIVR1,r2
// Dividing register for CLKT
ldi #_CLKR,r3
// CLKR register
ldi #0xff,r4
ldi #0x11,r5
ldi #0x33,r6
ldi #0x77,r7
ldi #0x01,r8
ldi #0x34,r12
ldi #0x36,r13
nop
nop
nop
// PLL  X0 PLL operation is enabled
stb r12,@r3
//Divides CLKB, CLKT, CLKP by 16
stb
r4,@r1
// CLKB, CLKP dividing by 16
stb
r4,@r2
// CLKT dividing by 16
wait_loop 4
// Switches X0 to PLL side.
stb r13,@r3
wait_loop 4
//Decreases the dividing ratio of CLKB, CLKP step by step.
// CLKB, CLKP dividing by 16  dividing by 8
stb r7,@r1
wait_loop 8
// CLKB, CLKP dividing by 8  dividing by 4
stb r6,@r1
wait_loop 8
// CLKB, CLKP dividing by 4  dividing by 2
stb r5,@r1
wait_loop 16
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
115
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
stb r8,@r1
MB91345 Series
// CLKB dividing by 2  no dividing, CLKP dividing by 2 
// dividing by 2
wait_loop 16
//Decreases the dividing ratio of CLKT step by step.
stb r7,@r2
// CLKT dividing by 16  dividing by 8
wait_loop 8
stb r6,@r2
// CLKT dividing by 8  dividing by 4
wait_loop 8
stb r5,@r2
// CLKT dividing by 4 dividing by 2
wait_loop 16
stb r8,@r2
// CLKT no dividing
wait_loop 16
116
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
● Shut down procedure
#macro wait_loop loop_number
#local _wait64_loop
ldi
#loop_number,r0
_wait64_loop:
add
#-1,r0
bne
_wait64_loop
#endm
smooth_down_start3:
ldi
#_DIVR0,r1
// Dividing register for CLKB and CLKP
ldi #_DIVR1,r2
// Dividing register for CLKT
ldi #_CLKR,r3
// CLKR register
ldi #0x11,r5
ldi #0x3f,r6
ldi #0xff,r8
ldi #0x04,r9
ldi #0x33,r10
ldi #0xff,r12
ldi #0x00,r13
ldi #0x1f,r14
nop
nop
nop
//Increases the dividing ratio of CLKT step by step.
// CLKT no dividingdividing by 2
stb r14,@r2
wait_loop 16
// CLKT dividing by 2dividing by 4
stb r6,@r2
wait_loop 8
// CLKT dividing by 4dividing by 16
stb r8,@r2
wait_loop 4
//Increases the dividing ratio of CLKB, CLKP step by step.
// CLKB no dividingdividing by 2, CLKP dividing by 2
// dividing by 2
stb r5,@r1
wait_loop 16
stb r10,@r1
// CLKB, CLKP dividing by 2dividing by 4
wait_loop 8
stb r12,@r1
// CLKB, CLKP dividing by 4dividing by 16
wait_loop 4
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
117
CHAPTER 3 CPU and Control Section
3.13 Clock Generation Control
MB91345 Series
//Decreases the multiplication coefficient of the PLL step by step.
stb r9,@r3
// Switches from the PLL to the source oscillation of X0/X1
stb r13,@r3
// PLL off
nop
nop
nop
ret
118
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
MB91345 Series
3.14
Device Status Control
In this section, various kind of status and its control, and low power consumption mode
of the FR family are explained.
■ Device Status
The operation statuses of the FR family are shown below.
The details of these are explained in the "3.14.1 Device Status and Various Transitions".
• RUN status (Normal operation)
• Sleep status
• Stop status
• Oscillation stabilization waiting RUN status
• Oscillation stabilization waiting reset (RST) status
• Operation initialization reset (RST) status
• Setting initialization reset (INIT) status
■ Low Power Consumption Modes
There are two low power consumption modes shown below.
The details of these are explained in the "3.14.2 Low Power Consumption Modes".
• Sleep mode
• Stop mode
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
119
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
MB91345 Series
■ Device Status and Various Transitions
Transition of the device status in MB91345 series is shown below.
Figure 3.14-1 Transition of Device Status in MB91345 Series
1
2
3
4
5
6
7
8
9
10
11
INIT pin=0 (INIT)
INIT pin=1 (INIT cancellation)
End of oscillation stabilization waiting
Reset (RST) cancellation
Software reset (RST)
Sleep (instruction writing)
Stop (instruction writing)
Interrupt
External interrupt that does not require the clock
Watchdog reset (INIT)
Stop (instruction writing) without oscillation stop
Strongest
Power on
1
Weakest
Order of priority for the transition request
Setting initialization reset (INIT)
End of oscillation stabilization waiting
Operation initialization reset (RST)
Interrupt request
Stop
Sleep
Setting initialization
(INIT)
2
1
Stop
(without oscillation stop)
1
Stop
(with oscillation stop)
9
1
Oscillation stabilization
waiting RUN
11
Main oscillation
stabilization waiting reset
9
1
3
7
Program reset
(RST)
3
5
1
6
Sleep
RUN
1
4
10
1
8
120
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
MB91345 Series
3.14.1
Device Status and Various Transitions
In this section, operation status of the device and the transitions between various
operation statuses are explained.
■ RUN Status (Normal Operation)
This status is the program execution status. All internal clocks are supplied and all circuits are in the
operable status.
But only for the 16-bit peripheral (peripheral) bus, only the bus clock is halting during it is not accessed.
In this status, the request of various transitions is accepted, but in case the synchronous reset mode is
selected, the status transition operation for some requests is different from that of the normal reset mode.
For details, refer to "■ Synchronous reset operation" in "3.12.5 Reset Operation Mode".
■ Sleep Status
This status is the state that the program is halting. Transition to this status is made by the program
operation.
This is the status that only the program execution of the CPU stops, and the peripheral circuits are operable.
Various embedded memory and the internal bus are under the stop status unless the DMA controller
requests.
• By the occurrence of valid interrupt request, this status is cancelled and moves to the RUN state (normal
operation).
• By the occurrence of setting initialization reset (INIT) request, it moves to the status of the setting
initialization reset (INIT).
• By the occurrence of operation initialization reset (RST) request, it moves to the status of operation
initialization reset (RST).
■ Stop Status
This status is the state that the device is halting. Transition to this status is made by the program operation.
All the internal circuits stop. All internal clocks stop, and the oscillation circuits and the PLL can be
stopped by the setting. Before moving to the stop status, be sure to set PLL1EN=0. In addition, by the
setting, it is possible to make the external pins in high impedance uniformly (except some pins).
• By the occurrence of specific (which doses not require the clock) valid interrupt request, it moves to the
status of oscillation stabilization waiting RUN.
• By the occurrence of the setting initialization reset (INIT) request, it moves to the state of the setting
initialization reset (INIT).
• By the occurrence of operation initialization reset (RST) request, it moves to the oscillation stabilization
waiting reset (RST).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
121
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
MB91345 Series
■ Oscillation Stabilization Waiting RUN Status
This status is the state that the device is halting. Transition to this status is made after returning from the
stop status.
All internal circuits except the clock generation control section (the time-base counter and the device status
control section) stop. All internal clocks stop, but the oscillation circuit and the PLL which operation was
enabled are operating.
• The high impedance control of the external pin in the stop status and other status is cancelled.
• By the time elapse of the specified oscillation stabilization waiting time, it moves to the RUN status
(normal operation).
• By the occurrence of the setting initialization reset (INIT) request, it moves to the setting initialization
reset (INIT) status.
• By the occurrence of the operation initialization reset (RST) request, it moves to the oscillation
stabilization waiting reset (RST) status.
■ Oscillation Stabilization Waiting Reset (RST) Status
This status is the state that the device is halting. Transition to this status is made after returning from the
stop status or the setting initialization reset (INIT) status. All internal circuits except the clock generation
control section (the time-base counter and the device status control section) stop. All internal clocks stop,
but the oscillation circuit and the PLL which operation was enabled are operating.
• The high impedance control of the external pin in the stop status and other status is cancelled.
• It outputs the operation initialization reset (RST) to the internal circuits.
• By the time elapse of the specified oscillation stabilization waiting time, it moves to the oscillation
stabilization waiting reset (RST) status.
• By the occurrence of the setting initialization reset (INIT) request, it moves to the setting initialization
reset (INIT) status.
■ Operation Initialization Reset (RST) Status
This status is the state that the program is initialized. Transition to this status is made by the acceptance of
the operation initialization reset (RST) request or by the ending of oscillation stabilization waiting reset
(RST) status.
Program execution of the CPU stops and the program counter is initialized. The peripheral circuits except
some of them are initialized. All internal clocks and the oscillation circuit, and the PLL which operation
was enabled are operating.
• Operation initialization reset (RST) is output to the internal circuits.
• By the cancellation of the operation initialization reset (RST) request, transition to the RUN status
(normal operation) is made, and the operation initialization reset sequence is executed. In case after
returning from the setting initialization reset (INIT) status, the setting initialization reset sequence is
executed.
• By the occurrence of the setting initialization reset (INIT) request, it moves to the setting initialization
reset (INIT) status.
122
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
MB91345 Series
■ Setting Initialization Reset (INIT) Status
This status is the state that all settings are initialized. Transition to this status is made by the setting
initialization reset (INIT) request.
Program execution of the CPU stops and the program counter is initialized. All peripheral circuits are
initialized. The oscillation circuits run, but the PLL operation stops. All internal clocks stop during "L"
level input is supplied on the external INIT pin, but it runs other than that case.
• It outputs the setting initialization reset (INIT) and the operation initialization reset (RST) to the internal
circuits.
• By the cancellation of the setting initialization reset (INIT) request, this status is cancelled, and
transition to the oscillation stabilization waiting reset (RST) status is made. After that, going through the
operation initialization reset (RST) status, the setting initialization reset sequence is executed.
■ Order of the Priority for Various Status Transition Requests
In every status, various status transition requests follow the order of the priority shown below. But some of
the requests occur in the special status, those are valid only in that status.
[Strongest] Setting initialization reset (INIT) request

Ending of the oscillation stabilization waiting time (Only occurs in the oscillation
stabilization waiting reset status and the oscillation stabilization waiting RUN status.)

Operation initialization reset (RST) request

Valid interrupt request (Only occurs in RUN, sleep, and stop status.)

Stop mode request (register writing) (Only occurs in RUN status.)
[Weakest] Sleep mode request (register writing) (Only occurs in RUN status.)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
123
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
3.14.2
MB91345 Series
Low Power Consumption Modes
In the status of the FR family devices, various low power consumption modes and the
way of their use are explained.
■ Low Power Consumption Modes
Low power consumption modes of the FR family are shown below.
• Sleep mode : By writing in the register, it moves the device to the sleep status.
• Stop mode : By writing in the register, it moves the device to the stop status.
For each mode, explanation is shown below.
■ Sleep Mode
When "1" is written in the bit6 (SLEEP bit) of the standby control register (STCR), it comes into the sleep
mode and it moves to the sleep status. After this, the sleep status is held until the factor of returning from
the sleep status occurs.
In case "1" is written both in the bit7 (STOP bit) and in this bit of the standby control register (STCR), the
bit7 (STOP bit) has a priority and it moves to the stop status.
For sleep status, refer to "■ Sleep status" in "3.14.1 Device Status and Various Transitions" too.
[Transition to the sleep mode]
In case moving into the sleep mode, use the synchronous standby mode (set by the bit8:SYNCS bit of
the TBCR), then the following sequence must be used.
(LDI #value_of_sleep,R0) ; value_of_sleep is write data to STCR
(LDI #_STCR,R12)
; _STCR is the address (481H) of STCR
STB
; Writes into standby control register (STCR)
R0,@R12
LDUB @R12,R0
; STCR read for synchronous standby
LDUB @R12,R0
; Dummy read STCR again
NOP
; NOP × 5 for timing adjustment
NOP
NOP
NOP
NOP
124
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
MB91345 Series
● Circuits that stop in the sleep status
• Program execution of the CPU
• Bit search module (It operates when DMA transfer occurs.)
• Various embedded memory (It operates when DMA transfer occurs.)
• Internal bus (It operates when DMA transfer occurs.)
● Circuits that do not stop in the sleep status
• Oscillator circuit
• Operation enabled PLL
• Clock generation control section
• Interrupt controller
• Peripheral circuits
• DMA controller
● Returning factors from sleep status
• Occurrence of valid interrupt request
When an interrupt request occurs in case the setting of the ICR register is not "11111B", the sleep mode
is cancelled, and moves to the RUN status (normal operation). In case the setting of the ICR register is
"11111B", the sleep mode is not cancelled even if an interrupt request occurs,
• Occurrence of the setting initialization reset (INIT) request
When the setting initialization reset (INIT) request occurs, it moves to the setting initialization reset
(INIT) status unconditionally.
• Occurrence of the operation initialization reset (RST) request
When the operation initialization reset (RST) request occurs, it moves to the operation initialization
reset (RST) status unconditionally.
For the order of priority for various factors, refer to "■ Order of priority of various status transition
requests" in "3.14.1 Device Status and Various Transitions".
● Synchronous standby operation
In case "1" is set in the bit8 (SYNCS bit) of the time-base counter control register (TBCR), the
synchronous standby operation is enabled. In this case, it does not move to the sleep status only by writing
into sleep bit.
It moves to the sleep status after reading the STCR register.
For using the sleep mode, the sequence in [Transition to the sleep mode] must be used.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
125
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
MB91345 Series
■ Stop Mode
When "1" is written in the bit7 (STOP bit) of the standby control register (STCR), it comes into the stop
mode and it moves to the stop status. After that, the stop status is held until the returning cause from the
stop status occurs.
When "1" is written to both bit6 (SLEEP bit) and this bit of the standby control register (STCR), the bit7
(STOP bit) has a priority and moves to the stop status.
For the stop status, also refer to "■ Stop status" in "3.14.1 Device Status and Various Transitions".
[Transition to the stop mode]
In case moving into the stop mode, use the synchronous standby mode (set by the bit8:SYNCS bit of
the TBCR), then the following sequence must be used.
(LDI #value_of_stop,R0)
; value_of_stop is write data to STCR
(LDI #_STCR,R12)
; _STCR is the address (481H) of STCR
STB
; Writes into standby control register (STCR)
R0,@R12
LDUB @R12,R0
; STCR read for synchronous standby
LDUB @R12,R0
; Dummy read STCR again
NOP
; NOP × 5 for timing adjustment
NOP
NOP
NOP
NOP
● Circuits that stop in the stop status
• Oscillator circuits that are set to stop
In case "1" is set in the bit0 (OSCD1 bit) of the standby control register (STCR), it makes the oscillator
circuit in the stop status, which is for the main clock, into the state of stop.
• PLL which is disabled the operation or connected to the oscillator circuit that is set to stop.
In case "1" is set in the bit0 (OSCD1 bit) of the standby control register (STCR) and even if "1" is set in
the bit10 (PLL1EN bit) of the clock source control register (CLKR), it makes the PLL in the stop status,
which is for the main clock, into the state of stop.
• All the internal circuits except "Circuits that do not stop in the stop status" shown below.
● Circuits that do not stop in the stop status
• Oscillator circuit that is not set to stop
When "0" is set in the bit0 (OSCD1 bit) of the standby control register (STCR), the oscillator circuit in
the stop status, which is for the main clock, does not stop.
• PLL which is enabled the operation and connected to the oscillator circuit that is not set to stop.
When "0" is set in the bit0 (OSCD1 bit) of the standby control register (STCR), and when "1" is set in
the bit10 (PLL1EN bit) of the clock source control register (CLKR), the PLL in the stop status, which is
for the main clock, does not stop.
● High impedance control of pin in the stop status
• When "1" is set in the bit5 (HIZ bit) of the standby control register (STCR), it makes the pin output in
the stop status to the high impedance status. For the pins which are subject to this control, refer to
"APPENDIX C Pin Status List".
• When "0" is set in the bit5 (HIZ bit) of the standby control register (STCR), the pin output in the stop
status holds the value before transition to the stop status. For details, refer to "APPENDIX C Pin Status
List".
126
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
MB91345 Series
● Returning factors from the stop status
• Occurrence of the specific (not requires the clock) valid interrupt request
The external interrupt input pins (INT0 to INT7 pins) are valid. In case the setting of the ICR register is
not "11111B" and when an interrupt request occurs, the stop mode is cancelled and it moves to the RUN
status (normal operation). In case the setting of the ICR register is "11111B" and when an interrupt
request occurs, the stop mode is not cancelled.
• Occurrence of the setting initialization reset (INIT) request
When the setting initialization reset (INIT) request occurs, it unconditionally moves to the setting
initialization reset (INIT) status.
For the order of the priority for various factors, refer to "■ Order of the priority of various status transition
requests" in "3.14.1 Device Status and Various Transitions".
● Clock source selection in the stop mode
In case the autodyne oscillation mode, before selecting the stop mode, set the source clock as the main
clock dividing by two in advance. For details, refer to "3.13 Clock Generation Control", especially "3.13.1
PLL Control".
In addition, for setting of the dividing ratio, the restrictions are same as for the normal operation.
● Synchronous standby operation
When "1" is set in the bit8 (SYNCS bit) of the time-base counter control register (TBCR), synchronous
standby operation is enabled. In this case, it does not move to the sleep status by only writing in the SLEEP
bit.
After that, it moves to the sleep status by reading the STCR register.
When using the sleep mode, the sequence in the [Transition to the sleep mode] must be used.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
127
CHAPTER 3 CPU and Control Section
3.14 Device Status Control
128
FUJITSU SEMICONDUCTOR LIMITED
MB91345 Series
CM71-10132-3E
CHAPTER 4
I/O Port
This chapter describes the overview, the register
configuration, and the function of I/O port.
4.1 Overview of I/O Port
4.2 Port Data Register (PDR0 to PDRE)
4.3 Data Direction Register (DDR0 to DDRE)
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
4.5 Pull-up Control Register (PCR0 to PCRE)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
129
CHAPTER 4 I/O Port
4.1 Overview of I/O Port
4.1
MB91345 Series
Overview of I/O Port
In MB91345 series, when the peripheral corresponding to each pin is set not to use
these pins as input/output, these pins can be used as I/O ports.
■ Basic Block Diagram of Port
The I/O port consists of the following registers.
• Port data register (PDR)
• Data direction register (DDR)
• Port function register (PFR)
• Extension port function register (EPFR)
• Pull-up control register (PCR)
The basic port configuration is given in the Figure 4.1-2.
130
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.1 Overview of I/O Port
MB91345 Series
Figure 4.1-1 Block diagram of I/O port
R-bus
CMOS
Schmitt
Stop Hi-Z
Peripheral input
0
Reading from PDR
1
33kΩ
*
PCR
Peripheral output
Output
Peripheral output
1
Pull-up
control
0
Output
driver
Pin
MUX
PDR
DDR
PFR
Port
direction
control
EPFR
*: The port where pull-up can be controlled is P07 to P00, P17 to P10, P55 to P50, P63 to P60,
PC2 to PC0, PD7 to PD0, and PE7 to PE0.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
131
CHAPTER 4 I/O Port
4.1 Overview of I/O Port
MB91345 Series
Figure 4.1-2 Block diagram of analog input I/O port.
R-bus
Analog input*1
*1
ADER
Stop Hi-Z
Peripheral input
CMOS
Schmitt
0
Reading from PDR
1
33kΩ
*2
PCR
1
Pull-up
control
Peripheral output
Output
Peripheral output
MUX
0
Output
driver
Pin
PDR
DDR
PFR
Port
direction
control
EPFR
*1: Dual usable port for analog input is PD7 to PD0 and PE7 to PE0.
*2: The port where pull-up can be controlled is P07 to P00, P17 to P10, P55 to P50, P63 to P60,
PC2 to PC0, PD7 to PD0, and PE7 to PE0.
132
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.1 Overview of I/O Port
MB91345 Series
■ General Specification of Port
• Each port has the port data register (PDR) and it stores the output data. PDR registers are not initialized
even after resetting.
• Each port has the port direction register (DDR) and it switches the port I/O direction. All ports are
turned to input after resetting. (DDR=00H)
- Port input mode (PFR=0 & EPFR=0 & DDR=0)
PDR read
: The level of the corresponding external pin is read.
PDR write
: A setting value is written to PDR.
- Port output mode (PFR=0 & EPFR=0 & DDR=1)
PDR read
: The PDR value is read.
PDR write
: A setting value is written to PDR and the value is output to the corresponding
external pin.
- Peripheral output mode (Settings other than PFR=0 & EPFR=0)
PDR read
: The peripheral output value is read when DDR=0.
The PDR value is read when DDR=1.
PDR write
: A setting value is written to PDR.
- Regardless of the port state, the setting value of the register is read when a read modify write (RMW)
command to PDR.
- The peripheral input is always connected to the pin except in special circumstances. Use port input
mode to input to peripheral under normal conditions.
• The pull-up control register can be set pull-up of 33 k.
(P07 to P00, P17 to P10, P55 to P50, P63 to P60, PC2 to PC0, PD7 to PD0, PE7 to PE0)
• All ports have the port function register (PFR) and additionally some have the extended port function
register (EPFR). They mainly control the output of the peripheral.
• Inputs are fixed to "0" in STOP mode. However, when the corresponding interruptions are valid (input
pin selection by ENIR bit setting and PFR, EPFR, DDR), external interrupting inputs are not fixed and
inputs to pins can be used as interruptions.
• A bidirectional signal of the peripheral (I2C function SOT and SCK of UART) is valid for PFR. For
switching the bidirectional signal, see the corresponding peripheral chapter.
• For the analog input multiplexed port, analog input becomes available if you set to the port input and then
set the corresponding bit in the ADER. The initial value of the ADER is set to the analog input. If you
want to use the function other than the analog input, cleat the corresponding bits in the ADER register.
Note:
There is no register switched between general-purpose port input and peripheral input.
The value input via an external pin is always passed to the general-purpose port and peripheral
circuit.
Even with the DDR output setting, the value output to the outside is always propagated to the
general-purpose port peripheral circuit.
For use as a peripheral input, DDR input and enable each peripheral’s input signal.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
133
CHAPTER 4 I/O Port
4.2 Port Data Register (PDR0 to PDRE)
4.2
MB91345 Series
Port Data Register (PDR0 to PDRE)
This section describes function and configuration of the port data register (PDR0 to
PDRE).
Each port has the port data register (PDR0 to PDRE) and it stores the output data. PDR registers are not
initialized even after resetting.
■ Configuration of the Port Data Register (PDR0 to PDRE)
The configuration of Port Data Register (PDR0 to PDRE) is shown in Figure 4.2-1.
Figure 4.2-1 Bit Configuration of Port Data Register (PDR0 to PDRE)
Address
bit7
bit6
000000H PDR07 PDR06
000001H PDR17 PDR16
000002H PDR27 PDR26
000003H PDR37 PDR36
000004H PDR47 PDR46
000005H PDR57 PDR56
000006H


00000CH


00000DH PDRD7 PDRD6
00000EH PDRE7 PDRE6
R/W
R/W
R/W: Readable/writable
PDR0
PDR1
PDR2
PDR3
PDR4
PDR5
PDR6
PDRC
PDRD
PDRE
bit5
PDR05
PDR15
PDR25
PDR35
PDR45
PDR55


PDRD5
PDRE5
R/W
bit4
PDR04
PDR14
PDR24
PDR34
PDR44
PDR54


PDRD4
PDRE4
R/W
bit3
PDR03
PDR13
PDR23
PDR33
PDR43
PDR53
PDR63

PDRD3
PDRE3
R/W
bit2
PDR02
PDR12
PDR22
PDR32
PDR42
PDR52
PDR62
PDRC2
PDRD2
PDRE2
R/W
bit1
PDR01
PDR11
PDR21
PDR31
PDR41
PDR51
PDR61
PDRC1
PDRD1
PDRE1
R/W
bit0
PDR00
PDR10
PDR20
PDR30
PDR40
PDR50
PDR60
PDRC0
PDRD0
PDRE0
R/W
Initial value
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
----XXXXB
-----XXXB
XXXXXXXXB
XXXXXXXXB
PDR0 to PDR6 and PDRC to PDRE are I/O data registers of the I/O port.
The corresponding DDR0 to DDR6 and DDRC to DDRE control I/O.
Regardless of the port state, the setting value of the register is read when a read modify write (RMW)
command to PDR.
134
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.3 Data Direction Register (DDR0 to DDRE)
MB91345 Series
4.3
Data Direction Register (DDR0 to DDRE)
This section describes function and configuration of the data direction register.
■ Configuration of the Data Direction Register (DDR0 to DDRE)
The configuration of Data Direction Register (DDR0 to DDRE) is shown in Figure 4.3-1.
Figure 4.3-1 Bit Configuration of Data Direction Register (DDR0 to DDRE)
bit7
DDR07
DDR17
DDR27
DDR37
DDR47
DDR57


DDRD7
DDRE7
R/W
R/W: Readable/writable
DDR0
DDR1
DDR2
DDR3
DDR4
DDR5
DDR6
DDRC
DDRD
DDRE
Address
000400H
000401H
000402H
000403H
000404H
000405H
000406H
00040CH
00040DH
00040EH
bit6
DDR06
DDR16
DDR26
DDR36
DDR46
DDR56


DDRD6
DDRE6
R/W
bit5
DDR05
DDR15
DDR25
DDR35
DDR45
DDR55


DDRD5
DDRE5
R/W
bit4
DDR04
DDR14
DDR24
DDR34
DDR44
DDR54


DDRD4
DDRE4
R/W
bit3
DDR03
DDR13
DDR23
DDR33
DDR43
DDR53
DDR63

DDRD3
DDRE3
R/W
bit2
DDR02
DDR12
DDR22
DDR32
DDR42
DDR52
DDR62
DDRC2
DDRD2
DDRE2
R/W
bit1
DDR01
DDR11
DDR21
DDR31
DDR41
DDR51
DDR61
DDRC1
DDRD1
DDRE1
R/W
bit0
DDR00
DDR10
DDR20
DDR30
DDR40
DDR50
DDR60
DDRC0
DDRD0
DDRE0
R/W
Initial value
00000000B
00000000B
00000000B
00000000B
00000000B
00000000B
----0000B
-----000B
00000000B
00000000B
Each port has the port direction register (DDR) and it switches the port I/O direction. All ports are turned to
input after resetting. (DDR=00H)
- Port input mode (PFR=0 & EPFR=0 & DDR=0)
PDR read: The level of the corresponding external pin is read.
PDR write: A setting value is written to PDR.
- Port output mode (PFR=0 & EPFR=0 & DDR=1)
PDR read: The PDR value is read.
PDR write: A setting value is written to PDR and the value is output to the corresponding external
pin.
- Peripheral output mode (PFR=1)
PDR read: The corresponding peripheral output value is read.
PDR write: A setting value is written to PDR.
- The peripheral input is always connected to the pin except in special circumstances. Use port input
mode to input to peripheral under normal conditions.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
135
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
4.4
MB91345 Series
Port Function Register (PFR0 to PFRE)/
Extended Port Function Register (EPFR0 to EPFRE)
This section describes function of the port function register (PFR0 to PFRE) and
Extended port function register (EPFR0 to EPFRE).
■ Port 0
Port 0 is controlled by PFR0 and EPFR0.
Port 0 is used as UART3/UART4/UART5. For selectable input signals, select the input pin on the
corresponding resources.
Figure 4.4-1 Bit Configuration of Port 0
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000420H PFR07 PFR06 PFR05 PFR04 PFR03 PFR02 PFR01 PFR00 00000000B
000520H EPFR07 EPFR06 EPFR05 EPFR04 EPFR03 EPFR02 EPFR01 EPFR00 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
PFR0
EPFR0
136
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-1 Bit Function Registers of Port 0
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT5 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK4 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT4 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK3 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT3 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
137
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port 1
Port 1 is controlled by PFR1 and EPFR1.
Port 1 is used as UART5/UART6/UART7, load timer 1 or A/D converter. For selectable input signals,
select the input pin on the corresponding resources.
Figure 4.4-2 Bit Configuration of Port 1
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000421H PFR17 PFR16 PFR15 PFR14 PFR13 PFR12 PFR11 PFR10 00000000B
000521H EPFR17 EPFR16 EPFR15 EPFR14 EPFR13 EPFR12 EPFR11 EPFR10 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
PFR1
EPFR1
138
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-2 Bit Function Registers of Port 1
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK7 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT7 output
1
1
Reload timer 2 TOT2 output
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK6 output
1
1
Reload timer 1 TOT1 output
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT6 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Reload timer 0 TOT0 output
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK5 output
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
139
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port 2
Port 2 is controlled by PFR2 and EPFR2.
Port 2 is used as UART0/UART1/UART2. For selectable input signals, select the input pin on the
corresponding resources.
Figure 4.4-3 Bit Configuration of Port 2
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000422H PFR27 PFR26 PFR25 PFR24 PFR23 PFR22 PFR21 PFR20 00000000B
000522H EPFR27 EPFR26 EPFR25 EPFR24 EPFR23 EPFR22 EPFR21 EPFR20 11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
PFR2
EPFR2
140
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-3 Bit Function Registers of Port 2
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT2 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK1 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT1 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK0 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT0 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
141
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port 3
Port 3 is controlled by PFR3 and EPFR3.
Port 3 is used as the free-run timer, UART2, the up/down counter 0/2, reload timer 0/1/2, or input capture
4/5. For selectable input signals, select the input pin on the corresponding resources.
Figure 4.4-4 Bit Configuration of Port 3
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000423H PFR37 PFR36 PFR35 PFR34 PFR33 PFR32 PFR31 PFR30 00000000B
000523H EPFR37 EPFR36 EPFR35 EPFR34 EPFR33 EPFR32 EPFR31 EPFR30 11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
PFR3
EPFR3
142
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-4 Bit Function Registers of Port 3
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Reload timer TOT2-2 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Reload timer TOT1-2 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Reload timer TOT0-2 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK2 output
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
143
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port 4
Port 4 is controlled by PFR4 and EPFR4.
Port 4 is used as the external interruption, PPG9/PPGB/PPGD/PPGF, or input capture 0/1/2/3. For
selectable input signals, select the input pin on the corresponding resources.
Figure 4.4-5 Bit Configuration of Port 4
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000424H PFR47 PFR46 PFR45 PFR44 PFR43 PFR42 PFR41 PFR40 00000000B
000524H EPFR47 EPFR46 EPFR45 EPFR44 EPFR43 EPFR42 EPFR41 EPFR40 11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
PFR4
EPFR4
144
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-5 Bit Function Registers of Port 4
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK10 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT10 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPGF output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPGD output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPGB output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG9 output
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
145
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port 5
Port 5 is controlled by PFR5 and EPFR5.
Port 5 is used as PPG1/PPG3/PPG5/PPG7 or output compare. For selectable input signals, select the input
pin on the corresponding resources.
Figure 4.4-6 Bit Configuration of Port 5
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000425H PFR57 PFR56 PFR55 PFR54 PFR53 PFR52 PFR51 PFR50 00000000B
000525H EPFR57 EPFR56 EPFR55 EPFR54 EPFR53 EPFR52 EPFR51 EPFR50 11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
PFR5
EPFR5
146
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-6 Bit Function Registers of Port 5
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
General-purpose port
0
1
Setting inhibited
1
0
OCU OUT7 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
OCU OUT6 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
OCU OUT5 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
OCU OUT4 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG7 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG5 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG3 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG1 output
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
147
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port 6
Port 6 is controlled by PFR6 and EPFR6.
Port 6 is used as ADC0/ADC1 or output compare. For selectable input signals, select the input pin on the
corresponding resources.
Figure 4.4-7 Bit Configuration of Port 6
PFR6
EPFR6
Address
000426H
000526H
bit7


R/W
bit6


R/W
bit5


R/W
bit4


R/W
bit3
bit2
bit1
bit0
Initial value
PFR63 PFR62 PFR61 PFR60 ----0000B
EPFR63 EPFR62 EPFR61 EPFR60 ----1000B
R/W
R/W
R/W
R/W
R/W: Readable/writable
148
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-7 Bit Function Registers of Port 6
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
General-purpose port
0
1
Setting inhibited
1
0
OCU OUT3 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
OCU OUT2 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
OCU OUT1 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
OCU OUT0 output
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
149
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port C
Port C is controlled by PFRC and EPFRC.
Figure 4.4-8 Bit Configuration of Port C
Address
PFRC 00042CH
EPFRC 00052CH
bit7


R/W
R/W: Readable/writable
150
bit6


R/W
bit5


R/W
bit4


R/W
bit3


R/W
bit2
bit1
bit0
Initial value
PFRC2 PFRC1 PFRC0 -----000B
EPFRC2 EPFRC1 EPFRC0 -----000B
R/W
R/W
R/W
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-8 Bit Function Registers of Port C
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
Invalid
0
1
Invalid
1
0
Invalid
1
1
Invalid
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK9 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT9 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
151
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port D
Port D is controlled by PFRD and EPFRD. This port serves also as the analog input for the up/down
counter 1/2/3, PPG0/PPG2/PPG3, and A/D converter. The analog input is controlled by the ADERH
register. The analog input becomes available if you set to the port input and then set the corresponding bit
in the ADERH. The initial value of the ADERH is set to the analog input. If you want to use the function
other than the analog input, cleat the corresponding bits in the ADERH register.
Figure 4.4-9 Bit Configuration of Port D
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00042DH PFRD7 PFRD6 PFRD5 PFRD4 PFRD3 PFRD2 PFRD1 PFRD0 00000000B
00052DH EPFRD7 EPFRD6 EPFRD5 EPFRD4 EPFRD3 EPFRD2 EPFRD1 EPFRD0 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
PFRD
EPFRD
152
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-9 Bit Function Registers of Port D
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG PPG4 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG PPG2 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG PPG0 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
153
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port
Function Register (EPFR0 to EPFRE)
MB91345 Series
■ Port E
Port E is controlled by PFRE and EPFRE.
Port E is used as PPG6/PPG8/PPGA/PPGC/PPGE, UART8, and A/D converter analog input. The analog
input is controlled by the ADERH register. The analog input becomes available if you set to the port input
and then set the corresponding bit in the ADERH. The initial value of the ADERH is set to the analog
input. If you want to use the function other than the analog input, cleat the corresponding bits in the
ADERH register.
Figure 4.4-10 Bit Configuration of Port E
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00042EH PFRE7 PFRE6 PFRE5 PFRE4 PFRE3 PFRE2 PFRE1 PFRE0 00000000B
00052EH EPFRE7 EPFRE6 EPFRE5 EPFRE4 EPFRE3 EPFRE2 EPFRE1 EPFRE0 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
PFRE
EPFRE
154
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 4 I/O Port
4.4 Port Function Register (PFR0 to PFRE)/ Extended Port Function
Register (EPFR0 to EPFRE)
MB91345 Series
Table 4.4-10 Bit Function Registers of Port E
Bit
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
CM71-10132-3E
PFR
EPFR
Function
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SCK8 I/O
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
UART SOT8 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
Setting inhibited
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG PPGE output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG PPGC output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG PPGA output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG PPG8 output
1
1
Setting inhibited
0
0
General-purpose port
0
1
Setting inhibited
1
0
PPG PPG6 output
1
1
Setting inhibited
FUJITSU SEMICONDUCTOR LIMITED
155
CHAPTER 4 I/O Port
4.5 Pull-up Control Register (PCR0 to PCRE)
4.5
MB91345 Series
Pull-up Control Register (PCR0 to PCRE)
Pins have the function to add the pull-up of 33 k. This function can be controlled by
software for each bit.
■ Pull-up Control
Pull-up function uses the port pull-up control register (PCR) to control the pull-up.
The pull-up of the pin is turned invalid automatically when:
• The port is output.
• STOP mode Hi-Z is selected.
■ Port Pull-up Control Register
Table 4.5-1 shows the setting of the port pull-up control register. A setting value for each bit is valid only
when the corresponding PCR is set.
Pull-up control can be done with ports P07 to P00, P17 to P10, P55 to P50, P63 to P60, PC2 to PC0, PD7 to
PD0, and PE7 to PE0. There are bits corresponding to these ports.
Table 4.5-1 Setting of the port pull-up control register
Port pull-up control register
Bit
PCRxy
0 (initial value)
1
No pull-up
Pull-up
Figure 4.5-1 Port Pull-up Control Register
Address
000500H
000501H
000505H
000506H
00050CH
00050DH
00050EH
bit7
PCR07
PCR0
PCR1
PCR17
PCR5

PCR6

PCRC

PCRD
PCRD7
PCRE
PCRE7
R/W
R/W: Readable/writable
156
bit6
PCR06
PCR16



PCRD6
PCRE6
R/W
bit5
PCR05
PCR15
PCR55


PCRD5
PCRE5
R/W
bit4
PCR04
PCR14
PCR54


PCRD4
PCRE4
R/W
bit3
PCR03
PCR13
PCR53
PCR63

PCRD3
PCRE3
R/W
bit2
PCR02
PCR12
PCR52
PCR62
PCRC2
PCRD2
PCRE2
R/W
FUJITSU SEMICONDUCTOR LIMITED
bit1
PCR01
PCR11
PCR51
PCR61
PCRC1
PCRD1
PCRE1
R/W
bit0
PCR00
PCR10
PCR50
PCR60
PCRC0
PCRD0
PCRE0
R/W
Initial value
00000000B
00000000B
--000000B
----0000B
-----000B
00000000B
00000000B
Initial value
CM71-10132-3E
CHAPTER 5
DMA Controller
(DMAC)
This chapter describes an overview, the configuration
and functions of registers, and operation of the DMA
controller (DMAC).
5.1 Overview of DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
5.3 Operation of DMA Controller
5.4 Setting Transfer Request
5.5 Transfer Sequence
5.6 General Aspects of DMA Transfer
5.7 Operation Flowchart
5.8 Data Path
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
157
CHAPTER 5 DMA Controller (DMAC)
5.1 Overview of DMA Controller (DMAC)
5.1
MB91345 Series
Overview of DMA Controller (DMAC)
DMAC module implements a DMA (Direct Memory Access) transfer on FR family
devices.
DMA transfers by control of this module allows various data transfer operations to be
executed at high speed with bypassing the CPU and increases the system performance.
■ Hardware Configuration
The DMAC module mainly consists of the following components:
• Independent DMA channel  5 channels
• 5-channel independent access control circuit
• 20-bit address registers (Reload specifying permitted: ch.0 to ch.3)
• 24-bit address registers (Reload specifying permitted: ch.4)
• 16-bit transfer count registers (Reload specifying permitted: one per channel)
• 4-bit block count registers (one per channel)
• Two-cycle transfer
■ Main Functions
Data transfer using DMAC module mainly consists of the following functions.
Independent data transfer can be performed over multiple channels (5 channels)
• Priority (ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
• The priority can be rotated between ch.0 and ch.1.
• DMAC trigger
- Internal peripheral request
- Software request (register write)
• Transfer mode
- Burst transfer/step transfer/block transfer
- Addressing mode with a 20-bit (24-bit) address setting (increment/decrement/fixed)
(Increment/decrement width of address is fixed at ±1, 2, or 4)
- Data types: byte/halfword/word length
- Selectable single shot/reload
158
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.1 Overview of DMA Controller (DMAC)
MB91345 Series
■ DMA Controller (DMAC) Register List
Figure 5.1-1 DMA Controller (DMAC) Register List
bit31
ch.0 control/status register A
DMACA0 00000200H
ch.0 control/status register B
DMACB0 00000204H
ch.1 control/status register A
DMACA1 00000208H
ch.1 control/status register B
DMACB1 0000020CH
ch.2 control/status register A
DMACA2 00000210H
ch.2 control/status register B
DMACB2 00000214H
ch.3 control/status register A
DMACA3 00000218H
ch.3 control/status register B
DMACB3 0000021CH
ch.4 control/status register A
DMACA4 00000220H
ch.4 control/status register B
DMACB4 00000224H
All-channel control register
DMACR
bit0
00000240H
ch.0 transfer source address setting register
DMASA0 00001000H
ch.0 transfer destination address setting register
DMADA0 00001004H
ch.1 transfer source address setting register
DMASA1 00001008H
ch.1transfer destination address setting register
DMADA1 0000100CH
ch.2 transfer source address setting register
DMASA2 00001010H
ch.2 transfer destination address setting register
DMADA2 00001014H
ch.3 transfer source address setting register
DMASA3 00001018H
ch.3 transfer destination address setting register
DMADA3 0000101CH
ch.4 transfer source address setting register
DMASA4 00001020H
ch.4 transfer destination address setting register
DMADA4 00001024H
bit31
bit20
bit31
bit24 bit23
bit19
bit0
bit0
: Unused bit
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
159
CHAPTER 5 DMA Controller (DMAC)
5.1 Overview of DMA Controller (DMAC)
MB91345 Series
■ Block Diagram of DMA Controller (DMAC)
Figure 5.1-2 Block Diagram of DMA Controller (DMAC)
Counter
DMA transfer request
to bus controller
DMA trigger
selection circuit
&
Control the
request receiving
Selector
Write back
Buffer
DTC 2-step register
Input peripheral start request/stop
DTCR
Counter
DSS2 to DSS0
Buffer
To interrupt controller
IRQ4 to IRQ0
Clear peripheral interrupt
MCLREQ
ERIR,EDIR
Selector
Control
read/write
Read
Write
Priority circuit
BLK register
TYPE.MOD,WS
X-bus
Bus control block
Selector
Selector
Address
DMASA 2-step register
SADM, SASZ7 to SASZ0
SADR
DMADA 2-step register
DADM, DASZ7 to DASZ0
DADR
Write back
Counter buffer
Access
Counter buffer
DMA control
Address counter
To bus
controller
Bus control block
Status transition
circuit
Write back
160
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
5.2
DMA Controller (DMAC) Register
This section describes the configuration and functions of registers used for the DMA
controller (DMAC).
■ Note on Setting Register
When DMA controller is set, some bits need to be set while DMA is stopped. If they are set while DMA is
operating (transferring), normal operation is not guaranteed.
The "*" marked bits affect operations if they are set during a DMA transfer. Rewrite these bits when the
DMA transfer is stopped (disabled or halted).
If they are set while the DMA transfer is disabled (DMACR:DMAE=0 or DMACA:DENB=0), they
become effective after the DMA transfer is enabled.
If they are set while the DMA transfer is halted (DMACR:DMAH3 to DMAH0  0000B or
DMACA:PAUS=0), they become effective after the halt has been canceled.
■ DMAC - ch.0, ch.1, ch.2, ch.3, ch.4 Control/Status Register A
● [DMACA0 to DMACA4]
These registers control operations of each DMAC channel, and are provided independently for each
channel.
The function of each bit is as follows.
Figure 5.2-1 DMAC - ch.0, ch.1, ch.2, ch.3, ch.4 Control/Status Register A
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
DENB PAUS STRG

IS4 to IS0
BLK3 to BLK0
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
bit15 bit14 bit13 bit12 bit11 bit10
bit9
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
DTC15 to DTC0
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
(Initial value: 00000000_00000000_00000000_00000000B)
R/W: Readable/writable
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
161
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit31] DENB (Dma ENaBle): DMA operation enable bit
This bit enables or disables a DMA transfer for each transfer channel.
The activated channel starts a DMA transfer when a transfer request is generated and received.
All transfer requests for disabled channels are ignored.
When the transfer on an activated channel reaches the specified count, this bit is set to "0" and transfer
stops.
The transfer can be forced to stop by writing "0" to this bit. Be sure to stop a transfer forcibly ("0"
write) only after pausing DMA by using the PAUS bit [DMACA:bit30]. If the transfer is forced to stop
without pausing DMA, DMA can stop but the transferred data is not guaranteed. Check whether DMA
is stopped using DSS2 to DSS0 bits (DMACB:bit18 to bit16).
Table 5.2-1 DMA Operation Enable Bit
DENB
Function
0
Disable DMA operation on the corresponding channel (initial value)
1
Enable DMA operation on the corresponding channel
• If a stop request is accepted at reset: Initialized to "0".
• This bit is readable and writable.
• If the bit15:DMAE bit of DMAC all-channel control register (DMACR) disables the operation on all
channels, "1" written to this bit has no effect and the stopped state is remained. Also, if this bit
enables the operation that has been disabled by the bit15, this bit is set to "0" and the transfer is
stopped (forced stop).
[bit30] PAUS (PAUSe): Pause instruction
This bit controls pausing a DMA transfer on the corresponding channel. Once this bit has been set, the
DMA transfer is not performed until this bit cleared. (DSS bits are set to "1XXB" during DMA stopped)
If started after this bit set, the DMA transfer remains pausing.
New transfer requests are accepted while this bit is set but the transfer does not start until the bit is
cleared. (See "■ Transfer Request Acceptance and Transfer")
Table 5.2-2 Pause Instruction
PAUS
Function
0
Enable DMA operation on the corresponding channel (initial value)
1
Pause DMA operation on the corresponding channel
• When reset: Initialized to "0".
• This bit is readable and writable.
[bit29] STRG (Software TRiGger): Transfer request
This bit generates a DMA transfer request on the corresponding channel. If "1" is written to this bit, a
transfer request is generated when writing to the register is completed and the transfer on the
corresponding channel starts.
However, if the corresponding channel has not been activated, operations on this bit have no effect.
162
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
Note:
When the activation by writing to the DMAE bit occurs concurrently with the transfer request
generated by this bit, the transfer request is enabled and the transfer starts. When the transfer
request occurs concurrently with writing "1" to the PAUS bit, the transfer request is enabled
but the DMA transfer does not start until the PAUS bit is reset to "0".
Table 5.2-3 Transfer Request
STRG
Function
0
Disabled
1
DMA activation request
• When reset: Initialized to "0".
• The read value is always "0".
• Only a write value "1" is valid. "0" does not affect the operation.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
163
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit28 to bit24] IS4 to IS0 (Input Select)*: Transfer trigger selection
These bits select the transfer request trigger as follows. Note that the software transfer request by STRG
bit function is always valid regardless of the settings for these bits.
Table 5.2-4 Transfer Trigger Selection
IS
Function
00000B
Software transfer request only
00001B

01111B
Disabled Setting
10000B
UART0 (reception completed)
10001B
UART1 (reception completed)
10010B
UART2 (reception completed)
10011B
UART0 (transmission completed)
10100B
UART1 (transmission completed)
10101B
UART2 (transmission completed)
10110B
Disabled Setting
10111B
Disabled Setting
11000B
Reload timer ch.0
11001B
Reload timer ch.1
11010B
Reload timer ch.2
11011B
Disabled Setting
11100B
Disabled Setting
11101B
Disabled Setting
11110B
A/D Converter0
11111B
A/D Converter1
Transfer stop request
None
Yes
None
• When reset: Initialized to "00000B".
• These bits are readable and writable.
Note:
When an interrupt from a peripheral function is set as a DMA activation (IS=1XXXXB), disable the
interrupt for the selected function by using the ICR register.
Also, if the software transfer request is used to activate a DMA transfer when a DMA activation by an
interrupt from a peripheral function is enabled, the factors for the appropriate peripheral are cleared
after the transfer is completed. Since this may clear a proper transfer request, do not use the
software transfer request to start DMA when a DMA activation by an interrupt from a peripheral is
enabled.
164
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit23 to bit20] (Reserved): Unused bits
• The read value is fixed to "0000B". Writing is disabled.
[bit19 to bit16] BLK3 to BLK0 (BLocK size): Block size setting
These bits specify the size of block transfer on the corresponding channel. The value set in these bits
specifies the number of words for each transfer unit (or, more exactly, the number of times that the data
range is set). Set these bits to "01H" (size 1) if the block transfer will not be performed.
Table 5.2-5 Block Size Setting
BLK
XXXXB
Function
Block size of the corresponding channel
• When reset: Initialized to "0000B".
• These bits are readable and writable.
• If "0" is specified for all bits, the block size is set to 16 words.
• The read value is always the block size (reload value).
[bit15 to bit0] DTC (Dma Terminal Count register)*: Transfer count register
This register stores the transfer count. Each register has 16-bit length.
Each register has its own reload register. If the register is used for a channel that is enabled to reload the
transfer count register, the initial value is automatically written back to this register when the transfer is
completed.
Table 5.2-6 Transfer Count Register
DTC
XXXXH
Function
Transfer count for the corresponding channel
When a DMA transfer is started, the data in this register is stored into the counter buffer of the
dedicated DMA transfer count counter and the counter is decremented by 1 (subtraction) on a transfer
basis. When the DMA transfer is completed, the contents of the counter buffer are written back to this
register and then DMA ends. Thus, the transfer count value during DMA operation cannot be read.
• When reset: Initialized to "00000000_00000000B".
• These bits are readable and writable. Halfword length or word length must be used for DTC access.
• The read value is the count value. The reload value cannot be read.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
165
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
■ DMAC - ch.0, ch.1, ch.2, ch.3, ch.4 Control/Status Register B
● [DMACB0 to DMACB4]
These registers control the operation of each DMAC channel, and are provided independently for each
channel.
The function of each bit is as follows.
Figure 5.2-2 DMAC - ch.0, ch.1, ch.2, ch.3, ch.4
Control/Status Register B
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
TYPE1,TYPE0 MOD1,MOD0
WS1,WS0 SADM DADM DTCR SADR DADR ERIE EDIE
DSS2 to DSS0
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
bit15 bit14 bit13 bit12 bit11 bit10
bit9
bit8
bit7
bit6
bit5
SASZ7 to SASZ0
bit4
bit3
bit2
bit1
bit0
DASZ7 to DASZ0
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
(Initial value: 00000000_00000000_00000000_00000000B)
R/W: Readable/writable
[bit31, bit30] TYPE1, TYPE0 (TYPE)*: Transfer type setting
These bits set the operation type of the corresponding channels as follows.
Two-cycle transfer mode:
This mode sets the transfer source address (DMASA) and transfer
destination address (DMADA), and performs the specified number of
transfer for read and write operations.
Table 5.2-7 Transfer Type Setting
TYPE
Function
00B
Two-cycle transfer (initial value)
01B
Setting disabled
10B
Setting disabled
11B
Setting disabled
• When reset: Initialized to "00B".
• These bits are readable and writable.
• Be sure to set to "00B".
166
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit29, bit28] MOD1, MOD0 (MODe)*: Transfer mode setting
These bits set the operation mode of the corresponding channels as follows.
Table 5.2-8 Transfer Mode Setting
MOD
Function
00B
Block/step transfer mode (initial value)
01B
Burst transfer mode
10B
Setting disabled
11B
Setting disabled
• When reset: Initialized to "00B".
• These bits are readable and writable.
[bit27, bit26] WS1, WS0 (Word Size): Transfer data width selection
These bits are used to select the transfer data width on the corresponding channel. The specified number
of transfer operations are performed in the data width set in these registers.
Table 5.2-9 Transfer Data Width Selection
WS
Function
00B
Transfer in byte (initial value)
01B
Transfer in halfword
10B
Transfer in word
11B
Setting disabled
• When reset: Initialized to "00B".
• These bits are readable and writable.
[bit25] SADM (Source-ADdr. count-Mode select)*: Transfer source address count mode setting
This bit specifies the processing of the transfer source address on the corresponding channel for each
transfer.
An address is incremented/decremented on a transfer basis according to the specified transfer source
address count width (SASZ). When transfer is completed, the address for the next access is written to
the corresponding address register (DMASA).
Therefore, the transfer source address register is not updated until the DMA transfer is completed.
To fix the address, set "0" or "1" to this bit, and set "0" to the address count width (SASZ, DASZ).
Table 5.2-10 Transfer Source Address Count Mode Setting
SADM
CM71-10132-3E
Function
0
Increase transfer source addresses (initial value)
1
Decrease transfer source addresses
FUJITSU SEMICONDUCTOR LIMITED
167
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
• When reset: Initialized to "0".
• This bit is readable and writable.
[bit24] DADM (Destination-ADdr. Count-Mode select)*: Transfer destination address count mode
setting
This bit specifies the processing of the transfer destination address on the corresponding channel for
each transfer.
An address is incremented/decremented on a transfer basis according to the specified transfer
destination address count width (DASZ). When transfer is completed, the address for the next access is
written to the corresponding address register (DMADA).
Therefore, the transfer destination address register is not updated until the DMA transfer is completed.
To fix the address, set "0" or "1" to this bit, and set "0" to the address count width (SASZ, DASZ).
Table 5.2-11 Transfer Destination Address Count Mode Setting
DADM
Function
0
Increase transfer destination addresses (initial value)
1
Decrease transfer destination addresses
• When rest: Initialized to "0".
• This bit is readable and writable.
[bit23] DTCR (DTC-reg. Reload)*: Transfer count register reload setting
This bit controls a reload function of the transfer count register on the corresponding channel.
If this bit enables the reload operation, the value of the count register is reset to its initial value after
transfer is completed, and DMAC halts and waits for the transfer request (an activation request by
STRG or IS setting). If this bit is "1", the DENB bit is not cleared.
The transfer is forced to stop by setting of DENB=0 or DMAE=0.
Disabling reload operation of the counter results in a single shot transfer operation, which stops when
the transfer is completed even if reload is specified in the address register. In this case, the DENB bit is
cleared.
Table 5.2-12 Transfer Count Register Reload Setting
DTCR
Function
0
Disable transfer count register reloading (initial value)
1
Enable transfer count register reloading
• When reset: Initialized to "0".
• This bit is readable and writable.
168
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit22] SADR (Source-ADdr.-reg. Reload)*: Transfer source address register reload setting
This bit controls a reload function of the transfer source address register on the corresponding channel.
If this bit enables the reload operation, the value of the transfer source address register is reset to the
initial value after transfer is completed.
Disabling reload operation of the counter results in a single shot transfer operation, which stops when
the transfer is completed even if reload is specified in the address register. In this case, the operation
stops with the value of the address register which the initial value is reloaded to.
If this bit enables the reload operation, the value of the address register when the transfer is completed
is set to the next access address after the last address. (If the address increment is enabled, this will be
set to the incremented address).
Table 5.2-13 Transfer Source Address Register Reload Setting
SADR
Function
0
Disable transfer source address register reloading (initial value)
1
Enable transfer source address register reloading
• When reset: Initialized to "0".
• This bit is readable and writable.
[bit21] DADR (Dest.-ADdr.-reg. Reload)*: Transfer destination address register reload setting
This bit controls a reload function of the transfer destination address register on the corresponding
channel.
If this bit enables the reload operation, the value of the transfer destination address register is reset to
the initial value after transfer is completed.
The details of other functions are the same as those described for bit22:SADR.
Table 5.2-14 Transfer Destination Address Register Reload Setting
DADR
Function
0
Disable transfer destination address register reloading (initial value)
1
Enable transfer destination address register reloading
• When reset: Initialized to "0".
• This bit is readable and writable.
[bit20] ERIE (ERror Interrupt Enable)*: Error interrupt output enable
This bit controls an interrupt generation at a termination when an error occurs. The details of the
generated error is indicated by DSS2 to DSS0. Note that the interrupt is generated not by every
termination trigger but by a specific one (Refer to DSS2 to DSS0 bits).
Table 5.2-15 Error Interrupt Output Enable
ERIE
Function
0
Disable error interrupt request output (initial value)
1
Enable error interrupt request output
• When reset: Initialized to "0".
• This bit is readable and writable.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
169
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit19] EDIE (EnD Interrupt Enable)*: End interrupt output enable
This bit controls an interrupt generation at a normal end.
Table 5.2-16 End Interrupt Output Enable
EDIE
Function
0
Disable end interrupt request output (initial value)
1
Enable end interrupt request output
• When reset: Initialized to "0".
• This bit is readable and writable.
[bit18 to bit16] DSS2 to DSS0 (Dma Stop Status)*: Transfer stop factor indication
These bits indicate a code (end code) of 3 bits that indicates the stop/end factor of DMA transfer on the
corresponding channel. The descriptions of end codes are as follows.
Table 5.2-17 Transfer Stop Factor Indication (DSS2)
DSS2
Function
Interrupt generation
0
Initial value
None
1
DMA halting (DMAH, PAUS bit, interrupt, etc.)
None
Table 5.2-18 Transfer Stop Factor Indication (DSS1, DSS0)
DSS1, DSS0
Function
Interrupt generation
00B
Initial value
None
01B

None
10B
Transfer stop request
Error
11B
Normal end
End
The transfer stop request is set only when a request from a peripheral circuit is used.
Note:
The "Interrupt generation" column indicates the possible type of interrupt request.
• When reset: Initialized to "000B".
• These bits are cleared when "000B" is written.
• These bits are readable and writable. However, only "000B" written to these bits is valid.
170
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit15 to bit8] SASZ7 to SASZ0 (Source Addr count SiZe)*: Transfer source address count size setting
These bits specify the increment or decrement width of the transfer source address (DMASA) on the
corresponding channel for each transfer. The value set for these bits indicates the address increment or
decrement width for each transfer unit. The address increment or decrement width depends on the
transfer source address count mode setting (SADM).
Table 5.2-19 Transfer Source Address Count Size Setting
SASZ7 to SASZ0
Function
00H
Address fixed
01H
Transfer in byte
02H
Transfer in halfword
04H
Transfer in word
Other than above
Setting disabled
• When reset: Initialized to "00000000B".
• These bits are readable and writable.
• If setting other than the address fixed, set the same transfer unit as that for transfer data width (WS).
[bit7 to bit0] DASZ7 to DASZ0 (Des Addr count SiZe)*: Transfer destination address count size setting
These bits specify the increment or decrement width of the transfer destination address (DMADA) on
the corresponding channel for each transfer. The value set for these bits indicates the address increment
or decrement width for each transfer unit. The address increment or decrement width depends on the
transfer destination address count mode setting (DADM).
Table 5.2-20 Transfer Destination Address Count Size Setting
DASZ7 to DASZ0
Function
00H
Address fixed
01H
Transfer in byte
02H
Transfer in halfword
04H
Transfer in word
Other than above
Setting disabled
• When reset: Initialized to "00000000B".
• These bits are readable and writable.
• If setting other than the address fixed, set the same transfer unit as that for transfer data width (WS).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
171
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
■ DMAC - ch.0, ch.1, ch.2, ch.3, ch.4 Transfer Source/Destination Address Setting
Register
● [DMASA0 to DMASA4/DMADA0 to DMADA4]
These registers control the operation of each DMAC channel, and are provided independently for each
channel. The function of each bit is as follows.
• ch.0 to ch.3
Figure 5.2-3 DMAC - ch.0, ch.1, ch.2, ch.3 Transfer Source/Destination Address Setting Register
(ch.0 to ch.3)
bit
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
DMASA0 to DMASA3[19:16]
bit
15
14
13
11
11
10
9
8
7
6
5
4
3
2
1
0
DMASA0 to DMASA3[15:0]
(Initial value: 00000000_00000000_00000000_00000000B)
bit
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
DMADA0 to
DMADA3[19:16]
bit
15
14
13
11
11
10
9
8
7
6
5
4
3
2
1
0
DMASA0 to DMASA3[15:0]
(Initial value: 00000000_00000000_00000000_00000000B)
• ch.4
Figure 5.2-4 DMAC - ch.4 Transfer Source/Destination Address Setting Register (ch.4)
bit
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
2
1
0
DMASA4[23:16]
bit
15
14
13
11
11
10
9
8
7
6
5
4
3
DMASA4[15:0]
(Initial value: 00000000_00000000_00000000_00000000B)
bit
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
2
1
0
DMADA4[23:16]
bit
15
14
13
11
11
10
9
8
7
6
5
4
3
DMADA4[15:0]
(Initial value: 00000000_00000000_00000000_00000000B)
These registers store the transfer source/destination address. The channels from 0 to 3 have 20-bit length,
ch.4 has 24-bit length.
[bit31 to bit0] DMASA (DMA Source Addr)*: Transfer source address setting
These bits set the transfer source address.
172
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit31 to bit0] DMADA (DMA Destination Addr)*: Transfer destination address setting
These bits set the transfer destination address.
When a DMA transfer is started, the data in these registers is stored into the counter buffer of the
dedicated DMA address counter and the address count is updated on a transfer basis. When the DMA
transfer is completed, the contents of the counter buffer are written back to these registers and then the
DMA ends. Thus, the address counter value during the DMA operation cannot be read.
Each register has its own reload register. If the register is used for a channel that is enabled to reload the
transfer source/transfer destination address register, the initial value is automatically written back to
these registers when the transfer is completed. At this time, other address register is not affected.
• When rest: Initialized to "00000000_00000000_00000000_00000000B".
• These bits are readable and writable. Be sure to access these registers with 32-bit data.
• During transfer, the read value is the address value before the transfer. After transfer, the read value
is the next access address value. The reload value cannot be read. Therefore, the transfer address
cannot be read in real time.
• Set "0" to higher bits which do not exist.
Note:
Do not set any of the DMACs' registers using this register. DMA transfer to registers in the DMAC is
not allowed.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
173
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
■ DMAC - ch.0, ch.1, ch.2, ch.3, ch.4
DMAC All-channel Control Register
● [DMACR]
This register controls the operations of all five DMA channels. Be sure to access this register using byte
length.
The functions of each bit are as follows.
Figure 5.2-5 DMAC - ch.0, ch.1, ch.2, ch.3, ch.4
bit
bit
31
30
29
28
27
26
25
DMAE


PM01
15
14
13
11
11
10
9







24
DMAC All-channel Control Register
23
22
21
20
19
18
17
16








8
7
6
5
4
3
2
1
0









DMAH3 to DMAH0
(Initial value: 0XX00000_XXXXXXXX_XXXXXXXX_XXXXXXXXB)
[bit31] DMAE (DMA Enable): DMA operation enable
This bit controls operations of all DMA channels.
When this bit disables DMA operation, the transfer operation on all channels is disabled regardless of
the operation status or the start/stop settings for each channel. Also, the channel in transferring cancels
the requests and stops the transfer at a block boundary. Any start operation on each channel in the
disabled status is invalid.
When this bit enables DMA operation, the start/stop operations are allowed for each channel. Using this
bit to enable DMA operation does not perform activations on each channel.
The transfer can be forced to stop by writing "0" to this bit. Be sure to stop a transfer forcibly (0 write)
only after pausing DMA by using the DMAH3 to DMAH0 bits (DMACR:bit27 to bit24). If the transfer
is forced to stop without pausing DMA, DMA stops but the transferred data cannot be guaranteed.
Check whether DMA is stopped using DSS2 to DSS0 bits (DMACB:bit18 to bit16]).
Table 5.2-21 DMA Operation Enable
DMAE
Function
0
Disable DMA operation on all channels (initial value)
1
Enable DMA operation on all channels
• When rest: Initialized to "0".
• This bit is readable and writable.
174
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.2 DMA Controller (DMAC) Register
MB91345 Series
[bit28] PM01 (Priority Mode ch.0,1 robin): Channel priority rotation
This bit is set to change the priority between ch.0 and ch.1 on a transfer basis.
Table 5.2-22 Channel Priority Rotation
PM01
Function
0
Priority fixed (ch.0 > ch.1) (initial value)
1
Priority rotated (ch.1 > ch.0)
• When reset: Initialized to "0".
• This bit is readable and writable.
[bit27 to bit24] DMAH (DMA Halt): DMA halt
These bits control a halt of all DMA channels. Once these bits have been set, DMA transfers on all
channels are not performed until these bits are cleared.
Started after these bits set, DNA transfers on all channels remain pausing.
Any transfer requests generated on a channel for which DMA transfer is enabled (DENB=1) are valid
while these bits are set. And the transfer starts when the bits are cleared.
Table 5.2-23 DMA Halt
DMAH
Function
0000B
Enable DMA operation on all channels (initial value)
Others
Halt DMA operation on all channels
• When reset: Initialized to "0".
• These bits are readable and writable.
[bit30, bit29, bit23 to bit0] (Reserved): Unused bits
The read value is indeterminate.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
175
CHAPTER 5 DMA Controller (DMAC)
5.3 Operation of DMA Controller
5.3
MB91345 Series
Operation of DMA Controller
This section explains the operation of the DMA controller.
■ Main Operation
• Functions can be set independently for each transfer channel.
• Once enabled, each channel does not start transfer operation until a specified transfer request is
detected.
• On detecting the transfer request, DMAC outputs DMA transfer request to the bus controller and
starts transfer on receiving bus access rights from the bus controller.
• The transfer is performed in sequence according to the independent mode settings for each channel.
■ Transfer Mode
Each DMA channel operates a transfer according to the transfer mode set in the MOD1, MOD0 bits of
its DMACB register.
● Block/step transfer
DMA transfers only one block transfer unit per transfer request, then stops a transfer request to the
bus controller until the next transfer request is received.
Block transfer unit: specified block size (DMACA:BLK3 to BLK0)
● Burst transfer
The transfer is repeated for a specified transfer count, in a transfer request.
Specified transfer count: block size  transfer count (DMACA:BLK3 to BLK0  DMACA:DTC15
to DTC0)
■ Transfer Type
● Two-cycle transfer (normal transfer)
The DMA controller performs a set of read operation and write operation as a unit.
The DMAC reads data from the address in the transfer source register, and then write it into the
transfer destination register.
■ Transfer Address
The following types of addressing are available and can be set independently for each channel transfer
source and destination.
● Specifying the address for two-cycle transfer
The value read from the registers (DMASA and DMADA) in which the address has been preset is
used as the address for access.
After receiving a transfer request, DMA stores the addresses from those registers into temporary
storage buffers and then start the transfer.
On each transfer (access), the next access address is generated by using the address counter (can be
based on increment/decrement/fixed) and restored into the temporary storage buffer. The contents of
this temporary storage buffer are written back to the registers (DMASA and DMADA) when each
transfer block unit is completed.
Since the values in the address registers (DMASA and DMADA) are only updated on a transfer
block unit basis, the address cannot be determined in real time during transfer.
176
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.3 Operation of DMA Controller
MB91345 Series
■ Transfer Count and Transfer End
● Transfer count
The transfer count register is decremented (1) after each block transfer is completed. When the
transfer count register reaches "0", indicating that the specified number of transfer has been
completed, DMAC displays the end code and stops or restarts.
The value in the transfer count register is only updated on a transfer block basis like that in the
address register.
When the transfer count register reload is disabled, the transfer ends. If the reload is enabled,
DMAC initialize the register value and waits for transfer (DMACB:DTCR).
● Transfer end
Transfer can be ended by the following factors. A factor is indicated as an end code at the transfer
end. (DMACB:DSS2 to DSS0)
• End of the specified transfer count (DMACA:BLK3 to BLK0  DMACA:DTC15 to DTC0) 
Normal end
• Generation of transfer stop request from peripheral circuit  Error
• Reset triggered  Reset
The transfer stop factor (DSS) can be indicated and the transfer end/error interrupt can be generated
corresponding to each end factor.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
177
CHAPTER 5 DMA Controller (DMAC)
5.4 Setting Transfer Request
5.4
MB91345 Series
Setting Transfer Request
There are two types of transfer requests to activate DMA transfer as follows. The
software request can be used at any time regardless of other request settings.
■ Built-in Peripheral Request
A transfer request is generated by an interrupt from a built-in peripheral circuit.
The interrupt from a peripheral circuit to generate a transfer request is set for each channel.
(DMACA:IS4 to IS0=1XXXXB)
Note:
Since an interrupt request used for a transfer request is taken as an interrupt request for CPU,
disable the interrupts in the interrupt controller. (ICR register)
■ Software Request
A transfer request is generated by writing to the trigger bit in the register. (DMACA:STRG)
This is independent of the transfer request mentioned above, and is always available.
If a software request is triggered simultaneously with the activation (transfer enable), DMAC
immediately outputs the DMA transfer request to the bus controller and starts the transfer.
Note:
If the software request is set to a channel that has been set the built-in peripheral request, perform
the DMAC clear factors on the appropriate peripherals after the transfer is completed. As this may
clear a proper transfer request, do not use the software request in this case.
178
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.5 Transfer Sequence
MB91345 Series
5.5
Transfer Sequence
The transfer type and mode which determines, for example, the operation sequence
after DMA transfer started can be set independently for each channel. (setting on
DMACB:TYPE1, TYPE0, MOD1, MOD0)
■ Transfer Sequence Selection
The following sequences can be selected with register settings.
• Burst two-cycle transfer
• Block/step two-cycle transfer
■ Burst Two-cycle Transfer
DMAC repeats a transfer for a transfer factor as many times as the specified transfer count. In a two-cycle
transfer, the transfer source/destination address can be specified as 20-bit address for ch.0 to ch.3 and as
24-bit address for ch.4.
A transfer factor can be a peripheral transfer request or a software transfer request.
● Characteristics of burst transfer
• Each time a transfer request is received, transfer continues until the transfer count register reaches
"0".
Transfer count is the block size  the transfer count. (DMACA:BLK3 to BLK0  DMACA:DTC15
to DTC0)
• If another request is generated during transfer, the request is ignored.
• When the reloading of the transfer count register is enabled, the next transfer request is accepted
after transfer is completed.
• If a transfer request from another channel with a higher priority is received during transfer, the
DMAC changes these channels at the boundary of the block transfer units and does not restart the
transfer until the request on the channel with the higher priority is cleared.
Figure 5.5-1 Example of Burst Transfer for a Peripheral Transfer Request, Block Number = 1,
Transfer Count = 4
Peripheral
transfer request
Bus operation
CPU
SA
DA
SA
DA
SA
DA
SA
Transfer count
DA
CPU
1
Transfer end
(internal)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
179
CHAPTER 5 DMA Controller (DMAC)
5.5 Transfer Sequence
MB91345 Series
■ Step/Block Transfer Two-cycle Transfer
In a step/block transfer (transfer for a specified number of blocks in each transfer request), the transfer
source/destination address can be specified as 20-bit address for ch.0 to ch.3 and as 24-bit address for ch.4.
● Step transfer
The step transfer sequence is used if the block size is set to "1".
● Characteristics of step transfer
• Each time a transfer request is received, one transfer is performed. And then the transfer request is
cleared and the transfer stopped. (The DMA transfer request to the bus controller is canceled).
• If another request is generated during transfer, the request is ignored.
• If a transfer request from another channel with a higher priority is received during transfer, after the
transfer is stopped, the DMAC changes these channels and starts the next transfer. The priority in the
step transfer is valid only if transfer requests is generated simultaneously.
● Block transfer
The block transfer sequence is used if the block size is set to a value other than "1".
● Features of block transfer
The operation is the same as that for step transfer except that one transfer unit consists of multiple counts of
transfer cycle (number of block).
Figure 5.5-2 Example of Block Transfer for a Peripheral Transfer Request, Block Number = 2,
Transfer Count = 2
Peripheral
transfer request
Bus operation
CPU
SA
DA
SA
DA
CPU
Number of blocks
SA
DA
SA
DA
1
Transfer count
Transfer end
(internal)
180
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
5.6
General Aspects of DMA Transfer
This section explains the general aspects of the DMA transfer.
■ Block Size
• A transfer unit of transfer data is a set of data that is set in the block size setting register ( data width).
• Since the size of data transferred in each transfer cycle is fixed at the value specified by data width, a
transfer unit consists of the number for transfer cycles for the block size setting value.
• During transfer, if a transfer request with a higher priority is received or if a transfer halt request is
generated, a block transfer stops only at a boundary of the transfer units. This can protect a data block
from splitting and pausing, but may cause the degradation in response time if the block size is large.
• The transfer is stopped only if the reset is triggered, but the transferred data is not guaranteed.
■ Reload Operation
In this module, the following three reload functions can be set for each channel.
• Transfer count register reload function
When the specified number of transfers completes, DMAC resets the transfer count register to its initial
value and waits for the next trigger.
This setting is used to repeat the entire transfer sequence.
If reload is not specified, the count register remains at "0" after the specified number of transfers is
completed and no further transfers are performed.
• Transfer source address register reload function
When the specified number of transfers is completed, DMAC resets the transfer source address register
to its initial value.
This setting is used to repeat the transfer from a fixed area in the transfer source register address area.
If the reload is not specified, the transfer source address register value is set to the next transfer address
after the specified number of transfers is completed. This setting is used when the address area is not
fixed.
• Transfer destination address register reload function
When the specified number of transfers is completed, DMAC resets the transfer destination address
register to its initial value.
This setting is used to repeat the transfer to a fixed area in the transfer destination address area.
If the reload is not specified, the transfer source address register value is set to the next transfer address
after the specified number of transfers is completed. This setting is used when the address area is not
fixed.
If only the reload function of the transfer source/destination register is enabled, the restart after the
specified number of transfers is completed is not performed. Only the values of each address register are
set.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
181
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
Notes:
Special examples of operating mode and the reload operation
• If you want to halt a transfer after it is completed and to restart where another input is detected,
do not specify reload.
• In burst, block, or step transfer mode, transfer halts after the reload if the transfer is completed,
and no further transfer is performed until a new transfer request input is detected.
■ Addressing Mode
The transfer destination/source address for each transfer channel is specified independently.
The following procedure is used to set the registers. Set the registers according to the transfer sequence.
● Address register setting
In two-cycle transfer mode, set the transfer source address in the transfer source address setting register
(DMASA) and set the transfer destination address in the transfer destination address setting register
(DMADA).
● Features of address register setting
The channels from 0 to 3 have 20-bit length, ch.4 has 24-bit length.
● Functions of address register
• The registers are read at the time of each access and transferred to the address bus.
• At the same time, the address counter is used to calculate the address for the next access and the address
register is updated with the calculated address.
• Either increment or decrement is selected for the address calculation of each channel, transfer
destination and transfer source. The increment or decrement width of address varies with the value of
address count size setting register. (DMACB:SASZ, DASZ7 to DASZ0)
• If the reload function is not enabled, the address calculated on the last address remains in the address
register after the transfer is completed.
• If the reload function is enabled, the initial value of the address is reloaded.
Notes:
• Even if an overflow or underflow occurs as a result of the 20-bit or 24-bit length full address
calculation, the transfer on that channel continues. Set each channel so that no overflow and
underflow is generated.
• Do not set the addresses of registers in the DMAC in the address registers.
182
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
■ Data Type
The data length (data width) transferred in each transfer can be selected from the following.
• byte
• halfword
• word
Since the word boundary specification is also complied in DMA transfer, different low-order bits are
ignored if an address with a different data length is specified for the transfer destination/source address.
• word:
The actual access address has 4-byte length starting with "00B" as the lower 2 bits.
• halfword:
The actual access address has 2-byte length starting with "0" as the lower 1 bit.
• byte:
The actual access address and the address setting match.
If the lower bits in the transfer source address and the transfer destination address are different, the
addresses as set are output on the internal address bus. However, each transfer target on the bus is accessed
after the addresses has been corrected according to the above rules.
■ Transfer Count Control
The transfer count is specified within the range of the maximum 16-bit length (1 to 65536). The transfer
count value is set in the transfer count register (DMACA:DTC).
The register value is stored into a temporary storage buffer when a transfer starts, and is decremented by
the transfer count counter. When the counter value reached to "0", the DMAC detects that the specified
number of transfers is completed, and then stops the transfer on the channel or waits for the next trigger (if
reload is enabled).
● Characteristics of transfer count registers
• Each register has 16-bit length.
• Each register has its own reload register.
• If activated when the register value is "0", transfer is performed 65536 times.
● Reload operation
• The reload operation can be used only if reloading is enabled in a register that allows reloading.
• When transfer is activated, the initial value of the count register is saved in the reload register.
• If the transfer count counter counts down to "0", the transfer end is reported. And the initial value is
read from the reload register and written to the count register.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
183
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
■ CPU Control
When a DMA transfer request is accepted, DMA issues a transfer request to the bus controller.
The bus controller passes the right to use the internal bus to DMA at a break in bus operation and DMA
transfer starts.
● DMA transfer and interrupt
• During a DMA transfer, interrupts are generally not accepted until the transfer is completed.
• If a DMA transfer request occurs during interrupt processing, the transfer request is accepted and
interrupt processing is stopped until the transfer is completed.
• As an exception, if a NMI request or an interrupt request with a higher level than the hold suppress level
set by the interrupt controller is generated, DMAC temporarily cancels the transfer request for the bus
controller at a transfer unit boundary (one block) and pauses the transfer until the interrupt request is
cleared. The transfer request is retained internally during this time. After the interrupt request has been
cleared, DMAC issues a transfer request to the bus controller to acquire the right to use the bus and then
starts the DMA transfer again.
● DMA suppression
• On the FR family, DMAC interrupts a DMA transfer to branch to the relevant interrupt routine when an
interrupt factor with a higher priority is generated during DMA transfer. This feature is valid as long as
any interrupt requests exist. However, if interrupt factors are cleared, the suppression feature no longer
works and the DMA transfer is restarted in the interrupt processing routine. Thus, if you want to
suppress restart of a DMA transfer after clearing interrupt factors in the interrupt factor processing
routine at a level that interrupts a DMA transfer, use the DMA suppress function. The DMA suppress
function can be activated by writing any value other than "0" to the DMAH3 to DMAH0 bits of the
DMA all-channel control register and can be stopped by writing "0" to these bits.
• This function is primarily used in the interrupt processing routines. Before clearing the interrupt factor
in the interrupt processing routine, this function increments the value in the DMA suppress register by 1.
This prevents any subsequent DMA transfer. After handling the interrupt processing, this function
decrements the value of DMAH3 to DMAH0 bits by 1 before returning. In case of multiple interrupts,
the DMA transfer continues to be suppressed since the values of the DMAH3 to DMAH0 bits are not
"0" yet. Otherwise, the values of DMAH3 to DMAH0 bits become "0" and then the DMA requests are
enabled immediately.
Notes:
• Since the register has only 4 bits, this function cannot be used for multiple interrupts exceeding 15
levels.
• Be sure to make the DMA tasks at least 15 levels higher priority than other interrupt levels.
184
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
■ Operation Start
Starting of a DMA transfer is controlled independently for each channel, but before the transfer starts, the
operation of all channels must be enabled.
● Enabling operation on all channels
Before activating on each DMAC channel, operation on all channels must be enabled the DMA operation
enable bit (DMACR:DMAE). All start settings and transfer requests generated before operation is enabled
are invalid.
● Starting transfer
The transfer operation can be started by the operation enable bit in the control register for each channel. If a
transfer request to the activated channel is accepted, the DMA transfer operation is started in the specified
mode.
● Starting during halts
If a halt occurs before starting with channel-by-channel or all-channel control, the halt state is maintained
even though the transfer operation is started. If generated during that time, transfer requests are accepted
and retained. When the halt is released, a transfer is started.
■ Transfer Request Acceptance and Transfer
• Sampling for transfer request set for each channel starts after the activation.
• If peripheral interrupt activation is selected, DMAC continues the transfer until all transfer requests are
cleared. When they are cleared, DMAC stops the transfer in one transfer unit (peripheral interrupt
activation).
Since the peripheral interrupt is handled as a level detection, use the interrupt clear by DMA to handle
the interrupts.
• Transfer requests are always accepted while requests from other channel are accepted and transfer is
performed. The channel to be used for transfer is determined for each transfer unit according to the
priority.
■ Peripheral Interrupt Clear by DMA
• The DMA has a function that clears peripheral interrupts. This function works when peripheral interrupt
is selected as the DMA trigger (when IS4 to IS0=1XXXXB).
• The peripheral interrupt clear is performed for the trigger that has been set. That is, only the peripheral
functions set on IS4 to IS0 are cleared.
● Timing for interrupt clear generation
The timing for the generation depends on the transfer mode (See section "5.7 Operation Flowchart").
[Block/step transfer]
If the block transfer is selected, a clear signal is generated per one block (step) transfer.
[Burst transfer]
If the burst transfer is selected, a clear signal is generated when the specified transfer count is
completed.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
185
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
■ Halt
DMA halts in the following cases.
● Halt setting by writing to the control register (set for each channel individually or for all channels
together)
If the halt is set with halt bits, a transfer on the corresponding channel is stopped until the halt cancellation
is set again. You can check the DSS bit for the halt condition.
The transfer is restarted when the halt is canceled.
● NMI/hold suppress level interrupt processing
If an NMI request or an interrupt request with a higher level than the hold suppress level is generated,
DMAC halts all transferring channels at a boundary of the transfer units, and opens a bus rights to give a
higher priority to NMI/interrupt processing. Transfer requests accepted during NMI/interrupt processing
are retained and waits for the completion of the NMI processing.
The channels retaining requests restart transfers after the NMI/interrupt processing is completed.
■ Operation End/Stop
The end of DMA transfer can be controlled independently for each channel. It is also possible to disable the
operation for all channels.
● Transfer end
If the reload is disabled, the DMAC stops a transfer, displays "Normal end" as the end code, and disables
any further transfer request when the transfer count register becomes "0" (clear DMACA:DENB bit).
If the reload is enabled, the DMAC reloads an initial value, displays "Normal end" as the end code, and
waits for a transfer request again when the transfer count register becomes "0" (not clear DMACA: DENB
bit).
● Disabling operation on all channels
If the operations on all channels are disabled with the DMA operation enable bit DMAE, all DMAC
operations, including operations on active channels, are stopped. After that, even if the DMA operations on
all channels are enabled again, no transfer is performed unless each channel is restarted independently. In
this case, no interrupt is generated.
186
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
■ Stop Due to Error
In addition to normal end after the specified number of transfers is completed, a transfer may be stopped
due to various error or be stopped forcibly.
● Generation of transfer stop request from peripheral circuit
Depending on the peripheral circuit that outputs a transfer request, a transfer stop request may be generated
when an error is detected (Example: reception/transmission error on peripherals in a communication
system).
When received such a transfer stop request, the DMAC displays "Transfer stop request" as the end code
and stops the transfer on the corresponding channel.
Notes:
• For the availability of the transfer stop request from peripheral circuits, see the description of the
transfer trigger selection bits [bit28 to bit24] (IS4 to IS0) in the DMACA register.
• For details of the conditions under which a transfer stop request is generated, see the
specifications for each peripheral circuit.
■ DMAC Interrupt Control
The following interrupts can be output for each DMAC channel independently of peripheral interrupts that
can be transfer requests.
• Transfer end interrupt: Generated only when operations end normally
• Error interrupt:
Transfer stop request from peripheral circuits (error due to a peripheral)
These interrupts are outputs according to the meaning of the end code.
Interrupt request can be cleared by writing "000B" to DSS2 to DSS0 (end code) on DMACS.
Be sure to clear the end code by writing "000B" before restarting.
If the reload is enabled, the transfer is automatically restarted. At this point, however, the end code is not
cleared and is retained until a new end code is written when the next transfer is completed.
Since only one end factor can be displayed in the end code, the result of setting priorities is displayed if
multiple factors are generated simultaneously. The interrupt generated at this time conforms to the
displayed end code.
The following shows the priority for displaying end codes (in order of decreasing priority).
• Reset
• Clear by writing "000B"
• Peripheral stop request
• Normal end
• Channel selection and control
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
187
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
■ DMA Transfer in Sleep Mode
• The DMAC can also operate in sleep mode.
• For the operation in sleep mode, note the following.
- Since the CPU stops, the DMAC register cannot be rewritten. Complete settings before putting it into
sleep mode.
- Since the sleep mode is cancelled by an interrupt, interrupts must be disabled by the interrupt
controller if a peripheral interrupt is selected as the DMAC trigger.
Similarly, if you do not want to cancel the sleep mode by the DMAC end interrupt, disable the interrupts.
■ Channel Selection and Control
Up to 5 channels can be set as transfer channels at one time. In general, the functions can be set
independently on each channel.
● Priority for channels
Since a DMA transfer is possible only on one channel, the priority must be set for channels.
The priority setting has two modes: fixed and rotation. These modes can be selected for each channel group
(described later).
(1) Fixed mode
The priority is fixed by channel number in ascending order.
(ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
If a transfer request with a higher priority is received during transfer, the transfer channel is switched to
the channel with the higher priority when transfer for one transfer unit (the number set in the block size
setting register  data width) is completed.
When the higher priority transfer is completed, transfer on the previous channel is restarted.
Figure 5.6-1 Timing Chart for Fixed Mode
ch.0 transfer request
ch.1 transfer request
Bus operation
Transfer channel
CPU
SA
DA
ch.1
SA
DA
ch.0
SA
DA
ch.0
SA
DA
CPU
ch.1
ch.0 transfer end
ch.1 transfer end
188
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.6 General Aspects of DMA Transfer
MB91345 Series
(2) Rotation mode (between ch.0 and ch.1 only)
When operation is enabled, the initial states are set as the same priority as (1). However, the priority for
the channel is switched when a transfer is completed. Thus, if more than one transfer request is output
at the same time, the channel is switched by a transfer unit.
This mode is effective when continuous/burst transfer is set.
Figure 5.6-2 Timing Chart for Rotation Mode
ch.0 transfer request
ch.1 transfer request
Bus operation
CPU
SA
Transfer channel
DA
ch.1
SA
DA
SA
ch.0
DA
SA
ch.1
DA
CPU
ch.0
ch.0 transfer end
ch.1 transfer end
● Channel group
Set the priority selection as shown in the following table.
Table 5.6-1 Channel Group
CM71-10132-3E
Mode
Priority
Remarks
Fixed
ch.0 > ch.1

Rotation
ch.0 > ch.1

ch.0 < ch.1
The initial state is the order as shown in the upper row.
The order is reversed if transfer with that state is
completed.
FUJITSU SEMICONDUCTOR LIMITED
189
CHAPTER 5 DMA Controller (DMAC)
5.7 Operation Flowchart
5.7
MB91345 Series
Operation Flowchart
This section shows the flowcharts for the block transfer and burst transfer.
■ Block Transfer
Figure 5.7-1 Operation Flowchart (Block Transfer)
Stop DMA
DENB→0
DENB=1
Reload enabled
Wait for
activation request
Activation request
Load the initial address,
transfer count, block count
Calculate the address for
transfer source address access
Calculate the address for
transfer destination address access
Block count − 1
BLK=0
Transfer count − 1
Only when the peripheral interrupt trigger is selected
Write back the address,
transfer count, block count
Clear the interrupt
Interrupt clear generation
DTC=0
DMA transfer end
DMA interrupt generation
Block Transfer
•
•
•
•
•
190
Can be activated by any trigger (option).
Can access any area.
Can set the block count.
Generates an interrupt clear when the block count is completed.
Generates a DMA interrupt when the specified transfer count is completed.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 5 DMA Controller (DMAC)
5.7 Operation Flowchart
MB91345 Series
■ Burst Transfer
Figure 5.7-2 Operation Flowchart (Burst Transfer)
Stop DMA
DENB→0
DENB=1
Wait for
activation request
Reload enabled
Load the initial address,
transfer count, block count
Calculate the address for
transfer source address access
Calculate the address for
transfer destination address access
BLK=0
DTC=0
Write back the address,
transfer count, block count
Only when the peripheral interrupt trigger is selected
Clear the interrupt
DMA transfer end
Interrupt clear generation
DMA interrupt generation
Burst Transfer
•
•
•
•
Can be activated by any trigger (option).
Can access any area.
Can set the block count.
Clears interrupt and generates a DMA interrupt when the specified transfer count is completed.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
191
CHAPTER 5 DMA Controller (DMAC)
5.8 Data Path
5.8
MB91345 Series
Data Path
This section shows the data flow in two-cycle transfer.
■ Data Flow in Two-cycle Transfer
Two transfer examples are illustrated below (other sets are omitted).
Figure 5.8-1 Data Flow in Two-cycle Transfer
Transfer: Internal I/O area => Internal RAM area
DMAC
DMAC
Write cycle
Read cycle
I-bus
CPU
CPU
I-bus
Bus controller
D-bus
Data buffer
Bus controller
D-bus
F-bus
RAM
F-bus
I/O
RAM
I/O
Transfer: Internal RAM area => Internal I/O area
DMAC
DMAC
Write cycle
Read cycle
I-bus
CPU
CPU
I-bus
Bus controller
D-bus
Data buffer
Bus controller
D-bus
Data buffer
F-bus
F-bus
RAM
192
I/O
FUJITSU SEMICONDUCTOR LIMITED
RAM
I/O
CM71-10132-3E
CHAPTER 6
Interrupt Controller
This chapter describes an overview, the configuration
and functions of registers, and operation of the interrupt
controller.
6.1 Overview of Interrupt Controller
6.2 Interrupt Controller Register
6.3 Operation of Interrupt Controller
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
193
CHAPTER 6 Interrupt Controller
6.1 Overview of Interrupt Controller
6.1
MB91345 Series
Overview of Interrupt Controller
The interrupt controller controls interrupt acceptance and arbitration processing.
■ Hardware Configuration of Interrupt Controller
The interrupt controller consists of the following components:
• ICR register
• Interrupt priority decision circuit
• Interrupt level and interrupt number (vector) generator
• HOLD request cancel request generator
■ Major Functions of Interrupt Controller
The interrupt controller has the following major functions:
• NMI request/interrupt request detection
• Deciding priority (using a level or number)
• Transferring of prioritizing interrupt level based on the decision result (to the CPU)
• Transferring of prioritizing interrupt number based on the decision result (to the CPU)
• Instruction for return from stop mode due to the generation of an interrupt with an NMI/ interrupt level
other than "11111B" (to CPU)
• Generating a HOLD request cancel request for the bus master
Note:
NMI is not supported in MB91345 series.
194
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 6 Interrupt Controller
6.1 Overview of Interrupt Controller
MB91345 Series
■ List of Interrupt Controller Register
Figure 6.1-1 shows the list of the interrupt controller register.
Figure 6.1-1 List of Interrupt Controller Register
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Address:
00000440H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR00
Address:
00000441H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR01
Address:
00000442H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR02
Address:
00000443H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR03
Address:
00000444H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR04
Address:
00000445H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR05
Address:
00000446H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR06
Address:
00000447H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR07
Address:
00000448H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR08
Address:
00000449H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR09
Address:
0000044AH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR10
Address:
0000044BH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR11
Address:
0000044CH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR12
Address:
0000044DH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR13
Address:
0000044EH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR14
Address:
0000044FH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR15
Address:
00000440H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR16
Address:
00000451H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR17
Address:
00000452H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR18
Address:
00000453H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR19
Address:
00000454H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR20
Address:
00000455H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR21
Address:
00000456H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR22
Address:
00000457H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR23
Address:
00000458H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR24
Address:
00000459H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR25
Address:
0000045AH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR26
Address:
0000045BH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR27
Address:
0000045CH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR28
Address:
0000045DH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR29
Address:
0000045EH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR30
Address:
0000045FH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR31
Address:
00000460H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR32
Address:
00000461H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR33
Address:
00000462H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR34
Address:
00000463H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR35
Address:
00000464H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR36
Address:
00000465H
-
-
-
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR37
(Continued)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
195
CHAPTER 6 Interrupt Controller
6.1 Overview of Interrupt Controller
MB91345 Series
(Continued)
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Address:
00000466H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR38
Address:
00000467H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR39
Address:
00000468H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR40
Address:
00000469H
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR41
Address:
0000046AH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR42
Address:
0000046BH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR43
Address:
0000046CH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR44
Address:
0000046DH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR45
Address:
0000046EH
-
-
-
ICR4
ICR3
ICR2
ICR1
ICR0
ICR46
Address:
0000046FH
-
-
-
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR47
Address:
00000045H MHALTI
R/W
-
-
LVL4
R
LVL3
R/W
LVL2
R/W
LVL1
R/W
LVL0
R/W
HRCL
■ Block Diagram of Interrupt Controller
Figure 6.1-2 shows the block diagram of interrupt controller.
Figure 6.1-2 Block Diagram of Interrupt Controller.
UNMI
WAKEUP (LEVEL ≠ 11111B: “1”)
Priority decision
5
LEVEL4 to LEVEL0
NMI
processing
LEVEL,
VECTOR
generation
LEVEL decision
RI47
(DLYIRQ)
ICR00
·········
·········
RI00
VECTOR
decision
HLDREQ
cancel
request
6
MHALTI
VCT5 to VCT0
ICR47
R-bus
196
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 6 Interrupt Controller
6.2 Interrupt Controller Register
MB91345 Series
6.2
Interrupt Controller Register
This section describes the configuration and functions of the interrupt controller
register.
■ Details of Interrupt Controller Register
The interrupt controller uses the following two types of registers:
• Interrupt Control Register (ICR)
• Hold Request Cancel Request Register (HRCL)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
197
CHAPTER 6 Interrupt Controller
6.2 Interrupt Controller Register
6.2.1
MB91345 Series
Interrupt Control Register (ICR)
An interrupt control register (ICR) is provided for each of the interrupt input and sets the
interrupt level of the corresponding interrupt request.
■ Bit Configuration of Interrupt Control Register (ICR)
The bit configuration of the interrupt control register (ICR) is shown below.
Figure 6.2-1 Bit Configuration of Interrupt Control Register (ICR)
ICR
Address
000440H to
00046FH
R/W:
R:
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value



ICR4
ICR3
ICR2
ICR1
ICR0
---11111B
R
R/W
R/W
R/W
R/W
Readable/writable
Read only
[bit7 to bit5] -: Reserved
These are reserved bits.
198
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 6 Interrupt Controller
6.2 Interrupt Controller Register
MB91345 Series
[bit4 to bit0] ICR4 to ICR0
These bits, which are the interruption level set bits, specify the interrupt level of the corresponding
interrupt request.
If the interrupt level set in this register is higher than the level mask value set in the ILM register in the
CPU, an interrupt request is masked on the CPU side.
The register is initialized to "11111B" at reset.
Table 6.2-1 shows the correspondence between possible interruption level set bits and interrupt levels.
Table 6.2-1 Correspondence between Possible Interruption Level Set Bits and Interrupt
Levels
ICR4*
ICR3
ICR2
ICR1
ICR0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Interrupt level
0
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Reserved for system
NMI
Highest level available
(High)
(Low)
Interrupts disabled
* : ICR4 is always "1"; "0" cannot be written to this bit.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
199
CHAPTER 6 Interrupt Controller
6.2 Interrupt Controller Register
6.2.2
MB91345 Series
Hold Request Cancel Request Register (HRCL)
HRCL is an interrupt level setting register for generating a hold request cancel request.
■ Bit Configuration of Hold Request Cancel Request Register (HRCL)
The bit configuration of the hold request cancel request register (HRCL) is shown below.
Figure 6.2-2 Bit Configuration of Hold Request Cancel Request Register (HRCL)
HRCL
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000045H
MHALTI


LVL4
LVL3
LVL2
LVL1
LVL0
0--11111B
R
R/W
R/W
R/W
R/W
R/W:
R:
R/W
Readable/writable
Read only
[[bit7] MHALTI
MHALTI is a bit to suppress the DMA transfer by an NMI request. This bit is set to "1" by the NMI
request, and cleared by writing "0" to this bit. Clear this bit at the end of the NMI routine in the same
way as with an ordinary interrupt routine.
Note:
NMI is not supported in MB91345 series.
[bit6, bit5] Reserved
These are reserved bits.
[bit4 to bit0] LVL4 to LVL0
These bits are used to set the interrupt level used to issue a hold request cancel request to the bus
master.
If an interrupt request with a higher level than the level set in this register is generated, a hold request
cancel request is issued to the bus master.
LVL4 bit is always "1" and cannot be set to "0".
200
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 6 Interrupt Controller
6.3 Operation of Interrupt Controller
MB91345 Series
6.3
Operation of Interrupt Controller
This section describes the operation of the interrupt controller.
■ Priority Decision
This module selects the interrupt factor with the highest priority from the interrupt factors generated at the
same time and outputs the interrupt level and interrupt number of the selected interrupt factor to the CPU.
The criteria for evaluating the priorities of interrupt factors are as follows:
1) NMI
2) Factor that meets the following conditions:
- Factor with an interrupt level value other than 31 (31 disables interrupts)
- Factor with the smallest interrupt level value
- Factor with the smallest interrupt number among above
If no interrupt factor is selected according to the above criteria, the interrupt controller outputs 31 (11111B)
as the interrupt level, where the interrupt number is indeterminate.
"APPENDIX B Vector Table" shows the relationship between interrupt factors, interrupt numbers, and
interrupt levels.
Note:
NMI is not supported in MB91345 series.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
201
CHAPTER 6 Interrupt Controller
6.3 Operation of Interrupt Controller
MB91345 Series
■ NMI (Non Maskable Interrupt)
NMI has the highest priority among the interrupt factors handled by this module. Thus, NMI is selected
whenever it is generated at the same time as other interrupt factors.
● NMI generation
When an NMI is generated, the following information is reported to the CPU:
Interrupt level: 15 (01111B)
Interrupt number: 15 (0001111B)
● NMI detection
NMI is set and detected by the external interrupt/NMI module. This module only generates an interrupt
level, interrupt number, and MHALTI in response to an NMI request.
● Suppressing DMA transfer by NMI request
When the NMI request is generated, the MHALTI bit in the HRCL register is set to "1", the DMA transfer
is suppressed. To cancel the suppression of the DMA transfer, clear the MHALTI bit to "0" at the end of
the NMI routine.
Note:
NMI is not supported in MB91345 series.
202
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 6 Interrupt Controller
6.3 Operation of Interrupt Controller
MB91345 Series
■ Hold Request Cancel Request (HRLC)
When Interrupt with a high-priority is processed during CPU hold (during DMA transfer), the device that
has generated the hold request must cancel the request. Set the HRCL register at the interrupt level as the
reference level for generating the hold request cancel request.
● Criteria for generation
If an interrupt factor with a higher interrupt level than that set in the HRCL register is generated, a hold
request cancel request is generated.
Interrupt level set of the HRCL register  Interrupt level after priority evaluation
Cancel request is generated
Interrupt level set of the HRCL register  Interrupt level after priority evaluation
No cancel request
The cancel request remains in effect until the interrupt factor generating that request is cleared, and
accordingly no DMA transfer is executed. Therefore, be sure to clear the relevant interrupt factor.
When an NMI is used, the MHALTI bit in the HRCL register is "1" and thus the cancel request is in effect.
● Allowed level
HRCL register accepts a value from "10000B" to "11111B" like the ICR register.
If the HRCL register is set to "11111B", a cancel request is generated for every level of interrupt. If it is set
to "10000B", a cancel request is generated for NMI only.
Table 6.3-1 shows the settings of interrupt level at which a hold request cancel request is generated.
Table 6.3-1 Settings of Interrupt Level at which Hold Request Cancel Request is generated
HRCL register
Interrupt level at which a hold request cancel request is generated
16
NMI only
17
NMI, Interrupt level 16
18
NMI, Interrupt levels 16 and 17
~
~
31
NMI, Interrupt levels 16 to 30 [initial value]
After reset, DMA transfer is suppressed for any level of interrupt. Since DMA transfer is not executed with
an interrupt generated, set the HRCL register to an appropriate value.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
203
CHAPTER 6 Interrupt Controller
6.3 Operation of Interrupt Controller
MB91345 Series
■ Returning from Standby Mode (Sleep/Stop)
This module provides the function to return from stop mode when an interrupt request occurs. If any
interrupt request (with an interrupt level other than 11111B), including an NMI, is generated from a
peripheral resource, this module issues a request to the clock control unit to return from stop mode.
Since the priority evaluation circuit restarts the operation after the clock supply recovers after returning
from the stop mode, the CPU continues to execute instructions until a priority evaluation result is obtained.
Even after returning from the sleep state, this module operates in the same way.
Also, the registers in this module are accessible even in sleep mode.
Notes:
• NMI request can perform a return from the stop mode, too. However, set an NMI so that valid
input can be detected in the stop state.
• Provide an interrupt level of "11111B" in the corresponding peripheral control register for an
interrupt factor that you do not want to cause a return from stop or sleep.
• NMI is not supported in MB91345 series. (5) Clearing an interrupt factor Some restrictions apply
to the use of an instruction to clear an interrupt factor and the RETI instruction in an interrupt
routine. For more information, see the section "CHAPTER 3 CPU and Control Section".
■ Example of Using Hold Request Cancel Request Function (HRCR)
To execute a high-priority process during DMA transfer, the CPU must request the DMA controller to
cancel the hold request for releasing itself from the hold status. In this example, an interrupt is used to
cancel a hold request to the DMA controller, or to give priority to the CPU.
● Control register
• Hold request cancel level (HRCL) register: This module:
If an interrupt with a higher level than that set in this register is generated, a hold request cancel request
to the DMA controller is generated. This register is used to set that reference level.
• Interrupt control register (ICR): This module:
A higher level than that in the HRCL register is set in the ICR register corresponding to the interrupt
factor to be used.
● Hardware configuration
Figure 6.3-1 shows the flow of the hold request signals.
Figure 6.3-1 Flow of Hold Request Signals
This module
IRQ
Bus access request
MHALTI
I-UNIT
DHREQ
DMA
B-UNIT
CPU
(ICR)
(HRCL)
204
DHREQ: D-bus hold request
DHACK: D-bus hold acknowledge
IRQ :
Interrupt request
MHALTI: Hold request cancel request
DHACK
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 6 Interrupt Controller
6.3 Operation of Interrupt Controller
MB91345 Series
● Sequence
Figure 6.3-2 shows an interrupt level that is higher than the one set in the HRCL register.
Figure 6.3-2 Interrupt Level that is Higher than the One Set in the HRCL Register
RUN
Bus hold
CPU
Interrupt processing
(1)
(2)
Bus hold
(DMA transfer)
Example of interrupt routine
Bus access request
(1) Interrupt factor clear
DHREQ
~
DHACK
(2) RETI
IRQ
LEVEL
MHALTI
If an interrupt request is generated and the interrupt level becomes higher than that set in the HRCL
register, MHALTI becomes active to the DMA controller. Then the DMA controller cancels the access
request, allowing the CPU to return from the hold status for servicing the interrupt.
Figure 6.3-3 shows interrupt levels for multiple interrupts.
Figure 6.3-3 Interrupt Levels for Multiple Interrupts
RUN
Bus hold
CPU
Interrupt I
Interrupt
processing II
(3)
(4)
Interrupt
processing I
(1)
(2)
Bus hold
(DMA transfer)
Bus access request
DHREQ
DHACK
IRQ1
IRQ2
LEVEL
MHALTI
[Example of interrupt routine]
(1), (3) Interrupt factor clear
~
(2), (4) RETI
In the above example, an interrupt with a higher priority is generated during execution of the interrupt
routine I.
DHREQ remains low when an interrupt with a higher level than that set in HRCL register has been
generated.
Note:
Pay attention to the relationship between the interrupt levels set in the HRCL registers and ICR.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
205
CHAPTER 6 Interrupt Controller
6.3 Operation of Interrupt Controller
206
MB91345 Series
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 7
External Interrupt Controller
This chapter describes an overview, the configuration
and functions of registers, and operation of the external
interrupt controller.
7.1 Overview of External Interrupt Controller
7.2 External Interrupt Controller Registers
7.3 Operation of External Interrupt Controller
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
207
CHAPTER 7 External Interrupt Controller
7.1 Overview of External Interrupt Controller
7.1
MB91345 Series
Overview of External Interrupt Controller
The external interrupt controller is a block that controls external interrupt requests input to
INT Pins.
The following four types of levels can be selected as the level of a request to be detected.
• "H" level
• "L" level
• Rising edge
• Falling edge
These levels can be used to return from STOP.
■ List of External Interrupt Controller Register
Following figure shows the list of the external interrupt controller register.
Figure 7.1-1 List of External Interrupt Controller Register
Address
000040H
0000C0H
0000C4H
bit31
bit24 bit23
EIRR0
EIRR1
EIRR2
bit16 bit15
ENIR0
ENIR1
ENIR2
bit8 bit7
bit0
ELVR0
ELVR1
ELVR2
■ Block Diagram of External Interrupt Controller
Figure 7.1-2 shows a block diagram of the external interrupt controller.
Figure 7.1-2 Block Diagram of External Interrupt Controller
R-bus
8
24
8
16
208
Enable interrupt register
Gate
Factor F/F
Edge detection circuit
24
INT0 to INT23
Interrupt factor register
Request level setting register
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 7 External Interrupt Controller
7.2 External Interrupt Controller Registers
MB91345 Series
7.2
External Interrupt Controller Registers
This section describes the configuration and functions of the external interrupt
controller register.
■ Details of External Interrupt Controller Registers
The external interrupt controller has the following three types of registers:
• Enable Interrupts Register (ENIR0 to ENIR2)
• External Interrupt Factor Register (EIRR0 to EIRR2)
• External Interrupt Request Level Setting Register (ELVR0 to ELVR2)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
209
CHAPTER 7 External Interrupt Controller
7.2 External Interrupt Controller Registers
7.2.1
MB91345 Series
Enable Interrupts Register (ENIR0 to ENIR2)
ENIR controls masking of external interrupt request output.
■ Bit Configuration of Enable Interrupts Register (ENIR0 to ENIR2)
Following figure shows the bit configuration of the enable interrupts register.
Figure 7.2-1 Bit Configuration of Enable Interrupts Register (ENIR0 to ENIR2)
ENIR0
Address
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
000041H
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
0000C1H
EN15
EN14
EN13
EN12
EN11
EN10
EN9
EN8
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
0000C5H
EN23
EN22
EN21
EN20
EN19
EN18
EN17
EN16
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ENIR1
ENIR2
R/W:
Readable/writable
Output for an interrupt request is enabled based on the bit in this register to which "1" has been written
(INT0 enable is controlled by EN0), after which the interrupt request is output to the interrupt controller.
The pin corresponding to the bit to which "0" is written retains the interrupt factor but does not generate a
request to the interrupt controller.
210
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 7 External Interrupt Controller
7.2 External Interrupt Controller Registers
MB91345 Series
7.2.2
External Interrupt Factor Register (EIRR0 to EIRR2)
EIRR is a register that indicates a corresponding external interrupt request exists when
reading, and that clears a content of the flip-flop showing this request when writing.
■ Bit Configuration of External Interrupt Factor Register (EIRR0 to EIRR2)
Following figure shows the bit configuration of the external interrupt factor register.
Figure 7.2-2 Bit Configuration of External Interrupt Factor Register (EIRR0 to EIRR2)
EIRR0
Address
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
000040H
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
0000C0H
ER15
ER14
ER13
ER12
ER11
ER10
ER9
ER8
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
0000C4H
ER23
ER22
ER21
ER20
ER19
ER18
ER17
ER16
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EIRR1
EIRR2
R/W:
Readable/writable
When the EIRR register is read, Operation depends on the value that is read.
If the value is "1", there is an external interrupt request at the pin corresponding to the bit.
Write "0" to this register to clear the request flip-flop of the corresponding bit.
Writing "1" to this register is invalid.
"1" is read in a read operation of the read-modify-write (RMW) instruction.
Depending on a pin state, the external interrupt factor register can be "1" even if "0" is written to the
corresponding bit of the enable external interrupt register.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
211
CHAPTER 7 External Interrupt Controller
7.2 External Interrupt Controller Registers
7.2.3
MB91345 Series
External Interrupt Request Level Setting Register
(ELVR0 to ELVR2)
ELVR is a register to select request detection.
■ Bit Configuration of External Interrupt Request Level Setting Register (ELVR0 to
ELVR2)
Following figure shows the bit configuration of the external interrupt request level setting register.
Figure 7.2-3 Bit Configuration of External Interrupt Request Level Setting Register (ELVR0 to ELVR2)
ELVR0
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000042H
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000043H
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000C2H
LB15
LA15
LB14
LA14
LB13
LA13
LB12
LA12
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
0000C3H
LB11
LA11
LB10
LA10
LB9
LA9
LB8
LA8
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000C6H
LB23
LA23
LB22
LA22
LB21
LA21
LB20
LA220
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
0000C7H
LB19
LA19
LB18
LA18
LB17
LA17
LB16
LA16
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ELVR1
ELVR2
R/W:
Readable/writable
Two bits are assigned to each of external interrupt channels, and the settings are as shown below.
When each bit of the EIRR is cleared while the level is in the request input level, an appropriate bit is set
again as long as the input is at active level.
212
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 7 External Interrupt Controller
7.2 External Interrupt Controller Registers
MB91345 Series
Note:
Changing the external interrupt request level may cause an interrupt source internally. After
changing the external interrupt request level, therefore, clear the external interrupt source register
(EIRR). Before writing to clear the external interrupt source register, read external interrupt request
level register once.
Table 7.2-1 shows assignments of ELVR.
Table 7.2-1 Assignment of ELVR
LBx LAx
Operation
00
"L" level with a request [Initial value]
01
"H" level with a request
10
Rising edge with a request
11
Falling edge with a request
Note:
Any request level can be set for returning from STOP.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
213
CHAPTER 7 External Interrupt Controller
7.3 Operation of External Interrupt Controller
7.3
MB91345 Series
Operation of External Interrupt Controller
This section describes the operation of the external interrupt controller.
■ Operation of External Interrupt
If, after a request level and an enable register are defined, a request defined in the ELVR register is input to
the corresponding pin, this module generates an interrupt request signal to the interrupt controller. For
simultaneous interrupt requests from the resources, the interrupt controller determines the interrupt request
with the highest priority and generates an interrupt for it.
Figure 7.3-1 shows the external interrupt operation.
Figure 7.3-1 External Interrupt Operation.
External interrupt
ELVR
Resource
request
ICR yy
EIRR
ENIR
CPU
Interrupt controller
IL
CMP
ICR xx
CMP
ILM
Factor
■ Operation Procedure for an External Interrupt
Set up a register located inside the external interrupt controller as follows.
1. Set the general-purpose I/O port served dual use as external interrupt input pin as the input port.
2. Disable the target bit in the enable interrupts register (ENIR).
3. Set the target bit in the Eexternal interrupt request level setting register (ELVR).
4. Read the Eexternal interrupt request level setting register (ELVR).
5. Clear the target bit in the enable interrupts register (ENIR).
6. Enable the target bit in the enable interrupts register (ENIR).
However, simultaneous writing of 16-bit data is allowed for step 5. and 6.
Before setting a register in this module, you must disable the enable register. In addition, before enabling
the enable register, you must clear the factor register. This procedure is required to prevent an interrupt
factor from generating by mistake while a register is being set or an interrupt is enabled.
214
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 7 External Interrupt Controller
7.3 Operation of External Interrupt Controller
MB91345 Series
■ External Interrupt Request Level
If the request level is an edge request, a pulse width of at least three machine cycles (peripheral clock
machine cycles) is required to detect an edge.
If the request level is a level setting, a pulse width of at least 3 machine cycles is required. As long as the
interrupt input pin retains the active level, the interrupt to the interrupt controller has kept occurring even if
you clear the factor register.
The factor register must be cleared to cancel a request to the interrupt controller.
Figure 7.3-2 shows clearing the factor retaining circuit when a level is set.
Figure 7.3-2 Clearing the Factor Retaining Circuit when a Level is Set
Interrupt input
Level detection
Factor F/F
(Factor retaining circuit)
Enable gate
Interrupt controller
Retaining the factor unless it is cleared
Figure 7.3-3 shows the interrupt factor and interrupt request to the interrupt controller when interrupts are
enabled.
Figure 7.3-3 Interrupt Factor and Interrupt Request to Interrupt Controller when Interrupts are Enabled
"H" level
Interrupt input
Interrupt request to
interrupt controller
CM71-10132-3E
Becomes inactive when the factor F/F is cleared
FUJITSU SEMICONDUCTOR LIMITED
215
CHAPTER 7 External Interrupt Controller
7.3 Operation of External Interrupt Controller
216
FUJITSU SEMICONDUCTOR LIMITED
MB91345 Series
CM71-10132-3E
CHAPTER 8
REALOS-Related Hardware
REALOS-related hardware is used by real-time operating
systems. Therefore, if REALOS is used, it cannot be
used in a user program.
8.1 Delayed Interrupt Module
8.2 Bit Search Module
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
217
CHAPTER 8 REALOS-Related Hardware
8.1 Delayed Interrupt Module
8.1
MB91345 Series
Delayed Interrupt Module
This section describes an overview of delayed interrupt module, configuration/feature
of a register, and its operations.
■ Overview of Delayed Interrupt Module
Delayed interrupt module is a module used to generate an interrupt for task switch.
This module allows the software to generate or cancel interrupt requests for the CPU.
218
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 8 REALOS-Related Hardware
8.1 Delayed Interrupt Module
MB91345 Series
8.1.1
Overview of delayed interrupt module
This section describes register list, description, and operations of delayed interrupt
module.
■ Register List of Delayed Interrupt Module
The figure below shows register list of delayed interrupt module.
Figure 8.1-1 Register list of delayed interrupt module
DICR
Address
00000044H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value







DLYI
00000000B
R/W
R/W:
Readable/writable
■ Block Diagram of Delayed Interrupt Module
Figure 8.1-2 shows block diagram of the delayed interrupt module.
Figure 8.1-2 Block Diagram of Delayed Interrupt Module
R-bus
Interrupt request
CM71-10132-3E
DLYI
FUJITSU SEMICONDUCTOR LIMITED
219
CHAPTER 8 REALOS-Related Hardware
8.1 Delayed Interrupt Module
8.1.2
MB91345 Series
Register of Delayed Interrupt Module
This section describes register configuration and features of the delayed interrupt
module.
■ Delayed Interrupt Module Register (DICR)
DICR is a register used to control a delayed interrupt.
The figure below shows a bit configuration of the delayed interrupt module register (DICR).
Figure 8.1-3 Bit Configuration of Delayed Interrupt Module Register (DICR)
DICR
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value







DLYI
00000000B
000044H
R/W
R/W:
Readable/writable
[bit0] DLYI
This bit is used to control whether to generate or cancel the appropriate interrupt trigger.
DLYI
220
Description
0
Cancels a delayed interrupt trigger. No request. [Initial value]
1
Generates a delayed interrupt trigger.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
8.1.3
CHAPTER 8 REALOS-Related Hardware
8.1 Delayed Interrupt Module
Operation of Delayed Interrupt Module
Delayed interrupt is used to generate an interrupt to switch multiple tasks. This feature
allows the software to generate or cancel interrupt requests for the CPU.
■ Interrupt No.
Delayed interrupt is assigned to an interrupt trigger corresponding to the largest interrupt No.
MB91345 series assigns a delayed interrupt to interrupt No. 63 (3FH).
■ DLYI Bit of DICR
If this bit is written as "1", a delayed interrupt trigger is generated. If this bit is written as "0", a delayed
interrupt trigger is canceled.
This bit is the same as interrupt trigger flags used for general interrupt. This bit must be cleared within the
interrupt routine. At the same time, ensure to switch tasks.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
221
CHAPTER 8 REALOS-Related Hardware
8.2 Bit Search Module
8.2
MB91345 Series
Bit Search Module
This section describes an overview of bit search module, configuration/feature of a
register, and its operations.
■ Overview of Bit Search Module
Bit search module searches the data written in input registers for "0", "1" or a change point in order to
return a detected bit position.
222
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 8 REALOS-Related Hardware
8.2 Bit Search Module
MB91345 Series
8.2.1
Overview of Bit Search Module
This section describes a register configuration and features of the bit search module.
■ Register List of Bit Search Module
The figure below shows register list of bit search module.
Figure 8.2-1 Register List of Bit Search Module
bit31
bit0
Address: 000003F0H
BSD0
Data register for detecting 0
Address: 000003F4H
BSD1
Data register for detecting 1
Address: 000003F8H
BSDC
Data register for detecting a change point
Address: 000003FCH
BSRR
Detection result register
■ Block Diagram of Bit Search Module
Figure 8.2-2 shows block diagram of the bit search module.
Figure 8.2-2 Block Diagram of Bit Search Module
D-bus
Input latch
Address decoder
Detecting mode
1 detection data coding
Bit search circuit
Search results
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
223
CHAPTER 8 REALOS-Related Hardware
8.2 Bit Search Module
8.2.2
MB91345 Series
Register of Bit Search Module
This section describes a register configuration and features of the bit search module.
■ Data Register for Detecting 0 (BSD0)
This data register detects "0" from values written.
The figure below shows a register configuration of the data register for detecting 0 (BSD0).
Figure 8.2-3 Configuration of Data Register for Detecting 0 (BSD0)
Address:
bit31
bit0
000003F0H
Attribute
Initial value
:Write only
:XXXXXXXXH
Initial value by the reset procedure is indeterminate. The read value is indeterminate.
Use 32-bit length data transfer command for data transfer. (Do not use 8-bit and 16-bit length data transfer
commands.)
■ Data Register for Detecting 1 (BSD1)
The figure below shows a register configuration of the data register for detecting 1 (BSD1).
Figure 8.2-4 Configuration of Data Register for Detecting 1 (BSD1)
Address:
bit31
bit0
000003F4H
Attribute
Initial value
:Readable/writable
:XXXXXXXXH
Use 32-bit length data transfer command for data transfer. (Do not use 8-bit and 16-bit length data transfer
commands.)
• When it writes : This data register detects "1" from values written.
• When it reads : Save data for internal state of bit search module is read.
This is used to save or restore the previous state when interrupt handlers use the bit search module.
If data is written into the data register for detecting 0 or for detecting a change point, it can be saved or
restored since only the data register for detecting "1" is operated.
Initial value by the reset procedure is indeterminate.
224
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 8 REALOS-Related Hardware
8.2 Bit Search Module
MB91345 Series
■ Data Register for Detecting a Change Point (BSDC)
This data register detects a change point from values written.
The figure below shows a register configuration of the data register for detecting a change point (BSDC).
Figure 8.2-5 Configuration of Data Register for Detecting a Change Point (BSDC)
Address:
bit31
bit0
000003F8H
Attribute
Initial value
:Write only
:XXXXXXXXH
Initial value by the reset procedure is indeterminate.
The read value is indeterminate.
Use 32-bit length data transfer command for data transfer. (Do not use 8-bit and 16-bit length data transfer
commands.)
■ Detection Result Register (BSRR)
This data register reads detection results for detecting 0, for detecting 1 and for detecting a change point.
Detection results which will be read are determined by the most recently written data register.
The figure below shows a register configuration of the detection result register (BSRR).
Figure 8.2-6 Configuration of Detection Result Register (BSRR)
Address:
bit31
bit0
000003FCH
Attribute
Initial value
CM71-10132-3E
:Read only
:XXXXXXXXH
FUJITSU SEMICONDUCTOR LIMITED
225
CHAPTER 8 REALOS-Related Hardware
8.2 Bit Search Module
8.2.3
MB91345 Series
Operation of Bit Search Module
This section describes the operation of bit search module.
■ For Detecting 0
It scans data written into the data register for detecting 0 from MSB to LSB and returns the position where
the first "0" is detected.
Detection result is obtained by reading the detection result register. Table 8.2-1 shows the relationship
between detected position and returned value.
When there is no "0" (i.e. the value of FFFFFFFFH), the value of 32 will be returned for search results.
[Execution example]
Written data
Read value (decimal)
11111111111111111111000000000000B (FFFFF000H)

20
11111000010010011110000010101010B (F849E0AAH)

5
10000000000000101010101010101010B (8002AAAAH)

1
11111111111111111111111111111111B (FFFFFFFFH)

32
■ For Detecting 1
It scans data written into the data register for detecting 1 from MSB to LSB and returns the position where
the first "1" is detected.
Detection result is obtained by reading the detection result register. Table 8.2-1 shows the relationship
between detected position and returned value.
When there is no "1" (i.e. the value of 00000000H), the value of 32 will be returned for search results.
[Execution example]
Written data
226
Read value (decimal)
00100000000000000000000000000000B (20000000H)

2
00000001001000110100010101100111B (01234567H)

7
00000000000000111111111111111111B (0003FFFFH)

14
00000000000000000000000000000001B (00000001H)

31
00000000000000000000000000000000B (00000000H)

32
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 8 REALOS-Related Hardware
8.2 Bit Search Module
MB91345 Series
■ For Detecting a Change Point
It scans data written into the data register for detecting a change point from bit30 to LSB and compares it
with the value of MSB.
It returns the position where the value different from MSB is detected first. Detection result is obtained by
reading the detection result register.
Table 8.2-1 shows the relationship between detected position and returned value.
When there is no change point, the value of 32 will be returned. For detecting a change point, "0" will
never be returned for search results.
[Execution example]
Written data
Read value (decimal)
00100000000000000000000000000000B (20000000H)

2
00000001001000110100010101100111B (01234567H)

7
00000000000000111111111111111111B (0003FFFFH)

14
00000000000000000000000000000001B (00000001H)

31
00000000000000000000000000000000B (00000000H)

32
11111111111111111111000000000000B (FFFFF000H)

20
11111000010010011110000010101010B (F849E0AAH)

5
10000000000000101010101010101010B (8002AAAAH)

1
11111111111111111111111111111111B (FFFFFFFFH)

32
Table 8.2-1 shows bit position and returned value (decimal).
Table 8.2-1 Bit Position and Returned Value (Decimal)
CM71-10132-3E
Detected bit
position
Returned
value
Detected bit
position
Returned
value
Detected bit
position
Returned
value
Detected bit
position
Returned
value
31
0
23
8
15
16
7
24
30
1
22
9
14
17
6
25
29
2
21
10
13
18
5
26
28
3
20
11
12
19
4
27
27
4
19
12
11
20
3
28
26
5
18
13
10
21
2
29
25
6
17
14
9
22
1
30
24
7
16
15
8
23
0
31
N/A
32
FUJITSU SEMICONDUCTOR LIMITED
227
CHAPTER 8 REALOS-Related Hardware
8.2 Bit Search Module
MB91345 Series
■ Save and Restoration Procedures
If internal state of bit search module is required to save or to restore, in case that bit search module is used
during the interrupt handlers, follow the procedures below.
(1) Read the data register for detecting 1 and store it. (= Save)
(2) Use a bit search module.
(3) Write the data which was saved in step (1) into the data register for detecting 1 (= Return).
This procedure allows you to obtain the data written into bit search module before step (1), if detection
result register is read next time.
If most recently written data register is the data register for detecting 0 or the data register for detecting a
change point, it can be restored correctly using above procedure.
228
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 9
16-bit Reload Timer
This chapter describes register configuration and
feature of 16-bit reload timer and its timer operation.
9.1 Overview of 16-bit Reload Timer
9.2 Register of 16-bit Reload Timer
9.3 Operation of 16-bit Reload Timer
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
229
CHAPTER 9 16-bit Reload Timer
9.1 Overview of 16-bit Reload Timer
9.1
MB91345 Series
Overview of 16-bit Reload Timer
16-bit reload timer is composed of the 16-bit down counter, the 16-bit reload register,
the internal count, the prescaler for generating clock and the control register.
■ Overview of 16-bit Reload Timer
16-bit reload timer is composed of the 16-bit down counter, the 16-bit reload register, the internal count,
the prescaler for creating clock and the control register.
For the clock source, you can select three types of internal clocks (the peripheral clock divided by 2, by 8,
or by 32) or external events.
■ Block Diagram of 16-bit Reload Timer
Figure 9.1-1 shows block diagram of the 16-bit reload timer.
Figure 9.1-1 Block Diagram of the 16-bit Reload Timer.
16-bit reload register
(TMRLR)
Reload
R-bus
16-bit down counter
(TMR)
RELD
UF
OUTL
OUT
CTL
Count
enabled
INTE
UF
IRQ
CNTE
TRG
Clock
selector
CSL1
CSL0
EXCK
External timer
output
IN CTL
TOE0 to TOE3
Prescaler
Prescaler
cleared
CSL1
CSL0
External
trigger
selection
Bits in PFRK
External trigger input
φ
230
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 9 16-bit Reload Timer
9.2 Register of 16-bit Reload Timer
MB91345 Series
9.2
Register of 16-bit Reload Timer
This section describes register configuration and feature used by the 16-bit reload
timer.
■ Register List of 16-bit Reload Timer
Figure 9.2-1 Register List of 16-bit Reload Timer
TMCSR (high byte)
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value




CSL1
CSL0
MOD2
MOD1
----0000B




R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
MOD0

OUTL
RELD
INTE
UF
CNTE
TRG
00000000B
R/W
R
R/W
R/W
R/W
R/W
R/W
R/W
TMCSR (low byte)
TMR
bit15
bit0
Initial value
XXXXH
R
TMRLR
bit15
bit0
Initial value
XXXXH
W
R/W: Readable/writable
R:
Read only
W:
Write only
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
231
CHAPTER 9 16-bit Reload Timer
9.2 Register of 16-bit Reload Timer
9.2.1
MB91345 Series
Control Status Register (TMCSR)
Control status register (TMCSR) is used to control the operation mode and an interrupt
of the 16-bit reload timer.
■ Bit Configuration of the Control Status Register (TMCSR)
Figure 9.2-2 Bit Configuration of the Control Status Register (TMCSR)
TMCSR (high byte)
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value




CSL1
CSL0
MOD2
MOD1
----0000B




R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value

OUTL
RELD
INTE
UF
CNTE
TRG
00000000B
R
R/W
R/W
R/W
R/W
R/W
R/W
ch.0 00004EH
ch.1 000056H
ch.2 00005EH
TMCSR (low byte)
Address
ch.0 00004FH MOD0
ch.1 000057H R/W
ch.2 00005FH
R/W: Readable/writable
R:
Read only
[bit15 to bit12] Reserved: Reserved bits
These are reserved bits.
The read value is always "0000B".
[bit11, bit10] CSL1, CSL0: Count source selection bits
These are count source selection bits. Count source is used to select internal clocks and external events.
The following count sources are available for selection.
Count source
(: Peripheral clock)
 = 25 MHz
CSL1
CSL0
0
0
Internal clock
/21 [Initial value]
80 ns
0
1
Internal clock
/23
320 ns
1
0
Internal clock
/25
1.28 µs
1
1
External events

If external events are set as count source, count effective edge is set by MOD1 and MOD0 bits.
Minimum pulse width required for the external clock is 2  T (T: peripheral clock cycle).
232
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 9 16-bit Reload Timer
9.2 Register of 16-bit Reload Timer
MB91345 Series
[bit9 to bit7] MOD2, MOD1, MOD0: Mode bits
These bits are used to select the operation mode. Different functions will be set whether "Internal clock"
or "external clock" is selected for the count source.
• When it is a internal clock mode: Reload trigger is set.
• When it is a external clock mode: Count effective edge is set.
Set "0" always for MOD2.
[Setting reload trigger when internal clock is selected]
If the internal clock is selected for the count source when effective edge is input based on the setting of
MOD2 through MOD0 bits, the data of reload register is loaded and count operation is carried on.
MOD2
MOD1
MOD0
Effective edge
0
0
0
Software trigger [Initial value]
0
0
1
External triggers (Rising edge)
0
1
0
External triggers (Falling edge)
0
1
1
External triggers (Both edges)
1
X
X
Setting disabled.
[Setting effective edge when external clock is selected]
If the external clock event is set for the count source when effective edge is input based on the setting of
MOD2 through MOD0 bits, events will be counted.
MOD2
MOD1
MOD0
Effective edge
X
0
0
- [Initial value]
X
0
1
External triggers (Rising edge)
X
1
0
External triggers (Falling edge)
X
1
1
External triggers (Both edges)
When the external event is set, reload is generated by underflow and software trigger.
[bit6] Reserved: Reserved bit
This is reserved bit.
The read value is always "0".
[bit5] OUTL: Output level
This bit is used to set the external timer output level. Output level is inverted whether this bit is "0" or
"1".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
233
CHAPTER 9 16-bit Reload Timer
9.2 Register of 16-bit Reload Timer
MB91345 Series
[bit4] RELD: Reload enable bit
This is a reload enable bit. When "1" is set to this bit, it will be in the reload mode. When the counter
value underflows from "0000H" to "FFFFH", the data of reload register is loaded to the counter and
count operation is carried on.
When "0" is set to this bit, it will be in the one-shot mode. When the counter value underflows from
"0000H" to "FFFFH", the count operation is stopped.
PFRxy*
OUTL
RELD
Output waveform
0
X
X
Disables output. [Initial value]
1
0
0
"H" rectangular wave during the counting.
1
1
0
"L" rectangular wave during the counting.
1
0
1
"L" toggle output when the count is started.
1
1
1
"H" toggle output when the count is started.
*: PFRxy represents the PFR register value corresponding to the pin.
[bit3] INTE: Interrupt enable bit
This is an interrupt request enable bit. When "1" is set to this bit and UF bit becomes "1", interrupt
request is generated. When "0" is set to this bit, no interrupt request is generated.
[bit2] UF: Underflow interrupt flag
This is a timer interrupt request flag. When the counter value underflows from "0000H" to "FFFFH",
this bit is set to "1". When "0" is written to this bit, it is cleared.
If this bit is written as "1", it will be useless.
When Read/Modify/Write commands are used for reading, read value will be "1".
[bit1] CNTE: Count enable bit
This is a count enable bit of a timer. If this bit is written as "1", it will be in the status waiting for startup
trigger. If this bit is written as "0", the count operation is stopped.
[bit0] TRG: Trigger bit
This is a software trigger bit. If this bit is written as "1", software trigger occurs and the data of reload
register is loaded into the counter and count operation is started.
If this bit is written as "0", it will be useless. The read value is always "0".
Trigger input using this register will be enabled only if CNTE is "1". If CNTE is "0", it does not affect
the operation.
Note:
To rewrite a bit except UF, CNTE, or TRG bit, ensure to rewrite it when CNTE is "0".
234
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 9 16-bit Reload Timer
9.2 Register of 16-bit Reload Timer
MB91345 Series
9.2.2
16-bit Timer Register (TMR)
16-bit timer register (TMR) is used to read the count value of 16-bit timer.
■ Bit Configuration of the 16-bit Timer Register (TMR)
Figure 9.2-3 Bit Configuration of the 16-bit Timer Register (TMR)
TMR
Address
ch.0 00004AH
ch.1 000052H
ch.2 00005AH
bit15
bit0
Initial value
XXXXH
R
R: Read only
This register allows reading the count value of 16-bit timer. Initial value is indeterminate. Make sure to use
16-bit data transfer commands to read this register.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
235
CHAPTER 9 16-bit Reload Timer
9.2 Register of 16-bit Reload Timer
9.2.3
MB91345 Series
16-bit Reload Register (TMRLR)
16-bit reload register (TMRLR) is used to hold the initial value of the counter.
■ Bit Configuration of the 16-bit Reload Register (TMRLR)
Figure 9.2-4 Bit Configuration of the 16-bit Reload Register (TMRLR)
TMRLR
Address
ch.0 000048H
ch.1 000050H
ch.2 000058H
bit15
bit0
Initial value
XXXXH
W
W: Write only
This register is used to hold the initial value of the counter. Initial value is indeterminate. Make sure to use
16-bit data transfer commands to read this register.
236
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 9 16-bit Reload Timer
9.3 Operation of 16-bit Reload Timer
MB91345 Series
9.3
Operation of 16-bit Reload Timer
This section describes the following operations of the 16-bit reload timer.
• Internal clock operations
• Underflow operations
• Output pin functions
■ Internal Clock Operations
If the timer is operated using division clock of internal clock, you can select peripheral clock divided by 2,
by 8, or by 32 for the count source.
To start the count operation along with count enable, write "1" into both of CNTE bit and TRG bit in the
control status register.
Trigger input by TRG bit is always enabled when the timer is activated (when CNTE is "1") regardless of
the operation mode.
For the time between the counter start trigger is input and the data of reload register is loaded into the
counter, time of T is required (Peripheral clock machine cycle)
Figure 9.3-1 Counter Activation and Operation.
Count clock
Counter
Reload data
-1
-1
-1
Data load
CNTE bit
TRG bit
T
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
237
CHAPTER 9 16-bit Reload Timer
9.3 Operation of 16-bit Reload Timer
MB91345 Series
■ Underflow Operations
Underflow is regarded as the time when the counter value changes from "0000H" to "FFFFH". Therefore,
the [Reload register setting value + 1] count generates underflow.
When underflow is generated and RELD bit in control status register is "1", the data of reload register is
loaded into the counter and count operation is carried on. When RELD bit is "0", the counter stops at the
"FFFFH".
[RELD=1]
Figure 9.3-2 Underflow operations
Count clock
Counter
0000H
Reload data
-1
-1
-1
Data load
Underflow set
[RELD=0]
Figure 9.3-3 Underflow operations
Count clock
Counter
0000H
FFFFH
Underflow set
■ Output Pin Functions
TOT output pin plays a role of the toggle output inverted by underflow when it is in reload mode, and plays
a role of the pulse output that indicates that counting is in progress when it is in one-shot mode. Output
polarity can be set using the OUTL bit of the register. When OUTL is "0", initial value of the toggle output
is "0" and the one-shot pulse output outputs "1" during the counting. When OUTL is "1", output waveform
is inverted.
Figure 9.3-4 Output Pin Functions [RELD=1, OUTL=0]
Count is started
Underflow
TOT0 to TOT2
CNTE
It is inverted when
OUTL is “1”.
General
port
Activation trigger
238
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 9 16-bit Reload Timer
9.3 Operation of 16-bit Reload Timer
MB91345 Series
Figure 9.3-5 Output Pin Functions [RELD=0, OUTL=0]
Count is started.
Underflow
It is inverted
when OUTL
is “1”
TOT0 to TOT2
CNTE
General
port
Activation trigger
Status waiting for the activation trigger
■ Operation Status of the Counter
Counter status is determined by CNTE bit in the control status register and the WAIT signal of the internal
signal. Available status for setting is the stop status when CNTE is "0" and WAIT is "1" (STOP status), the
status waiting for startup trigger when CNTE is "1" and WAIT is "1" (WAIT status), and the running status
when CNTE is "1" and WAIT is "0" (RUN status).
Figure 9.3-6 Status Transition of the Counter
Status transition caused by hardware
Reset
Status transition caused by register accesses
STOP
CNTE=0,WAIT=1
The counter holds the value
when it is stopped.
Right after the reset, it is
indeterminate.
CNTE=1
TRG=0
WAIT
CNTE=1
TRG=1
CNTE=1,WAIT=1
RUN
The counter holds the value
when it is stopped.
Right after the reset, it is
indeterminate until the load.
RELD·UF
TRG=1
LOAD
CNTE=1,WAIT=0
Counter is running.
TRG=1
CNTE=1,WAIT=0
RELD·UF
The data of reload register
is loaded into the counter.
End of the load
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
239
CHAPTER 9 16-bit Reload Timer
9.3 Operation of 16-bit Reload Timer
MB91345 Series
■ Caution
• Internal prescaler is enabled for running when bit1 (Timer enable: CNTE) of the control status register
is set to "1" and the trigger (software trigger or external trigger) occurs.
• If the timing of setting the interrupt request flag and the timing of clear overlap, setting the flag has
priority and the clear operation is disabled
• If writing the data into 16-bit timer reload register and the timing of reload overlap, old data is loaded
into the counter and new data will be loaded into the counter at the next reload timing.
• In 16-bit timer register, if the load timing and the count timing overlap, the load (reload) operation has
priority.
240
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10
16-bit Compare Timer
This chapter describes the overview, the configuration
and functions of registers, and operation of the 16-bit
compare timer.
10.1 Overview of 16-bit Compare Timer
10.2 Block Diagram of 16-bit Compare Timer
10.3 Compare Timer Registers
10.4 Interrupt by the Compare Timer
10.5 Compare Timer Operation
10.6 Notes on Using the Compare Timer
10.7 Program Example of the Compare Timer
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
241
CHAPTER 10 16-bit Compare Timer
10.1 Overview of 16-bit Compare Timer
10.1
MB91345 Series
Overview of 16-bit Compare Timer
The compare timer consists of one 16-bit free-run timer, four 16-bit output compares,
and four 16-bit input captures.
■ Configuration of the Compare Timer
● 16-bit free-run timer ( 1)
• The 16-bit free-run timer consists of a 16-bit up counter, a control register, a 16-bit compare clear
register, and a prescaler.
• Nine types of counter operation clock settings can be selected (, /2, /4, /8, /16, /32, /64, /128,
and /256; : Peripheral clock).
• A compare clear interrupt is generated when the compare clear register and the 16-bit free-run timer are
compared and judged to be a match.
• When a reset, a software clear, or a compare match with the compare clear register occurs, the counter
value is reset to "0000H".
• The output value of this counter can be used as a clock count for the output compare and input capture.
● 16-bit output compare ( 4)
• The 16-bit output compare consists of four 16-bit compare registers, a compare output latch, and a
compare control register.
When the value of the 16-bit free-run timer matches with the compare register, an interrupt is generated
and the output level is inverted.
• These four compare registers can be operated independently. The output pins and interrupt flags
correspond to the compare registers respectively.
• You can pair the two compare registers to control the output pin. The output pin is inverted by using two
compare registers together.
• The initial value of each output pin can be specified.
• An interrupt is generated when the output compare register matches with the 16-bit free-run timer.
● 16-bit input capture ( 4)
• The input capture consists of four independent external input pins, and capture registers and capture
control registers corresponding to the pins. When the edge of an input signal is detected at the external
pin, the value of the 16-bit free-run timer can be stored in the capture register, and an interrupt is
generated simultaneously.
• For the external input signal, three types of trigger edges (rising edge, falling edge, and both edges) can
be selected.
• These four input captures can be operated independently.
• An interrupt is generated when a valid edge from the external input is detected.
242
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.2 Block Diagram of 16-bit Compare Timer
MB91345 Series
10.2
Block Diagram of 16-bit Compare Timer
This section shows the block diagram of the compare timer.
■ Block Diagram of the Compare Timer
Figure 10.2-1 Block Diagram of the Compare Timer
→ Output compare 0
Interrupt
Interrupt
Interrupt
Interrupt
→ Output compare 1
→ Output compare 2
→ Output compare 3
16-bit
output compare
RT0 to RT3
Data transfer
from buffer
RT0 to RT3
Counter
value
→ Zero detection 0
Internal data bus
Interrupt
Interrupt
→ Compare clear 0
16-bit
free-run timer
EXCK
Counter
value
Interrupt
Interrupt
Interrupt
Interrupt
FRCK0
Input capture 0
Input capture 1
Input capture 2
Input capture 3
16-bit
input capture
IC0 to IC3
CM71-10132-3E
IC0 to IC3
FUJITSU SEMICONDUCTOR LIMITED
243
CHAPTER 10 16-bit Compare Timer
10.2 Block Diagram of 16-bit Compare Timer
MB91345 Series
■ Block Diagram of the 16-bit Free-run Timer
Figure 10.2-2 Block Diagram of the 16-bit Free-run Timer
φ
STOP
STOP
SCLR
CLK2
CLK1
CLK0
Prescaler
CLR
STOP
16-bit free-run timer
CK
To input capture and
output compare
Transfer
16-bit compare
clear register
Internal data bus
Compare circuit
Interrupt
ICLE
244
Compare clear match
(to output compare)
ICLF
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.2 Block Diagram of 16-bit Compare Timer
MB91345 Series
■ Block Diagram of the 16-bit Output Compare
Figure 10.2-3 Block Diagram of the 16-bit Output Compare
Count value from free-run timer
Compare register 0, 2
Internal data bus
Compare circuit
Compare register 1, 3
Compare circuit
IOP1
IOP0
IOE1
IOE0
Interrupt
Interrupt
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
245
CHAPTER 10 16-bit Compare Timer
10.2 Block Diagram of 16-bit Compare Timer
MB91345 Series
■ Block Diagram of the 16-bit Input Capture
Figure 10.2-4 Block Diagram of the 16-bit Input Capture
Count value from free-run timer
Capture register 0
Edge detection
ICP0
ICE0
EG01
EG00
IC0
IEI0
Interrupt 0
Internal data bus
Capture register 1
Edge detection
ICP1
ICE1
EG11
EG10
IC1
IEI1
Interrupt 1
Capture register 2
Edge detection
ICP2
ICE2
EG21
EG20
IC2
IEI2
Interrupt 2
Capture register 3
Edge detection
ICP3
ICE3
EG31
EG30
IC3
IEI3
Interrupt 3
246
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
10.3
Compare Timer Registers
This section describes the registers used for the compare timer.
■ Registers of the 16-bit Free-run Timer
Figure 10.3-1 Registers of the 16-bit Free-run Timer
Compare clear buffer register, compare clear register (High order)
CPCLRBH/CPCLRH
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
0000D0H
CL15
CL14
CL13
CL12
CL11
CL10
CL09
CL08
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare clear buffer register, compare clear register (Low order)
CPCLRBL/CPCLRL
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000D1H
CL07
CL06
CL05
CL04
CL03
CL02
CL01
CL00
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Timer data register (High order)
TCDTH
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
0000D2H
T15
T14
T13
T12
T11
T10
T09
T08
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Timer data register (Low order)
TCDTL
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000D3H
T07
T06
T05
T04
T03
T02
T01
T00
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
(Continued)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
247
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
(Continued)
Timer status control register (High order)
TCCSH
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
0000D4H
ECKE





ICLR
ICRE
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Timer status control register (Low order)
TCCSL
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000D5H

STOP

SCLR
CLK3
CLK2
CLK1
CLK0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
248
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
■ Registers of the 16-bit Output Compare
Figure 10.3-2 Registers of the 16-bit Output Compare
Output compare buffer register, output compare register (High order)
OCCPBH0 to 3/OCCPH0 to 3
Address
0000E8H
0000EAH
0000ECH
0000EEH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
XXXXXXXXB
OP15
OP14
OP13
OP12
OP11
OP10
OP09
OP08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit1
bit0
Initial value
XXXXXXXXB
Output compare buffer register, output compare register (Low order)
OCCPBL0 to 3/OCCPL0 to 3
Address
0000E9H
0000EBH
0000EDH
0000EFH
bit7
bit6
bit5
bit4
bit3
bit2
OP07
OP06
OP05
OP04
OP03
OP02
OP01
OP00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare control register 1, 3 (High order)
OCSH01, OCSH23
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
0000F0H
0000F2H



CMOD


OTD1
OTD0
11101100B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare control register 0, 2 (Low order)
OCSL01, OCSL23
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000F1H
0000F2H
IOP1
IOP0
IOE1
IOE0


CST1
CST0
00001100B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
249
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
■ Registers of the 16-bit Input Capture
Figure 10.3-3 Registers of the 16-bit Input Capture
Input capture data register (High order)
IPCPH0 to IPCPH3
Address
0000DCH
0000DEH
0000E0H
0000E2H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
XXXXXXXXB
CP15
CP14
CP13
CP12
CP11
CP10
CP09
CP08
R
R
R
R
R
R
R
R
Input capture data register (Low order)
IPCPL0 to IPCPL3
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000DDH
0000DFH
0000E1H
0000E3H
CP07
CP06
CP05
CP04
CP03
CP02
CP01
CP00
XXXXXXXXB
R
R
R
R
R
R
R
R
Input capture status control register (ch.2, ch.3) (High order)
ICSH23
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
0000E6H






IEI3
IEI2
XXXXXX00B






R
R
Input capture status control register (ch.0, ch.1) (High order)
ICSH01
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
0000E4H






IEI3
IEI2
XXXXXX00B






R
R
Input capture status control register (ch.2, ch.3)
ICSL23
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000E7H
ICP3
ICP2
ICE3
ICE2
EG31
EG30
EG21
EG20
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Input capture status control register (ch.0, ch.1)
ICSL01
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000E5H
ICP1
ICP0
ICE1
ICE0
EG11
EG10
EG01
EG00
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
R:
Read only
250
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
10.3.1
Compare Clear Register (CPCLRB/CPCLR)
The compare clear register (CPCLRB/CPCLR) is a 16-bit register which is used for the
comparison with the free-run timer.
■ Compare Clear Register (CPCLRB/CPCLR)
Figure 10.3-4 Compare Clear Register (CPCLRB/CPCLR)
Compare clear register (High order)
CPCLRBH/CPCLRH
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
0000D0H
CL15
CL14
CL13
CL12
CL11
CL10
CL09
CL08
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare clear register (Low order)
CPCLRBL/CPCLRL
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000D1H
CL07
CL06
CL05
CL04
CL03
CL02
CL01
CL00
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
The compare clear register is used to be compared with the count value of the 16-bit free-run timer. When
this register matches with the count value of the 16-bit free-run timer, the 16-bit free-run timer is reset to
"0000H". To access to this register, use a half-word or word access instruction.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
251
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
10.3.2
MB91345 Series
Timer Data Register (TCDTH/TCDTL)
The timer data register (TCDTH/TCDTL) is used to read the count value of the 16-bit
free-run timer.
■ Timer Data Register (TCDTH/TCDTL)
Figure 10.3-5 Timer Data Register (TCDTH/TCDTL)
Timer data register (High order)
TCDTH
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
0000D2H
T15
T14
T13
T12
T11
T10
T09
T08
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Timer data register (Low order)
TCDTL
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000D3H
T07
T06
T05
T04
T03
T02
T01
T00
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
The timer data register is used to read the count value of the 16-bit free-run timer. When a reset occurs, the
count value is immediately cleared to "0000H". The timer value can be specified by writing a value into this
register. The value, however, must be written while the timer has stopped (STOP (bit6) in the low-order
byte of the timer status control register (TCCSL) = 1). To access to the timer data register, use a half-word
or word access instruction.
The 16-bit free-run timer is initialized as soon as one of the following factors occurs:
• Reset
• Clear bit (SCLR: bit4) of the timer status control register (TCCSL) = 1
• The compare clear register matches with the timer count value.
252
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
10.3.3
Timer Status Control Register (TCCSH/TCCSL)
The timer status control register (TCCSH/TCCSL) is a 16-bit register which is used to
control the operation of the 16-bit free-run timer.
■ Timer Status Control Register, High-order Byte (TCCSH)
Figure 10.3-6 Timer Status Control Register, High-order Byte (TCCSH)
Timer status control register (higher order)
TCCSH
Address
bit15
0000D4H
ECKE
R/W
bit14
R/W
bit13
R/W
bit12
R/W
bit11
bit10
R/W
bit9
bit8
ICLR
ICRE
R/W
R/W
R/W
ICRE
Compare clear interrupt request permission bit
0
Disable interrupt requests.
1
Enable interrupt requests.
Compare clear interrupt flag bit
ICLR
Read
Write
0
Compare clear does not match.
This bit is cleared.
1
Compare clear matches.
This bit is not affected.
bit14 to bit10
ECKE
R/W : Readable/writable
: Reserved
: Initial value
CM71-10132-3E
Initial value: 00000000B
Reserved
0
Initial value
1
Setting disabled
Clock selection bit
0
Internal clock
1
External clock
FUJITSU SEMICONDUCTOR LIMITED
253
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
Table 10.3-1 Timer Status Control Register, High-order Byte (TCCSH)
Bit name
bit15
ECKE:
Clock selection
bit
bit14 to bit10 Reserved
254
bit9
ICLR:
Compare clear
interrupt flag bit
bit8
ICRE:
Compare clear
interrupt request
permission bit
Function
• This bit is used to select either of the internal clock or external clock to be
used as the count clock of the 16-bit free-run timer.
• When this bit is set to "0":
The internal clock is selected. To select the count clock frequency, you
also need to select the clock frequency selection bits (CLK3 to CLK0: bit3
to bit0) of the TCCSL register.
• When this bit is set to "1":
The external clock is selected. The external clock is input through the
FRCK0 pin. Consequently, you must enable the external clock input by
writing "0" into bit7 of the port direction register (DDR 1).
Note:
The count clock is changed as soon as this bit is set. Consequently, this bit
must be changed while the output compare and input capture have stopped.
These bits must be set to "0".
• When the compare clear value matches with the 16-bit free-run timer
value, this bit is set to "1".
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction operation, the read value is
always "1".
Note:
This bit is set to "1" when an interrupt specified with the interrupt mask
selection bit is generated.
When no interrupt is generated, this bit is not set to "1".
When this bit and the compare clear interrupt flag bit (ICLR: bit9) are set to
"1", an interrupt request to the CPU is generated.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
■ Timer Status Control Register, Low-order Byte (TCCSL)
Figure 10.3-7 Timer Status Control Register, Low-order Byte (TCCSL)
Timer status control register (low order)
TCCSL
bit7
bit6
bit5
Address:
STOP
0000D5H
R/W
R/W
R/W
bit4
bit3
bit2
bit1
bit0
SCLR
CLK3
CLK2
CLK1
CLK0
R/W
R/W
R/W
R/W
R/W
Initial value: 01000000B
Clock frequency selection bits
CLK3
CLK2
CLK1
CLK0
0
0
0
0
31.25ns
62.5ns
125ns
0.25µs
1µs
0
0
0
1
62.5ns
125ns
0.25µs
0.5µs
2µs
0
0
1
0
125ns
0.25µs
0.5µs
1µs
4µs
0
0
1
1
0.25µs
0.5µs
1µs
2µs
8µs
0
1
0
0
0.5µs
1µs
2µs
4µs
16µs
0
1
0
1
1µs
2µs
4µs
8µs
32µs
0
1
1
0
2µs
4µs
8µs
16µs
64µs
0
1
1
1
4µs
8µs
16µs
32µs
128µs
1
0
0
0
8µs
16µs
32µs
64µs
256µs
Count
clock
Other settings disabled
SCLR
0
1
R/W : Readable/writable
: Reserved
: Initial value
CM71-10132-3E
Timer clear bit
Read
Write
Read value is always "0".
The counter is not initialized.
The counter is initialized to "0000H".
bit5
Reserved
0
Initial value
1
Setting disabled
STOP
Timer permission bit
0
Enable (Start) counting.
1
Disable (Stop) counting.
bit7
Reserved
0
Initial value
1
Setting disabled
FUJITSU SEMICONDUCTOR LIMITED
255
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
Table 10.3-2 Timer Status Control Register, Low-order Byte (TCCSL)
Bit name
256
Function
bit7
Reserved
This bit must be set to "0".
bit6
• This bit is used to start/stop the count of the 16-bit free-run timer.
• When this bit is set to "0":
The count of the 16-bit free-run timer starts.
STOP:
• When this bit is set to "1":
Timer permission
The count of the 16-bit free-run timer stops.
bit
Note:
When the 16-bit free-run timer stops, the operation of the output compare
also stops.
bit5
Reserved
This bit must be set to "0".
bit4
SCLR:
Timer clear bit
• This bit is used to initialize the 16-bit free-run timer to "0000H".
• When this bit is set to "1":
The 16-bit free-run timer is initialized to "0000H" at the next count clock.
• The read value is always "0".
Note:
Even when "1" is written to this bit, a 0 detection interrupt is not generated.
If this bit is set to "1" and then "0" is written to this bit before the next
count clock, the timer is not cleared.
bit3
to
bit0
CLK3 to CLK0:
Clock frequency
selection bits
• These bits are used to select the count clock frequency of the 16-bit freerun timer.
• The count clock is changed as soon as these bits are set. Consequently,
these bits must be changed while the output compare and input capture
have stopped.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
10.3.4
Output Compare Register (OCCPH0 to OCCPH3/OCCPL0
to OCCPL3)
The output compare register (OCCPH0 to OCCPH3/OCCPL0 to OCCPL3) is a register
used for the comparison with the free-run timer.
■ Output Compare Register (OCCPH0 to OCCPH3/OCCPL0 to OCCPL3)
Figure 10.3-8 Output Compare Register (OCCPH0 to OCCPH3/OCCPL0 to OCCPL3)
Output compare register (High order)
OCCPH0 to OCCPH3
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
0000E8H
0000EAH
0000ECH
0000EEH
OP15
OP14
OP13
OP12
OP11
OP10
OP09
OP08
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Output compare register (Low order)
OCCPL0 to OCCPL3
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000E9H
0000EBH
0000EDH
0000EFH
OP07
OP06
OP05
OP04
OP03
OP02
OP01
OP00
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
The output compare register is a 16-bit register used to be compared with the count value of the 16-bit freerun timer. Before enabling the timer operation, set a value to the output compare register (OCCPH/
OCCPL).
When the value of the output compare register matches with the count value of the 16-bit free-run timer, a
compare signal is generated, and the compare match interrupt flag bit (IOP1, IOP0 (bit7, bit6) in the loworder byte of the compare control register (OCSL0, OCSL2) is set.
To access to this register, use a half-word or word access instruction.
The free-run timer described above concerns the operating status of the free-run timer selected by the
output compare.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
257
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
10.3.5
MB91345 Series
Compare Control Register (OCSH0 to OCSH3/OCSL0 to
OCSL3)
The compare control register is used to control the output level, output permission,
output level inversion mode, compare operation permission, compare match interrupt
permission, and compare match interrupt flag of RT0 to RT3.
■ Compare Control Register, High-order Byte (OCSH1, OCSH3)
Figure 10.3-9 Compare Control Register, High-order Byte (OCSH1, OCSH3)
Compare control register (High order)
OCSH1, OCSH3
bit14
bit15
bit13
Address
0000F0H
0000F2H
R/W
R/W
bit12
bit11
R/W
R/W
OTD0
0
1
OTD1
0
1
R/W : Readable/writable
: Reserved
: Initial value
258
bit10
CMOD
R/W
bit9
bit8
OTD1
OTD0
R/W
R/W
Initial value: 11101100B
Output level bit
Read
Write
Current output value of RT0, RT2
"0" is output from RT0, RT2
.
"1" is output from RT0, RT2
.
Output level bit
Read
Write
Current output value of RT1, RT3
"0" is output from RT1, RT3
.
"1" is output from RT1,RT3
bit10
Reserved
0
Initial value
1
Setting disabled
bit11
Reserved
0
Initial value
1
Setting disabled
CMOD
Output level inversion mode bit
0
RT0, RT2 : The level is inverted as sonn as the match with
compare registers 0, 2 occurs.
RT1, RT3 : The level is inverted as sonn as the match with
compare registers 1, 3 occurs.
1
RT0, RT2 : The level is inverted as sonn as the match with
compare registers 0, 2 occurs.
RT1, RT3 : The level is inverted as sonn as the match with
compare registers (0 or 1) and (2 or 3) occurs.
bit13
Reserved
0
Setting disabled
1
Initial value
bit14
Reserved
0
Setting disabled
1
Initial value
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
Table 10.3-3 Compare Control Register, High-order Byte (OCSH1, OCSH3)
Bit name
bit15
Unused bit
bit14,
bit13
Reserved bits
bit12
bit11,
bit10
Reserved bits
bit8
• The read value is indeterminate.
• Writing to this bit does not affect the operation.
This bit must be set to "1".
CMOD:
Output level
inversion mode
bit
bit9
Function
• This bit is used to switch the pin output level inversion mode as soon as a
match occurs while the pin output is enabled (OTE 1 = 1 or OTE 0 = 1).
• When this bit is set to "0":
And when the compare mode control register (OCMOD) (MOD1x) = 0,
- RT0, RT2: The level is inverted as soon as the 16-bit free-run timer
matches with compare registers 0, 2.
- RT1, RT3: The level is inverted as soon as the 16-bit free-run timer
matches with the compare registers 1, 3.
• When this bit is set to "1":
And when the compare mode control register (OCMOD) (MOD1x) = 0,
- RT0, RT2: The level is inverted as soon as the 16-bit free-run timer
matches with compare registers 0, 2.
- RT1, RT3: The level is inverted as soon as the 16-bit free-run timer
matches with the compare registers (0 or 1) and (2 or 3).
If the compare registers 0, 2 and 1, 3 have the same value, the operation is the
same as the case where only one compare register is used.
This bit must be set to "0".
OTD 1:
Output level bit
• This bit is used to change the pin output level of output compare
1, 3 (RT1, RT3).
• The initial value of the compare pin output is "0".
• Be sure to stop the compare operation before writing a value. The read
value of this bit indicates the output compare value for RT1, RT3.
OTD 0:
Output level bit
• This bit is used to change the pin output level of output compare
0, 2 (RT0, RT2).
• The initial value of the compare pin output is "0".
• Be sure to stop the compare operation before writing a value. The read
value of this bit indicates the output compare value for RT0, RT2.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
259
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
■ Compare Control Register, Low-order Byte (OCSL0, OCSL2)
Figure 10.3-10 Compare Control Register, Low-order Byte (OCSL0, OCSL2)
Compare control register (low order)
OCSL0, OCSL2
bit6
bit5
bit7
Address:
0000F1H
IOP1
IOP0
IOE1
0000F3H
R/W
R/W
R/W
bit4
bit3
R/W
R/W
CST0
bit0
CST0
R/W
R/W
Initial value:00001100B
Compare operation permission bit
Disable the compare operation of compare registers 0, 2.
1
Enable the compare operation of compare registers 0, 2.
Compare operation permission bit
0
Disable the compare operation of compare registers 1, 3.
1
Enable the compare operation of compare registers 1, 3.
bit2
Reserved
0
Setting disabled
1
Initial value
bit3
Reserved
0
Setting disabled
1
Initial value
IOE0
Compare match interrupt permission bit
0
Disable the compare match interrupt of compare registers 0, 2.
1
Enable the compare match interrupt of compare registers 0, 2.
IOE1
Compare match interrupt permission bit
0
Disable the compare match interrupt of compare registers 1, 3.
1
Enable the compare match interrupt of compare registers 1, 3.
IOP0
0
1
IOP1
0
260
R/W
bit1
CST1
0
CST1
R/W : Readable/writable
: Reserved
: Initial value
bit2
IOE0
1
Compare match interrupt flag bit
Read
Write
The compare match interrupt of
This bit is cleared.
compare registers 0, 2 does not occur.
The compare match interrupt of
This bit is not affected.
compare registers 0, 2 occurs.
Compare match interrupt flag bit
Read
The compare match interrupt of
compare registers 3 does not occur.
The compare match interrupt of
compare registers 3 occurs.
FUJITSU SEMICONDUCTOR LIMITED
Write
This bit is cleared.
This bit is not affected.
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
Table 10.3-4 Compare Control Register, Low-order Byte (OCSL0, OCSL2)
Bit name
Function
IOP1:
Compare match
interrupt flag bit
• This bit is an interrupt flag which indicates that compare registers 1, 3
match with the value of the 16-bit free-run timer.
• This bit is set to "1" when the values of the compare registers match with
the value of the 16-bit free-run timer.
• If this bit is set while the compare match interrupt permission bit (IOE1:
bit5) is enabled, an output compare interrupt occurs.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit6
IOP0:
Compare match
interrupt flag bit
• This bit is an interrupt flag which indicates that compare registers 0, 2
match with the value of the 16-bit free-run timer.
• This bit is set to "1" when the values of the compare registers match with
the value of the 16-bit free-run timer.
• If this bit is set while the compare match interrupt permission bit (IOE0:
bit4) is enabled, an output compare interrupt occurs.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit5
IOE1:
Compare match
interrupt
permission bit
• This bit is used to enable the output compare interrupt of compare registers
1, 3.
• If the compare match interrupt flag bit (IOP1: bit7) is set while "1" is
written in this bit, an output compare interrupt occurs.
bit4
IOE0:
Compare match
interrupt
permission bit
• This bit is used to enable the output compare interrupt of compare registers
0, 2.
• If the compare match interrupt flag bit (IOP0: bit6) is set while "1" is
written in this bit, an output compare interrupt occurs.
bit3,
bit2
Reserved bits
bit7
bit1
bit0
This bit must be set to "0".
CST1:
Compare
operation
permission bit
• This bit is used to enable the compare operation between the 16-bit freerun timer and compare registers 1, 3.
• Be sure to write values into compare registers 1, 3 and the timer data
register (TCDT) before enabling the compare operation.
Note:
Since the output compare is synchronized with the 16-bit free-run timer
clock, stopping the 16-bit free-run timer also stops the compare operation.
CST0:
Compare
operation
permission bit
• This bit is used to enable the compare operation between the 16-bit freerun timer and compare registers 0, 2.
• Be sure to write values into compare register 0, 2 and the timer data
register (TCDT) before enabling the compare operation.
Note:
Since the output compare is synchronized with the 16-bit free-run timer
clock, stopping the 16-bit free-run timer also stops the 0 detection and
compare operation.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
261
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
10.3.6
MB91345 Series
Input Capture Data Register (IPCPH0 to IPCPH3/IPCPL0
to IPCPL3)
The input capture data register is used to retain the count value of the free-run timer
when a valid edge of the input waveform is detected.
■ Input Capture Data Register (IPCPH0 to IPCPH3/IPCPL0 to IPCPL3)
Figure 10.3-11 Input Capture Data Register (IPCPH0 to IPCPH3/IPCPL0 to IPCPL3)
Input capture data register (High order)
IPCPH0 to IPCPH3
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
0000DCH
0000DEH
0000E0H
0000E2H
CP15
CP14
CP13
CP12
CP11
CP10
CP09
CP08
XXXXXXXXB
R
R
R
R
R
R
R
R
Input capture data register (Low order)
IPCPL0 to IPCPL3
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000DDH
0000DFH
0000E1H
0000E3H
CP07
CP06
CP05
CP04
CP03
CP02
CP01
CP00
XXXXXXXXB
R
R
R
R
R
R
R
R
R: Read only
This register is used to store the value of the free-run timer when a valid edge of the corresponding external
pin input waveform is detected. (To access to this register, use a half-word or word access instruction. Data
cannot be written to this register.)
The free-run timer described above concerns the operating status of the free-run timer selected by the input
capture.
262
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
10.3.7
Input Capture Status Control Register (ICSH01, ICSL01/
ICSH23, ICSL23)
The input capture status control/PPG output control register (ICSH01, ICSL01/ICSH23,
ICSL23) is used to control the edge selection, interrupt request permission, and
interrupt request flag. It is also used to indicate a valid edge detected by input capture 2
and 3.
■ Input Capture Status Control Register (ch.2, ch.3) (ICSH23)
Figure 10.3-12 Input Capture Status Control Register (ch.2, ch.3) (ICSH23)
ICSH23
Address:
0000E6H
Input Capture Status Control Register(High order)
bit15
bit14
bit13
bit12
IEI2
0
1
IEI3
0
1
bit11
bit10
bit9
bit8
IEI3
IEI2
R/W
R/W
Initial value: XXXXXX00B
Effective edge instruction bit (input capture2)
Falling edge are detected
Rising edge are detected
Effective edge instruction bit (input capture3)
Falling edge are detected
Rising edge are detected
R/W : Readable/writable
: Undefined
: Initial value
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
263
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
Table 10.3-5 Input Capture Status Control Register (ch.2, ch.3) , (ICSH23)
Bit name
bit15
to
bit10
bit9
bit8
264
Function
• The read value is indeterminate.
• Writing to these bits has no effect on operation.
Undefined bits
IEI3:
Effective edge
instruction bit
(input capture3)
• This bit is the effective edge instruction bit for the input capture3 that indicates a rising
edge or falling edge has been detected.
• When a falling edge is detected, "0" is written to this bit.
• When a rising edge is detected, "1" is written to this bit.
• This is a read-only bit.
Note:
When EG31, EG30: bit3, bit2 in the input capture status control register lower (ICSL23) are
"00B", the read value doesn't have any meaning.
IEI2:
Effective edge
instruction bit
(input capture2)
• This bit is the effective edge instruction bit for the input capture2 that indicates a rising
edge or falling edge has been detected.
• When a falling edge is detected, "0" is written to this bit.
• When a rising edge is detected, "1" is written to this bit.
• This is a read-only bit.
Note:
When EG21, EG20: bit1, bit0 in the input capture status control register lower (ICSL23)
are "00B", the read value doesn't have any meaning.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
■ Input Capture Status Control Register (ch.0, ch.1) (ICSH01)
Figure 10.3-13 Input Capture Status Control Register (ch.0, ch.1) (ICSH01)
Input Capture Status Control Register(High order)
bit31
bit30
bit29
bit28
bit27
ICSH01
Address: 0000E4H
IEI2
0
1
IEI3
0
1
bit26
bit25
bit24
IEI1
IEI0
R/W
R/W
Initial value: XXXXXX00B
Effective edge instruction bit (input capture2)
Falling edge are detected
Rising edge are detected
Effective edge instruction bit (input capture3)
Falling edge are detected
Rising edge are detected
R/W : Readable/writable
: Undefined
: Initial value
Table 10.3-6 Input Capture Status Control Register (ch.0, ch.1) , (ICSH01)
Bit name
bit15
to
bit10
bit9
bit8
Function
• The read value is indeterminate.
• Writing to these bits has no effect on operation.
Undefined bits
IEI1:
Effective edge
instruction bit
(input capture1)
• This bit is the effective edge instruction bit for the input capture1 that indicates a rising edge
or falling edge has been detected.
• When a falling edge is detected, "0" is written to this bit.
• When a rising edge is detected, "1" is written to this bit.
• This is a read-only bit.
Note:
When EG11, EG10: bit3, bit2 in the input capture status control register lower (ICSL01) are
"00B", the read value doesn't have any meaning.
IEI0:
Effective edge
instruction bit
(input capture0)
• This bit is the effective edge instruction bit for the input capture0 that indicates a rising edge
or falling edge has been detected.
• When a falling edge is detected, "0" is written to this bit.
• When a rising edge is detected, "1" is written to this bit.
• This is a read-only bit.
Note:
When EG01, EG00: bit1, bit0 in the input capture status control register lower (ICSL01) are
"00B", the read value doesn't have any meaning.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
265
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
■ Input Capture Status Control Register (ch.2, ch.3), (ICSL23)
Figure 10.3-14 Input Capture Status Control Register (ch.2, ch.3), (ICSL23)
Input capture status control register (Low order)
ICSL23
Address: 0000E7H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ICP3
ICP2
ICE3
ICE2
EG31
EG30
EG21
EG20
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EG21 EG20
Initial value: 00000000B
Edge selection bits (Input capture 2)
0
0
0
1
No edges are detected. (Stop)
Rising edges are detected.
1
0
Falling edges are detected.
1
1
Both edges are detected.
EG31 EG30
Edge selection bits (Input capture 3)
0
0
0
1
No edges are detected. (Stop)
Rising edges are detected.
1
0
Falling edges are detected.
1
1
Both edges are detected.
ICE2
Interrupt request permission bit (Input capture 2)
0
Disable interrupt requests.
1
Enable interrupt requests.
ICE3
Interrupt request permission bit (Input capture 3)
0
Disable interrupt requests.
1
Enable interrupt requests.
ICP2
Interrupt request flag bit (Input capture 2)
Read
Write
0
Valid edge is not detected.
This bit is cleared.
1
Valid edge is detected.
This bit is not affected.
ICP3
Interrupt request flag bit (Input capture 3)
Read
Write
0
Valid edge is not detected.
This bit is cleared.
1
Valid edge is detected.
This bit is not affected.
R/W : Readable/writable
: Initial value
266
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
Table 10.3-7 Input Capture Status Control Register (ch.2, ch.3), (ICSL23)
Bit name
Function
ICP3:
Interrupt request
flag bit
(Input capture 3)
• This bit is used as an interrupt request flag for input capture 3.
• This bit is set to "1" as soon as a valid edge is detected at the external input
pin.
• If a valid edge is detected while the interrupt request permission bit (ICE3:
bit5) is set, an interrupt can be generated immediately.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit6
ICP2:
Interrupt request
flag bit
(Input capture 2)
• This bit is used as an interrupt request flag for input capture 2.
• This bit is set to "1" as soon as a valid edge is detected at the external input
pin.
• If a valid edge is detected while the interrupt request permission bit (ICE2:
bit4) is set, an interrupt can be generated immediately.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit5
ICE3:
Interrupt request
permission bit
(Input capture 3)
bit4
ICE2:
Interrupt request
permission bit
(Input capture 2)
bit3,
bit2
EG31, EG30:
Edge selection
bits
(Input capture 3)
• These bits are used to specify the polarity of valid edges from the external
input of input capture 3.
• These bits are also used to enable the operation of input capture 3.
bit1,
bit0
EG21, EG20:
Edge selection
bits
(Input capture 2)
• These bits are used to specify the polarity of valid edges from the external
input of input capture 2.
• These bits are also used to enable the operation of input capture 2.
bit7
CM71-10132-3E
• This bit is used to enable an input capture interrupt request for input
capture 3.
• If the interrupt request flag bit (ICP3: bit7) is set while "1" is set to this bit,
an interrupt for input capture 3 is generated.
• This bit is used to enable an input capture interrupt request for input
capture 2.
• If the interrupt request flag bit (ICP2: bit6) is set while "1" is set to this bit,
an interrupt for input capture 2 is generated.
FUJITSU SEMICONDUCTOR LIMITED
267
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
■ Input Capture Status Control Register (ch.0, ch.1), (ICSL01)
Figure 10.3-15 Input Capture Status Control Register (ch.0, ch.1), ( ICSL01)
ICSL01
Address:
0000E5H
Input capture status control register (Low order)
bit7
bit6
bit5
bit4
ICP1
ICP0
ICE1
R/W
R/W
R/W
bit3
bit2
bit1
bit0
ICE0
EG11
EG10
EG01
EG00
R/W
R/W
R/W
R/W
R/W
EG01 EG00
Initial value:
00000000B
Edge selection bits (Input capture 0)
0
0
No edges are detected. (Stop)
0
1
Rising edges are detected.
1
0
Falling edges are detected.
1
1
Both edges are detected.
EG11 EG10
Edge selection bits (Input capture 1)
0
0
0
1
No edges are detected. (Stop)
Rising edges are detected.
1
0
Falling edges are detected.
1
1
Both edges are detected.
ICE0
Interrupt request permission bit (Input capture 0)
0
Disable interrupt requests.
1
Enable interrupt requests.
ICE1
Interrupt request permission bit (Input capture 1)
0
Disable interrupt requests.
1
Enable interrupt requests.
ICP0
Interrupt request flag bit (Input capture 0)
Read
Write
0
Valid edge is not detected.
This bit is cleared.
1
Valid edge is detected.
This bit is not affected.
ICP1
Interrupt request flag bit (Input capture 1)
Read
Write
0
Valid edge is not detected.
This bit is cleared.
1
Valid edge is detected.
This bit is not affected.
R/W : Readable/writable
: Initial value
268
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.3 Compare Timer Registers
MB91345 Series
Table 10.3-8 Input Capture Status Control Register (ch.0, ch.1), (ICSL01)
Bit name
Function
ICP1:
Interrupt request
flag bit
(Input capture 1)
• This bit is used as an interrupt request flag for input capture 1.
• This bit is set to "1" as soon as a valid edge is detected at the external input
pin.
• If a valid edge is detected while the interrupt permission bit (ICE1: bit5) is
set, an interrupt is generated immediately.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit6
ICP0:
Interrupt request
flag bit
(Input capture 0)
• This bit is used as an interrupt request flag for input capture 0.
• This bit is set to "1" as soon as a valid edge is detected at the external input
pin.
• If a valid edge is detected while the interrupt permission bit (ICE0: bit4) is
set, an interrupt is generated immediately.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit5
ICE1:
Interrupt request
permission bit
(Input capture 1)
bit4
ICE0:
Interrupt request
permission bit
(Input capture 0)
bit3,
bit2
EG11, EG10:
Edge selection
bits
(Input capture 1)
• These bits are used to specify the polarity of valid edges from the external
input of input capture 1.
• These bits are also used to enable the operation of input capture 1.
bit1,
bit0
EG01, EG00:
Edge selection
bits
(Input capture 0)
• These bits are used to specify the polarity of valid edges from the external
input of input capture 0.
• These bits are also used to enable the operation of input capture 0.
bit7
CM71-10132-3E
• This bit is used to enable an input capture interrupt request for input
capture 1.
• If the interrupt request flag bit (ICP1: bit7) is set while "1" is set to this bit,
an interrupt for input capture 1 is generated.
• This bit is used to enable an input capture interrupt request for input
capture 0.
• If the interrupt request flag bit (ICP0: bit6) is set while "1" is set to this bit,
an interrupt for input capture 0 is generated.
FUJITSU SEMICONDUCTOR LIMITED
269
CHAPTER 10 16-bit Compare Timer
10.4 Interrupt by the Compare Timer
10.4
MB91345 Series
Interrupt by the Compare Timer
The compare timer can generate interrupts for the 16-bit free-run timer, the 16-bit output
compare, and the 16-bit input capture respectively.
■ Interrupt for the 16-bit Free-run Timer
Table 10.4-1 shows the interrupt control bits and interrupt factor for the 16-bit free-run timer.
Table 10.4-1 Interrupt Control Bits and Interrupt Factor for the 16-bit Free-run Timer
Compare clear of 16-bit free-run timer
Interrupt request flag bit
ICLR (bit9) in the high-order byte of the timer status register (TCCSH)
Interrupt request permission bit
ICRE (bit8) in the high-order byte of the timer status register (TCCSH)
Interrupt factor
The value of the 16-bit free-run timer matches with the compare clear register
(CPCLRB/CPCLR).
When the value of the 16-bit free-run timer matches with the compare clear register (CPCLRB/CPCLR),
ICLR (bit9) of the timer status register (TCCSH) is set to "1". If an interrupt request is enabled in this status
(ICRE (bit8) of TCCSH register = 1), an interrupt request is output to the interrupt controller.
■ Interrupt for the 16-bit Output Compare
Table 10.4-2 shows the interrupt control bits and interrupt factor for the 16-bit output compare.
Table 10.4-2 Interrupt Control Bits and Interrupt Factor for the 16-bit Output Compares 0 to 3
16-bit output compares 0, 1
16-bit output compares 2, 3
Interrupt request flag bit
IOP1, IOP0 (bit7, bit6) in the loworder byte of the compare control
register (OCS01)
IOP1, IOP0 (bit7, bit6) in the low-order
byte of the compare control register
(OCS23)
Interrupt request permission bit
IOE1, IOE0 (bit5, bit4) in the loworder byte of the compare control
register (OCS01)
IOE1, IOE0 (bit5, bit4) in the low-order
byte of the compare control register
(OCS23)
Interrupt factor
The value of the 16-bit free-run timer
matches with the output compare
register (OCCP0, OCCP1)
The value of the 16-bit free-run timer
matches with the output compare register
(OCCP2, OCCP3)
When the value of the 16-bit free-run timer matches with the output compare register (OCCP0 to OCCP3),
IOP1, IOP0 (bit7, bit6) in the low-order byte of the compare control register (OCS01, OCS23) are set to "1".
If an interrupt request is enabled in this status (IOE1, IOE0 (bit5, bit4) of OCS01, OCS23 registers = 11B),
an interrupt request is output to the interrupt controller.
270
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.4 Interrupt by the Compare Timer
MB91345 Series
■ Interrupt for the 16-bit Input Capture
Table 10.4-3 shows the interrupt control bits and interrupt factor for the 16-bit input capture.
Table 10.4-3 Interrupt control bits and interrupt factor for the 16-bit input captures 0 to 3
16-bit input captures 0, 1
16-bit input captures 2, 3
Interrupt request flag bit
ICP1, ICP0 (bit7, bit6) in the low-order
byte of the input capture status control
register (ICSL01)
ICP3, ICP2 (bit7, bit6) in the low-order
byte of the input capture status control
register (ICSL23)
Interrupt request permission bit
ICE1, ICE0 (bit5, bit4) in the low-order
byte of the input capture status control
register (ICSL01)
IOE3, IOE2 (bit5, bit4) in the low-order
byte of the input capture status control
register (ICSL23)
Interrupt factor
A valid edge is detected at pins IC0, IC1 A valid edge is detected at pins IC2, IC3
As for the 16-bit input capture, when a valid edge is detected at pins IC0 to IC3, ICP3, ICP2, ICP1, ICP0
(bit7, bit6 for all cases) of the input capture status control register (ICSL01, ICSL23) are set to "11B". If an
interrupt request is enabled in this status (ICE3, ICE2, ICE1, ICE0 (bit5, bit4 for all cases) of ICSL01 and
ICSL23 registers = 11B), an interrupt request is output to the interrupt controller.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
271
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
10.5
MB91345 Series
Compare Timer Operation
This section describes the operation of the compare timer.
■ Compare Timer Operation
● 16-bit free-run timer
When count operation is enabled, the 16-bit free-run timer starts counting up from the value specified in the
timer data register (TCDT). The count value is used as reference time for the 16-bit output compare and 16bit input capture.
● 16-bit output compare
The 16-bit output compare is used to compare "the value set in the specified output compare register" with
"the value of the 16-bit free-run timer". When match is detected, an interrupt flag is set and the output level
is inverted.
● 16-bit input capture
The 16-bit input capture is used to detect a valid edge being specified.
When a valid edge is detected, an interrupt flag is set, and the value of the 16-bit free-run timer is captured
and stored in the input capture data register.
272
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
MB91345 Series
10.5.1
Operation of the 16-bit Free-run Timer
The compare timer has one unit of a 16-bit free-run timer. After a reset is completed, the
16-bit free-run timer starts counting up from the value specified in the timer data
register (TCDT). The count value is used as reference time for the 16-bit output compare
and 16-bit input capture.
■ Clearing the Timer
The count value of the 16-bit free-run timer is cleared at one of the following events:
• When the match with the compare clear register is detected by the up-count mode (MODE (bit5) of the
TCCSL register = 0).
• When "1" is written in SCLR (bit4) of the TCCSL register during operation.
• When "0000H" is written in the TCDT register while operation is stopped.
• When the timer is reset.
When the timer is reset, the counter is cleared immediately. When a software clear occurs or when the
match with the compare clear register is detected, the counter is cleared in synchronization with the count
timing.
Figure 10.5-1 Timing of clearing the 16-bit free-run timer
φ
Compare clear
N
Register value
Compare match
Count value
N
0000H
■ Counting Up
The 16-bit free-run timer is an up counter.
The counter starts counting up from the value of the predefined timer data register (TCDT) and continue
counting until the count value matches with the value of the compare clear register (CPCLRB/CPCLR).
The counter is cleared to "0000H" and starts counting up again.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
273
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
MB91345 Series
■ Compare Clear Register
The compare clear register (CPCLRB/CPCLR) writes data to be compared.
Figure 10.5-2 Writing data of compare clear register
Count value
FFFFH
BFFFH
7FFFH
3FFFH
0000H
Time
Start of timer operation
Compare clear match
Reset
Compare clear
register
BFFFH
7FFFH
FFFFH
■ Timer Interrupt
The 16-bit free-run timer can generate a compare clear interrupt.
A compare clear interrupt is generated when the timer value matches with the value of the compare clear
register (COCLRB/COCLR).
Figure 10.5-3 Generating Compare Clear Interrupt
Count value
N-1
N
0
1
Compare clear interrupt
274
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
MB91345 Series
■ Selected External Count Clock
The 16-bit free-run timer is incremented based on the input clock (internal or external clock). When an
external clock is selected, the external clock mode is selected (ECKE (bit15) of the TCCSH register = 1). If
the initial value of the external input is "1", the 16-bit free-run timer starts counting up at a rising edge.
After that, it counts up at both edges. If the initial value of the external input is "0", the timer starts counting
up at a falling edge. After that, it counts up at both edges.
Figure 10.5-4 Count Timing of the 16-bit Free-run Timer
External clock input
TCCSH: ECKE bit
Count clock
Count value
N
N+1
N+2
Note:
The external clock input is counted at both edges of the external clock.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
275
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
10.5.2
MB91345 Series
Operation of the 16-bit Output Compare
The output compare is used to compare the value set in the specified compare clear
register with the value of the 16-bit free-run timer. When match is detected, an interrupt
flag is set and the output level is inverted.
■ Operation of the 16-bit Output Compare (Inversion Mode)
● The compare operation can be executed at each channel (CMOD (bit12) in the high-order byte of the
compare control register (OCSH1, OCSH3) = 0).
Figure 10.5-5 Example of Output Waveform if Compare Registers 0 and 1 are Used Independently
when the Output Initial Value is "0"
Count value
FFFFH
BFFFH
7FFFH
3FFFH
0000H
Reset
Compare
register 0
Compare
register 1
Time
BFFFH
7FFFH
RT0
RT1
Interrupt by
compare 0
Interrupt by
compare 1
276
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
MB91345 Series
● The output level can be changed by using a pair of compare registers (CMOD (bit12) in the high-order
byte of the compare control register (OCS01, OCS23) = 1).
Figure 10.5-6 Example of Output Waveform if Compare Registers 0 and 1 are Used as a Pair
when the Output Initial Value is "0"
Count value
FFFFH
BFFFH
7FFFH
3FFFH
0000H
Time
Reset
Compare
register 0
Compare
register 1
BFFFH
7FFFH
Corresponds to
compare 0
Corresponds to
compare 0 and 1
RT0
RT1
Interrupt by
compare 0
Interrupt by
compare 1
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
277
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
MB91345 Series
■ Timing of the 16-bit Output Compare Operation
If the value of the free-run timer matches with the value of the compare register, the output compare
generates a compare match signal, inverts the output, and generates an interrupt. When a compare match
occurs, the output is inverted in synchronization with the count timing of the counter.
Figure 10.5-7 Interrupt Timing of the Compare Register
N+1
N
Count value
N
Compare register
Compare match
Interrupt
Figure 10.5-8 Timing of Changes in the Pin Output
Count value
Compare register
N
N+1
N
N+1
N
Compare match signal
Pin output
278
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
MB91345 Series
10.5.3
Operation of the 16-bit Input Capture
The input capture is used to detect a valid edge being specified. When a valid edge is
detected, an interrupt flag is set and the value of the 16-bit free-run timer is loaded to
the capture register.
■ Operation of the 16-bit Input Capture
Figure 10.5-9 Timing Example of Input Capture
Count value
FFFFH
BFFFH
7FFFH
3FFFH
Time
0000H
Reset
IC0
IC1
IC example
Capture
register 0
Capture
register 1
Capture register
example
Indeterminate
3FFFH
Indeterminate
Indeterminate
7FFFH
BFFFH
3FFFH
Interrupt by
capture 0
Interrupt by
capture 1
Interrupt by
capture example
Capture 0: Rising edge
Capture 1: Falling edge
Capture example: Both edges
CM71-10132-3E
Another generation of an interrupt
by a valid edge
Interrupt clear by software.
FUJITSU SEMICONDUCTOR LIMITED
279
CHAPTER 10 16-bit Compare Timer
10.5 Compare Timer Operation
MB91345 Series
■ Input Timing of the 16-bit Input Capture
Figure 10.5-10 Timing Example of the 16-bit Input Capture for Input Signals
Machine clock φ
Count value
Input
N
N+1
Valid edge
Capture input
Capture signal
Capture register
N+1
Interrupt
280
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.6 Notes on Using the Compare Timer
MB91345 Series
10.6
Notes on Using the Compare Timer
This section describes the notes on using the components of the compare timer.
■ Notes on Using the 16-bit Free-run Timer
● Notes on setting by program
• When a reset or a software clear is executed (SCLR (bit4) of the TCCSL register = 1), the timer value is
reset to "0000H".
• If the count is started when the compare and count values match, a compare clear flag is not set.
● Notes on interrupt
When "1" is set to the ICLR (bit9) in the high-order byte of the timer status control register (TCCSH), and
then an interrupt request is enabled (ICRE (bit8) of the TCCSH register = 1), the control cannot return from
the interrupt processing. Note that ICLR (bit9) must be cleared.
■ Notes on Using the 16-bit Output Compare
Notes on interrupt
When "11B" is set to IOP1, IOP0 (bit7, bit6) in the low-order byte of the compare control register (OCSL0,
OCSL2), and then an interrupt request is enabled (IOE1, IOE0 (bit6, bit5) of the OCSL register = 11B), the
control cannot return from the interrupt processing. Note that IOP1, IOP0 bits must be cleared.
■ Notes on Using the 16-bit Input Capture
Notes on interrupt
• When "1" is set to ICP3, ICP2, ICP1, ICP0 (bit7, bit6 for all cases) in the low-order byte of the input
capture status control register (ICSL01, ICSL23), and then an interrupt request is enabled (ICE3, ICE2,
ICE1, ICE0 (bit5, bit4 for all cases) of the ICSL01, ICSL23 registers = 11B), the control cannot return
from the interrupt processing. Note that ICP3, ICP2, ICP1, ICP0 (bit7, bit6 for all cases) must be
cleared.
• If the input capture pin (IC) level is switched during the period between when the ICP3, ICP2, ICP1,
ICP0 bits are set and when the interrupt routine has been processed, the valid edge designation bits of
ICP3, ICP2, ICP1, ICP0 (IEI3, IEI2 (bit9, bit8) of the ICSH23 register, IEI1, IEI0 (bit9, bit8) of the
ICSH01 register) indicate the latest detected edge.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
281
CHAPTER 10 16-bit Compare Timer
10.7 Program Example of the Compare Timer
10.7
MB91345 Series
Program Example of the Compare Timer
This section shows the program example of the components of the compare timer.
■ Program Example of the 16-bit Free-run Timer
● Details of processing
• When the 16-bit free-run timer counts 4 ms, it generates a compare clear interrupt.
• This timer is used to regenerate the compare clear timer in the up-count mode.
• The setting of 16 MHz is for the peripheral clock, and 62.5 ns is for the count clock.
● Coding example
ICR32
.EQU 000460H
; Compare clear interrupt control register of
; the 16-bit free-run timer
TCCSH
.EQU 0000A8H
CPCLRBH .EQU 0000A4H
; Timer control status register
; Compare clear buffer register
;--------------- Main program ------------------------------ORG
C0000H
:
; Assume that the stack pointer (SP) has been
START:
;
; already initialized.
ANDCCR #0EFH
; Disable interrupts.
LDI
#ICR32,r0
LDI
#00H,r1
STB
r1,@r0
LDI
#CPCLRBH,r0 ; Specify a value in the compare clear buffer register
LDI
#0FA00H,r1 ; to generate a compare clear interrupt at 4 ms
STH
r1,@r0
LDI
#TCCSH,r3 ; Set the up/down-count mode,
LDI
#0110H,r1 ; set the 62.5 ns count clock,
STH
r1,@r3
; Interrupt level: 16 (Highest)
; when the 16-bit free-run timer is in the up-count mode.
; enable a compare clear interrupt,
; clear the compare clear interrupt flag bit,
; disable the interrupt mask,
; clear the timer, and enable the operation.
LOOP
STILM #14H
; Set ILM in PS to level 20.
ORCCR #10H
; Enable interrupts.
LDI
#00H,r0
; Endless loop
LDI
#01H,r1
BRA
LOOP
;
;--------------- Interrupt program ------------------------------282
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.7 Program Example of the Compare Timer
MB91345 Series
WARI
LDI
#0100H,r1
; Clear the interrupt request flag.
ANDH r1,@r3
;
:
;
User processing
;
:
; Return from the interrupt processing.
RETI
;--------------- Vector setting -----------------------------------VECT
.ORG
FFFF8H
; Set the interrupt routine.
.DATA.W
WARI
.ORG
FFFF8H
.DATA.W
0x07000000 ; Set the single chip mode.
.DATA.W
START
; Set the reset vector.
.END
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
283
CHAPTER 10 16-bit Compare Timer
10.7 Program Example of the Compare Timer
MB91345 Series
■ Program Example of the 16-bit Output Compare
● Details of processing
• When the count value of the 16-bit free-run timer matches with the value of the output compare, an
output compare match is generated.
• This program is used when the 16-bit free-run timer is in the up/down-count mode.
• The setting of 16 MHz is for the peripheral clock, and 62.5 ns is for the count clock of the 16-bit freerun timer 0.
● Coding example
ICR44
EQU
00046CH
; Output compare 0/1 interrupt register
TCCSH
EQU
0000A8H
; Timer control status register
CPCLRBH EQU
0000A4H
; Compare clear buffer register
OCCPBH0 EQU
000090H
; Output compare buffer register 0
OCCPBH1 EQU
000092H
; Output compare buffer register 1
OCSH1
00009CH
; Compare control register
EQU
;--------------- Main program --------------------------------------------START:
;
; Assume that the stack pointer (SP) has been
:
; already initialized.
ANDCCR #0EFH
284
; Disable interrupts.
LDI
#ICR44,r0
LDI
#00H,r1
STB
r1,@r0
LDI
#CPCLRBH,r0 ; Set it to the compare clear buffer register
LDI
#0FFFFH,r1
STH
r1,@r0
LDI
#OCCPBH0,r0 ; Set output compare register 0.
LDI
#0BFFFH,r1
STH
r1,@r0
LDI
#OCCPBH1,r0 ; Set output compare register 1.
LDI
#07FFFH,r1
STH
r1,@r0
LDI
#OCSH1,r3
; Enable the output compare output.
LDI
#6C33H,r2
; Enable compare match interrupts 0/1.
STH
r2,@r3
; Clear the interrupt flag bit.
LDI
#TCCSH,r0
; Set the up/down-count mode,
LDI
#0010H,r1
; clear the timer, and enable the operation.
STH
r1,@r0
; Interrupt level: 16 (Highest)
; of the 16-bit free-run timer.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 10 16-bit Compare Timer
10.7 Program Example of the Compare Timer
MB91345 Series
LOOP
STILM #14H
; set ILM in PS to level 20.
ORCCR #10H
; Enable interrupts.
LDI
#00H,r0
; Endless loop
LDI
#01H,r1
BRA
LOOP
;
;--------------- Interrupt program -------------------------------WARI:
; Clear the interrupt register flag.
ANDH r2,@r3
;
:
;
User processing
;
:
; Return from the interrupt processing.
RETI
;--------------- Vector setting ------------------------------------VECT
.ORG
FFFF8H
; Set the interrupt routine.
.DATA.W
WARI
.ORG
FFFF8H
.DATA.W
0x07000000 ; Set the single chip mode.
.DATA.W
START
; Set the reset vector.
.END
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
285
CHAPTER 10 16-bit Compare Timer
10.7 Program Example of the Compare Timer
286
FUJITSU SEMICONDUCTOR LIMITED
MB91345 Series
CM71-10132-3E
CHAPTER 11
32-bit Compare Timer
This chapter describes the overview, the configuration
and functions of registers, and operation of the 32-bit
compare timer.
11.1 Overview of 32-bit Compare Timer
11.2 Block Diagram of 32-bit Compare Timer
11.3 Compare Timer Registers
11.4 Interrupt by the Compare Timer
11.5 Compare Timer Operation
11.6 Notes on Using the Compare Timer
11.7 Program Example of the Compare Timer
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
287
CHAPTER 11 32-bit Compare Timer
11.1 Overview of 32-bit Compare Timer
11.1
MB91345 Series
Overview of 32-bit Compare Timer
The 32-bit compare timer consists of one 32-bit free-run timer, four 32-bit output
compares, and four 32-bit input captures.
■ Configuration of the Compare Timer
● 32-bit free-run timer ( 1)
• The 32-bit free-run timer consists of a 32-bit up counter, a control register, a 32-bit compare clear
register, and a prescaler.
• Nine types of counter operation clock settings can be selected (, /2, /4, /8, /16, /32, /64, /128,
/256; : Peripheral clock).
• A compare clear interrupt is generated when the compare clear register and the 32-bit free-run timer are
compared and judged to be a match.
• When a reset, a software clear, or a compare match with the compare clear register occurs, the counter
value is reset to "0000 0000H".
• The output value of this counter can be used as a reference count for the output compare and input
capture.
● 32-bit output compare ( 4)
• The 32-bit output compare consists of four 32-bit compare registers, a compare output latch, and a
compare control register. When the value of the 32-bit free-run timer matches with the compare register,
an interrupt is generated and the output level is inverted.
• These four compare registers can be operated independently. The output pins and interrupt flags
correspond to the compare registers respectively.
• You can pair two compare registers to control the output pin. The output pin is inverted by using two
compare registers together.
• The initial value of each output pin can be specified.
• An interrupt is generated when the output compare register matches with the 32-bit free-run timer.
● 32-bit input capture ( 4)
• The input capture consists of four independent external input pins, and capture registers and capture
control registers corresponding to the pins. When the edge of an input signal is detected at the external
pin, the value of the 32-bit free-run timer can be stored in the capture register, and an interrupt is
generated simultaneously.
• For the external input signal, three types of trigger edges (rising edge, falling edge, and both edges) can
be selected.
• These four input captures can be operated independently.
• An interrupt is generated when a valid edge from the external input is detected.
288
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.2 Block Diagram of 32-bit Compare Timer
MB91345 Series
11.2
Block Diagram of 32-bit Compare Timer
This section shows the block diagram of the compare timer.
■ Block Diagram of the Compare Timer
Figure 11.2-1 Block Diagram of the Compare Timer
Interrupt
Interrupt
Interrupt
Interrupt
→
→
→
→
Output compare 4
Output compare 5
Output compare 6
Output compare 7
32-bit output compare
Data transfer
from buffer
RT4 to RT7
Counter
value
RT4 to RT7
Internal data bus
Interrupt → Zero detection 0
Interrupt → Compare clear 0
32-bit free-run timer
EXCK
Counter
value
Interrupt
Interrupt
Interrupt
Interrupt
FRCK1
Input capture 4
Input capture 5
Input capture 6
Input capture 7
32-bit input capture
IC4 to IC7
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
IC4 to IC7
289
CHAPTER 11 32-bit Compare Timer
11.2 Block Diagram of 32-bit Compare Timer
MB91345 Series
■ Block Diagram of the 32-bit Free-run Timer
Figure 11.2-2 Block Diagram of the 32-bit Free-run Timer
STOP
SCLR
CLK2
CLK1
CLK0
Prescaler
External clock input
STOP
CLR
Select circuit
STOP
32-bit free-run timer
CK
To input capture and
output compare
Transfer
Compare circuit
Internal data bus
32-bit compare
clear register
Interrupt
ICLE
290
ICLF
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.2 Block Diagram of 32-bit Compare Timer
MB91345 Series
■ Block Diagram of the 32-bit Output Compare
Figure 11.2-3 Block Diagram of the 32-bit Output Compare
Count value from free-run timer
Compare registers 4, 6
Internal data bus
Compare circuit
IOP1
IOP0
IOE1
IOE0
Interrupt 6
Compare registers 5, 7
Interrupt 7
Compare circuit
IOP1
IOP0
IOE1
IOE0
Interrupt 4
Interrupt 5
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
291
CHAPTER 11 32-bit Compare Timer
11.2 Block Diagram of 32-bit Compare Timer
MB91345 Series
■ Block Diagram of the 32-bit Input Capture
Figure 11.2-4 Block Diagram of the 32-bit Input Capture
Count value from free-run timer
Capture register 4
Edge detection
ICP4
ICE4
EG41
IC4
EG40
Interrupt 4
Edge detection
Internal data bus
Capture register 5
ICP5
ICE5
EG51
IC5
EG50
Interrupt 5
Capture register 6
Edge detection
ICP6
ICE6
EG61
IC6
EG60
Interrupt 6
Edge detection
Capture register 7
ICP7
ICE7
EG71
IC7
EG70
Interrupt 7
292
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
11.3
Compare Timer Registers
This section describes the registers used for the compare timer.
■ Registers of the 32-bit Free-run Timer
Figure 11.3-1 Registers of the 32-bit Free-run Timer
Compare clear register
CPCLRB/CPCLR
Address
bit31
bit30
bit29
bit2
bit1
bit0
Initial value
000150H
CL31
CL30
CL29
CL02
CL01
CL00
FFFFFFFFH
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit31
bit30
bit29
bit2
bit1
bit0
Initial value
000154H
T31
T30
T29
T02
T01
T00
00000000H
R/W
R/W
R/W
R/W
R/W
R/W
Timer data register
TCDTH/TCDTL
Timer status control register (High order)
TCCSH
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
000158H
ECKE





ICLR
ICRE
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Timer status control register (Low order)
TCCSL
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000159H

STOP

SCLR
CLK3
CLK2
CLK1
CLK0
01000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
293
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
■ Registers of the 32-bit Output Compare
Figure 11.3-2 Registers of the 32-bit Output Compare
Output compare register
OCCP4 to OCCP7
Address
bit31
bit30
bit29
bit2
bit1
bit0
Initial value
000170H
000174H
000178H
00017CH
CP31
CP30
CP29
CP02
CP01
CP00
XXXXXXXXH
R/W
R/W
R/W
R/W
R/W
R/W
Compare control register 5, 7 (High order)
OCSH45, OCSH67
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
000180H
000182H



CMOD


OTD1
OTD0
11101100B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare control register 4, 6 (Low order)
OCSL45, OCSL67
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000181H
000183H
IOP1
IOP0
IOE1
IOE0


CST1
CST0
00001100B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
294
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
■ Registers of the 32-bit Input Capture
Figure 11.3-3 Registers of the 32-bit Input Capture
Input capture data register
IPCP4 to IPCP7
Address
bit31
bit30
bit29
bit2
bit1
bit0
Initial value
00015CH
000160H
000164H
000168H
CP31
CP30
CP29
CP02
CP01
CP00
XXXXXXXXH
R
R
R
R
R
R
Input capture status control register (ch.6, ch.7)
ICS67
Address
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
Initial value
00016FH
ICP7
ICP6
ICE7
ICE6
EG71
EG70
EG61
EG60
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Input capture status control register (ch.4, ch.5)
ICS45
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00016DH
ICP5
ICP4
ICE5
ICE4
EG51
EG50
EG41
EG40
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W:
R:
Readable/writable
Read only
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
295
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
11.3.1
MB91345 Series
Compare Clear Register (CPCLRB/CPCLR)
The compare clear register (CPCLRB/CPCLR) is a 32-bit register which is used for the
comparison with the free-run timer.
■ Compare Clear Register (CPCLRB/CPCLR)
Figure 11.3-4 Compare Clear Register (CPCLRB/CPCLR)
Compare clear register
CPCLRB/CPCLR
Address
bit31
bit30
bit29
bit2
bit1
bit0
Initial value
000150H
CL31
CL30
CL29
CL02
CL01
CL00
FFFFFFFFH
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
The compare clear register is used to be compared with the count value of the 32-bit free-run timer. When
the count value of this register matches with the count value of the 32-bit free-run timer, the free-run timer
is reset to "00000000H", and when the value specified with this register matches with the counter value, an
interrupt occurs. The value, however, must be written while the timer has stopped (STOP (bit6) in the loworder byte of the timer status control register (TCCSL) = 1). To access to this register, use a word access
instruction.
296
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
11.3.2
Timer Data Register (TCDT)
The timer data register (TCDT) is used to read the count value of the 32-bit free-run
timer.
■ Timer Data Register (TCDT)
Figure 11.3-5 Timer Data Register (TCDT)
Timer data register
TCDT
Address
bit31
bit30
bit29
bit2
bit1
bit0
Initial value
000154H
T31
T30
T29
T02
T01
T00
00000000H
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
The timer data register is used to read the count value of the 32-bit free-run timer. When a reset occurs, the
count value is immediately cleared to "00000000H". The timer value can be specified by writing a value
into this register. The value, however, must be written while the timer has stopped (STOP (bit6) in the loworder byte of the timer status control register (TCCSL) = 1). To access to the timer data register, use a word
access instruction.
The 32-bit free-run timer is initialized as soon as one of the following factors occurs:
• Reset
• Clear bit (SCLR:bit4) of the timer status control register (TCCSL) = 1.
• The compare clear register matches with the timer count value.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
297
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
11.3.3
MB91345 Series
Timer Status Control Register of High-order Byte
(TCCSH)
The timer status control register (TCCSH) is a 8-bit register which is used to control the
operation of the 32-bit free-run timer.
■ Timer Status Control Register, High-order Byte (TCCSH)
Figure 11.3-6 Timer Status Control Register, High-order Byte (TCCSH)
Timer status control register (High order)
TCCSH
Address
bit15
bit14
bit13
bit12
bit11
bit10
000158H
ECKE
−
−
−
−
−
R/W
R/W
R/W
R/W
R/W
R/W
bit9
bit8
Initial value
ICLR
ICRE
00000000B
R/W
ICRE
R/W
Compare clear interrupt request permission bit
0
Disable interrupt requests.
1
Enable interrupt requests.
Compare clear interrupt flag bit
ICLR
Read
Write
0
Compare clear does not match.
This bit is cleared.
1
Compare clear matches.
This bit is not affected.
bit14 to bit10
Reserved
0
Initial value
1
Setting disabled
ECKE
Clock selection bit
0
Internal clock
1
External clock
R/W : Readable/writable
: Initial value
298
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
Table 11.3-1 Timer Status Control Register, High-order Byte (TCCSH)
Bit name
bit15
ECKE:
Clock selection bit
bit14 to bit10 Reserved
bit9
ICLR:
Compare clear
interrupt flag bit
bit8
ICRE:
Compare clear
interrupt request
permission bit
CM71-10132-3E
Function
• This bit is used to select either of the internal clock or external clock to be used as
the count clock of the 32-bit free-run timer.
• When this bit is set to "0":
The internal clock is selected. To select the count clock frequency, you also need
to select the clock frequency selection bits (CLK3 to CLK0: bit3 to bit0) of the
TCCSL register.
• When this bit is set to "1":
The external clock is selected. The external clock is input through the FRCK1 pin.
Consequently, you must enable the external clock input by writing "0" into bit7 of
the port direction register (DDR3). When the external clock is selected with this
bit, the clock count operates at both edges.
Note:
The count clock is changed as soon as this bit is set. Consequently, this bit must be
changed while the output compare and input capture have stopped.
These bits must be set to "0".
• When the compare clear value matches with the 32-bit free-run timer value, this bit
is set to "1".
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
When this bit and the compare clear interrupt flag bit (ICLR:bit9) are set to "1", an
interrupt request to the CPU is generated.
FUJITSU SEMICONDUCTOR LIMITED
299
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
11.3.4
MB91345 Series
Timer Status Control Register of Low-order Byte (TCCSL)
The timer status control register (TCCSL) is a 8-bit register which is used to control the
operation of the 32-bit free-run timer.
■ Timer Status Control Register, Low-order Byte (TCCSL)
Figure 11.3-7 Timer Status Control Register, Low-order Byte (TCCSL)
Timer status control register (low order)
TCCSL
bit7
bit6
bit5
Address:
STOP
000159H
bit4
bit3
bit2
bit1
bit0
Initial value
SCLR
CLK3
CLK2
CLK1
CLK0
01000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Clock frequency selection bits
CLK3
CLK2
CLK1
CLK0 Count
clock
0
0
0
0
31.25ns
0
0
0
1
0
0
1
0
0
0
1
1
0.25µs
0
1
0
0
0.5µs
0
1
0
1
1µs
2µs
4µs
8µs
32µs
0
1
1
0
2µs
4µs
8 µs
16µs
64µs
0
1
1
1
4µs
8 µs
16µs
32µs
128µs
1
0
0
0
8 µs
16µs
32µs
64µs
256µs
-
-
-
-
-
Other settings disabled
SCLR
0
1
300
125ns
62.5ns
125ns
0.25µs
0.5µs
2µs
125ns
0.25µs
0.5µs
1µs
4µ s
0.5µs
1µs
2µs
8µs
1µs
2µs
4µs
16µs
-
0.25µs
1µ s
Timer clear bit
Read
Always read "0".
Write
The counter is not initialized.
The counter is initialized to "00000000H".
bit5
Reserved
0
Initial value
1
R/W : Readable/writable
: Initial value
62.5ns
Setting disabled
STOP
Timer permission bit
0
Enable (Start) counting.
1
Disable (Stop) counting.
bit7
Reserved
0
Initial value
1
Setting disabled
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
Table 11.3-2 Timer Status Control Register, Low-order Byte (TCCSL)
Bit name
bit7
Function
Reserved
This bit must be set to "0".
bit6
STOP:
Timer permission bit
• This bit is used to start/stop the count of the 32-bit free-run timer.
• When this bit is set to "0":
The count of the 32-bit free-run timer starts.
• When this bit is set to "1":
The count of the 32-bit free-run timer stops.
Note:
When the 32-bit free-run timer stops, the operation of the output compare also
stops.
bit5
Reserved
This bit must be set to "0".
bit4
• This bit is used to initialize the 32-bit free-run timer to "0000H".
• When this bit is set to "1":
The 32-bit free-run timer is initialized to "00000000H" at the next count clock. At
this instant, the prescaler inside the macro is also cleared.
SCLR: Timer clear bit
• The read value is always "0".
Note:
After "1" is set to this bit, the timer is cleared at the next timing of the internal
clock.
bit3
to
bit0
CLK3 to CLK0:
Clock frequency
selection bits
CM71-10132-3E
• These bits are used to select the count clock frequency of the 32-bit free-run timer.
• The count clock is changed as soon as these bits are set. Consequently, these bits
must be changed while the output compare and input capture have stopped.
FUJITSU SEMICONDUCTOR LIMITED
301
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
11.3.5
MB91345 Series
Output Compare Register (OCCP4 to OCCP7)
The output compare register (OCCP) is a register used for the comparison with the freerun timer.
■ Output Compare Register (OCCP4 to OCCP7)
Figure 11.3-8 Output Compare Register (OCCP4 to OCCP7)
Output compare register
OCCP4 to OCCP7
Address
bit31
bit30
bit29
bit2
bit1
bit0
Initial value
000170H
000174H
000178H
00017CH
CP31
CP30
CP29
CP02
CP01
CP00
XXXXXXXXH
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
The output compare register is a 32-bit register used to be compared with the count value of the 32-bit freerun timer. Before enabling the timer operation, set a value to the output compare register (OCCPH/
OCCPL). The compare value will be reflected after the write instruction is completed. Therefore, if the
compare value is changed during operation and the new compare value is greater than the old compare
value, two interrupts may occur during one free-run count. To avoid the problem, use the compare interrupt
processing of the free-run timer to rewrite the value of the output compare register.
When the value of the output compare register matches with the count value of the 32-bit free-run timer, a
compare signal is generated, and the output compare interrupt flag bits (IOP1, IOP0 (bit7, bit6) in the loworder byte of the compare control register (OCSL4, OCSL6)) are set.
To access to this register, use a word access instruction.
302
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
11.3.6
Compare Control Register of High-order-side
(OCSH45, OCSH67)
The compare control register is used to control the output level and output level
inversion mode of RT4 to RT7.
■ Compare Control Register, High-order Byte (OCSH45, OCSH67)
Figure 11.3-9 Compare Control Register, High-order Byte (OCSH45, OCSH67)
Compare control register (High order)
OCS67
Address
bit15
bit14
bit13
000180H
000182H
-
R/W
R/W
bit12
bit11
bit10
bit9
bit8
Initial value
CMOD
-
-
OTD1
OTD0
11101100B
R/W
R/W
R/W
R/W
R/W
OTD0
0
1
OTD1
0
1
Current output value of RT4, RT6
"1" is output from RT4, RT6
Output level bit
Read
Write
Current output value of RT5, RT7
"0" is output from RT5, RT7
.
"1" is output from RT5, RT7
.
Reserved
0
Initial value
1
Setting disabled
bit11
Reserved
0
Initial value
1
Setting disabled
0
1
CM71-10132-3E
Write
"0" is output from RT4, RT6
bit10
CMOD
R/W : Readable/writable
: Undefined
: Initial value
Output level bit
Read
Output level inversion mode bit
RT4, RT6 : The level is inverted as soon as the match with
compare registers 4, 6 occurs.
RT5, RT7 : The level is inverted as soon as the match with
compare registers 5, 7 occurs.
RT4, RT6 : The level is inverted as soon as the match with
compare registers 4, 6 occurs.
RT5, RT7 : The level is inverted as soon as the match with
compare registers (4 or 5) and (6 or 7) occurs.
bit13
Reserved
0
Setting disabled
1
Initial value
bit14
Reserved
0
Setting disabled
1
Initial value
FUJITSU SEMICONDUCTOR LIMITED
303
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
Table 11.3-3 Compare Control Register, High-order Byte (OCSH45, OCSH67)
Bit name
bit15
Undefined bit
bit14, bit13 Reserved
bit12
CMOD:
Output level
inversion mode bit
bit11, bit10 Reserved
304
Function
• The read value is indeterminate.
• Writing to this bit does not affect the operation.
This bit must be set to "1".
• This bit is used to switch the pin output level inversion mode as soon as a match
occurs while the pin output is enabled (OTE1 = 1 or OTE0 = 1).
• When this bit is set to "0":
- RT4, RT6: The level is inverted as soon as the 32-bit free-run timer matches
with compare registers 4, 6.
- RT5, RT7: The level is inverted as soon as the 32-bit free-run timer matches
with compare registers 5, 7.
• When this bit is set to "1":
- RT4, RT6: The level is inverted as soon as the 32-bit free-run timer matches
with compare registers 4, 6.
- RT5, RT7: The level is inverted as soon as the 32-bit free-run timer matches
with the compare registers (4 or 5) and (6 or 7).
If the compare registers 4, 6 and 5, 7 have the same value, the operation is the same as
the case where one compare register is used.
This bit must be set to "0".
bit9
OTD1:
Output level bit
• This bit is used to change the pin output level of output compares 5, 7 (RT5, RT7).
• The initial value of the compare pin output is "0".
• Be sure to stop the compare operation before writing a value. The read value of this
bit indicates the output compare value for RT5, RT7.
bit8
OTD0:
Output level bit
• This bit is used to change the pin output level of output compares 4, 6 (RT4, RT6).
• The initial value of the compare pin output is "0".
• Be sure to stop the compare operation before writing a value. The read value of this
bit indicates the output compare value for RT4, RT6.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
11.3.7
Compare Control Register of Low-order Byte
(OCSL45, OCSL67)
The compare control register is used to control the compare operation permission,
compare match interrupt permission, and compare match interrupt flag.
■ Compare Control Register, Low-order Byte (OCSL45, OCSL67)
Figure 11.3-10 Compare Control Register, Low-order Byte (OCSL45, OCSL67)
Compare control register (low order)
OCS45
bit7
bit6
bit5
Address :
IOP1
IOP0
IOE1
000181H
000183H
R/W
R/W
R/W
bit4
bit3
bit2
bit1
bit0
Initial value
IOE0
-
-
CST1
CST0
00001100B
R/W
R/W
R/W
R/W
R/W
CST0
Compare operation permission bit
0
Disable the compare operation of compare registers 4, 6.
1
Enable the compare operation of compare registers 4, 6.
CST1
Compare operation permission bit
0
Disable the compare operation of compare registers 5, 7.
1
Enable the compare operation of compare registers 5, 7.
bit2
Reserved
0
Setting disabled
1
Initial value
bit3
Setting disabled
1
Initial value
IOE0
Disable the compare match interrupt of compare registers 4, 6.
1
Enable the compare match interrupt of compare registers 4, 6.
Compare match interrupt permission bit
0
Disable the compare match interrupt of compare registers 5, 7.
1
Enable the compare match interrupt of compare registers 5, 7.
IOP0
Compare match interrupt flag bit
Read
Write
0
The compare match interrupt of
compare registers 4, 6 does not occur.
This bit is cleared.
1
The compare match interrupt of
compare registers 4, 6 occurs.
IOP1
CM71-10132-3E
Compare match interrupt permission bit
0
IOE1
R/W : Readable/writable
: Initial value
Reserved
0
This bit is not affected.
Compare match interrupt flag bit
Read
Write
0
The compare match interrupt of
compare registers 5, 7 does not occur.
This bit is cleared.
1
The compare match interrupt of
compare registers 5, 7 occurs.
This bit is not affected.
FUJITSU SEMICONDUCTOR LIMITED
305
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
Table 11.3-4 Compare Control Register, Low-order Byte (OCSL45, OCSL67)
Bit name
IOP1:
Compare match
interrupt flag bit
• This bit is an interrupt flag which indicates that compare registers 5, 7 match with
the value of the 32-bit free-run timer.
• This bit is set to "1" when the values of the compare registers match with the
value of the 32-bit free-run timer.
• If this bit is set while the compare match interrupt permission bit (IOE1:bit5) is
enabled, an output compare interrupt occurs.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit6
IOP0:
Compare match
interrupt flag bit
• This bit is an interrupt flag which indicates that compare registers 4, 6 match with
the value of the 32-bit free-run timer.
• This bit is set to "1" when the values of the compare registers match with the
value of the 32-bit free-run timer.
• If this bit is set while the compare match interrupt permission bit (IOE0:bit4) is
enabled, an output compare interrupt occurs.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit5
IOE1:
• This bit is used to enable the output compare interrupt of compare registers 5, 7.
Compare match
• If the compare match interrupt flag bit (IOP1:bit7) is set while "1" is written in
interrupt permission bit
this bit, an output compare interrupt occurs.
bit4
IOE0:
• This bit is used to enable the output compare interrupt of compare registers 4, 6.
Compare match
• If the compare match interrupt flag bit (IOP0:bit6) is set while "1" is written in
interrupt permission bit
this bit, an output compare interrupt occurs.
bit3
Reserved
This bit must be set to "0".
bit2
Reserved
This bit must be set to "0".
bit1
CST1:
Compare operation
permission bit
This bit is used to enable the compare operation between the 32-bit free-run timer
and compare registers 5, 7.
Note:
Since the output compare is synchronized with the 32-bit free-run timer clock,
stopping the 32-bit free-run timer also stops the compare operation.
CST0:
Compare operation
permission bit
This bit is used to enable the compare operation between the 32-bit free-run timer
and compare registers 4, 6.
Note:
Since the output compare is synchronized with the 32-bit free-run timer clock,
stopping the 32-bit free-run timer also stops the zero detection and compare operation.
bit7
bit0
306
Function
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
11.3.8
Input Capture Data Register (IPCP4 to IPCP7)
The input capture data register is used to retain the count value of the free-run timer
when a valid edge of the input waveform is detected.
■ Input Capture Data Register (IPCP4 to IPCP7)
Figure 11.3-11 Input Capture Data Register (IPCP4 to IPCP7)
Input capture data register
IPCP4 to IPCP7
Address
bit31
bit30
bit29
bit2
bit1
bit0
Initial value
00015CH
000160H
000164H
000168H
CP31
CP30
CP29
CP02
CP01
CP00
XXXXXXXXH
R
R
R
R
R
R
R: Read only
This register is used to store the value of the free-run timer when a valid edge of the corresponding external
pin input waveform is detected. (To access to this register, use a word access instruction. Data cannot be
written to this register.)
The free-run timer described above concerns the operating status of the free-run timer selected by the input
capture.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
307
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
11.3.9
MB91345 Series
Input Capture Status Control (ICS67, ICS45)
The input capture status control/PPG output control register (ICS67, ICS45) is used to
control the edge selection, interrupt request permission, and interrupt request flag. It is
also used to indicate a valid edge detected by input capture 4 to 7.
■ Input Capture Status Control Register (ch.6, ch.7), (ICS67)
Figure 11.3-12 Input Capture Status Control Register (ch.6, ch.7), (ICS67)
Input capture status control register
ICS67
Address:
00016FH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
ICP7
ICP6
ICE7
ICE6
EG71
EG70
EG61
EG60
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
EG61 EG60
Edge selection bits (Input capture 6)
0
0
No edges are detected. (Stop)
0
1
Rising edges are detected.
1
0
Falling edges are detected.
1
1
Both edges are detected.
EG71 EG70
Edge selection bits (Input capture 7)
0
0
No edges are detected. (Stop)
0
1
Rising edges are detected.
1
0
Falling edges are detected.
1
1
Both edges are detected.
ICE6
Interrupt request permission bit (Input capture 6)
0
Disable interrupt requests.
1
Enable interrupt requests.
ICE7
Interrupt request permission bit (Input capture 7)
0
Disable interrupt requests.
1
Enable interrupt requests.
ICP6
Interrupt request flag bit (Input capture 6)
Read
Write
0
Valid edge is not detected.
This bit is cleared.
1
Valid edge is detected.
ICP7
This bit is not affected.
Interrupt request flag bit (Input capture 7)
Read
Write
0
Valid edge is not detected.
This bit is cleared.
1
Valid edge is detected.
This bit is not affected.
R/W : Readable/writable
: Initial value
308
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
Table 11.3-5 Input Capture Status Control Register (ch.6, ch.7), (ICS67)
Bit name
Function
bit7
• This bit is used as an interrupt request flag for input capture 7.
• This bit is set to "1" as soon as a valid edge is detected at the external input pin.
ICP7:
• If a valid edge is detected while the interrupt request permission bit (ICE7:bit5) is
Interrupt request flag bit
set, an interrupt can be generated immediately.
(Input capture 7)
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit6
• This bit is used as an interrupt request flag for input capture 6.
• This bit is set to "1" as soon as a valid edge is detected at the external input pin.
ICP6:
• If a valid edge is detected while the interrupt request permission bit (ICE6:bit4) is
Interrupt request flag bit
set, an interrupt can be generated immediately.
(Input capture 6)
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit5
ICE7:
Interrupt request
permission bit
(Input capture 7)
bit4
ICE6:
Interrupt request
permission bit
(Input capture 6)
bit3,
bit2
EG70, EG71:
Edge selection bits
(Input capture 7)
• These bits are used to specify the polarity of valid edges from the external input
of input capture 7.
• These bits are also used to enable the operation of input capture 7.
bit1,
bit0
EG60, EG61:
Edge selection bits
(Input capture 6)
• These bits are used to specify the polarity of valid edges from the external input
of input capture 6.
• These bits are also used to enable the operation of input capture 6.
CM71-10132-3E
• This bit is used to enable an input capture interrupt request for input capture 7.
• If the interrupt request flag bit (ICP7:bit7) is set while "1" is set to this bit, an
interrupt for input capture 7 is generated.
• This bit is used to enable an input capture interrupt request for input capture 6.
• If the interrupt request flag bit (ICP6:bit6) is set while "1" is set to this bit, an
interrupt for input capture 6 is generated.
FUJITSU SEMICONDUCTOR LIMITED
309
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
■ Input Capture Status Control Register (ch.4, ch.5), (ICS45)
Figure 11.3-13 Input Capture Status Control Register (ch.4, ch.5), (ICS45)
Input capture status control register
bit7
bit6
bit5
ICS45
Address:
ICP5
ICP4
ICE5
00016DH
R/W
R/W
R/W
bit4
bit3
bit2
bit1
bit0
Initial value
ICE4
EG51
EG50
EG41
EG40
00000000B
R/W
R/W
R/W
R/W
R/W
EG41 EG40
Edge selection bits (Input capture 4)
0
0
No edges are detected. (Stop)
0
1
Rising edges are detected.
1
0
Falling edges are detected.
1
1
Both edges are detected.
EG51 EG50
Edge selection bits (Input capture 5)
0
0
No edges are detected. (Stop)
0
1
Rising edges are detected.
1
0
Falling edges are detected.
1
1
Both edges are detected.
ICE4
Interrupt request permission bit (Input capture 4)
0
Disable interrupt requests.
1
Enable interrupt requests.
ICE5
Interrupt request permission bit (Input capture 5)
0
Disable interrupt requests.
1
Enable interrupt requests.
ICP4
Interrupt request flag bit (Input capture 4)
Read
Write
0
Valid edge is not detected.
This bit is cleared.
1
Valid edge is detected.
ICP5
This bit is not affected.
Interrupt request flag bit (Input capture 5)
Read
Write
0
Valid edge is not detected.
This bit is cleared.
1
Valid edge is detected.
This bit is not affected.
R/W : Readable/writable
: Initial value
310
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.3 Compare Timer Registers
MB91345 Series
Table 11.3-6 Input Capture Status Control Register (ch.4, ch.5), (ICS 45)
Bit name
Function
ICP5:
Interrupt request flag
bit (Input capture 5)
• This bit is used as an interrupt request flag for input capture 5.
• This bit is set to "1" as soon as a valid edge is detected at the external input pin.
• If a valid edge is detected while the interrupt request permission bit (ICE5:bit5) is
set, an interrupt is generated immediately.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit6
ICP4:
Interrupt request flag
bit (Input capture 4)
• This bit is used as an interrupt request flag for input capture 4.
• This bit is set to "1" as soon as a valid edge is detected at the external input pin.
• If a valid edge is detected while the interrupt request permission bit (ICE4:bit4) is
set, an interrupt is generated immediately.
• When this bit is set to "0": This bit is cleared.
• When this bit is set to "1": This bit is not affected.
• In read-modify-write (RMW) instruction, the read value is always "1".
bit5
ICE5:
Interrupt request
permission bit
(Input capture 5)
bit4
ICE4:
Interrupt request
permission bit
(Input capture 4)
bit3,
bit2
EG50, EG51:
Edge selection bits
(Input capture 5)
• These bits are used to specify the polarity of valid edges from the external input of
input capture 5.
• These bits are also used to enable the operation of input capture 5.
bit1,
bit0
EG40, EG41:
Edge selection bits
(Input capture 4)
• These bits are used to specify the polarity of valid edges from the external input of
input capture 4.
• These bits are also used to enable the operation of input capture 4.
bit7
CM71-10132-3E
• This bit is used to enable an input capture interrupt request for input capture 5.
• If the interrupt request flag bit (ICP5:bit7) is set while "1" is set to this bit, an
interrupt for input capture 5 is generated.
• This bit is used to enable an input capture interrupt request for input capture 4.
• If the interrupt request flag bit (ICP4:bit6) is set while "1" is set to this bit, an
interrupt for input capture 4 is generated.
FUJITSU SEMICONDUCTOR LIMITED
311
CHAPTER 11 32-bit Compare Timer
11.4 Interrupt by the Compare Timer
11.4
MB91345 Series
Interrupt by the Compare Timer
The compare timer can generate interrupts for the 32-bit free-run timer, the 32-bit output
compare, and the 32-bit input capture respectively.
■ Interrupt for the 32-bit Free-run Timer
Table 11.4-1 shows the interrupt control bits and interrupt factor for the 32-bit free-run timer.
Table 11.4-1 Interrupt Control Bits and Interrupt Factor for the 32-bit Free-run Timer
Compare clear of 32-bit free-run timer
Interrupt request flag bit
ICLR (bit9) in the high-order byte of the timer status register (TCCSH)
Interrupt request permission bit
ICRE (bit8) in the high-order byte of the timer status register (TCCSH)
Interrupt factor
The value of the 32-bit free-run timer matches with the compare clear register
(CPCLRB/CPCLR).
When the value of the 32-bit free-run timer matches with the compare clear register (CPCLRB/CPCLR),
ICLR (bit9) of the timer status register (TCCSH) is set to "1". If an interrupt request is enabled in this status
(ICRE (bit8) of TCCSH register = 1), an interrupt request is output to the interrupt controller.
■ Interrupt for the 32-bit Output Compare
Table 11.4-2 shows the interrupt control bits and interrupt factor for the 32-bit output compare.
Table 11.4-2 Interrupt Control Bits and Interrupt Factor for the 32-bit Output Compares 4 to 7
32-bit output compares 4, 5
32-bit output compares 6, 7
Interrupt request flag bit
IOP1, IOP0 (bit7, bit6) in the low-order byte IOP1, IOP0 (bit7, bit6) in the low-order byte
of the compare control register (OCSL4)
of the compare control register (OCSL6)
Interrupt request permission bit
IOE1, IOE0 (bit5, bit4) in the low-order byte IOE1, IOE0 (bit5, bit4) in the low-order byte
of the compare control register (OCSL4)
of the compare control register (OCSL6)
Interrupt factor
The value of the 32-bit free-run timer
matches with the output compare register
(OCCPH/L 4, 5).
The value of the 32-bit free-run timer
matches with the output compare register
(OCCPH/L 6, 7).
When the value of the 32-bit free-run timer matches with the output compare register (OCCPH/L 4 to 7),
IOP1, IOP0 (bit7, bit6) in the low-order byte of the compare control register (OCSL4, OCSL6) are set to
"11B". If an interrupt request is enabled in this status (IOE1, IOE0 (bit5, bit4) of OCSL4, OCSL6 registers =
11B), an interrupt request is output to the interrupt controller.
312
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.4 Interrupt by the Compare Timer
MB91345 Series
■ Interrupt for the 32-bit Input Capture
Table 11.4-3 interrupt control bits and interrupt factor for the 32-bit input capture.
Table 11.4-3 Interrupt Control Bits and Interrupt Factor for the 32-bit Input Captures 4 to 7
32-bit input captures 4, 5
Interrupt request flag bit
32-bit input captures 6, 7
ICP4, ICP5 (bit7, bit6) in the low-order byte ICP7, ICP6 (bit7, bit6) in the low-order byte
of the input capture status control register
of the input capture status control register
(ICS45)
(ICS67)
ICE4, ICE5 (bit5, bit4) in the low-order byte ICE7, ICE6 (bit5, bit4) in the low-order byte
Interrupt request permission bit of the input capture status control register
of the input capture status control register
(ICS45)
(ICS67)
Interrupt factor
A valid edge is detected at the IC4, IC5 pins A valid edge is detected at the IC6, IC7 pins
As for the 32-bit input capture, when a valid edge is detected at the IC4 to IC7 pins, ICP7, ICP6, ICP5,
ICP4 (bit7, bit6 for all cases) of the input capture status control register (ICS45, ICS67) are set to "11B". If
an interrupt request is enabled in this status (ICE7, ICE6, ICE5, ICE4 (bit5, bit4 for all cases) of ICS45,
ICS67 registers = 11B), an interrupt request is output to the interrupt controller.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
313
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
11.5
MB91345 Series
Compare Timer Operation
This section describes the operation of the compare timer.
■ Compare Timer Operation
● 32-bit free-run timer
When count operation is enabled, the 32-bit free-run timer starts counting up from the value specified in the
timer data register (TCDT). The count value is used as reference time for the 32-bit output compare and 32bit input capture.
● 32-bit output compare
The 32-bit output compare is used to compare "the value set in the specified output compare register" with
"the value of the 32-bit free-run timer". When a match is detected, an interrupt flag is set and the output
level is inverted.
● 32-bit input capture
The 32-bit input capture is used to detect a valid edge being specified.
When a valid edge is detected, an interrupt flag is set, and the value of the 32-bit free-run timer is captured
and stored in the input capture data register.
314
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
MB91345 Series
11.5.1
Operation of the 32-bit Free-run Timer
The compare timer has one unit of a 32-bit free-run timer. After a reset is completed, the
32-bit free-run timer starts counting up from the value specified in the timer data
register (TCDT). The count value is used as reference time for the 32-bit output compare
and 32-bit input capture.
■ Clearing the Timer
The count value of the 32-bit free-run timer is cleared at one of the following events:
• When the match with the compare clear register is detected
• When "1" is written in SCLR (bit4) of the TCCSL register during operation
• When "00000000H" is written in the TCDT register while operation is stopped
• When the timer is reset
When the timer is reset, the counter is cleared immediately. When the match with the compare clear
register is detected, the counter is cleared in synchronization with the count timing.
Figure 11.5-1 Timing of clearing the 32-bit free-run timer
φ
Compare clear
Register value
N
Compare match
Count value
N
0000H
■ Counting Up
The 32-bit free-run timer is an up counter.
The counter starts counting up from the value of the predefined timer data register (TCDT) and continues
counting up until the count value matches with the value of the compare clear register (CPCLRB/CPCLR).
Then the counter is cleared to "0000H" and starts counting up again.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
315
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
MB91345 Series
■ Compare Clear Register
The compare clear register (CPCLRB/CPCLR) writes data to be compared.
Figure 11.5-2 Writing data of compare clear register
Count value
FFFFFFFFH
BFFFFFFFH
7FFFFFFFH
3FFFFFFFH
Time
00000000 H
Start of timer operation
Compare clear match
Reset
Compare clear
register
BFFFH
7FFFH
FFFFH
■ Timer Interrupt
The 32-bit free-run timer can generate a compare clear interrupt.
A compare clear interrupt is generated when the timer value matches with the value of the compare clear
register (CPCLRB/CPCLR).
Figure 11.5-3 Compare clear interrupt
Count value
N-1
N
0
1
Compare clear interrupt
316
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
MB91345 Series
■ Selected External Count Clock
The 32-bit free-run timer is incremented based on the input clock (internal or external clock). When the
external clock is selected, the external clock mode is selected (ECKE (bit15) of the TCCSH register = 1). If
the initial value of the external input is "1", the 32-bit free-run timer starts counting up at a rising edge.
After that, it counts up at both edges. If the initial value of the external input is "0", the timer starts counting
up at a falling edge. After that, it counts up at both edges.
Figure 11.5-4 Count Timing of the 32-bit Free-run Timer
External clock input
TCCSH: ECKE bit
Count clock
Count value
N
N+1
N+2
Note:
The external clock input is counted at both edges of the external clock.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
317
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
11.5.2
MB91345 Series
Operation of the 32-bit Output Compare
The output compare is used to compare "the value set in the specified compare clear
register" with "the value of the 32-bit free-run timer". When a match is detected, an
interrupt flag is set and the output level is inverted.
■ Operation of the 32-bit Output Compare
● The compare operation can be executed at each channel (CMOD (bit12) in the high-order byte of the
compare control register (OCS45, OCS67) = 0).
Figure 11.5-5 Example of Output Waveform if Compare Registers 4 and 5 are Used Independently
when the Output Initial Value is "0"
Count value
FFFFFFFFH
BFFFFFFFH
7FFFFFFFH
3FFFFFFFH
00000000 H
Time
Reset
Compare
register 4
BFFFH
Compare
register 5
7FFFH
RT4
RT5
Interrupt by
compare 4
Interrupt by
compare 5
318
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
MB91345 Series
● The output level can be changed by using a pair of compare registers (CMOD (bit12) in the high-order
byte of the compare control register (OCS45, OCS67) = 1).
Figure 11.5-6 Example of Output Waveform if Compare Registers 4 and 5 are Used as a Pair
when the Output Initial Value is "0"
Count value
FFFFFFFFH
BFFFFFFFH
7FFFFFFFH
3FFFFFFFH
00000000 H
Time
Reset
Compare
register 4
BFFFH
Compare
register 5
7FFFH
Corresponds to
compare 4
Corresponds to
compare 4 and 5
RT4
RT5
Interrupt by
compare 4
Interrupt by
compare 5
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
319
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
MB91345 Series
■ Timing of the 32-bit Output Compare Operation
If the value of the free-run timer matches with the value of the compare register, the output compare
generates a compare match signal, inverts the output, and generates an interrupt. When a compare match
occurs, the output is inverted in synchronization with the count timing of the counter.
Figure 11.5-7 Interrupt Timing of the Compare Register
Machine clock φ
N
N+1
Count value
N
Compare register
Compare match
Interrupt
Figure 11.5-8 Timing of Changes in the Pin Output
Machine clock φ
Count value
Compare register
N+1
N
N+1
N
N
Compare match signal
Pin output
320
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
MB91345 Series
11.5.3
Operation of the 32-bit Input Capture
The input capture is used to detect a valid edge being specified. When a valid edge is
detected, an interrupt flag is set and the value of the 32-bit free-run timer is loaded to
the capture register.
■ Operation of the 32-bit Input Capture
Figure 11.5-9 Timing Example of Input Capture
Count value
FFFFFFFFH
BFFFFFFFH
7FFFFFFFH
3FFFFFFFH
00000000 H
Time
Reset
IC4
IC5
IC example
Capture
register 4
Capture
register 5
Capture
register
example
Indeterminate
3FFFH
Indeterminate
Indeterminate
7FFFH
BFFFH
3FFFH
Interrupt by
capture 4
Interrupt by
capture 5
Interrupt by
capture example
Another generation of an interrupt by a valid edge
Interrupt clear by software.
Capture 4: Rising edge
Capture 5: Falling edge
Capture example: Both edges
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
321
CHAPTER 11 32-bit Compare Timer
11.5 Compare Timer Operation
MB91345 Series
■ Input Timing of the 32-bit Input Capture
Figure 11.5-10 Timing Example of the 32-bit Input Capture for Input Signals
Machine clock φ
Count value
Input
N
N+1
Valid edge
Capture input
Capture signal
Capture register
N+1
Interrupt
322
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.6 Notes on Using the Compare Timer
MB91345 Series
11.6
Notes on Using the Compare Timer
This section describes the notes on using the components of the compare timer.
■ Notes on Using the 32-bit Free-run Timer
● Notes on setting by program
When a reset or a software clear is executed (SCLR (bit4) of the TCCSL register = 1), the timer value is
reset to "00000000H".
● Notes on interrupt
When "1" is set to the ICLR (bit9) in the high-order byte of the timer status control register (TCCSH), and
then an interrupt request is enabled (ICRE (bit8) of the TCCSH register = 1), the control cannot return from
the interrupt processing. Note that ICLR (bit9) must be cleared.
■ Notes on Using the 32-bit Output Compare
Notes on interrupt
When "11B" is set to IOP1, IOP0 (bit7, bit6) in the low-order byte of the compare control register (OCSL4,
OCSL6), and then an interrupt request is enabled (IOE1, IOE0 (bit6, bit5) of the OCSL register = 11B), the
control cannot return from the interrupt processing. Be sure to clear IOP0, IOP1 bits.
■ Notes on Using the 32-bit Input Capture
Notes on interrupt
When "1" is set to ICP7, ICP6, ICP5, ICP4 (bit7, bit6 for all cases) in the low-order byte of the input
capture status control register (ICSL45, ICSL67), and then an interrupt request is enabled (ICE7, ICE6,
ICE5, ICE4 (bit5, bit4 for all cases) of the ICSL45, ICSL67 registers = 11B), the control cannot return from
the interrupt processing. Be sure to clear ICP7, ICP6, ICP5, ICP4 (bit7, bit6 for all cases).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
323
CHAPTER 11 32-bit Compare Timer
11.7 Program Example of the Compare Timer
11.7
MB91345 Series
Program Example of the Compare Timer
This section shows the program example of the components of the compare timer.
■ Program Example of the 32-bit Free-run Timer
● Details of processing
• When the 32-bit free-run timer counts 4 ms, it generates a compare clear interrupt.
• This timer is used to regenerate the compare clear timer in the up-count mode.
• The setting of 16 MHz is for the peripheral clock, and that of 62.5 ns is for the count clock.
● Coding example
ICR32
.EQU 000460H
; Compare clear interrupt control register of
; the 32-bit free-run timer
TCCSH
.EQU 0000A8H
CPCLRBH .EQU 0000A4H
; Timer control status register
; Compare clear buffer register
;--------------- Main program -------------------------------ORG
C0000H
START:
;
; Assume that the stack pointer (SP) has been
:
; already initialized.
ANDCCR #0EFH
; Disable interrupts.
LDI
#ICR32,r0
LDI
#00H,r1
STB
r1,@r0
LDI
#CPCLRBH,r0 ; Specify a value in the compare clear buffer register
LDI
#0FA00H,r1
; to generate a compare clear interrupt at 4 ms
STH
r1,@r0
; when the 32-bit free-run timer is in the up-count mode.
LDI
#TCCSH,r3
; Set the up/down-count mode,
LDI
#0110H,r1
; set the 62.5 ns count clock,
STH
r1,@r3
; enable a compare clear interrupt,
; Interrupt level 16 (Highest)
; clear the compare clear interrupt flag bit,
; disable the interrupt mask,
; clear the timer, and enable the operation.
LOOP
324
STILM #14H
; Set ILM in PS to level 20.
ORCCR #10H
; Enable interrupts.
LDI
#00H,r0
; Endless loop
LDI
#01H,r1
BRA
LOOP ;
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.7 Program Example of the Compare Timer
MB91345 Series
;--------------- Interrupt program -------------------------------WARI
LDI
#0100H,r1
; Clear the interrupt request flag.
ANDH r1,@r3
;
:
;
User processing
;
:
; Return from the interrupt processing.
RETI
;--------------- Vector setting ------------------------------------VECT
.ORG
.DATA.W
.ORG
FFFF8H
WARI
; Set the interrupt routine.
FFFF8H
.DATA.W
0x07000000 ; Set the single chip mode.
.DATA.W
START
; Set the reset vector.
.END
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
325
CHAPTER 11 32-bit Compare Timer
11.7 Program Example of the Compare Timer
MB91345 Series
■ Program Example of the 32-bit Output Compare
● Details of processing
• When the count value of the 32-bit free-run timer matches with the value of the output compare, an
output compare match is generated.
• This program is used when the 32-bit free-run timer is in the up/down-count mode.
• The setting of 16 MHz is for the peripheral clock, and that of 62.5 ns is for the count clock of the 32-bit
free-run timer 0.
● Coding example
ICR44
EQU
00046CH
; Output compare 0/1 interrupt register
TCCSH
EQU
0000A8H
; Timer control status register
CPCLRBH EQU
0000A4H
; Compare clear buffer register
OCCPBH0 EQU
000090H
; Output compare buffer register 0
OCCPBH1 EQU
000092H
; Output compare buffer register 1
OCSH1
00009CH
; Compare control register
EQU
;--------------- Main program -------------------------------START:
;
; Assume that the stack pointer (SP) has been
:
; already initialized.
ANDCCR #0EFH
326
; Disable interrupts.
LDI
#ICR44,r0
LDI
#00H,r1
STB
r1,@r0
LDI
#CPCLRBH,r0 ; Set it to the compare clear buffer register
LDI
#0FFFFH,r1
STH
r1,@r0
LDI
#OCCPBH0,r0 ; Set output compare register 0.
LDI
#0BFFFH,r1
STH
r1,@r0
LDI
#OCCPBH1,r0 ; Set output compare register 1.
LDI
#07FFFH,r1
STH
r1,@r0
LDI
#OCSH1,r3
; Enable the output compare output.
LDI
#6C33H,r2
; Enable compare match interrupts 0/1.
STH
r2,@r3
; Clear the interrupt flag bit.
LDI
#TCCSH,r0
; Set the up/down-count mode,
LDI
#0010H,r1
; clear the timer, and enable the operation.
; Interrupt level 16 (Highest)
; of the 32-bit free-run timer.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 11 32-bit Compare Timer
11.7 Program Example of the Compare Timer
MB91345 Series
STH
LOOP
r1,@r0
STILM #14H
; Set ILM in PS to level 20.
ORCCR #10H
; Enable interrupts.
LDI
#00H,r0
; Endless loop
LDI
#01H,r1
BRA
LOOP
;
;--------------- Interrupt program -------------------------------WARI:
; Clear the interrupt register flag.
ANDH r2,@r3
;
:
;
User processing
;
:
; Return from the interrupt processing.
RETI
;--------------- Vector setting ------------------------------------VECT
.ORG
.DATA.W
.ORG
FFFF8H
WARI
; Set the interrupt routine.
FFFF8H
.DATA.W
0x07000000 ; Set the single chip mode.
.DATA.W
START
; Set the reset vector.
.END
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
327
CHAPTER 11 32-bit Compare Timer
11.7 Program Example of the Compare Timer
328
FUJITSU SEMICONDUCTOR LIMITED
MB91345 Series
CM71-10132-3E
CHAPTER 12
16-bit PWC
This chapter describes the overview, the configuration
and functions of registers, and operations of the 16-bit
PWC.
12.1 Overview of the 16-bit PWC
12.2 Register of the 16-bit PWC
12.3 Operation of the 16-bit PWC
12.4 Notes on Using in the 16-bit PWC
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
329
CHAPTER 12 16-bit PWC
12.1 Overview of the 16-bit PWC
12.1
MB91345 Series
Overview of the 16-bit PWC
16-bit PWC is composed of 16-bit up counter, input pulse divider, division ratio control
register, measurement input pin and control register. It allows pulse-width measurement
of input signals.
■ Overview of the 16-bit PWC
16-bit PWC measures the time between any given events of pulse inputs from the outside. Reference
internal clock can be selected from among the following three types.
• Peripheral clock divided by 4, 16, 32.
Measurement mode can be selected from among the following six types.
• "H" pulse width ( through )
• "L" pulse width ( through )
• Rising cycle ( through )
• Falling cycle ( through )
• Measurement between edges ( or  through  or )
• Measurement of input pulse division cycle [2n divisions (n = 1, 2, 3, 4, 5, 6, 7, 8)]
In addition, the 16-bit PWC has the following features.
• 16-bit PWC can generate interrupt requests at the termination of the measurement.
• 16-bit PWC can select one-time measurement or continuous measurement.
330
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.1 Overview of the 16-bit PWC
MB91345 Series
■ Block Diagram of the 16-bit PWC
Figure 12.1-1 Block diagram of the 16-bit PWC
PWCR0 is read.
ERR
Error is detected.
16
/
/
16
PWCR0
Internal clock
(Peripheral clock divided by 4)
/ 16
Writing is enabled.
Reload
Data is transferred.
/ 16
R-bus
16-bit up counter
Overflow
Cleared
Clock
22
Counting is
permitted.
23
CKS1/
CKS0
Control circuit
Control bit is
outputted.
Flag is set.
Start edge
is selected.
Measurement
start edge
Termination
edge is
selected.
Divider is cleared.
Division
On/Off
Input wave
comparator
Edge is
detected.
Measurement
termination edge
Interrupt request at the termination
of the measurement
Clock
divider
PIS1/PIS0
ERR
CKS1/CKS0
PWC
8-bit
divider
Interrupt request for overflow
15
/
PWCSR
Division ratio
is selected.
2
/
CM71-10132-3E
PDIVR
FUJITSU SEMICONDUCTOR LIMITED
331
CHAPTER 12 16-bit PWC
12.2 Register of the 16-bit PWC
12.2
MB91345 Series
Register of the 16-bit PWC
This section describes the register of the 16-bit PWC.
■ Register List of the 16-bit PWC
Figure 12.2-1 Register list of the 16-bit PWC
PWCSR high order
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
0000F8H
STRT
STOP
EDIR
EDIE
OVIR
OVIE
ERR
R/W
R
R/W
R/W
R/W
R


00000000B
R/W
PWCSR low order
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000F9H
CKS1
CKS0
PIS1
PIS0
SC
MOD2
MOD1
MOD0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit14
bit13
bit12
bit11
bit10
bit9
bit8
PWCR high order
Address
0000FAH
bit15
PWC15 PWC14 PWC13 PWC12 PWC11 PWC10 PWC09 PWC08
R
R
R
R
R
R
R
R
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00000000B
PWCR low order
Address
0000FBH
PWC07 PWC06 PWC05 PWC04 PWC03 PWC02 PWC01 PWC00
Initial value
00000000B
R
R
R
R
R
R
R
R
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000FDH










DIV2
DIV1
DIV0
XXXXX000B
R/W
R/W
R/W
PDIVR
R/W:
R:
:
332
Readable/writable
Read only
Reserved bit
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.2 Register of the 16-bit PWC
MB91345 Series
12.2.1
PWC Control Status Register (PWCSR0)
This register is used to control the operation of PWC and to display the status.
■ PWC Control Status Register (PWCSR0)
PWCSR0 high order
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
0000F8H
STRT
STOP
EDIR
EDIE
OVIR
OVIE
ERR
R/W
R
R/W
R/W
R/W
R


00000000B
R/W
PWCSR0 low order
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000F9H
CKS1
CKS0
PIS1
PIS0
SC
MOD2
MOD1
MOD0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W:
R:
:
Readable/writable
Read only
Reserved bit
[bit15] STRT: Counter start bit
[bit14] STOP: Counter stop bit
These bits are used to start, restart and stop the 16-bit up counter. When it is read, counter’s operation
status is displayed. The following tables show bit functions.
(1) Functions during the writing (Control of the operation)
STRT
STOP
Functions of operation control
0
0
No function/No effect on operation
0
1
Starts/Restarts the counter. (Enable counting)
Note: Clear bit command is enabled.
1
0
Forcedly stops the operation of counter (Disable counting).
Note: Clear bit command is enabled.
1
1
No function/No effect on operation
(2) Functions during the reading (Display of the operation status)
STRT
STOP
Display of the operation status
0
0
Counting is stopped.
[Initial value]
(The counter is not activated or measurement is terminated.)
1
1
Counting is running. (Under a measurement)
• When reset, it is initialized to "00B".
• Read/Write is enabled. Depending on the writing and reading, functions will be different as
mentioned above.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
333
CHAPTER 12 16-bit PWC
12.2 Register of the 16-bit PWC
MB91345 Series
• When Read/Modify/Write (RMW) commands are used for the reading, the read value will be "11B"
regardless of its operation.
• To write STRT/STOP bits for starting/stopping the counter, bit processing command (e.g. Bit clear
command) can be used for the corresponding bits. However, to read the operation status, bit
processing command cannot be used. (When it is read, note that "Counting is running". is always
displayed.)
[bit13] EDIR: Interrupt request flag at the termination of the measurement
This bit is a flag used to indicate that measurement is terminated when it is in the pulse-width
measurement mode. If this bit is set when the interrupt request at the termination of the measurement is
permitted (bit12: EDIE=1), the interrupt request at the termination of the measurement is generated.
Setting trigger
This bit is set when the pulse-width measurement is terminated (Measurement
results are stored into the PWCR0). [Initial value]
Clearing trigger
This bit is cleared when the PWCR0 (measurement results) is read.
• When reset, it is initialized to "0".
• Only Read is enabled. Writing does not affect the bit value.
[bit12] EDIE: Interrupt request permission bit at the termination of the measurement
This bit controls the interrupt request at the termination of the measurement as follows, when it is in the
pulse-width measurement mode.
0
Disables the interrupt request output at the termination of the measurement.
[Initial value] (Even if EDIR is set, the interrupt is not generated.)
1
Enables the interrupt request output at the termination of the measurement.
(If EDIR is set, the interrupt is generated.)
• When reset, it is initialized to "0".
• Read/Write is enabled.
[bit11] OVIR: Interrupt request flag for the counter overflow
This flag is used to indicate that 16-bit up counter overflows from "FFFFH" to "0000H" in all modes. If
this bit is set when the interrupt request flag for the counter overflow is enabled (bit10: OVIE=1), the
interrupt request flag for the counter overflow is generated.
Setting trigger
This bit is set when the counter overflow occurs.
(When the counter overflows from FFFFH to 0000H.)
Clearing trigger
This bit is cleared when "0" is written.
• When reset, it is initialized to "0".
• Read/Write is enabled. For writing, only "0" can be used. Even if writing "1", it does not affect the bit
value.
• When Read/Modify/Write commands are used, read value will be "1" regardless of its bit value.
334
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.2 Register of the 16-bit PWC
MB91345 Series
[bit10] OVIE: Interrupt request permission bit for the counter overflow
This bit controls the interrupt request for the counter overflow as follows.
0
Disables the interrupt request output for the overflow.
(Even if OVIR is set, the interrupt is not generated.)
1
Enables the interrupt request output for the overflow.
(If OVIR is set, the interrupt is generated.)
[Initial value]
• When reset, it is initialized to "0".
• Read/Write is enabled.
[bit9] ERR: Error flag
This flag is used to indicate that next measurement is terminated before the measurement results in the
PWCR0 are read when it is in the continuous pulse-width measurement mode. In this case, the PWCR0
value is updated to a new measurement result. The last measurement result is deleted. Measurement is
continued regardless of this bit value.
Setting trigger
This bit is set when unread measurement result is deleted by the next result.
Clearing trigger
This bit is cleared when the PWCR0 (measurement results) is read.
• When reset, it is initialized to "0".
• Only Read is enabled. Writing does not affect the bit value.
[bit8] (Reserved)
This bit is a reserved bit. The read value is "0".
Write "0" always.
[bit7, bit6] CKS1, CKS0: Clock selection bits
These bits are used to select internal counting as follows.
CKS1
CKS0
Count clock selection
0
0
Peripheral clock divided by 4
0
1
Peripheral clock divided by 16
1
0
Peripheral clock divided by 32
1
1
Setting disabled.
[Initial value]
• When reset, it is initialized to "00B".
• Read/Write is enabled. Do not set "11B".
Note:
After the counter is started, rewriting is disabled. Make sure to write these bits before the counter
starts or after the counter stops.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
335
CHAPTER 12 16-bit PWC
12.2 Register of the 16-bit PWC
MB91345 Series
[bit5, bit4] PIS1, PIS0: Pulse-width measurement input pin selection bits
Write "00B" always for these bits.
These bits are used to select the pulse-width measurement input pin.
PIS1
PIS0
Input clock selection
0
0
(Selects PWC0 pin.)
0
1
Selects to compare two inputs (Rising edges are compared).
It is disabled in this product.
1
0
Selects to compare two inputs (Falling edges are compared).
It is disabled in this product.
1
1
Setting disabled.
[Initial value]
• When reset, it is initialized to "00B".
• Read/Write is enabled. Do not set "11B".
These bits are enabled for only PWC0. (PWC0/PWC1 is used for the input.) For more information, see
"■ Details of operation for the pulse-width measurement" in the section "12.3 Operation of the 16-bit
PWC".
Note:
Since this product is equipped with PWC 1 channel, the width measurement function to compare two
inputs cannot be used.
After the counter is started, rewriting is disabled. Make sure to write these bits before the counter
starts or after the counter stops.
[bit3] SC: Measurement mode (one-time/continuous) selection bit
This bit is used to select the measurement mode as follows.
SC
When it is in the pulse-width
measurement mode
Measurement mode selection
0
One-time measurement mode
[Initial value]
It is stopped when one-time measurement
is terminated.
1
Continuous measurement mode
Continuous measurement: buffer register
is enabled.
• When reset, it is initialized to "0".
• Read/Write is enabled.
Note:
After the counter is started, rewriting is disabled. Make sure to write this bit before the counter starts
or after the counter stops.
336
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.2 Register of the 16-bit PWC
MB91345 Series
[bit2, bit1, bit0] MOD2, MOD1, MOD0: Operation mode/Measurement edge selection bits
These bits are used to select edges which carry out the operation mode and width measurement as
follows.
MOD2 MOD1 MOD0
Operation mode/Measurement edge selection
0
0
0
Pulse-width measurement mode between all edges ( or  through  or ).
[Initial value]
0
0
1
Division cycle measurement mode (Input divider is enabled.)
0
1
0
Cycle measurement mode between rising edges ( through )
0
1
1
"H" pulse-width measurement mode ( through )
1
0
0
"L" pulse-width measurement mode ( through )
1
0
1
Cycle measurement mode between falling edges ( through )
1
1
0
1
1
1
Setting disabled.
• When reset, it is initialized to "000B".
• Read/Write is enabled.
Note:
After the counter is started, rewriting is disabled. Make sure to write these bits before the counter
starts or after the counter stops.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
337
CHAPTER 12 16-bit PWC
12.2 Register of the 16-bit PWC
12.2.2
MB91345 Series
PWC Data Buffer Register (PWCR0)
This register is a buffer used to retain the measurement results.
■ PWC Data Buffer Register (PWCR0)
PWCR0 high order
Address
0000FAH
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
PWC15 PWC14 PWC13 PWC12 PWC11 PWC10 PWC09 PWC08
R
R
R
R
R
R
R
R
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00000000B
PWCR0 low order
Address
0000FBH
PWC07 PWC06 PWC05 PWC04 PWC03 PWC02 PWC01 PWC00
R
R:
R
R
R
R
R
R
Initial value
00000000B
R
Read only
If it is in continuous measurement mode (PWCSR0 bit3: SC=1), this buffer register retains last
measurement results. In this case, only Read is enabled. Writing does not affect any register value.
If it is in one-time measurement mode (PWCSR0 bit3: SC=0), this register directly accesses the up counter.
In this case, only Read is enabled. Writing does not affect any register value. Reading is always enabled as
needed. Read value will be the counted value during the counting. After the measurement is terminated,
measurement results will be stored.
• When reset, it is initialized to "0000H".
• Only Read is enabled.
Note:
To access to this register, make sure to use a half-word or a word transfer command.
338
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.2 Register of the 16-bit PWC
MB91345 Series
12.2.3
Division Ratio Control Register (PDIVR0)
Division ratio control register is used to control the counted value of the 16-bit free-run
timer.
■ Division Ratio Control Register (PDIVR0)
PDIVR0
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
0000FDH










DIV2
DIV1
DIV0
XXXXX000B
R/W
R/W
R/W
R/W:
Readable/writable
This register is used when it is in the division cycle measurement mode (PWCSR0 bit2, bit1, bit0: MOD2,
MOD1, MOD0=001B). When it is in any other mode, this register is useless.
When it is in the division cycle measurement mode, this register measures single cycle width by dividing
the pulse inputted in measurement pins according to the division ratio set by this register. The division ratio
is selected as follows.
DIV2
DIV1
DIV0
Division ratio selection
0
0
0
0
0
1
22=4 divisions
0
1
0
23=8 divisions
0
1
1
24=16 divisions
1
0
0
25=32 divisions
1
0
1
26=64 divisions
1
1
0
27=128 divisions
1
1
1
28=256 divisions
21=2 divisions
[Initial value]
• When reset, it is initialized to "000B".
• Read/Write is enabled.
Note:
After the counter is started, rewriting is disabled. Make sure to write these bits before the counter
starts or after the counter stops.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
339
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
12.3
MB91345 Series
Operation of the 16-bit PWC
16-bit PWC is equipped with the measurement input pins and the 8-bit input divisions.
PWC provides the pulse-width measurement function which can select three types of
count clocks. This section describes basic functions and operations of the pulse-width
measurement function.
■ Pulse-width Measurement Function
This function measures times and cycles between any given events of the input pulse using the counter.
Once it is started, the counting is not carried out until the specified measurement start edge is inputted. Counting
up starts when the counter which detects the start edge is cleared to "0000H". Counting stops when stop edge is
detected. Counted values between these counting are stored into the register as the pulse-width.
Upon the termination of measurement and overflow occurrence, this function allows interrupt request to
generate.
Upon the termination of the measurement, the following operations are provided depending on its measurement
mode.
• One-time measurement mode: It stops the operation.
• Continuous measurement mode: It transfers the counter value into the buffer register and then stops the
counting until the measurement start edge is inputted again.
(Solid line = counted value)
PWC input .
Measured pulse
counted value
FFFFH
Counting is cleared.
0000H
Measurement
is started.
Counting
is started.
Counting
is stopped.
Time
EDIR flag is set. (Measurement is terminated.)
Operation of pulse-width measurement (One-time measurement mode/"H" width measurement)
(Solid line = counted value)
PWC input .
Measured pulse
counted value
Overflow
FFFFH
Data is transferred
to the PWCR0.
Data is transferred to the PWCR0.
Counting is cleared.
Counting is cleared.
0000H
Measurement
is started.
Counting
is started.
Counting
is stopped.
Counting
is started.
OVIR flag is set.
EDIR flag is set. (Measurement is terminated.)
Counting
is stopped.
Time
EDIR flag is set.
Operation of pulse-width measurement (Continuous measurement mode/"H" width measurement)
340
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
■ Count Clock Selection
Count clock of the counter can be selected from among the three types of internal clock sources using the
setting of bit7, bit6: CKS1, CKS0 of the PWCSR0 register.
The following count clocks are available for selection.
Table 12.3-1 Count Clock Selection
PWCSR0
Internal count clocks available for selection
CKS1, CKS0
00B
Peripheral clock divided by 4
01B
Peripheral clock divided by 16
10B
Peripheral clock divided by 32
[Initial value]
For the initial value by reset, peripheral clock divided by 4 will be selected.
Note:
To select a count clock, make sure to do it before the counter starts.
■ Operation Mode Selection
To select the operation mode and measurement mode, use the setting of PWCSR0.
• To set an operation mode: PWCSR0 bit2 to bit0: MOD2, MOD1, MOD0
(Pulse-width measurement modes are selected and measurement edges are determined.)
• To set a measurement mode: PWCSR0 bit3: SC
(One-time measurement or continuous measurement will be selected.)
The following table shows the operation mode list with the combination of mode setting bits.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
341
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
Table 12.3-2 Operation Mode List with Combination of Mode Setting Bits
Operation mode
SC
MOD2 MOD1 MOD0
 or  through  or 
Measurement between all
edges
One-time measurement: Buffer is disabled.
0
0
0
0
Continuous measurement: Buffer is enabled.
1
0
0
0
Division cycle
measurement (1 division
through 256 divisions)
One-time measurement: Buffer is disabled.
0
0
0
1
Continuous measurement: Buffer is enabled.
1
0
0
1
 through  :
Cycle measurement
between rising edges
One-time measurement: Buffer is disabled.
0
0
1
0
Continuous measurement: Buffer is enabled.
1
0
1
0
One-time measurement: Buffer is disabled.
0
0
1
1
Continuous measurement: Buffer is enabled.
1
0
1
1
 through :
"L" pulse-width
measurement
One-time measurement: Buffer is disabled.
0
1
0
0
Continuous measurement: Buffer is enabled.
1
1
0
0
 through :
Cycle measurement
between falling edges
One-time measurement: Buffer is disabled.
0
1
0
1
Continuous measurement: Buffer is enabled.
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
Pulse-width
measurement  through :
"H" pulse-width
measurement
Setting disabled.
For the initial value by reset, measurement between all edges (one-time measurement mode) will be
selected.
Note:
To select a start mode, make sure to do it before the counter starts.
■ Start and Stop of Pulse-width Measurement
To start, restart and forcedly stop each operation, use bit15, bit14: STRT, STOP of the PWCSR0.
Pulse-width measurement has different functions depending on the STRT bit which is used to start/restart
the pulse-width measurement and STOP bit which is used to forcedly stop the pulse-width measurement.
When "0" is written into each bit, it functions. In this case, the values written to both bits are exclusively
each other. Otherwise, it does not function. To write the value using the commands other than bit operating
commands (byte size or more), make sure to write the following combinations.
342
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
Table 12.3-3 Start and Stop of Pulse-width Measurement
Function
STRT
STOP
Start and restart of the pulse-width measurement
0
1
Forced stop of the pulse-width measurement
1
0
If you use a bit operating command (bit clearing command), your hardware will automatically write the
value using the combinations mentioned above so that you do not need to pay any attention.
• Operation upon the start of the pulse-width measurement mode
Counting will not be carried out until the measurement start edge is inputted. Upon the detection of the
measurement start edge, 16-bit up counter is cleared to "0000H" to start the counting.
• About the restart
- Activating the counting (to write "0" into STRT bit) during the operation after the start of pulse-width
measurement is called the "restart". If this restart is activated, the following operation will be carried
out.
- When it is in the status waiting for measurement start edge, it does not affect the operation. During
the measurement, it stops the counting and it will be in the status waiting for measurement start edge
again. In this case, if the detection of measurement termination edge and restart occur at the same
time, measurement termination flag (EDIR) is set. When it is in the continuous measurement mode,
measurement results are transferred to the PWCR0.
• About the stop
- When it is in the one-time measurement mode, counter overflow or termination of the measurement
will automatically stop the counting so that you do not need to pay attention. When it is in other
modes or if you want to stop it before it is stopped automatically, you need to forcedly stop it.
- If PWC1 edge selected to compare two inputs is not placed before the forced stop, the first
measurement result right after the restart will be incorrect. Forced stop shall be inputted after the
PWC1 edge is inputted.
Note:
Since this product is equipped with PWC 1 channel, the width measurement function to compare two
inputs cannot be used.
• To verify the operation status
As mentioned above, STRT and STOP bits play a role as a bit to display the operation status when it is
read. Displayed values show the following details.
Table 12.3-4 Operation Status Display of STRT Bit and STOP Bit
CM71-10132-3E
STRT
STOP
Operation status
0
0
Counting is stopped. (Except for the status waiting for measurement start edge.)
The counter is not activated or measurement is terminated.
1
1
Counting is running or it is in the status waiting for measurement start edge.
FUJITSU SEMICONDUCTOR LIMITED
343
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
Note:
If you read either STRT bit or STOP bit, the read value will be the same value. Since the read value
will be always "11B" when Read/Modify/Write (RMW) commands (e.g. bit processing commands) are
used for reading this bit, do not use these commands for the reading.
■ Clearing the Counter
16-bit up counter is cleared to "0000H" in the following cases.
• When reset
• In the case to start the counting by detecting the measurement start edge when it is in pulse-width
measurement mode.
■ Details of Operation for the Pulse-width Measurement
One-time measurement and continuous measurement
• Pulse-width measurement has one-time measurement mode and continuous measurement mode. Each
mode is selected by SC bit of the PWCSR0 (See "■ Operation mode selection" in this section). The
differences between these modes are as follows.
- One-time measurement mode:
When the first measurement termination edge is inputted, the counting of the counter is stopped and then
measurement termination flag (EDIR) of the PWCSR0 is set. Subsequent measurement will not be carried
out. However, if the restart is activated at the same time, it is in the status waiting for the measurement start.
- Continuous measurement mode:
When the measurement termination edge is inputted, the counting of the counter is stopped and then
measurement termination flag (EDIR) of the PWCSR0 is set. The counting is stopped until the
measurement start edge is inputted again. Upon the input of the measurement start edge again, the counter is
cleared to "0000H" and then the measurement is started. Upon the termination of the measurement,
measurement results of the counter are transferred to the PWCR0.
Note:
To select or change a measurement mode, make sure to do it when the counter is stopped.
344
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
• Data of measurement results
- Depending on the one-time measurement mode and continuous measurement mode, there are
differences in the handling of measurement results and counter value, and PWCR0 functions. The
differences of measurement results between these modes are as follows.
- One-time measurement mode:
If PWCR0 is read during the operation, the counted value will be obtained during the measurement. If
PWCR0 is read after the measurement, data of measurement results will be obtained.
- Continuous measurement mode:
Upon the termination of the measurement, measurement results of the counter are transferred to the
PWCR0. If PWCR0 is read, the last measurement results will be obtained. During the measurement,
the last measurement result will be retained. Counted values during the measurement will not be read.
If the next measurement is terminated before the measurement results are read when it is in the
continuous measurement mode, the last measurement result is overwritten by the new measurement
result. In this case, an error flag (ERR) in the PWCSR0 is set. Error flag (ERR) is automatically
cleared upon the reading of the PWCR0.
• Measurement mode and counting operation
Depending on which part of inputted pulse is measured, measurement mode can be selected from among
the five types of measurement modes. In addition, it provides the mode which divides the inputted pulse to
measure the cycle so that pulse width with upper frequency is accurately measured. These are described in
the following table.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
345
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
Table 12.3-5 Measurement Mode and Counting Operation
Measurement
mode
MOD2
MOD1
MOD0
Measured description (W: pulse width to be measured)
W
Pulse-width
measurement
between all edges
↑ Counting
is started.
0
0
0
Cycle
measurement
between rising
edges
↑ Stop
↑ Start
W
0
0
1
It measures the cycle by dividing the input pulse according to the
division ratio selected in the division ratio setting register, PDIVR0.
Counting (measurement) starts when the rising edge is detected right
after the starting.
Counting (measurement) terminates when the single cycle terminates
after the division.
W
0
1
0
↑ Counting
is started.
W
W
↑ Counting
is stopped.
↑
↑ Stop
↑ Start
0
1
1
↑ Counting
is started.
W
↓ Counting
is stopped.
↑
Start
346
↓
Stop
Pulse width within the "H" cycle is measured.
Counting (measurement) starts when the rising edge is detected.
Counting (measurement) terminates when the falling edge is detected.
W
1
0
0
↓ Counting
is started.
↑ Counting
is stopped.
↓ Counting
is started.
1
0
↓
Start
↑
Stop
Pulse width within the "L" cycle is measured.
Counting (measurement) starts when the falling edge is detected.
Counting (measurement) terminates when the rising edge is detected.
W
Cycle
measurement
between falling
edges
↑
It measures the cycles between the rising edges.
Counting (measurement) starts when the rising edge is detected.
Counting (measurement) terminates when the rising edge is detected.
W
"L" pulse-width
measurement
W
↓ Counting
↑ Counting is stopped.
is started.
↓
↑ Start
Stop
(Example of 4 divisions)
W
"H" pulse-width
measurement
↓
Stop
Pulse width between edges continuously inputted will be measured.
Counting (measurement) starts when the edge is detected.
Counting (measurement) terminates when the edge is detected.
W
Division cycle
measurement
W
W
↓ Counting
is stopped.
↓ Start
W
W
↓ Counting
is stopped.
1
↓ Stop
↓ Start
↓
Stop
It measures the cycles between the falling edges.
Counting (measurement) starts when the falling edge is detected.
Counting (measurement) terminates when the falling edge is detected.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
In either mode, the counter does not carry out the counting operation until the measurement start edge is
inputted after the measurement is activated. Upon the input of the measurement start edge, the counter is
cleared to "0000H" and then up counting is continued for each count clock until the measurement
termination edge is inputted. Upon the input of the measurement termination edge, the following
operation will be carried out.
1) Measurement termination flag (EDIR) in the PWCSR0 is set.
2) Counter stops the counting operation. (Except for the case when restart occurs at the same time.)
3) Continuous measurement mode : Counter value (measurement results) is transferred to the PWCR0
and then it stops the counting to wait until the next measurement
start edge is inputted.
4) One-time measurement mode : It terminates the measurement. (Except for the case when restart
occurs at the same time.)
When it is in the continuous measurement mode, if pulse-width measurement between all edges or cycle
measurement is carried out, termination edge will be the next measurement start edge.
• Minimum inputted pulse width
- To input pulse width for the pulse-width measurement input pin (PWC0), please input the pulses
more than the minimum pulse width below.
- Minimum input width: more than machine cycle  4 (In case of 25MHz peripheral clock, more than
0.16µs is required.)
- If you input the pulse less than pulse above, we cannot assure the operation.
• Calculation formula of pulse width/cycle
Upon the termination of the measurement, calculation formula of the measured pulse width/cycle is
obtained based on measurement result data obtained by the PWCR0 as follows.
TW = n  t / DIV [s]
TW
n
t
DIV
: Measured pulse width/cycle [s]
: Measurement result data in the PWCR0
: Cycle of the count clock [s]
: Division ratio selected in the division ratio register of
PDIVR0
("1" is assigned in all modes except for the division cycle
measurement mode.)
• Measurement range of pulse width/cycle
Depending on the combination of count clock and division ratio for input divider, pulse width/cycle
range available for the measurement varies.
As an example, the following list shows sample measurement range list where peripheral clock () =
25MHz.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
347
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
Table 12.3-6 Measurement Range of Pulse Width/Cycle
Division ratio
DIV2,
DIV1,
DIV0
CKS1, CKS0 =
when 00B (/4)
CKS1, CKS0 =
when 01B (/16)
CKS1, CKS0 =
when 10B (/32)
No division

0.16 s to 10.5 ms
0.64 s to 41.9 ms
1.28 s to 83.9 ms
000B
0.32 s to 10.5 ms
0.64 s to 41.9 ms
1.28 s to 83.9 ms
2 divisions
0.16 s to 5.2 ms
0.32 s to 21.0 ms
0.64 s to 41.9 ms
001B
0.64 s to 10.5 ms
0.64 s to 41.9 ms
0.64 s to 83.9 ms
4 divisions
0.16 s to 2.6 ms
0.16 s to10.5 ms
0.16 s to 21.0 ms
1.28 s to 10.5 ms
1.28 s to 41.9 ms
1.28 s to 83.9 ms
0.16 s to 1.3 ms
0.16 s to 5.2 ms
0.16 s to 10.5 ms
2.56 s to 10.5 ms
2.56 s to 41.9 ms
2.56 s to 83.9 ms
0.16 s to 0.7 ms
0.16 s to 2. 6 ms
0.16 s to 5.2 ms
10.24 s to 10.5 ms
10.24 s to 41.9 ms
10.24 s to 83.9 ms
0.16 s to 0.2 ms
0.16 s to 0.7 ms
0.16 s to 1.3 ms
40.96 s to 10.5 ms
40.96 s to 41.9 ms
40.96 s to 83.9 ms
0.16 s to 41.0 s
0.16 s to 0.2 ms
0.16 s to 0.3 ms
8 divisions
010B
16 divisions
011B
64 divisions
100B
256 divisions
101B

Others
Remarks
Upper:
Counter
measurement
value
Lower:
Average pulse
width
Setting disabled.
• To generate interrupt request
The following two interrupt requests are is enabled to generate when it is in the pulse-width measurement
mode.
- Interrupt request for the counter overflow
During the measurement, if the overflow occurs due to the counting up, the overflow flag is set. If the
overflow interrupt request is permitted, interrupt request is generated.
- Interrupt request at the termination of the measurement
Upon the detection of the measurement termination edge, the measurement termination flag (EDIR)
in the PWCSR0 is set. If the measurement termination interrupt request is permitted, interrupt request
is generated. Measurement termination flag (EDIR) is automatically cleared upon the reading of the
measurement result of PWCR0.
348
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 12 16-bit PWC
12.3 Operation of the 16-bit PWC
MB91345 Series
Settings
• Pulse-width measurement operation flow
Restart
Count clock selection
Operation/Measurement mode selection
Interrupt flag clear
Interrupt permission
Measurement input pin selection
Started by the STRT bit
Continuous measurement mode
One-time measurement mode
Measurement start edge
is detected.
Counter is cleared.
Counter is cleared.
Counting is started.
Counting is started.
Up counting
Up counting
Overflow occurs.
→ OVIR flag is set.
CM71-10132-3E
Measurement start edge
is detected.
Overflow occurs.
→ OVIR flag is set.
Measurement termination edge
is detected. → EDIR flag is set.
Measurement termination edge
is detected. → EDIR flag is set.
Counting is stopped.
Counting is stopped.
Counted value is transferred
to the PWCR0.
Operation is stopped.
FUJITSU SEMICONDUCTOR LIMITED
349
CHAPTER 12 16-bit PWC
12.4 Notes on Using in the 16-bit PWC
12.4
MB91345 Series
Notes on Using in the 16-bit PWC
This section explains caution when using the 16-bit PWC.
■ Caution
• Caution in register rewritings
- These bits of the PWCSR0 register are not permitted to rewrite during the operation. Make sure to
rewrite them before the activation or after the stop.
- [bit7, bit6] CKS1, CKS0:
Clock selection bits
- [bit3] SC:
Measurement mode (one-time/continuous) selection bits
- [bit2, bit1, bit0] MOD2, MOD1, MOD0: Operation mode/Measurement edge selection bits
- PDIVR0 register is not permitted to rewrite during the operation. Make sure to rewrite it before the
activation or after the stop.
• STRT bit and STOP bit of the PWCSR0 register
Note that both bits have different functions depending on the writing and reading. (See section "12.2.1
PWC Control Status Register (PWCSR0)"). When Read/Modify/Write (RMW) commands are used, read
value will be "11B" regardless of its bit value. Therefore, bit processing command cannot be used for
reading the operation status. (When it is read, note that "Counting is running". is always displayed.) To
write the data into STRT or STOP bits for starting or stopping the counter, you can use bit processing
commands (e.g. bit clearing command) for the corresponding bits.
• Clearing the counter
Since the counter is cleared at the measurement start edge if it is in pulse-width measurement mode, all
the data within the counter before the activation is disabled.
• Minimum inputted pulse width
- Pulses available to be inputted into pulse-width measurement input pin have the following restriction.
- Minimum input width: machine cycle  4 (Where machine cycle 40ns  160ns)
- Maximum input frequency: Peripheral clock divided by 4 (Where Machine cycle 25MHz  6.2MHz)
- If you input the pulse less than above width or more than frequency pulse, we cannot assure the
operation. If input signal has such a noises, please input those by clearing such a noise using filters at
the outside the chip.
• Division cycle measurement mode
Since input pulse is divided when it is in the division cycle measurement mode of the pulse-width
measurement mode, note that pulse width which can be obtained through calculation from the
measurement result will be the average value.
• Clock selection bits
[bit7, bit6] CKS1, CKS0 in the PWCSR0 register: "11B" is disabled for the clock selection bits.
• Reserved bit
[bit8] in the PWCSR0 register is reserved bit. If you write the value in to this bit, make sure to write "0".
350
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 12 16-bit PWC
12.4 Notes on Using in the 16-bit PWC
• Restart during the operation
If the restart is activated after the counting operation is started, the following may occur depending on its
timing.
- When it is in the pulse-width one-time measurement mode if the measurement termination edge
occurs at the same time
Restart will be carried out and it will be in the status waiting for the measurement start edge.
However, the measurement termination flag (EDIR) will be set.
- When it is in the pulse-width continuous measurement mode if the measurement termination edge
occurs at the same time
Restart will be carried out and it will be in the status waiting for the measurement start edge.
However, the measurement termination flag (EDIR) will be set. Measurement results at that time
are transferred into the PWCR0.
As mentioned above, for the restart during the operation, ensure to control the interrupts by paying
attention to the flag operation.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
351
CHAPTER 12 16-bit PWC
12.4 Notes on Using in the 16-bit PWC
352
FUJITSU SEMICONDUCTOR LIMITED
MB91345 Series
CM71-10132-3E
CHAPTER 13
PPG Timer
This chapter describes the overview, the configuration
and functions of registers, and operation of the PPG
timer.
13.1 Overview of PPG Timer
13.2 Block Diagrams of PPG Timer
13.3 PPG Timer Registers
13.4 Operation Descriptions about PPG Timer
13.5 Timing Generator to PPG Timer
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
353
CHAPTER 13 PPG Timer
13.1 Overview of PPG Timer
13.1
MB91345 Series
Overview of PPG Timer
PPG is an 8-bit reload timer module, which outputs PPG at a pulse output control in
accordance with timer operation.
On the hardware level, it contains 8-bit down counter  8, 8-bit reload register  16,
control register, external pulse output  8 and interrupt output  8.
This microcontroller is equipped with 16 channels as an 8-bit PPG and 8 channels as a
16-bit PPG.
■ PPG Functions
● 8-bit PPG output independent operation mode
Independent PPG output operation is enabled.
● 16-bit PPG output operation mode
16-bit PPG output operation of 1 channel is enabled.
● 8+8-bit PPG output operation mode
When ch.(n+1) output is set as a clock input of ch.(n), 8-bit PPG output can be operated for any period.
(n = 0, 2, 4, 6, 8, 10, 12, 14)
● 16+16-bit PPG output operation mode
This mode sets the 16-bit prescaler output of ch.(n+3)+ch.(n+2) as the 16-bit PPG clock input of ch.(n+1)
plus ch.(n).
(n = 0, 4, 8, 12)
● PPG output operation
• This operation allows pulse waves to be output at any period/duty ratio.
• When combined with an external circuit, it can also be used as a D/A converter.
● Output inversion function
This function allows PPG output values to be inverted.
354
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.1 Overview of PPG Timer
MB91345 Series
■ Register List
Figure 13.1-1 PPG Start Register (PPGTRG)
PPG start register (PPGTRG)
Address
000130H
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
PEN15 PEN14 PEN13 PEN12 PEN11 PEN10 PEN09 PEN08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PEN07 PEN06 PEN05 PEN04 PEN03 PEN02 PEN01 PEN00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value
00000000B
Initial value
00000000B
R/W
R/W: Readable/writable
Figure 13.1-2 Output Inversion Register (PPGREVC)
Output inversion register (PPGREVC)
Address
000134H
bit15
bit14
bit13
bit2
bit11
bit10
bit9
bit8
REV15 REV14 REV13 REV12 REV11 REV10 REV09 REV08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
REV07 REV06 REV05 REV04 REV03 REV02 REV01 REV00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value
00000000B
Initial value
00000000B
R/W
R/W: Readable/writable
Figure 13.1-3 GATE Function Control Register (PPGGATEC)
GATE function control register (PPGGATEC)
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000133H






STGR

XXXXXX00B






R/W

R/W: Readable/writable
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
355
CHAPTER 13 PPG Timer
13.1 Overview of PPG Timer
MB91345 Series
Figure 13.1-4 PPG0 to PPGF Operation Mode Control Register (PPGC0 to PPGCF)
PPG0 to PPGF ope ration mode control register (PPGC0 to PPGCF)
Addresses:
ch.0 :000108H
ch.1 :000109H
ch.2 :00010AH
ch.3 :00010BH
ch.4 :000114H
ch.5 :000115H
ch.6 :000116H
ch.7 :000117H
ch.8 :000120H
ch.9 :000121H
ch.A :000122H
ch.B :000123H
ch.C :00012CH
ch.D :00012DH
ch.E :00012EH
ch.F :00012FH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PIEn
PEN07 PUFn
PEN06 INTMn
PEN05 PCS1
PEN04 PCS0
PEN03 MD1*
PEN02 MD0*
PEN01 TTRGn
PEN00
PEN07 PEN06 PEN05 PEN
04
PEN03 PEN02
PEN07 PEN06 PEN05 PEN04 PEN03
PEN01 PEN00
PEN07 PEN06 PEN05 PEN04 PEN03 PEN02 PEN01 PEN00
PEN07 PEN06 PEN05 PEN04
R/W
R/W
R/W
R/W
R/W
n = 0 to F
R/W
R/W
R/W
Initial value: 0000000XB
* : MD1 and MD0 only exist in
even-numbered channels and do not
exist in odd-numbered channels. The
initial values for odd-numbered
channels are indeterminate. Write is
invalid.
R/W : Readable/Writable
Figure 13.1-5 Reload Registers: 8-bit PPG Mode
Reload register H (PRLH0 to PRLHF)
Addresses:
ch.0 :000100 H
ch.1 :000102 H
ch.2 :000104 H
ch.3 :000106 H
ch.4 :00010C H
ch.5 :00010E H
ch.6 :000110 H
ch.7 :000112 H
ch.8 :000118 H
ch.9 :00011A H
ch.A :00011C H
ch.B :00011E H
ch.C :000124 H
ch.D :000126 H
ch.E :000128 H
ch.F :00012A H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value: XXXXXXXXB
Reload register L (PRLL0 to PRLLF)
Addresses:
ch.0 :000101H
ch.1 :000103H
ch.2 :000105H
ch.3 :000107H
ch.4 :00010DH
ch.5 :00010FH
ch.6 :000111H
ch.7 :000113H
ch.8 :000119H
ch.9 :00011BH
ch.A :00011DH
ch.B :00011FH
ch.C :000125H
ch.D :000127H
ch.E :000129H
ch.F :00012BH
bit7
bit6
R/W
bit5
R/W
bit4
R/W
bit3
R/W
bit2
R/W
bit1
R/W
bit0
R/W
R/W
Initial value: XXXXXXXXB
R/W: Readable/writable
356
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.1 Overview of PPG Timer
MB91345 Series
● Reload registers: 16-bit PPG mode
Reload register H (PRLH0, PRLH2, PRLH4, PRLH6, PRLH8, PRLHA, PRLHC, PRLHE)
Figure 13.1-6 Reload Register H: 16-bit PPG Mode
Reload register H (PRLH0, PRLH2, PRLH4, PRLH6, PRLH8, PRLHA, PRLHC, PRLHE)
Addresses:
ch.0 :000100H
ch.2 :000104H
ch.4 :00010CH
ch.6 :000110H
ch.8 :000118H
ch.A :00011CH
ch.C :000124H
ch.E :000128H
bit15
bit14
R/W
bit13
R/W
bit7
R/W
bit6
R/W
bit12
R/W
bit5
R/W
bit11
R/W
bit4
R/W
bit10
R/W
bit3
R/W
bit9
R/W
R/W
Initial value: XXXXXXXXB
bit2
R/W
bit8
bit1
R/W
bit0
R/W
R/W
Initial value: XXXXXXXXB
R/W: Readable/writable
Reload register L (PRLL0, PRLL2, PRLL4, PRLL6, PRLL8, PRLLA, PRLLC, PRLLE)
Figure 13.1-7 Reload Register L: 16-bit PPG Mode
Reload register L (PRLL0, PRLL2, PRLL4, PRLL6, PRLL8, PRLLA, PRLLC, PRLLE)
Addresses:
ch.0 :000101H
ch.2 :000105H
ch.4 :00010DH
ch.6 :000111H
ch.8 :000119H
ch.A :00011DH
ch.C :000125H
ch.E :000129H
R/W: Readable/writable
CM71-10132-3E
bit15
bit14
R/W
bit13
R/W
bit7
bit6
R/W
R/W
bit12
R/W
bit5
R/W
bit11
R/W
bit4
R/W
bit10
R/W
bit3
R/W
bit9
R/W
bit8
R/W
R/W
Initial value: XXXXXXXXB
bit2
bit1
bit0
R/W
R/W
R/W
Initial value: XXXXXXXXB
FUJITSU SEMICONDUCTOR LIMITED
357
CHAPTER 13 PPG Timer
13.2 Block Diagrams of PPG Timer
13.2
MB91345 Series
Block Diagrams of PPG Timer
This section displays PPG block diagrams.
■ Block Diagram of 8-bit PPG ch.0, ch.2, ch.4, ch.6
Figure 13.2-1 Block Diagram of 8-bit PPG ch.0, ch.2, ch.4, ch.6
Borrow of ch.(n+1)
Peripheral clock divided by 64
Peripheral clock divided by 16
Peripheral clock divided by 4
Peripheral clock
To a port
PPG
output latch
Inverted
Cleared
0
1
TTRGn
Count clock
selection
S
R Q
PCNT (down counter)
PEN(n+1)
TTRGI(n+1)
From the
timing
generator
IRQn
Reload
“H”/“L” select
“H”/“L” selector
PRLLn
PIEn
PRLHn
PUFn
“L”-side data bus
“H”-side data bus
PPGCn / PPGTRG
n = 0, 2, 4, 6
358
Operation mode (control)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.2 Block Diagrams of PPG Timer
MB91345 Series
■ Block Diagram of 8-bit PPG ch.1, ch.5
Figure 13.2-2 Block Diagram of 8-bit PPG ch.1, ch.5
Borrow of ch.(n+1)
Peripheral clock divided by 64
Peripheral clock divided by 16
Peripheral clock divided by 4
Peripheral clock
To a port
PPG
output latch
Inverted
Cleared
0
1
PEN(n+1)
TTRGI(n+1)
TTRGn From the
timing generator
S
R Q
IRQn
Count clock
selection
PCNT (down counter)
Reload
“H”/“L” select
.
“H”/“L” selector
PUFn
PIEn
PRLLn
PRLHn
“L”-side data bus
“H”-side data bus
PPGCn / PPGTRG
n = 1, 5
CM71-10132-3E
Operation mode (control)
FUJITSU SEMICONDUCTOR LIMITED
359
CHAPTER 13 PPG Timer
13.2 Block Diagrams of PPG Timer
MB91345 Series
■ Block Diagram of 8-bit PPG ch.3, ch.7
Figure 13.2-3 Block Diagram of 8-bit PPG ch.3, ch.7
To a port
Peripheral clock divided by 64
Peripheral clock divided by 16
Peripheral clock divided by 4
Peripheral clock
PPG
output latch
Inverted
Cleared
0
1
TTRGn
S
R Q
Count clock
selection
PEN(n+1)
TTRGI(n+1)
From the
timing generator
IRQn
PCNT (down counter)
Reload
“H”/“L” select
“H”/“L” selector
PUFn
PIEn
PRLLn
PRLHn
“L”-side data bus
“H”-side data bus
PPGCn / PPGTRG
n = 3, 7
360
Operation mode (control)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.2 Block Diagrams of PPG Timer
MB91345 Series
■ Block Diagram of the GATE Function
Figure 13.2-4 Block Diagram of the GATE Function
From TRG register
PEN0 PEN1
Selector
Selector
0
1
PEN0 of
PPG ch.0
0 clip
Selector
PEN1 of
PPG ch.1
STGR
0
1
CM71-10132-3E
0
X
1
X
1
X
FUJITSU SEMICONDUCTOR LIMITED
MD1
MD0
ch.0
MD1
MD0
ch.1
361
CHAPTER 13 PPG Timer
13.3 PPG Timer Registers
13.3
MB91345 Series
PPG Timer Registers
This section describes the PPG registers.
■ PPGCn Register (PPGn Operation Mode Control Register)
n=0 to F
Figure 13.3-1 PPGCn Register (PPGn Operation Mode Control Register)
PPGn Operation Mode Control Register(PPGCn) n=0 to F
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
ch.0:000108H
ch.1:000109H
ch.2:00010AH
ch.3:00010BH
ch.4:000114H
ch.5:000115H
ch.6:000116H
ch.7:000117H
ch.8:000120H
ch.9:000121H
ch.A:000122H
ch.B:000123H
ch.C:00012CH
ch.D:00012DH
ch.E:00012EH
ch.F:00012FH
PIEn
PUFn
INTMn
PCS1
PCS0
MD1
MD0
TTRGn
0000000XB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W:
Readable/writable
[bit7] PIEn(Ppg Interrupt Enable) : PPG interrupt enable bit
PPG interrupts are controlled in the following manner.
Table 13.3-1 PPG Interrupt Enable Bit
0
Disables interrupts
1
Enables interrupts
• When PUFn becomes "1" while this bit is "1", an interrupt request is generated.
• When the bit is "0", no interrupt request is generated.
• A reset initializes the status to "0".
• Read/write is enabled.
362
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.3 PPG Timer Registers
MB91345 Series
[bit6] PUFn(Ppg Underflow Flag) : PPG counter underflow bit
The PPG counter underflow bit is controlled in the following manner.
Table 13.3-2 PPG Counter Underflow Bit
0
PPG counter underflow is not detected.
1
PPG counter underflow is detected.
• In the 8-bit PPG 2-channel mode and the 8-bit prescaler plus 8-bit PPG mode, it is set to "1" by the
underflow that occurs when the count value for ch.0 becomes "00H"-"FFH".
• In the 16-bit PPG 1-channel mode, it is set to "1" by the underflow that occurs when the count value
for ch.1/ch.0 becomes "0000H"-"FFFFH".
• It becomes "0" by writing "0".
• Writing "1" to this bit is invalid.
• When a read operation is performed to read-modify-write (RMW) instruction, "1" is read.
• A reset initializes the status to "0".
• Read/write is enabled.
[bit5] INTMn(Interrupt Mode) : Interrupt mode bit
This bit allows PUFn bit to be detected only when underflow from PRLBHn occurs.
Table 13.3-3 Interrupt Mode Bit
0
Sets PUFn to "1" when underflow occurs.
1
Sets PUFn to "1" only when underflow from PRLBHn occurs.
• A reset initializes the status to "0".
• Read/write is enabled.
• When this bit is set to "1", interrupts can be generated in outputting one period of PPG waveform.
• This bit must not be rewritten when interrupts are enabled.
[bit4, bit3] PCS1/PCS0(Ppg Count Select): Count clock selection bits
The operation clock of the down counter is selected in the following method.
Table 13.3-4 Count Clock Selection Bits
PCS1
PCS0
Operation Mode
0
0
Peripheral clock
(when a 40ns peripheral clock is used at 25MHz)
0
1
Peripheral clock/4
(when a 160ns peripheral clock is used at 25MHz)
1
0
Peripheral clock/16
(when a 0.64µs peripheral clock is used at 25MHz)
1
1
Peripheral clock/64
(when a 2.56µs peripheral clock is used at 25MHz)
• Reset initializes the status to "00B".
• Read/write is enabled.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
363
CHAPTER 13 PPG Timer
13.3 PPG Timer Registers
MB91345 Series
[bit2, bit1] MD1/MD0(ppg count MoDe) : Operation mode selection bits
The operation mode of the PPG timer is selected in the following method.
Table 13.3-5 Operation Mode Selection Bits
MD1
MD0
Operation Mode
0
0
8-bit PPG 2-channel independent mode
0
1
8-bit prescaler plus 8-bit PPG mode
1
0
16-bit PPG mode
1
1
16-bit prescaler plus 16-bit PPG mode
• A reset initializes the status to "00B".
• Read/write is enabled.
• These bits only exist in even-numbered channels.
[bit0] TTRGn(Timing TRGer) : Timing trigger selection bit
This bit allows PPG to be started only when a start signal is sent from the timing generator.
Table 13.3-6 Timing Trigger Selection Bit
0
Starts by the PPGTRG register
1
Starts only by the timing generator
• A reset initializes the status to "0".
• Read/write is enabled.
364
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.3 PPG Timer Registers
MB91345 Series
■ PRLL/PRLH Registers (Reload Registers)
Figure 13.3-2 PRLL/PRLH Registers (Reload Registers)
Reload register H (PRLH0 to PRLHF)
Addresses:
ch.0 :000100 H
ch.1 :000102 H
ch.2 :000104 H
ch.3 :000106 H
ch.4 :00010C H
ch.5 :00010E H
ch.6 :000110 H
ch.7 :000112 H
ch.8 :000118 H
ch.9 :00011A H
ch.A :00011C H
ch.B :00011E H
ch.C :000124 H
ch.D :000126 H
ch.E :000128 H
ch.F :00012A H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value: XXXXXXXXB
Reload register L (PRLL0 to PRLLF)
Addresses:
ch.0 :000101H
ch.1 :000103H
ch.2 :000105H
ch.3 :000107H
ch.4 :00010DH
ch.5 :00010FH
ch.6 :000111H
ch.7 :000113H
ch.8 :000119H
ch.9 :00011BH
ch.A :00011DH
ch.B :00011FH
ch.C :000125H
ch.D :000127H
ch.E :000129H
ch.F :00012BH
bit7
bit6
R/W
bit5
R/W
bit4
R/W
bit3
R/W
bit2
R/W
bit1
R/W
bit0
R/W
R/W
Initial value: XXXXXXXXB
R/W : Readable/writable
These registers retain the reload values for the down counter PCNT. Each register has the following role.
Table 13.3-7 Role of PRLL/PRLH Register
Register Name
Function
PRLL
Retains the reload value for the "L"-side
PRLH
Retains the reload value for the "H"-side
Both registers are enabled to read/write.
Note:
When used in the 8-bit prescaler plus 8-bit PPG mode and the 16-bit prescaler plus 16-bit PPG
mode, it is recommended to set the same value to both PRLL and PRLH on the prescaler side
because PPG waveform may vary from cycle to cycle if different values are set to them.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
365
CHAPTER 13 PPG Timer
13.3 PPG Timer Registers
MB91345 Series
■ PPGTRG Register (PPG Start Register)
Figure 13.3-3 PPGTRG Register (PPG Start Register)
PPG start register (PPGTRG)
Address
000130H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
PEN15 PEN14 PEN13 PEN12 PEN11 PEN10 PEN09 PEN08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PEN07 PEN06 PEN05 PEN04 PEN03 PEN02 PEN01 PEN00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value
00000000B
Initial value
00000000B
R/W
R/W: Readable/writable
[bit15 to bit0] PEN15 to PEN00(Ppg ENable) : PPG operation enable bits
PPG operation is started and its operation mode is selected in the following method.
Table 13.3-8 PPG Operation Enable Bits
PEN15 to PEN00
Operation State
0
Stops operation (Retains the "L" level of output)
1
Enables the operation of PPG
• A reset initializes the status to "0".
• Read/write is enabled.
366
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.3 PPG Timer Registers
MB91345 Series
■ PPGREVC Register (Output Inversion Register)
Figure 13.3-4 PPGREVC Register (Output Inversion Register)
Output inversion register (PPGREVC)
Address
000134H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
REV15 REV14 REV13 REV12 REV11 REV10 REV09 REV08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
REV07 REV06 REV05 REV04 REV03 REV02 REV01 REV00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value
00000000B
Initial value
00000000B
R/W
R/W: Readable/writable
[bit15 to bit0] REV15 to REV00 : Output inversion bits
These bits invert the PPG output values including the initial level.
Table 13.3-9 Output Inversion Bits
REV15 to REV00
Output Level
0
Normal
1
Inverted
• A reset initializes the status to "0".
• Read/write is enabled.
• As this bit simply inverts a PPG output, the initial level is also inverted.
"L" and "H" of the reload register are also inverted.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
367
CHAPTER 13 PPG Timer
13.3 PPG Timer Registers
MB91345 Series
■ PPGGATEC Register (GATE Function Control Register)
Figure 13.3-5 PPGGATEC Register (GATE Function Control Register)
GATE function control register (PPGGATEC)
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000133H






STGR

XXXXXX00B






R/W

R/W: Readable/writable
[bit1] STGR : GATE function selection bit
Whether to start PPG by using the TRG register is determined in the following manner.
Table 13.3-10 GATE Function Selection Bit
STGR
Operation Mode
0
Starts PPG by using the TRG register
1
Disables this setting
• A reset initializes the status to "0".
• Read/write is enabled.
368
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
13.4
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
Operation Descriptions about PPG Timer
PPG has 8 channels of 8-bit-long PPG units. When these channels are jointly operated,
PPG can perform three types of operations, not only the independent mode, but also the
8-bit prescaler plus 8-bit PPG mode, the 16-bit PPG 1 channel mode, and the 16-bit
prescaler plus 16-bit PPG mode.
Each of the 8-bit long PPG units contains two 8-bit long reload registers on the "L" and "H" sides (PRLL
and PRLH). The values written in these registers are reloaded to the 8-bit down counter (PCNT)
alternatively on the "L" and "H" sides. After down-counted by every count clock, they invert the values of
the pin output (PPG) when reload is performed by a counter borrow. Through this operation, the pin output
(PPG) becomes pulse output with the "L"/"H" widths supporting reload register values.
The operation is started/restarted by writing a bit to the register.
The relation between reload operation and pulse output is as follows.
Table 13.4-1 Relationship Between Reload Operation and Pulse Output
Reload Operation
Pin Output Change
PRLH  PCNT
PPGn [0 1]
PRLL  PCNT
PPGn [1 0]
n = 0 to 7
When bit7: PIEn of the PPGCn register is "1", an interrupt request is output by a borrow to the counter
"00H" to "FFH" (in the 16-bit PPG mode, a borrow to "0000H" to "FFFFH").
● Operation modes
This block contains four types of operation modes: the independent mode, the 8-bit prescaler plus 8-bit
PPG mode, the 16-bit PPG 1 channel mode, and the 16-bit prescaler plus 16-bit PPG mode.
• The independent mode allows PPG to operate as a 8-bit PPG independently. The PPG output of ch.(n) is
connected to the PPG(n) pin. (n = 0 to 7)
• The 8-bit prescaler plus 8-bit PPG mode allows 1 channel to be operated as an 8-bit prescaler. Any
period of 8-bit PPG waveform can be output when its borrow output is used to count. For example, the
prescaler output of ch.1 is connected to the PPG1 pin. The PPG output of ch.0 is connected to the PPG0
pin.
• The 16-bit PPG 1 channel mode allows PPG to operate as a 16-bit PPG by joining two channels. For
example, when ch.0 and ch.1 are joined together, the 16-bit PPG output is connected to both PPG0 and
PPG1 pins.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
369
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
MB91345 Series
● PPG output operation
In relation to PPG, this block is activated to start count operation by setting the bit of each channel in
PPGTRG register (PPG start register) to "1". Once the operation has started, it is stopped by writing "0" to
the bit of each channel in the PPGTRG register. When the operation is stopped, the pulse output retains
Level "L".
In the 8-bit prescaler plus 8-bit PPG mode and the 16-bit prescaler plus 16-bit PPG mode, please do not set
PPG channels to the operation state while the prescaler channel is stopped.
In the 16-bit PPG mode, please simultaneously start/stop PENn of PPGTRG registers in the channels. (n =
0 to 7)
PPG output operation is described below.
During PPG operation, PPG continuously outputs pulse waves at the any frequency/any duty ratio (ratio
between "H" level period and "L" level period in pulse waves). Once PPG has started to output pulse
waves, the operation continues until it is set to stop.
Figure 13.4-1 PPG Output Operation - Output Waveform
PENn
Operation
started
by PENn
(from "L" side)
Output pin
PPG
T x (L+1)
T x (H+1)
Start
n = 0-7
L : PRLL value
H : PRLH value
T : Peripheral clock
(φ, φ/4, φ/16)
or
Input from the timer base counter
● Relation between the reload value and pulse width
The pulse width is calculated by adding one to the value written in the reload register and then multiplying
that figure by the count clock period. Therefore, caution should be taken when the reload register value is
"00H" during the 8-bit PPG operation and also when the value is "0000H" during the 16-bit PPG operation,
as it has a pulse width equivalent to one period of the count clock. Moreover, it should also be noted that
when the reload register value is "FFH" during the 8-bit PPG operation, it has a pulse width equivalent to
256 periods of the count clock, and when the reload register value is "FFFFH" during the 16-bit PPG
operation, it has a pulse width of 65536 periods of the count clock.
The following shows the calculating formula for the pulse width.
Pl = T  (L+1)
Ph = T  (H+1)
370
L
H
T
Ph
Pl
: PRLL value
: PRLH value
: Input clock period
: "H" pulse width
: "L" pulse width
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
MB91345 Series
● Count Clock Selection
The count clock used for the operation of this block applies input from peripheral clocks and time-base
counters. Four types of count clock input can be selected.
The count clock operates in the following manner.
Table 13.4-2 Count Clock Operation
PPGC0 to PPGCF
Registers
Count Clock Operation
PCS1
PCS0
0
0
The count clock counts one per peripheral clock cycle.
0
1
The count clock counts one per 4 cycles of peripheral clock.
1
0
The count clock counts one per 16 cycles of peripheral clock.
1
1
The count clock counts one per 64 cycles of peripheral clock.
It should be noted that in the 8-bit prescaler plus 8-bit PPG mode and also the 16-bit prescaler plus 16-bit
PPG mode, the first count period may be deviated if the PPG side is started in the situation where the
prescaler side is in operation state but the PPG side is in the stopped state.
● Control of pulse pin output
Pulse output generated in the operation of this module can be output from the external pins PPG0 to PPGF.
In the 16-bit PPG mode, the same waveform is output from PPG(m) and PPG(m+1). Therefore, whichever
external pin output is enabled, the same output can be achieved. (m = 0, 2, 4, 6)
In the 8-bit prescaler plus 8-bit PPG mode and the 16-bit prescaler plus 16-bit PPG mode, the toggle
waveform of the 8-bit prescaler is output on the prescaler side while the waveform of the 8-bit PPG is
output on the PPG side. The following shows an example of an output waveform in this mode.
Figure 13.4-2 8+8 PPG Output Operation - Output Waveform
Ph1
PI1
PPG1
PPG0
Pl0
Ph0
Pl1 = T × (L1+1)
Ph1 = T × (L1+1)
Pl0 = T × (L1+1) × (L0+1)
Ph0 = T × (L1+1) × (H0+1)
Note: It is recommended to set
the same value to both
PRLL and PRLH of ch.1
CM71-10132-3E
L1 :
L0 :
H0 :
T :
Ph0 :
Pl0 :
Ph1 :
Pl1 :
PRLL & PRLH values of ch.1
PRLL value of ch.0
PRLH value of ch.0
Input clock period
“H” pulse width of PPG0
“L” pulse width of PPG0
“H” pulse width of PPG1
“L” pulse width of PPG1
FUJITSU SEMICONDUCTOR LIMITED
371
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
MB91345 Series
● Interrupts
Interrupt of this module becomes active when the reload value counts out and a borrow occurs. However,
when the INTMn bit is set to "1", the interrupt becomes active only during an underflow (borrow) from
PRLHn. That is, the interrupt occurs when "H" width pulse ends.
In the 8-bit PPG mode and the 8-bit prescaler plus 8-bit PPG mode, an interrupt request is made by a
borrow from their counters. In the 16-bit PPG mode and the 16-bit prescaler plus 16-bit PPG mode, on the
other hand, PUF(m) and PUF(m+1) are simultaneously set by a borrow from the 16-bit counter. Therefore,
in order to integrate interrupt factors, it is recommended to enable only either one of PIE(m) or PIE(m+1).
It is also recommended to clear interrupt factors for PUF(m) and PUF(m+1) both at the same time. (m = 0,
2, 4, 6)
● Initial Values of Hardware Components
Each hardware component of this block is reset to its initial state in the following manner.
<Register>
PPGC(n)
 0000000XB
<Pulse output>
<Interrupt request>
PPG(n)
IRQ(n)
 "L"
 "L"
(n = 0 to 7)
Hardware components other than the ones shown above are not initialized.
372
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
MB91345 Series
● PPG Combinations
Table 13.4-3 PPG Combination List
ch.0: PPGC
ch.2: PPGC
MD1
MD0
MD1
MD0
0
0
0
0
0
0
ch.0
ch.1
ch.2
ch.3
0
8-bit PPG
8-bit PPG
8-bit PPG
8-bit PPG
0
1
8-bit PPG
8-bit PPG
8-bit
PPG
8-bit
prescaler
0
1
0
8-bit PPG
8-bit PPG
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
16-bit PPG
8-bit PPG
8-bit PPG
1
0
0
1
16-bit PPG
8-bit
PPG
8-bit
prescaler
1
0
1
0
16-bit PPG
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
16-bit PPG
Setting disabled
8-bit
PPG
8-bit
PPG
8-bit
PPG
8-bit
prescaler
8-bit
prescaler
8-bit
prescaler
8-bit PPG
8-bit PPG
8-bit
PPG
8-bit
prescaler
16-bit PPG
Setting disabled
16-bit PPG
Setting disabled
16-bit PPG
16-bit prescaler
ch.4, ch.5, ch.6 and ch.7 can also be combined in operation in the same manner as ch.0, ch.1, ch.2 and ch.3.
Please replace each channel as described below.
ch.0 = ch.4
ch.1 = ch.5
ch.2 = ch.6
ch.3 = ch.7
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
373
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
MB91345 Series
■ Duty Change
It should be noted that when changing a duty setting while operating a PPG output, the duty does not
change until the next cycle starts.
• Overview of PPG timer operation
The 8/16-bit PPG timer alternatively reloads the values that are set to the "L"-width setup register
(PRLL) and the "H"-width setup register (PRLH) to the down counter by each underflow of the down
counter.
Figure 13.4-3 PPG Timer Operation
PPGn
PPG output latch
8-bit or 16-bit down counter
Underflow
“H”/“L” selector
PUF
Interrupt
PIE
PRLLn
PRLHn
Bus
The timer functions of the PPG timer include:
- In the PWM timer mode:
Period = "L" width setup register + "H" width setup register
- In the reload timer mode:
Setup time = "L" width setup register + "H" width setup register
• Timings for register updates in the PWM timer mode
In general, when using the PPG timer to control PWM, the period and duty of PPG output should be
able to be changed even when the timer is in operation by interrupting a period to simultaneously
change the "L" and "H" width setup registers. However, the registers of this PPG timer are configured
to immediately respond to the updated value when reloading the selected register value. Therefore, an
inconsistency occurs between the "L" and "H" width setups, in accordance with the update timing.
The update and output timings are shown below.
Figure 13.4-4 Update and Output Timings in PWM Timer Mode (1)
This is normally "H1" counter
"L1"
"H1"
"L1"
"H2"
"L2"
"H3"
"L3"
"H43"
"L4"
"H5"
PPG
L2/H2
updated
Start
Interrupt
374
L3/H3
updated
Interrupt
Interrupt
L4/H4
updated
L5/H5
updated
Interrupt
PRLH
H1
H2
H3
H4
H5
PRLL
L1
L2
L3
L4
L5
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
MB91345 Series
• Notes on the use of the PWM timer mode
When the PPG timer is used to control PWM, an interrupt can be performed every time an underflow
occurs in the counter. Therefore, duties can be controlled by updating the values of the "L" and "H"
width setup registers for each interrupt. However, when the time set to the "L" and "H" widths is short,
the duration from an interrupt to the following interrupt also becomes short. As a result, the second
interrupt occurs while the register is still being updated in the process of the first interrupt, causing the
first interrupt to be ignored due to the timing of clearing the interrupt flag. Therefore, it is required to
set the time in such a way that interrupts are not ignored or program the software to handle the situation
when an interrupt is ignored.
The update timing and output timing are shown below.
Figure 13.4-5 Update and Output Timings in PWM Timer Mode (2)
Interrupt ignored
"L1"
"H1"
"L2"
"H2"
"H3"
"L3"
"L4" "H4" "L5"
PPG
H2
L2
updated
updated
Start
Interrupt
H4
updated
L3/H3
updated
L4
Interrupt
Interrupt
L5
Interrupt
H5/L6
updated
Interrupt
Note: When the time set to the "L" and "H" widths is short, interrupts are ignored.
Therefore, a software solution is required for updating the timings.
Proposal 1: Set the time in such a way that interrupts are not ignored.
Proposal 2: Program the software to handle the situation when an interrupt is ignored.
• Interrupt processing time
The following shows the times required to process the interrupts that are described in notes on the use
of the PWM timer mode.
Please note that as the durations shown below are the minimum requirement indicated by the number of
cycles, enough extra time should be added to each setup time.
1. Time spent until interrupt processing begins
Approx. 6 cycles
2. Processing at the entry point of an interrupt function
CM71-10132-3E
STM (R0 to R7)
; Up to 9 cycles
STM (R8 to R15)
; Up to 9 cycles
ST MDH,@-R15
; 1 cycle
ST MDL,@-R15
; 1 cycle
ST RP,@-R15
; 1 cycle
ENTER
; 2 cycles
FUJITSU SEMICONDUCTOR LIMITED
375
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
MB91345 Series
3. Flag Clear and Reload register settings
LDI:20 #PPGCn,R0
; 2 cycles
BANDH #B,@R0
; 3 cycles
LDI:20 #0x0XXXX,R0
; 2 cycles
LDI:20 #PRLn,R12
; 2 cycles
STH R0,@R12
; 1 cycle
This is a program used in the
interrupt processing. Cycles
must be calculated based on the
content of actual program.
Total: 65 cycles + 
(Instruction to be given at the
execution of an interrupt)
4. Processing at the exit of an interrupt function
LEAVE
; 1 cycle
LD @R15+,RP
; 1 cycle
LD @R15+,MDL
; 1 cycle
LD @R15+,MDH
; 1 cycle
LDM1(R8-R15)
; 9 cycles
LDM0(R0-R7)
; 9 cycles
RETI
; 9 cycles
This time does not include the processing time required for multiple interrupts. Therefore, when using
them, it is necessary to add the processing time of the interrupt which has a higher priority than the PPG
timer interrupt.
The following shows an example of a duty ratio in consideration of this type of time.
Conditions: period = 5000 cycles, no multiple interrupts, minimum setup time = 250 cycles
Figure 13.4-6 Example of Duty Ratio in Multiple Interrupt
PPG
4750 cycles
250
250
4750 cycles
Duty ratio = 4750:250 to 250:4750 = 5% to 95%
The longer the period is, the wider the duty ratio becomes. In other words, when the period is short, the
duty ratio becomes narrower.
376
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.4 Operation Descriptions about PPG Timer
MB91345 Series
5. Processing method in consideration of the situation when an interrupt is ignored
Figure 13.4-7 Processing Flowchart in Consideration of the Situation when the Interrupt is Ignored
Main
PPG interrupt
Flag=1
Deciding flag
Flag=0
Updating "L" width setup register
Updating "H" width setup register
Clearing interrupt flag
Clearing interrupt flag
PPGx=0
PPGx=1
Deciding pin
PPGx=1
Flag inversion process
Updating "H" width setup register
Deciding pin
PPGx=0
Updating "L" width setup register
RETI
1) An interrupt occurs in the PPG timer.
2) The "L" and "H" width decision flags are checked.
3) When the flags are "0", the "L" width setup register is updated.
And when the flags are "1", the "H" width setup register is updated.
4) The interrupt flag is cleared.
5) After it is cleared, the state of PPG output pins is decided.
6) When the PPG pin state is "plus", the flag is inverted.
When the state is "minus", the setup registers are updated.
7) RETI is executed to return to "Main".
CM71-10132-3E
Program to prevent interrupts
from being ignored
FUJITSU SEMICONDUCTOR LIMITED
377
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
13.5
MB91345 Series
Timing Generator to PPG Timer
The timing generator allows multiple PPG timers to be synchronized in order to delay a
start.
■ Register List
Figure 13.5-1 Register List
Control register: TTCR0, TTCR1
Address
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
000554H
TRG6
TRG4
TRG2
TRG0
CS1
CS0
MONI
STR
11110000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
TRG8
CS1
CS0
MONI
STR
11110000B
R/W
R/W
R/W
R/W
R/W
Address
00055CH
TRG14 TRG12 TRG10
R/W
R/W
R/W
Test register: TSTPR0, TSTPR1 (Write disabled, Read value invalid)
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000557H
00055FH








00000000B
R
R
R
R
R
R
R
R
Compare register 0: COMP0
Address
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
000558H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare register 2: COMP2
Address
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
000559H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare register 4: COMP4
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
00055AH
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00000000B
Compare register 6: COMP6
Address
00055BH
R/W:
R:
bit7
bit6
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Readable/writable
Read only
(Continued)
378
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
MB91345 Series
(Continued)
Compare register 8: COMP8
Address
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
000560H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
00000000B
Compare register 10: COMP10
Address
000561H
bit23
bit22
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare register 12: COMP12
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000562H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare register 14: COMP14
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000563H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
379
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
MB91345 Series
■ Block Diagram
Figure 13.5-2 Block Diagram
Prescaler
CS1/CS0
1/2
1/8
1/32
1/64
STR
MONI
8-bit counter
Counter value
COMP0
Compare circuit
Set
Clr
PPG0TG
Set
Clr
PPG2TG
Set
Clr
PPG4TG
Set
Clr
PPG6TG
COMP2
Compare circuit
COMP4
Compare circuit
COMP6
Compare circuit
380
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
MB91345 Series
■ Register for the Timing Generator
● Control register: TTCR0, TTCR1
Figure 13.5-3 Control Register: TTCR0, TTCR1
Control register: TTCR0, TTCR1
Address
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
000554H
TRG6
TRG4
TRG2
TRG0
CS1
CS0
MONI
STR
11110000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
TRG8
CS1
CS0
MONI
STR
11110000B
R/W
R/W
R/W
R/W
R/W
Address
00055CH
TRG14 TRG12 TRG10
R/W
R/W:
R/W
R/W
Readable/writable
This register controls the timing generator.
[bit31, bit30, bit29, bit28] TRG6/TRG4/TRG2/TRG0 : PPG Trigger Clear bits
Writing "0" to these bits clears the PPG start triggers that are being output.
Each bit corresponds to the following trigger.
TRG00:TRG0TG
TRG20:TRG2TG
TRG40:TRG4TG
TRG60:TRG6TG
The read value of this register is always "1".
[bit27, bit26] CS1/CS0(Count Select bit) : Count clock selection bits
The operation clock of the 8-bit counter is selected in the following manner.
Table 13.5-1 Count Clock Selection Bits
CM71-10132-3E
CS 1
CS 0
Clock Source
0
0
Peripheral clock/2 (80ns @25MHz)
0
1
Peripheral clock/8 (320ns @25MHz)
1
0
Peripheral clock/32 (1.28µs @25MHz)
1
1
Peripheral clock/64 (2.56µs @25MHz)
FUJITSU SEMICONDUCTOR LIMITED
381
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
MB91345 Series
[bit25] MONI(MONITER bit) : Monitor bit during the operation of the 8-bit counter
The operation of the 8-bit counter is selected in the following manner.
Table 13.5-2 Monitor Bit during the Operation of the 8-bit Counter
0
When the counter is in a stopped state
1
When the counter is in operation
The write value is invalid.
[bit24] STR(START bit) : 8-bit counter operation enable bit
The operation of the 8-bit counter is selected in the following manner.
Table 13.5-3 8-bit Counter Operation Enable Bit
0
Invalid
1
Starts counter operation
Writing "0" is invalid. The read value is always "0".
● Compare register: COMP0, COMP2, COMP4, COMP6, COMP8, COMP10, COMP12, COMP14
Figure 13.5-4 Compare Register: COMP0, COMP2, COMP4, COMP6, COMP8, COMP10, COMP12, COMP14
Compare register 0: COMP0
Address
000558H
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
00000000B
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare register 2: COMP2
Address
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
000559H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare register 4: COMP4
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
00055AH
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00000000B
Compare register 6: COMP6
Address
00055BH
R/W:
bit7
bit6
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Readable/writable
(Continued)
382
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
MB91345 Series
(Continued)
Compare register 8: COMP8
Address
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
Initial value
000560H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit21
bit20
bit19
bit18
bit17
bit16
Initial value
00000000B
Compare register 10: COMP10
Address
000561H
bit23
bit22
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare register 12: COMP12
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000562H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compare register 14: COMP14
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000563H
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
When the value of the 8-bit counter matches with the value of this register, a PPG start signal is set.
Please do not rewrite this register during a count operation.
When this register value is "00000000B", the PPG start signal cannot be set.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
383
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
MB91345 Series
■ Overview of the Timing Generator Operation
● Prescaler operation
This operation allows the count clock for the 8-bit counter to be divided by the peripheral clock.
● 8-bit counter
The 8-bit counter counts by using the STR bit for the count clock from the prescaler. The 8-bit counter
starts to count up, and when an overflow occurs, it stops counting. During counting, a counter start is
ignored.
While the 8-bit counter is counting, "1" can be read in the MONI bit. And once it stops counting, "0" can be
read.
The count value of the 8-bit counter is entered in each comparator.
Figure 13.5-5 Timing for Operating/Stopping the 8-bit Counter
8-bit counter
STR= 1
STR= 1
MONI= 1
Counting
MONI= 0
Stops Counting
MONI= 1
Counting
MONI= 0
Stops Counting
Overflow stops counter operation
384
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
MB91345 Series
Figure 13.5-6 Trigger Timing
8-bit counter
STR=1
TRG00, TRG20 = 0
TRG40, TRG60 = 0
F0H
A0H
80H
40H
COMP0
40H
COMP2
80H
COMP4
A0H
COMP6
F0H
PPG0TG
PPG2TG
PPG4TG
PPG6TG
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
385
CHAPTER 13 PPG Timer
13.5 Timing Generator to PPG Timer
386
MB91345 Series
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14
Up/Down Counter
This chapter explains the overview, the configuration
and functions of registers, and operations of the 8/16bit up/down counter.
14.1 Overview of Up/Down Counter
14.2 Up/Down Counter Registers
14.3 Operations of Up/Down Counter
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
387
CHAPTER 14 Up/Down Counter
14.1 Overview of Up/Down Counter
14.1
MB91345 Series
Overview of Up/Down Counter
The up/down counter/timer consists of three event input pins, a 16-bit up/down counter,
16-bit reload/compare registers, and their control circuits.
The operation mode can be switched to an 8-bit counter  2 channels or a 16-bit counter  1
channel, depending on its setting.
■ Features of Up/Down Counter
• Capable of counting in the 0 to 65535 range by the 16-bit count register
• Four types of count mode by selection of the count clock
- Timer mode
- Up/down counter mode
- Phase difference count mode (2 multiplication)
- Phase difference count mode (4 multiplication)
• Capable of selecting a count clock signal in timer mode, from among the inputs from two internal clocks
and an internal circuit
- Divided by 2
- Divided by 8
• Capable of selecting the detection edge of the external pin input signal in up/down count mode
- Detection at falling edge
- Detection at rising edge
- Detection at both rising edge and falling edge
- Edge detection disabled
• The phase difference count mode is suitable for counting encoder such as of motors. Capable of count
accurately and easily rotation angles, number of rotation, and so on, by inputting the output of phases A,
B, and Z of encoder
• Two types of function available for the ZIN pin (Enabled in all modes)
- Counter clear function
- Gate function
• Compare and reload functions available not only separately but also in combination for up/down
counting at an arbitrary width
- Compare function (comparison interrupt request output)
- Compare function (comparison interrupt request output and counter clear)
- Reload function (underflow interrupt request output and reload)
- Compare/reload function (comparison interrupt request output and counter clear, underflow interrupt
request output and reload)
- Compare/reload disabled
• Count direction flag used to identify the preceding count direction
• Capable of individually controlling interrupt generation when comparison results match, when reload
(underflow) or overflow occurs, or when the count direction changes
388
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.1 Overview of Up/Down Counter
MB91345 Series
■ Block Diagram of Up/Down Counters
Figure 14.1-1 Block Diagram of 8/16-bit Up/Down Counter/Timer (ch.0)
Data bus
8 bits
CGE1
CGE0
CGSC
RCR0
(Reload compare register 0)
RCUT
ZIN0
M16E
Reload control
To ch.1
Carry
Edge/level detection
UCRE
RLDE
Counter
clear
UDCC
8 bits
CES1
CES0
CMS1
CMS0
UDCR0
(Up/down count register 0)
CMPF
UDFF
OVFF
AIN0
BIN0
Up/down
count clock
selection
Count
clock
CSTR
UDF1
UDIE
UDF0
CDCF
Prescaler
CITE
CLKS
UFIE
Interrupt output
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
389
CHAPTER 14 Up/Down Counter
14.1 Overview of Up/Down Counter
MB91345 Series
Figure 14.1-2 Block Diagram of 8/16-bit Up/Down Counter/Timer (ch.1)
Data bus
8 bits
CGE1
CGE0
CGSC
RCR1
(Reload compare register 1)
RCUT
ZIN0
Reload control
Edge/level detection
UCRE
RLDE
Counter
clear
UDCC
8 bits
CES1
CES0
CMS1
CMS0
UDCR1
(Up/down count register 1)
CMPF
Carry
M16E
UDFF
OVFF
AIN0
BIN0
Up/down
count clock
selection
Count
clock
CSTR
UDF1
UDIE
UDF0
CDCF
Prescaler
CITE
CLKS
UFIE
Interrupt output
390
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
MB91345 Series
14.2
Up/Down Counter Registers
The up/down counter has Up/Down Count Register (UDCR), Reload Compare Register
(RCR), Counter Status Register (CSR), and Counter Control Register (CCR).
This section describes these registers.
■ Register List of Up/Down Counter
Figure 14.2-1 Register List of Up/Down Counter
UDCRH
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
ch.1: 000186H
ch.3: 000196H
D15
D14
D13
D12
D11
D10
D09
D08
00000000B
R
R
R
R
R
R
R
R
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ch.0: 000187H
ch.2: 000197H
D07
D06
D05
D04
D03
D02
D01
D00
Initial value
UDCRL
R
R
R
R
R
R
R
R
00000000B
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000184H
D15
D14
D13
D12
D11
D10
D09
D08
00000000B
W
W
W
W
W
W
W
W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000184H
D07
D06
D05
D04
D03
D02
D01
D00
00000000B
W
W
W
W
W
W
W
W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000188H
CSTR
CITE
UDIE
CMPF
OVFF
UDFF
UDF1
UDF0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R
R
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
00018CH
M16E
CDCF
CFIE
CLKS
CMS1
CMS0
CES1
CES0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
UCRE
RLDE
UDCC
CGSC
CGE1
CGE0
00000000B
R/W
R/W
R/W
R/W
R
R
RCRH
RCRL
CSR
CCRH
CCRL
Address
00018CH
Reserved CTUT
R/W
R/W:
R:
W:
R/W
Readable/writable
Read only
Write only
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
391
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
14.2.1
MB91345 Series
Up/Down Count Register (UDCR0 to UDCR3)
Up/Down Count Register (UDCR) is an 8-bit count register. It processes the up/down
counting, based on input from the internal circuit, internal prescaler, or input of AIN/BIN
pins. In 16-bit count mode, UDCR operates as a 16-bit count register.
■ Up/Down Count Register (UDCR0 to UDCR3)
Figure 14.2-2 Up/Down Count Register (UDCR0 to UDCR3)
UDCRH
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
ch.1: 000186H
ch.3: 000196H
D15
D14
D13
D12
D11
D10
D09
D08
00000000B
R
R
R
R
R
R
R
R
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
ch.0: 000187H
ch.2: 000197H
D07
D06
D05
D04
D03
D02
D01
D00
Initial value
R
00000000B
UDCRL
R
R
R
R
R
R
R
R: Read only
It is not allowed to write directly to UDCR. The write operation to this register must be performed through
RCR. First, write the desired value to RCR, and then write "1" into the CTUT bit in the CCRL register. The
value is transferred from RCR to this register (software reload).
In 16-bit mode, 16 bits should be read from this register at a time.
392
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
MB91345 Series
14.2.2
Reload Compare Register (RCR)
Reload Compare Register (RCR) is an 8-bit reload/compare register. This register is
used to set a reload value and compare value. The reload value and compare value are
the same. Activating the reload function and compare function enables up/down
counting between "00H" and this register value (0000H and this register value for 16-bit
operation mode).
■ Reload Compare Register (RCR)
Figure 14.2-3 Reload Compare Register (RCR)
RCRH
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000184H
D15
D14
D13
D12
D11
D10
D09
D08
00000000B
W
W
W
W
W
W
W
W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000184H
D07
D06
D05
D04
D03
D02
D01
D00
00000000B
W
W
W
W
W
W
W
W
RCRL
W: Write only
This register is write-only and cannot be read. This register value can be transferred to UDCR by writing
"1" into the CTUT bit in the CCR register while counting is stopped.
(Software reload)
In 16-bit mode (M16E=1), 16 bits should be written to this register at a time.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
393
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
14.2.3
MB91345 Series
Counter Status Register (CSR)
Counter Status Register (CSR) can be used to check the status of up/down counter and
control interrupts.
■ Bit Configuration of Counter Status Register (CSR)
Figure 14.2-4 Bit Configuration of Counter Status Register (CSR)
CSR
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000188H
CSTR
CITE
UDIE
CMPF
OVFF
UDFF
UDF1
UDF0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R
R
R/W:
R:
Readable/writable
Read only
[bit7] CSTR: Count start bit
This bit controls starting/stopping of the UDCR count operation.
CSTR
Count operation
0
Count operation stopped [Initial value]
1
Count operation started
[bit6] CITE: Compare interrupt enable bit
This bit controls enabling/disabling of interrupt output to CPU when CMPF is set (a compare operation
is performed).
CITE
Compare interrupt control
0
Compare interrupt disabled [Initial value]
1
Compare interrupt enabled
[bit5] UDIE: Overflow/underflow interrupt enable bit
This bit controls enabling/disabling of interrupt output to CPU when OVFF and UDFF are set (an
overflow/underflow occurs).
UDIE
394
Overflow/underflow interrupt control
0
Overflow/underflow interrupt disabled [Initial value]
1
Overflow/underflow interrupt enabled
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
MB91345 Series
[bit4] CMPF: Compare detection flag
This flag indicates that the result of comparing the UDCR value and the RCR value is a match.
Only "0" can be written to this bit, but "1" cannot.
CMPF
Content of compare detection flag
0
The result of comparison is not a match [Initial value]
1
The result of comparison is a match
[bit3] OVFF: Overflow detection flag
This flag indicates that an overflow occurred.
Only "0" can be written to this bit, but "1" cannot.
OVFF
Content of overflow detection flag
0
No overflow occurred [Initial value]
1
An overflow occurred
[bit2] UDFF: Underflow detection flag
This flag indicates that an underflow occurred.
Only "0" can be written to this bit, but "1" cannot.
UDFF
Content of underflow detection flag
0
No underflow occurred [Initial value]
1
An underflow occurred
[bit1, bit0] UDF1, UDF0: Up/down flags
These bits indicate the preceding count operation (up/down).
These bits are read-only and cannot be written to.
CM71-10132-3E
UDF1
UDF0
Detection edge
0
0
No input [Initial value]
0
1
Down counting
1
0
Up counting
1
1
Simultaneous up and down counting
FUJITSU SEMICONDUCTOR LIMITED
395
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
14.2.4
MB91345 Series
Counter Control Register (CCR)
Counter Control Register (CCR) is used to control the operation mode of up/down
counter. Function of bit15 (M16E) varies depending on whether the channel is odd or
even numbered.
■ Bit Configuration of Counter Control Register (CCR)
Figure 14.2-5 Bit Configuration of Counter Control Register (CCR)
CCRH
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
00018CH
M16E
CDCF
CFIE
CLKS
CMS1
CMS0
CES1
CES0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
UCRE
RLDE
UDCC
CGSC
CGE1
CGE0
00000000B
R/W
R/W
R/W
R/W
R
R
CCRL
Address
00018CH
Reserved CTUT
R/W
R/W:
R:
R/W
Readable/writable
Read only
[bit15] M16E: 16-bit mode enable setting bit
This bit switches between 8-bit  2-channel and 16-bit  1 channel operation mode.
M16E
16-bit mode enable setting
0
8-bit  2-channel operation mode [Initial value]
1
16-bit  1 channel operation mode
Note:
The M16E bit resides only in even-numbered channels. Be sure to set "0" in odd-numbered
channels.
396
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
MB91345 Series
[bit14] CDCF: Count direction change flag
This flag is set when the count direction changes. This bit is set to "1" if the count direction changes
from up to down or from down to up while counting is in progress.
This bit is cleared by writing "0".
Writing "1" is ignored, and the value of this bit does not change.
CDCF
Direction change detection
0
Direction not changed [Initial value]
1
Direction changed at least once
The count direction immediately after a reset is down. Thus, CDCF is set to "1" to count up
immediately after a reset.
[bit13] CFIE: Count direction change interrupt enable bit
This bit controls interrupt output to CPU if CDCF is set. An interrupt is caused even if the count
direction is changed only once while counting is in progress.
CFIE
Direction change interrupt control
0
Direction change interrupt disabled [Initial value]
1
Direction change interrupt enabled
[bit12] CLKS: Built-in prescaler selection bit
This bit selects the frequency of the built-in prescaler when timer mode is selected.
CLKS is valid only in timer mode, where only down counting is available.
CLKS
Selected internal clock
0
2 machine cycles [Initial value]
1
8 machine cycles
[bit11, bit10] CMS1, CMS0: Count mode selection bits
These bits are used to select the count mode.
CM71-10132-3E
CMS1
CMS0
Count mode
0
0
Timer mode (down-counting) [Initial value]
0
1
Up/down count mode
1
0
Phase difference count mode (multiply by 2)
1
1
Phase difference count mode (multiply by 8)
FUJITSU SEMICONDUCTOR LIMITED
397
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
MB91345 Series
[bit9, bit8] CES1, CES0: Count clock edge selection bits
These bits are used to select the detection edge of the internal circuit input and the external pins AIN
and BIN in up/down count mode.
These settings are valid only in up/down count mode.
CES1
CES0
Selected edge
0
0
Edge detection disabled [Initial value]
0
1
Detection at falling edge
1
0
Detection at rising edge
1
1
Detection at both rising edge and falling edge
[bit7] Reserved bit
This bit is reserved. Be sure to set "0".
[bit6] CTUT: Counter write bit
This bit is used to transfer data from RCR to UDCR.
Writing "1" to this bit transfers data from RCR to UDCR.
Writing "0" has no effect. The read value is always "0".
Do not write "1" to this bit while counting is in progress (while the CSTR bit in CSR is "1").
[bit5] UCRE: UDCR clear enable bit
This bit controls clearing of UDCR based on compare operation.
The UDCR clear function that is not related to clearing based on the compare operation (such as
clearing based on the ZIN pin) is not affected.
UCRE
Counter clearing based on compare operation
0
Counter clearing disabled [Initial value]
1
Counter clearing enabled
[bit4] RLDE: Reload enable bit
This bit controls starting of the reload function. If an underflow occurs in UDCR when the reload
function is started, the RCR value is transferred to UDCR.
RLDE
398
Reload function
0
Reload function disabled [Initial value]
1
Reload function enabled
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.2 Up/Down Counter Registers
MB91345 Series
[bit3] UDCC: UDCR clear bit
This bit is used to clear UDCR. Writing "0" to this bit clears UDCR to "0000H".
Writing "1" has no effect. The read value is always "1".
[bit2] CGSC: Count clear/gate selection bit
This bit is used to select the function of the external pin ZIN.
CGSC
ZIN pin function
0
Counter clear function [Initial value]
1
Gate function
[bit1, bit0] CGE1, CGE0: Count clear/gate edge selection bits
These bits are used to select the detection edge/level of the external pin ZIN.
CM71-10132-3E
When counter clear
function selected
CGE1
CGE0
0
0
Edge detection disabled
[Initial value]
Level detection disabled [Initial value]
(counting disabled)
0
1
Falling edge
"L" level
1
0
Rising edge
"H" level
1
1
Settings disabled
Settings disabled
When gate function selected
FUJITSU SEMICONDUCTOR LIMITED
399
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
14.3
MB91345 Series
Operations of Up/Down Counter
This section describes the operations of up/down counter.
■ Selecting the Count Mode
This timer/counter has four types of count modes. Selection of the count mode is controlled by the CMS1
and CMS0 bits in the CCR register.
Table 14.3-1 Selecting the Count Mode
CMS1
CMS0
Count mode
0
0
Timer mode (down-counting) [Initial value]
0
1
Up/down count mode
1
0
Phase difference count mode (multiply by 2)
1
1
Phase difference count mode (multiply by 8)
● Timer mode [down-counting]
In timer mode, output of the internal prescaler is counted down. For the internal prescaler, either 2 machine
cycles or 8 machine cycles can be selected using the CLKS bit in the CCRH register.
● Up/down count mode
In up/down count mode, counting up and down is done by counting the inputs of the AIN and BIN external
pins. Input from the AIN pin controls counting up and input from the BIN pin controls counting down.
Input of the AIN and BIN pins is detected by edges. The detection edge can be selected with the CES1 and
CES0 bits in the CCRH register.
Table 14.3-2 Selecting Edge for Detection
400
CES1
CES0
Selected edge
0
0
Edge detection disabled [Initial value]
0
1
Detection at falling edge
1
0
Detection at rising edge
1
1
Detection at both rising edge and falling edge
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
MB91345 Series
● Phase difference count mode (2 multiplication/4 multiplication)
In phase difference count mode, in order to count the phase difference between phase A and phase B of the
encoder output signal, the input level of the BIN pin is detected when the input edge of the AIN pin is
detected, and counting is performed.
In 2 multiplication/4 multiplication mode, if the AIN pin is earlier based on the phase difference between
AIN pin input and BIN pin input, counting up is performed. If the BIN pin is earlier, counting down is
performed.
In 2 multiplication mode, the following counting is performed according to detection of the AIN pin value
when the timing for the BIN pin is both rising and falling edges:
Table 14.3-3 Counting Operation for Phase Difference Count Mode (2/4 Multiplication)
BIN pin edge
AIN pin level
Counting
Rising edge 
"H" level
Up counting
Rising edge 
"L" level
Down counting
Falling edge 
"H" level
Down counting
Falling edge 
"L" level
Up counting
Figure 14.3-1 Summary of Operation in Phase Difference Count Mode (2 Multiplication)
AIN pin
BIN pin
+1
1
Count value 0
+1
2
+1
3
+1
4
+1
5
-1
4
+1
5
-1
4
-1
3
-1
2
-1
1
-1
0
In 4 multiplication mode, the following counting is performed according to detection of the AIN pin value
when the timing for the BIN pin is both rising and falling edges, or detection of the BIN pin value when the
timing for the AIN pin is both rising and falling edges:
Table 14.3-4 Counting Operation for 4 Multiplication
Edge input
Edge
Level input
Rising edge 
BIN
Level
Counting
"H" level
Up counting
"L" level
Down counting
"H" level
Down counting
"L" level
Up counting
"H" level
Down counting
"L" level
Up counting
"H" level
Up counting
"L" level
Down counting
AIN
Falling edge
Rising edge 
AIN
BIN
Falling edge
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
401
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
MB91345 Series
Figure 14.3-2 Summary of Operation in Phase Difference Count Mode (4 Multiplication)
AIN pin
BIN pin
Count value 0
+1+1 +1+1 +1+1 +1+1 +1+1
1 2 3 4 5 6 7 8 9 10
-1
9
+1
10
-1
9
-1-1
8 7
-1-1
6 5
-1-1
4 3
-1-1
2 1
It is possible to count the rotation angle and the number of revolutions with high accuracy and to detect the
rotation direction by inputting phase A to the AIN pin, phase B to the BIN pin, and phase Z to the ZIN pin
when encoder output is counted.
Note that detection edge selection using the CES1 and CES0 bits is invalid if this count mode is selected.
402
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
MB91345 Series
■ Reload/Compare Function
This counter has a reload function and a clear function that is based on the compare operation. These two
functions can be combined to execute processing. The following is an example of settings:
Table 14.3-5 Example of Setting Reload/Compare Function
RLDE
UCRE
Reload/compare function
0
0
Clearing by Reload/compare disabled [Initial value]
0
1
Clearing by compare enabled
1
0
Reload enabled
1
1
Clearing by reload/compare enabled
● Reload function
When the reload function is started, the RCR value is transferred to UDCR at the timing of the next countdown clock after an underflow occurs. Then, the UDFF bit is set and an interrupt request is generated.
In a mode where counting down is not performed, starting this function has no effect.
Figure 14.3-3 Summary of Operation for Reload Function
(0FFFFH)
FFH
RCR
Reload interrupt
occurs
Reload interrupt
occurs
Underflow
Underflow
00H
● Clear function on compare
The clear function based on compare can be used in any mode other than timer mode. If the RCR value and
the UDCR value match when the compare function is started, the CMPF bit is set and an interrupt request
is generated. When the compare clear function is started, UDCR is cleared at the timing of the next countup clock. (The register is not cleared while counting down is in progress.)
In a mode where counting up is not performed, starting this function has no effect.
Figure 14.3-4 Summary of Operation for Compare Function
(0FFFFH)
FFH
RCR
Compare match
Compare match
Counter cleared,
interrupt occurs
Counter cleared,
interrupt occurs
00H
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
403
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
MB91345 Series
■ Starting the Reload/Compare Functions Together
If the reload and compare functions are started together, counting up and down can be performed at any
width.
The reload function transfers the RCR value to UDCR after it is started when an underflow occurs. The
compare function clears UDCR when the RCR value and the UDCR value match. The combination of these
two functions allows counting both up and down between "0000H" and the RCR value to be performed.
Figure 14.3-5 Summary of Operation when the Reload/Compare Functions are Started Together
FFH
RCR
Compare
match
Compare
match
Counter
clear
Counter
clear
Reload
Reload
Reload
Underflow
Underflow
Underflow
Compare
match
00H
Counter
clear
An interrupt to CPU can take place when a compare match or reloading (underflow) occurs. Whether such
interrupts are enabled can be controlled individually.
The timing for clearing UDCR depends on whether counting has started or has been stopped.
Reloading (writing "1" to the CTUT bit) by software is not allowed while counting is in progress.
• If a clear event occurs while counting is in progress, the whole process is done in synchronization with
the count clock.
UDCR
Clear event
0065H
0066H
0000H
0001H
In sync with this clock
Count clock
Reference:
If reloading occurs due to an underflow while counting is in progress, the whole process is done in
synchronization with the count clock.
404
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
MB91345 Series
• If a clear event occurs while counting is in progress, and then the counting is stopped waiting for the
count clock synchronization (waiting for a count input for synchronization), clearing is performed when
the counting is stopped.
UDCR
0065H
0066H
0000H
Clear event
Count clock
Counting enabled
Disable (counting disabled)
Enable (counting enabled)
• If a reload or clear event occurs while counting is in progress, the whole process is done when the event
occurs.
UDCR
0065H
0080H
Reload or
clear event
Clearing based on a compare operation is done if the UDCR value and the RCR value match and if
counting up is being performed. Even if the UDCR value and the RCR value match, clearing is not
performed if counting down occurs or the counting is stopped subsequently.
Clearing is performed according to the above timing for all events except reset input. Reloading is
performed according to the above timing for all events.
If a clear event and a reload event occur simultaneously, the clear event takes precedence.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
405
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
MB91345 Series
■ Writing Data to UDCR
It is not allowed to write data directly from the data bus to UDCR. To write data to UDCR, use the
following procedure:
a. First, write the data to be written to UDCR to RCR. (Note that data already in RCR will be lost.)
b. Write "1" to the CTUT bit in CCR to transfer the data from RCR to UDCR.
The above procedure should be performed while counting is stopped (while the CSTR bit in CSR is "0").
Reference:
If "1" is erroneously written to the CTUT bit while counting is in progress, the value in RCR is
transferred to UDCR at the timing of the write.
In addition to the method described above, the following methods are also available to clear the counter:
• Reset input
• Edge input from the ZIN pin
• Writing "0" to the UDCC bit in CCR
• Compare function
The above methods can be used regardless of whether the counting has started or has been stopped.
■ Count Clear/Gate Function
ZIN pin can use to select the count clear function or gate function by the CGSC bit of the CCR register.
When the count clear function is started, the counter is cleared by the ZIN pin. The CGE1 and CGE0 bits in
the CCRL register can be used to control which of the edge input of the ZIN pin to perform the count.
When the gate function is started, the count is enabled or disabled by the ZIN pin. The CGE1 and CGE0
bits in the CCR register can be used to control which of the level input of the ZIN pin to enable the count.
These functions can be used in all count modes.
Table 14.3-6 Selecting Function of ZIN Pin
CGSC
ZIN pin function
0
Counter clear function [Initial value]
1
Gate function
Table 14.3-7 Setting Operation of Counter Clear/Gate Function
406
When counter clear
function selected
CGE1
CGE0
0
0
Edge detection disabled
[Initial value]
Level detection disabled [Initial value]
(counting disabled)
0
1
Falling edge
"L" level
1
0
Rising edge
"H" level
1
1
Settings disabled
Settings disabled
When gate function selected
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
MB91345 Series
■ Count Direction Flag
The count direction flags (UDF1 and UDF0) indicate whether the immediately preceding counting was up
or down when up/down counting is being performed. The flags are rewritten after each count operation,
based on the count clock generated from the input of both the AIN and BIN pins. For purposes such as
controlling a motor, you can determine the current direction of rotation by checking this flag.
Table 14.3-8 Function of Count Direction Flag
UDF1
UDF0
Count direction
0
0
No input [Initial value]
0
1
Down counting
1
0
Up counting
1
1
Simultaneous up and down counting (no counting)
■ Count Direction Change Flag
The count direction change flag (CDCF) is set if the count direction changes (up to down or down to up).
An interrupt request to CPU can occur when this flag is set. You can determine in which way the counting
direction changed, by referring the interrupt and the count direction flag. However, note that if the direction
rapidly changes more than once in a row, the flag may be reversed quickly, thus sometimes seeming that
the direction remains the same even if it actually changed.
Table 14.3-9 Function of Count Direction Change Flag
CDCF
Direction change detection
0
Direction not changed [Initial value]
1
Direction changed at least once
■ Compare Detection Flag
The compare detection flag (CMPF) is set if the UDCR value and the RCR value match while counting is
in progress. The flag is also set if a match occurs due to a reload event or a match has already existed when
counting is started, in addition to the case in which a match occurs during counting up/down.
■ 8-bit  2-channel / 16-bit  1 channel Operation
This module can be used for two 8-bit up/down counter channels or one 16-bit up/down counter channel.
Writing "0" to the M16E bit in the CCR register sets 8-bit  2-channel mode. Writing "1" sets 16-bit  1
channel mode.
In 16-bit  1 channel operation mode, the CSR0, CCRL0, and CCRH0 registers are enabled and the CSR1,
CCRL1, and CCRH1 registers cannot be used. The AIN0, BIN0, and ZIN0 pins are enabled as the input
pins, and the AIN1, BIN1, and ZIN1 pins cannot be used.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
407
CHAPTER 14 Up/Down Counter
14.3 Operations of Up/Down Counter
MB91345 Series
■ Interrupt Generation Timing
Table 14.3-10 List of Interrupt Generation Timing
Interrupt flag
Flag setting interrupt
Reload
Clear
CDCF
(Count direction
change flag)
An interrupt occurs as the
flag is set when the direction
of counting changes


CMPF
(Compare detection
flag)
An interrupt occurs as the
flag is set, if RCR and
UDCR match when counting
up, counting down, or reload
counting is started

UDCR is cleared when
the next counting up is
started after RCR and
UDCR match
(not cleared during
counting down)
OVFF
(Overflow detection
flag)
An interrupt occurs as the
flag is set when the next
counting up is started after
count "FFFFH"

UDCR is cleared when
the next counting is
started after count
"FFFFH"
UDFF
(Underflow detection
flag)
An interrupt occurs as the
flag is set when the next
counting down is started
after count "0000H"
The RCR value is
transferred to UDCR
when the next counting
is started after count
"0000H"

• When an interrupt occurs, counting is stopped until the interrupt flag is cleared.
• Since the RCR is used as both the reload value and compare value, the compare flag is always set when
reloading is performed.
• When counting down with the clear function enabled is being performed if a compare match occurs and
counting up is performed, clear processing is executed.
■ Note
The count direction immediately after a count reset is down. Thus, the CDCR bit is set to "1", indicating
that a change of direction occurred during counting up immediately after a reset.
If the up/down count register (UDCR) counts to its FULL count, counting continues without a carry. This
makes it appear that the up/down count register is cleared to continue counting.
The minimum pulse width of AIN, BIN, and ZIN is 2  T (where "T" indicates peripheral clock machine
cycle).
408
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15
Serial Interface
This chapter describes the overview, the configuration
and functions of registers, and operations of serial
interface.
15.1 Overview of Serial Interface
15.2 Function of UART (Asynchronous Serial Interface)
15.3 Registers of UART (Asynchronous Serial Interface)
15.4 UART Interrupt
15.5 Operation of UART
15.6 Dedicated Baud Rate Generator
15.7 Setting Procedure and Program Flow of Operation Mode 0
(In Asynchronous Normal Mode)
15.8 Setting Procedure and Program Flow of Operation Mode 1
(In Asynchronous Multiprocessor Mode)
15.9 Notes on UART Mode
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
409
CHAPTER 15 Serial Interface
15.1 Overview of Serial Interface
15.1
MB91345 Series
Overview of Serial Interface
The serial interface has the following characteristics.
■ Interface Mode
This serial interface selects one of the following interface modes, depending on its operation mode.
• UART0 (ordinary asynchronous serial interface)
• UART1 (asynchronous multiprocessor serial interface)
• CSIO (clock synchronous serial interface) (SPI-enabled)
• I2C (I2C bus interface)
■ Switch of Interface Mode
If you communicate through each serial interface, set the operation mode in the registers shown in Table
15.1-1 before starting the communication.
Figure 15.1-1 Bit Configuration of Serial Mode Register (SMR)
SMR0 to SMRA
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
ch.0
ch.1
ch.2
ch.3
ch.4
ch.5
ch.6
ch.7
ch.8
ch.9
ch.A
MD2
MD1
MD0

SBL
BDS
SCKE
SOE
00000000B
R/W
R/W
R/W

R/W
R/W
R/W
R/W
000061H
000071H
000081H
000091H
0000A1H
0000B1H
0001B1H
0001C1H
0001D1H
0001E1H
0001F1H
R/W: Readable/writable
Table 15.1-1 Switch of Interface Mode
MD2
MD1
MD0
Interface mode
0
0
0
UART0 (ordinary asynchronous serial interface)
0
0
1
UART1 (asynchronous multiprocessor serial interface)
0
1
0
CSIO (clock synchronous serial interface) (SPI-enabled)
1
0
0
I2C (I2C bus interface)
Note: Setting other than the above is disabled.
410
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.1 Overview of Serial Interface
MB91345 Series
Notes:
• If a mode is switched to another using a single serial interface during the transmit or reception
operation, the safety of the operation is not guaranteed.
• Set the operation mode first, because the other registers are initialized when the operation mode
is changed. However, if you write SCR and SMR simultaneously using 16-bit writing, the writing is
applied to SCR.
■ Transmit / Reception FIFO (ch.0 and ch.1)
ch.0 and ch.1 include the 16-byte FIFO for transmit and 16-byte FIFO for reception. In the explanations
that follow, change the number of FIFO stages to 16-byte. Other channels but 1 and 0 have no FIFO, so
ignore the information about FIFO.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
411
CHAPTER 15 Serial Interface
15.2 Function of UART (Asynchronous Serial Interface)
15.2
MB91345 Series
Function of UART (Asynchronous Serial Interface)
This section describes a UART function of the multi function serial interfaces, which is
supported on operation mode 0 and 1.
■ Function of UART (Asynchronous Serial Interface)
UART (asynchronous serial interface) is a generic serial communication interface to perform asynchronous
communication with external device. It supports the duplex communication function (for the normal mode)
and master/slave communication function (for the multiprocessor mode: both master and slave supported).
Table 15.2-1 Function of UART (Asynchronous Serial Interface)
Item
Function
1
Data
• Full-duplex double buffer (at not using FIFO)
• Transmit / reception FIFO (maximum size is 16 bytes per FIFO) (at using FIFO)
2
Serial input
Performs over-sampling three times, and determines the value to be received by majority
of the sampling values.
3
Transfer format
Asynchronous
4
Baud rate
• The dedicated baud rate generator (15-bit reload counter configuration)
• The reload counter can adjust external clock input.
5
Data length
5-bit to 9-bit (in the normal mode), 7-bit, 8-bit (in the multiprocessor mode)
6
Signal type
NRZ (Non Return to Zero), Inversion NRZ
7
Start bit detection
• Synchronized on the start bit falling edge (for the NRZ method)
• Synchronized on the start bit rising edge (for the inverse NRZ method)
8
Detection of receive
error
• Framing error
• Overrun error
• Parity error *
9
Interrupt request
•
•
•
•
10
Master/slave type
communication
function (multi
processor mode)
11
FIFO option
Reception interrupt (reception completed, framing error, overrun error, parity error *)
Transmit interrupt (transmit data empty, transmit bus idle)
Transmit FIFO interrupt (When transmit FIFO is empty)
The DMA function are available for both transmit and reception
1 (master) to n (slave) communication is available (both the master and the slave system
are supported)
• Built-in transmit / reception FIFO (Maximum capacity: transmit FIFO 16 bytes,
reception FIFO 16 bytes) *
• Transmit FIFO or reception FIFO can be selected.
• Transmission data can be transmitted again.
• Interrupt timing for reception FIFO can be changed by software.
• Support FIFO reset independently.
*: Parity error is only used in normal mode.
412
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
15.3
Registers of UART (Asynchronous Serial Interface)
This section lists the UART (asynchronous serial interface) registers.
■ List of UART (Asynchronous Serial Interface) Registers
Figure 15.3-1 List of UART (Asynchronous Serial Interface) Registers
Address
bit15
bit8 bit7
UART 0000X0H 0000X1H
SCR (Serial control register)
0000X2H 0000X3H
SSR (Serial status register)
0000X4H 0000X5H
FIFO
0000X6H 0000X7H
0000X8H 0000X9H
0000YAH 0000YBH
0000YCH 0000YDH
bit0
RDR1/TDR1
(Transmit / receive data register 1)
BGR1 (Baud rate generator register 1)
SMR (Serial mode register)
ESCR (Extended communication
control register)
RDR0/TDR0
(Transmit / receive data register 0)
BGR0 (Baud rate generator register 0)


FCR1 (FIFO control register 1)
FCR0 (FIFO control register 0)
FBYTE02 (FIFO2 byte register)
FBYTE01 (FIFO1 byte register)
(X=06,07,08,09,0A,0B,1B,1C,1D,1E,1F, Y=6,7)
Table 15.3-1 Bit Allocation of UART (Asynchronous Serial Interface)
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
SCR0 to SCRA/
SMR0 to SMRA
UPCL
-
-
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0
-
SBL
BDS
SCKE
SOE
SSR0 to SSRA/
ESCR0 to ESCRA
REC
-
PE
FRE
ORE
RDRF
TDRE
TBI
-
-
INV
PEN
P
L2
L1
L0
D8(AD)
D7
D6
D5
D4
D3
D2
D1
D0
B8
B7
B6
B5
B4
B3
B2
B1
B0
TDR0 to TDRA
(RDR0 to RDRA)
BGR01/BGR00
-
EXT
B14
B13
B12
-
B11
B10
B9
-
FCR01/FCR00
FBYTE02/
FBYTE01
Reserved Reserved
FD15
FD14
-
-
FLSTE
FRIIE
FDRQ
FTIE
FSEL
-
FLST
FLD
FSET
FCL2
FCL1
FE2
FE1
FD13
FD12
FD11
FD10
FD9
FD8
FD7
FD6
FD5
FD4
FD3
FD2
FD1
FD0
■ Operation Mode
UART (asynchronous serial interface) operates in two different modes. Determined based on MD2, MD1,
MD0 in Serial Mode Register (SMR).
Table 15.3-2 Operation Mode of UART (Asynchronous Serial Interface)
operation mode
MD2
MD1
MD0
0
0
0
0
UART0 (Asynchronous normal mode)
1
0
0
1
UART1 (Asynchronous multiprocessor mode)
CM71-10132-3E
Type
FUJITSU SEMICONDUCTOR LIMITED
413
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
15.3.1
MB91345 Series
Serial Control Register (SCR0 to SCRA)
Serial control register (SCR0 to SCRA) enables or disables the transmit or reception
operation, the transmit or reception interrupt, and the transmit bus idle interrupt. It also
performs the UART resetting.
■ Serial Control Register (SCR0 to SCRA)
Figure 15.3-2 shows the bit configuration of the serial control register (SCR0 to SCRA). Table 15.3-3 lists
the function of each bit.
Figure 15.3-2 Bit Configuration of Serial Control Register (SCR0 to SCRA)
bit15 bit14 bit13 bit12 bit11 bit10 bit9
SCR
Address
UPCL


RIE
TIE
TBIE
RXE
ch.0 000060H R/W


R/W R/W R/W R/W
ch.1 000070H
ch.2 000080H
ch.3 000090H
ch.4 0000A0H
ch.5 0000B0H
ch.6 0001B0H
ch.7 0001C0H
ch.8 0001D0H
ch.9 0001E0H
ch.A 0001F0H
bit8
bit7
Initial value
bit0
TXE
0--00000B
(SMR)
R/W
TXE
0
1
Transmission operation enable bit
Disable transmission.
Enable transmission.
RXE
0
1
Reception operation enable bit
Disable reception.
Enable reception.
TBIE
0
1
Transmission bus idle interrupt enable bit
Disable transmission bus idle interrupt
Enable transmission bus idle interrupt
TIE
0
1
Transmission interrupt enable bit
Disable transmission interrupts.
Transmission Interrupt enable
RIE
0
1
Receive interrupt enable bit
Disable reception interrupt
Enable reception interrupt
Unused bit
Read value is undefined. Writing has no effect.
UPCL
0
1
R/W

414
Programmable clear bit
Write
Read
No effect
Always read "0".
Programmable clear
: Readable/writable
: Unused bit
: Initial value
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
Table 15.3-3 Functional Description of Each Bit in Serial Control Register (SCR)
Bit name
Function
bit15
UPCL:
Programmable clear bit
This bit initializes internal status of the UART.
If set to "1":
UART will directly be reset (software reset).
However, register setting is maintained. In this case, the transmit or reception
operation will be disconnected immediately.
• The baud rate generator reloads the setting value in the BGR1/BGR0 register,
and restarts it.
• All transmission/reception interrupt sources (PE, FRE, ORE, RDRF, TDRE,
and TBI) are initialized (000011B).
If set to "0": No effect.
"0" is always read at read operation.
Notes:
• Execute the programmable clear after disabling interrupt.
• When using FIFO, execute the programmable clear after disabling FIFO
(FE2, FE1=0).
bit14,
bit13
Unused bits
Read: The value is undefined.
Write: No effect.
bit12
RIE:
Receive interrupt enable bit
• This bit enables / disables the receive interrupt request output to CPU.
• If the RIE bit and reception data flag bit (RDRF) are "1", or if one of the error
flag bits (PE, ORE and FREs) is "1", the reception interrupt request will be
output.
bit11
TIE:
Transmission interrupt
enable bit
• This bit enables / disables the Transmission interrupt request output to CPU.
• When the TDRE and TIE bits are both "1", a transmission interrupt request is
output.
bit10
TBIE:
Transmission bus idle
interrupt enable bit
• This bit enables / disables the transmission bus idle interrupt request output to
CPU.
• When TBIE bit and TBI bit are "1", a transmission bus idle interrupt request is
output.
RXE:
Reception enable bit
This bit enables / disables the reception operation of the UART.
When the bit is set to "0": Reception is disabled.
When the bit is set to "1": Reception is enabled.
Notes:
• The reception operation will not be started until the falling edge of the start
bit is inputted (for NRZ format (INV=0)) even when the reception operation
is enabled (RXE=1).
(For the inverse NRZ format, or INV=1, the reception operation will not be
started before the rising edge is entered)
• When the reception operation is disabled (RXE=0) during the reception, the
operation will be stopped immediately.
TXE:
Transmission enable bit
This bit enables / disables the transmission operation of the UART.
When the bit is set to "0": Transmission is disabled.
When the bit is set to "1": Transmission is enabled.
Notes:
When the transmission operation is disabled (TXE=0) during the transmission,
the operation will be stopped immediately.
bit9
bit8
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
415
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
15.3.2
MB91345 Series
Serial Mode Register (SMR0 to SMRA)
Serial Mode Register (SMR0 to SMRA) sets the operation mode, and selects the transfer
direction, data length, and stop bit length. It also enables or disables the output to the
serial data and the clock pin.
■ Serial Mode Register (SMR0 to SMRA)
Figure 15.3-3 shows the bit configuration of the serial mode register (SMR0 to SMRA). Table 15.3-4 lists
the function of each bit.
Figure 15.3-3 Bit Configuration of Serial Mode Register (SMR0 to SMRA)
bit15
SMR
Address:
ch.0 000061H
ch.1 000071H
ch.2 000081H
ch.3 000091H
ch.4 0000A1H
ch.5 0000B1H
ch.6 0001B1H
ch.7 0001C1H
ch.8 0001D1H
ch.9 0001E1H
ch.A 0001F1H
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00000000B
MD2
MD1
MD0

SBL
BDS
SCKE
SOE
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
(SCR)
SOE
0
1
Serial-data output enable bit
SO output disable
SO output enable
SCKE
1
Serial clock output enable bit
SCK output disable
or
SCK input enable
SCK output enable
BDS
0
1
Transfer direction selection bit
LSB first (transfer from LSB)
MSB first (transfer from MSB)
SBL
0
1
Stop-bit length select bit
1-bit
2-bit
0
Unused bit
Read value is undefined. Writing has no effect.
R/W

416
: Readable/writable
: Unused bit
: Initial value
MD2
MD1
MD0
0
0
0
0
0
1
0
1
1
0
0
0
Operation mode setting bits
Operation mode 0
(asynchronous normal mode)
operation mode 1
(asynchronous multiprocessor mode)
operation mode 2 (clock synchronous mode)
operation mode 4 (I2C mode)
Note: The registers and operations of the operation modes 0 and 1 are
explained.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
Table 15.3-4 Functional Description of Each Bit in Serial Mode Register (SMR0 to SMRA)
Bit name
Function
bit7
to
bit5
MD2, MD1, MD0:
Operation mode
setting bits
These bits set the operation mode of the asynchronous serial interface.
"000B": Set to the operation mode 0 (asynchronous normal mode).
"001B": Set to the operation mode 1 (asynchronous multiprocessor mode).
"010B": Set to the operation mode 2 (clock synchronous mode).
"100B": Set to the operation mode 4 (I2C mode).
Notes:
• Setting other than the above is disabled.
• If you switch the operation mode, perform the programmable clear (SCR:UPCL=1)
before changing the mode.
• Specify each register after the operation mode is set.
bit4
Unused bit
Read: The value is undefined.
Write: No effect.
bit3
SBL:
Stop-bit length
select bit
This bit sets the bit length of the stop bit (frame end mark of transmit data).
When "0" is set: The stop bit is set to bit-1.
When "1" is set: The stop bit is set to bit-2.
Notes:
• During receiving data, only the first bit of the stop bit is detected in all cases.
• This bit should be set if transmit is disabled (TXE=0).
bit2
BDS:
Transfer direction
selection bit
This bit selects whether transfer serial data is transferred starting with LSB (LSB first,
BDS=0) or with MSB (MSB first, BDS=1).
Note:
Set the bit when the transmission/reception is disabled (TXE=RXE=0).
bit1
SCKE:
Serial clock output
enable bit
This bit controls the I/O port of the serial clock.
If set to "0": It will be the SCK "H" output or the SCK input will be enabled. If used as
the SCK input, set the generic I/O port to the input port. In addition, select
the external clock using the external clock select bit (BGR:EXT=1).
If set to "1": The SCK output is enabled.
bit0
SOE:
Serial data output
enable bit
This bit enables or disables the output of the serial data.
If set to "0": The bit is SO "H" output.
If set to "1": The bit is SO output enable.
Note:
Set the operation mode first, because the other registers are initialized when the operation mode is
changed. However, if you write SCR and SMR simultaneously using 16-bit writing, the writing is
applied to SCR.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
417
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
15.3.3
MB91345 Series
Serial Status Register (SSR0 to SSRA)
Serial Status Register (SSR0 to SSRA) checks the transmit or reception status. It also
checks and clears the reception error flag.
■ Serial Status Register (SSR0 to SSRA)
Figure 15.3-4 shows the bit configuration of the serial status register (SSR0 to SSRA). Table 15.3-5 lists
the function of each bit.
Figure 15.3-4 Bit Configuration of Serial Status Register (SSR0 to SSRA)
bit15 bit14 bit13 bit12 bit11 bit10
SSR
Address:
REC

PE
FRE
ORE RDRF
ch.0 000062H R/W

R
R
R
R
ch.1 000072H
ch.2 000082H
ch.3 000092H
ch.4 0000A2H
ch.5 0000B2H
ch.6 0001B2H
ch.7 0001C2H
ch.8 0001D2H
ch.9 0001E2H
ch.A 0001F2H
bit9
bit8
TDRE
TBI
R
R
bit7
bit0
Initial value
0-000011B
(ESCR)
TBI
0
1
Transmit bus idle flag bit
Transmitting
No transmission operation
TDRE
0
1
Transmission data empty flag bit
Data exists in transmit data register (TDR).
Transmit data register (TDR) is empty.
RDRF
0
1
Receive data full flag bit
Receive data register (RDR) is empty.
Data exists in receive data register (RDR).
ORE
0
1
Overrun error flag bit
No overrun error
Overrun error
FRE
0
1
Framing error flag bit
No framing error
Framing error
PE
0
1
Parity error flag bit
No parity error
Parity error
Unused bit
Read value is undefined. Writing has no effect.
REC
R/W
R

418
: Readable/writable
: Read only
: Unused bit
: Initial value
0
1
Receive error flag clear bit
Write
Read
No effect
Clear reception error flags Always read "0".
(PE, FRE, and ORE)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
Table 15.3-5 Functional Description of Each Bit in Serial Status Register (1 / 2)
Bit name
Function
bit15
REC:
Receive error flag clear bit
This bit clears the PE, FRE, and ORE bits of the serial status register (SSR).
• Writing "1" clears the error flag.
• Writing "0" has no effect.
When read: "0" always read.
bit14
Unused bit
Read: The value is undefined.
Write: No effect.
PE:
Parity error flag bit
(Function only in
operation mode 0)
• This bit is set to "1" when the parity error occurs during reception at
SMR:PEN=1, and cleared when "1" is written to the REC bit of the serial
status register (SSR).
• When the PE and SCR:RIE bits are both "1", a reception interrupt request is
output.
• The data in the receive data register (RDR) is not valid when this bit is set.
• If this flag is set when using the reception FIFO, the enable bit for the
reception FIFO will be cleared, and the reception data will not be contained in
the reception FIFO.
FRE:
Framing error flag bit
• This bit is set to "1" when the framing error occurs during reception, and
cleared when "1" is written to the REC bit of the serial status register (SSR).
• When the PEE and SCR:RIE bits are both "1", a reception interrupt request is
output.
• The data in the receive data register (RDR) is not valid when this bit is set.
• If this flag is set when using the reception FIFO, the enable bit for the
reception FIFO will be cleared, and the reception data will not be contained in
the reception FIFO.
PRE:
Overrun error flag bit
• This bit is set to "1" when the overrun occurs during reception, and cleared
when "1" is written to the REC bit of the serial status register (SSR).
• When the ORE and RIE bits are both "1", a reception interrupt request is
output.
• The data in the receive data register (RDR) is not valid when this bit is set.
• If this flag is set when using the reception FIFO, the enable bit for the
reception FIFO will be cleared, and the reception data will not be contained in
the reception FIFO.
RDRF:
Receive data full flag bit
• This flag indicates the status of the receive data register (RDR).
• The bit is set to "1" when the RDR loads received data. The bit is cleared to
"0" when the receive data register is read.
• When the RDRF and RIE bits are both "1", a reception interrupt request is
output.
• When using the reception FIFO, RDRF will be set to "1" if the FIFO receives
the specified number of data.
• When using the reception FIFO, the RDRF is set to "1" in the following
conditions:
- Reception FIFO idle detection enable bit (FCR1:FRIIE) is set to "1"
- Data is remained in reception FIFO without receiving number of specified
data items to the FIFO
- Receive idle state is kept 8 clocks or more with the baud rate clock
When having read RDR during the eight clocks count, the counter is reset to
"0", and then it counts another eight clocks.
• When using the reception FIFO, it will be cleared to "0" if the reception FIFO
is empty.
bit13
bit12
bit11
bit10
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
419
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
Table 15.3-5 Functional Description of Each Bit in Serial Status Register (2 / 2)
Bit name
bit9
bit8
420
Function
TDRE:
Transmission data empty
flag bit
• This flag indicates the status of the transmit data register (TDR).
• Goes to "0" when send data written to TDR to indicate that TDR contains
valid data. When the data is loaded into the transmit shift register and the
communication is started, it will be "1" indicating that no valid data exists in
TDR.
• When the TDRE and TIE bits are both "1", a transmission interrupt request is
output.
• If the UPCL bit in serial control register (SCR) is set to "1", the TDRE bit is
"1".
• See Section "15.4.4 Timing when the Interrupt Occurs and the Flag Should be
Set during the Use of the Transmit FIFO" for set/reset timing of the TDRE bit
when using transmit FIFO.
TBI:
Transmit bus idle flag bit
• This bit indicates the UART does not perform transmission operation.
• If the transmit data is written to transmit data register (TDR), this bit will be
"0".
• If transmit data register (TDR) is empty (TDRE=1) and no transmit operation
is performed, this bit will be "1".
• If the UPCL bit in serial control register (SCR) is set to "1", the TBI bit is "1".
• If this bit is "1" and the transmit bus idle interrupt is enabled (SCR:TBIE=1),
the transmit interrupt request will be output.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
15.3.4
Extended Communication Control Register (ESCR0 to
ESCRA)
Extended Communication Control Register (ESCR0 to ESCRA) sets the transmit or
reception data length, enables or disables the parity bit, selects the parity bit, and sets
the inverse of serial data format.
■ Bit Configuration of Extended Communication Control Register (ESCR0 to ESCRA)
Figure 15.3-5 shows the bit configuration of the extended communication control register (ESCR0 to
ESCRA). Table 15.3-6 lists the function of each bit.
Figure 15.3-5 Bit Configuration of Extended Communication Control Register (ESCR0 to ESCRA)
ESCR
bit15
Address
ch.0 000063H
ch.1 000073H
ch.2 000083H
ch.3 000093H
ch.4 0000A3H
ch.5 0000B3H
ch.6 0001B3H
ch.7 0001C3H
ch.8 0001D3H
ch.9 0001E3H
ch.A 0001F3H
bit8
(SSR)
bit7
bit6




L2
0
0
0
0
1
L1
0
0
1
1
0
bit5
bit4
INV PEN
R/W
L0
0
1
0
1
0
R/W
bit3
bit2
bit1
bit0
Initial value
P
L2
L1
L0
--000000B
R/W
R/W
R/W
R/W
Data-length select bit
bit length 8
bit length 5
bit length 6
bit length 7
bit length 9
P
0
1
Parity selection bit
Even parity
Odd parity
PEN
0
1
Parity enable bit
Disable parity
Enable parity
INV
0
1
Inverse serial data format bit
NRZ format
Inverse NRZ format
Unused bit
Read value is undefined. Writing has no effect.
R/W

: Readable/writable
: Unused bit
: Initial value
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
421
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
Table 15.3-6 Functional Description of Each Bit in Extended Communication Control Register
(ESCR0 to ESCRA)
Bit name
Function
bit7,
bit6
Unused bits
bit5
INV:
Inverse serial data
format bit
bit4
PEN:
Parity enable bit
(Function only in
operation mode 0)
This bit sets whether a parity bit is added (at transmission) or detected (at reception).
• If set to "0": The parity bit will not be added.
• If set to "1": The parity bit will be added.
Note:
This bit is internally fixed to "0" in the operation mode 1.
bit3
P:
Parity selection bit
(Function only in
operation mode 0)
This bit sets either "1" for odd parity or "0" for even parity when the parity is enabled
(ESCR:PEN=1).
• When set to "0": set to even parity.
• When set to "1": set to odd parity.
L2, L1, L0:
Data-length select
bit
This bit specifies the data length of the transmission/reception data.
• When set to "000B": the data length is set to 8-bit.
• When set to "001B": the data length is set to 5-bit.
• When set to "010B": the data length is set to 6-bit.
• When set to "011B": the data length is set to 7-bit.
• When set to "100B": the data length is set to 9-bit.
Notes:
• Setting other than the above is disabled.
• If the operation mode is 1, set the data length to 7-bit, 8-bit. Other settings are
prohibited.
bit2
to
bit0
422
Read: The value is undefined.
Write: No effect.
This bit selects NRZ format or inverse NRZ format as the serial data format.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
15.3.5
Receive Data Register (RDR0 to RDRA), Transmit Data
Register (TDR0 to TDRA)
The receive data and send data registers are located at the same address. It works as a
reception data register when read, and it works as a transmit data register when written.
If the FIFO operation is enabled, the RDR/TDR address will be a FIFO read/write
address.
■ Receive Data Register (RDR0 to RDRA)
Figure 15.3-6 shows the bit configuration of the receive data register (RDR0 to RDRA).
Figure 15.3-6 Bit Configuration of Receive Data Register (RDR0 to RDRA)
RDR
bit15
Address:
ch.0: 000064H, 000065H
ch.1: 000074H, 000075H
ch.2: 000084H, 000085H
ch.3: 000094H, 000095H
ch.4: 0000A4H, 0000A5H
ch.5: 0000B4H, 0000B5H
R/W : Readable/writable
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
D8
D7
D6
D5
D4
D3
D2
D1
D0
000000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ch.6: 0001B4H, 0001B5H
ch.7: 0001C4H, 0001C5H
ch.8: 0001D4H, 0001D5H
ch.9: 0001E4H, 0001E5H
ch.A: 0001F4H, 0001F5H
Reception Data Register (RDR0 to RDRA) is a 9-bit data buffer register to receive the serial data.
• The signal sent to the serial input pin (SIN pin) is converted via a shift register and saved in the receive
data register (RDR0 to RDRA).
• Depending on the data length, the value "0" is inserted into the higher bit as follows:
Data length D8
D7
D6
D5
D4
D3
D2
D1
D0
bit9
X
X
X
X
X
X
X
X
X
bit8
0
X
X
X
X
X
X
X
X
bit7
0
0
X
X
X
X
X
X
X
bit6
0
0
0
X
X
X
X
X
X
bit5
0
0
0
0
X
X
X
X
X
(X is receive data bit.)
• The receive data full flag bit (SSR:RDRF) is set to "1" when the receive data is stored in the receive data
register (RDR0 to RDRA). If the reception interrupt is enabled (SSR:RIE=1), a reception interrupt
request will occur.
• Read the receive data register (RDR0 to RDRA) contents when the receive data full flag bit
(SSR:RDRF) is "1". The receive data full flag bit (SSR:RDRF) is automatically cleared to "0" when the
receive data register (RDR0 to RDRA) is read.
• The data in the receive data register (RDR0 to RDRA) is invalid if a receive error has occurred (any of
SSR:PE, ORE, or FRE is "1").
• For the operation mode 1 (multiprocessor mode), it is a 7-or 8-bit length operation, and the received AD
bit will be contained in the D8 bit.
• For the 9-bit transfer and the operation mode 1, RDR0 to RDRA is read through the 16-bit access.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
423
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
Notes:
• When using the reception FIFO, SSR:RDRF will be set to "1" if the FIFO receives the specified
number of data.
• While the reception FIFO is being used, the SSR:RDRF is cleared to "0" when the reception FIFO
becomes empty.
• If a reception error (either SSR:PE, ORE, or FRE is "1") occurs when using the reception FIFO,
the enable bit for the reception FIFO will be cleared, and the reception data will not be contained
in the reception FIFO.
■ Transmit Data Register (TDR0 to TDRA)
Figure 15.3-7 shows the bit configuration of the transmit data register (TDR0 to TDRA).
Figure 15.3-7 Bit Configuration of Transmit Data Register (TDR0 to TDRA)
TDR
bit15
Address:
ch.0: 000064H, 000065H
ch.1: 000074H, 000075H
ch.2: 000084H, 000085H
ch.3: 000094H, 000095H
ch.4: 0000A4H, 0000A5H
ch.5: 0000B4H, 0000B5H
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
D8
D7
D6
D5
D4
D3
D2
D1
D0
000000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ch.6: 0001B4H, 0001B5H
ch.7: 0001C4H, 0001C5H
ch.8: 0001D4H, 0001D5H
ch.9: 0001E4H, 0001E5H
ch.A: 0001F4H, 0001F5H
R/W: Readable/writable
Transmit data register (TDR0 to TDRA) is a 9-bit data buffer register to transmit the serial data.
• When the transmission data is written to the transmission data register (TDR0 to TDRA) while the
transmission operation is enabled (SCR: TXE=1), the transmission data is transferred to the
transmission shift register and converted into the serial data, then transmitted from the serial data output
pin (SOT pin).
• The invalid data is set from the higher bit toward the lower bit in order as follows, according to the data
length.
Data length D8
D7
D6
D5
D4
D3
D2
D1
D0
bit9
X
X
X
X
X
X
X
X
X
bit8
Invalid X
X
X
X
X
X
X
X
bit7
Invalid Invalid X
X
X
X
X
X
X
bit6
Invalid Invalid Invalid X
X
X
X
X
X
bit5
Invalid Invalid Invalid Invalid X
X
X
X
X
(X is transmit data bit.)
• The transmit data empty flag (SSR:TDRE) will be cleared to "0" if the transmit data is written into
transmit data register (TDR0 to TDRA).
• After the transmission data is transferred to the transmission shift register and the transmission is
started, the transmission data empty flag (SSR:TDRE) is set to "1" when the transmission FIFO is
disabled or empty.
424
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
• The transmit data can be written if the transmit data empty flag (SSR:TDRE) is "1".When sending
interrupts are enabled, a sending interrupt is generated. The transmit data should be written when the
transmit interrupt occurs or if the transmit data empty flag (SSR:TDRE) is "1".
• The transmit data cannot be written if the transmit data empty flag (SSR:TDRE) is "0" and the transmit
FIFO is disabled or is full.
• For the operation mode 1 (multiprocessor mode), it is a 7-bit or 8-bit length operation, and the AD bit
will be transmitted by writing to the D8 bit.
• For the 9-bit transfer and the operation mode 1, TDR0 to TDRA is written through the 16-bit access.
Notes:
• The transmission data register is a write-only register and the reception data register is a readonly register. As the transmit or reception registers are placed in the same address, the written
value is different from the read value. Instructions, such as the INC/DEC instruction, which
provide the read-modify-write (RMW) instruction cannot be used.
• See Section "15.4.4 Timing when the Interrupt Occurs and the Flag Should be Set during the Use
of the Transmit FIFO" for set timing of the transmission data empty flag (SSR:TDRE) when using
transmit FIFO.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
425
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
15.3.6
MB91345 Series
Baud Rate Generator Registers 0/1 (BGR00 to BGRA0,
BGR01 to BGRA1)
The baud rate generator registers 0/1 (BGR00 to BGRA0/BGR01 to BGRA1) set the serial
clock divide ratio. In addition, you can select the external clock as a clock source for the
reload counter.
■ Bit Configuration of Baud Rate Generator Registers 0/1 (BGR00 to BGRA0, BGR01 to
BGRA1)
Figure 15.3-8 shows bit configuration of baud rate generator registers 0 and 1 (BGR0, BGR1).
Figure 15.3-8 Bit Configuration of Baud Rate Generator Registers 0/1 (BGR00 to BGRA0, BGR01 to
BGRA1)
BGR00→BGRx0
(x = 0 to A)
Address
ch.0 000067H
ch.1 000077H
ch.2 000087H
ch.3 000097H
ch.4 0000A7H
ch.5 0000B7H
ch.6 0001B7H
ch.7 0001C7H
ch.8 0001D7H
ch.9 0001E7H
ch.A 0001F7H
BGR01→BGRx1
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Initial value
(x = 0 to A)
Address
00000000B
EXT
(BGR1)
(BGR0)
ch.0 000066H
00000000B
ch.1 000076H
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
ch.2 000086H
ch.3 000096H
ch.4 0000A6H
ch.5 0000B6H
ch.6 0001B6H
ch.7 0001C6H
ch.8 0001D6H
ch.9 0001E6H
BGR0
Baud Rate Generator Registers 0
ch.A 0001F6H
R/W: Readable/writable
Write
Read/
Write to reload counter bit0 to bit7.
Read setting value of BGR0.
BGR1
Write
Read
Baud Rate Generator Registers 1
Write to reload counter bit8 to bit14.
Read setting value of BGR1.
EXT
0
1
External clock selection bit
Use internal clock
Use external clock
• The baud rate generator registers 0/1 (BGR00 to BGRA0, BGR01 to BGRA1) set the serial clock divide
ratio.
• BGR1 corresponds to upper bits and BGR0 corresponds to lower bits, and the reload value to be
counted can be written and the setting value of BGR1/BGR0 can be read.
• Once the reload value is written to the baud rate generator registers (BGR00 to BGRA0, BGR01 to
BGRA1), the reload counter starts to count.
• Bit15 is an EXT bit that selects between internal or external clock for the reload counter clock source.
When EXT is set to "0", select the internal clock. When EXT is set to "1", select the external clock.
426
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
Notes:
• Writing to the baud rate generator registers 0/1 (BGR00 to BGRA0, BGR01 to BGRA1) should be
done by 16-bit access.
• When the setting value of the baud rate generator registers 0/1 (BGR00 to BGRA0, BGR01 to
BGRA1) are changed, the new value will be reloaded after the counter value gets to "0000H".
Therefore, if you immediately want to activate the new value, change the setting value of BGR0/
BGR1, and then perform the programmable clear (UPCL).
• If the reload value is an even number, the "L" width for the reception serial clock will be longer
than the "H" width by 1 cycle of the peripheral clock. If the value is an odd number, the "H" and "L"
widths for the serial clock will be the same.
• Set a value of 4 or more for BGR0/BGR1. However, the data might not be received normally due
to the deviation of the baud rate and the setting of the reload value.
• To change the setting to external clock (EXT=1) while baud rate generator is operating, write "0"
to the baud rate generators 1 and 0 (BGR0/BGR1) and set external clock (EXT=1) after executing
program clear (UPCL).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
427
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
15.3.7
MB91345 Series
FIFO Control Register 1 (FCR01, FCR11)
FIFO Control Register 1 (FCR01, FCR11) sets the FIFO test, selects the transmit or
reception FIFOs, enables the transmit FIFO interrupt, and controls the interrupt flags.
■ Bit Configuration of FIFO Control Register 1 (FCR01, FCR11)
Figure 15.3-9 shows the bit configuration of the FIFO control register 1 (FCR01, FCR11). Table 15.3-7
lists the function of each bit.
Figure 15.3-9 Bit Configuration of FIFO Control Register 1 (FCR01, FCR11)
FCRx1
(x = 0, 1)
Address
ch.0 00006AH
ch.1 00007AH
bit15 bit14 bit13 bit12 bit11 bit10
Reserved Reserved
R/W
R/W

()
FLSTE FRIIE FDRQ
R/W
R/W
R/W
bit9
bit8
FTIE
FSEL
R/W
R/W
bit7
bit0
(FCR0)
Initial value
00-0000000000000B
FSEL
0
1
FIFO selection bits
(Transmit FIFO:FIFO1, Receive FIFO:FIFO2)
(Transmit FIFO:FIFO2, Receive FIFO:FIFO1)
FTIE
0
1
Transmit FIFO interrupt enable bit
Disable transmission FIFO interrupts
Enable transmission FIFO interrupt
FDRQ
0
1
Transmit FIFO data request bit
No transmission FIFO data request
Transmission FIFO data request
FRIIE
0
1
Reception FIFO idle detection enable bit
Disable reception FIFO idle detection.
Enable reception FIFO idle detection.
FLSTE Retransmission data lost detection enable bit
0
Disable data lost detection.
1
Enable data lost detection.
Unused bit
The read value is undefined. Writing has no effect.
Reserved
0
R/W

428
FIFO test bit
Be sure to set "0" to this bit..
: Readable/writable
: Unused bit
: Initial value
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
Table 15.3-7 Functional Description of Each Bit in the FIFO Control Register 1 (FCR01, FCR11)
Bit name
Function
bit15,
bit14
Reserved bit
This bit is reserved bit.
Be sure to set "0" to this bit.
bit13
Unused bit
Read: The value is undefined.
Write: No effect.
bit12
FLSTE:
Retransmission data
lost detection enable
bit
This bit enables detection of the FLST bit.
When set to "0": Disable detection of the FLST bit.
When set to "1": Enable detection of the FLST bit.
Note:
Set "1" to this bit after "1" is set to FSET bit.
bit11
FRIIE:
Reception FIFO idle
detection enable bit
This bit sets whether the reception idle state of 8-bit time or more is detected while valid
data exists in reception FIFO. If the reception interrupt is enabled (SCR:RIE=1), the
reception interrupt will occur when the reception idle status is detected.
When set to "0": The reception idle status detection is disabled.
When set to "1": The reception idle status detection is enabled.
bit10
FDRQ:
Transmit FIFO data
request bit
This bit is the data request bit of transmit FIFO. When this bit is set to "1", it indicates the
transmission data is requested. If the transmit FIFO interrupt is enabled (FTIE=1), the
FIFO transmit interrupt request will be output.
The FDRQ set condition:
• FBYTE (transmit)=0 (transmit FIFO is empty)
The FDRQ reset condition:
• Writing "0" to this bit.
• When transmit FIFO is full.
Notes:
• Writing "0" to this bit is valid when transmit FIFO is enabled.
• When the FBYTE (for transmission)=0, writing "0" to this bit is disabled.
• When this bit is set to "1", there is no influence on the operation.
• When having a read-modify-write (RMW) related instruction, "1" is read out.
bit9
FTIE:
Transmit FIFO
interrupt enable bit
bit8
FSEL:
FIFO selection bit
This bit is the interrupt enable bit of transmit FIFO. An interrupt occurs if this bit is set to
"1" when the FDRQ bit is "1".
This bit selects transmit / reception FIFO.
When set to "0": Assign to transmit FIFO:FIFO1, reception FIFO:FIFO2.
When set to "1": Assign to transmit FIFO:FIFO2, reception FIFO:FIFO1.
Notes:
• This bit is not cleared by FIFO reset (FCL2, FCL1=1).
• To change this bit, disable the FIFO operation (FCR:FE2, FE1=0) first.
Note:
The transmit interrupts include the transmit FIFO interrupt request and the transmit buffer interrupt request.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
429
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
15.3.8
MB91345 Series
FIFO Control Register 0 (FCR00, FCR10)
The FIFO Control Register 0 (FCR00, FCR10) enables or disables the FIFO operation,
resets FIFO, saves the read pointer, and sets retransmit.
■ Bit Configuration of FIFO Control Register 0 (FCR00, FCR10)
Figure 15.3-10 shows the bit configuration of the FIFO control register 0 (FCR00, FCR10). Table 15.3-8
lists the function of each bit.
Figure 15.3-10 Bit Configuration of FIFO Control Register 0 (FCR00, FCR10)
FCRx0
(x = 1, 0)
Address
ch.0 00006BH
ch.1 00007BH
bit15
bit8
(FCR1)
bit1
bit0
Initial value

FLST FLD FSET FCL2 FCL1
FE2
FE1
00000000B
()
R/W
R/W
R/W
bit7
bit6
R/W
FIFO2 Operation Enable Bit
FIFO2 operation disabled
FIFO2 Enabling Operations
0
1
FSET
0
1
430
R/W
bit2
FE2
0
1
FCL2
: Readable/writable
: Unused bit
: Initial value
R/W
bit3
FIFO1 Operation Enable Bit
FIFO1 operation disabled
FIFO1 Enabling Operations
0
1

R/W
bit4
FE1
0
1
FCL1
R/W
bit5
FIFO1 reset bit
Write
Read
No effect
Always read "0".
FIFO1 Reset
FIFO2 reset bit
Write
Read
No effect
Always read "0".
FIFO2 Reset
FIFO pointer save bit
Write
Read
No save
Always read "0".
Execute save
FLD
0
1
FIFO pointer reload bit
No reload
Execute reload
FLST
0
1
FIFO retransmit data lost flag bit
No data lost
Data lost
Unused bit
"0" is always read at read operation.
"0" is always written at write operation.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
Table 15.3-8 Functional Description of Each Bit in the FIFO Control Register 0 (FCR00, FCR10) (1 / 2)
Bit name
bit7
bit6
bit5
bit4
bit3
bit2
Function
Unused bit
When read: "0" is always read.
When write: "0" is always written.
FLST:
FIFO retransmit
data lost flag bit
This bit indicates that the retransmission data of transmit FIFO was lost.
FLST set condition:
Data is written (overwritten) to FIFO when the FLSTE bit of the FIFO control register 1
(FCR1) is "1" and the write pointer of transmit FIFO and the read pointer saved by the FSET
bit match.
FLST reset condition:
• FIFO reset (write "1" to FCL)
• Write "1" to the FSET bit
When "1" is set to this bit, data which the read pointer saved by the FSET bit indicates is
overwritten, and retransmission cannot be set by the FLD bit even if error occurs. When you
retransmit the data while this bit is set to "1", you must reset the FIFO, and write the data to
the FIFO again.
FLD:
FIFO pointer
reload bit
This bit reloads data saved to transmit FIFO by the FSET bit to the read pointer. This bit is
used to retransmit the data when a communication error occurs.
Once the retransmit setting is completed, this bit becomes "0".
Notes:
• Data is being reloaded to the read pointer while this bit is set to "1". Therefore, do not
write reset other than FIFO reset.
• Setting "1" to this bit is not allowed during FIFO enable condition or transmission.
• Set the TIE and TBIE bits to "0" before writing "1" to this bit, and after enabling the
transmit FIFO, set the bits to "1".
FSET:
FIFO pointer save
bit
This bit saves the read pointer of transmit FIFO.
By saving the read pointer before communicating, retransmit will be available if the FLST bit
is "0" when a communication error occurs.
When set to "1": Current read pointer value is saved.
When the bit is set to "0": No effect.
Note:
Set this bit to "1" while number of transmission bytes (FBYTE) indicates "0".
FCL2:
FIFO2 reset bit
This bit resets FIFO2.
When this bit is set to "1", the internal status of FIFO2 is initialized.
Only the FCR1:FLST bit is initialized. Other bits of the FCR1/FCR0 register are retained as is.
Notes:
• Execute FIFO2 reset after disabling the transmission/reception operation.
• Enable the transmit FIFO interrupt by setting the value to "0" before running it.
• Number of valid data for the FBYTE2 register is "0".
FCL1:
FIFO1 reset bit
This bit resets FIFO1.
When this bit is set to "1", the internal status of FIFO1 is initialized.
Only the FCR1: FLST bit is initialized. Other bits of the FCR1/FCR0 register are retained as
is.
Notes:
• Execute FIFO1 reset after disabling the transmission/reception operation.
• Enable the transmit FIFO interrupt by setting the value to "0" before running it.
• Number of valid data for the FBYTE1 register is "0".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
431
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
Table 15.3-8 Functional Description of Each Bit in the FIFO Control Register 0 (FCR00, FCR10) (2 / 2)
Bit name
bit1
bit0
432
Function
FE2:
FIFO2 Operation
Enable Bit
This bit enables / disables the operation of FIFO2.
• If FIFO2 is used, set this bit to "1".
• The transmit will be started immediately when UART is enabled for transmit (TXE=1), if
FIFO2 is set to the transmit FIFO (FCR1:FSEL=1) and the data exists in FIFO2 at writing
"1" to this bit. Set the TIE and TBIE bits to "0" before writing "1" to this bit, and then set
the bits to "1".
• If this is selected as a reception FIFO by FSEL bit, this bit is cleared to "0" in case of the
reception error, and this bit cannot be set to "1" until the reception error is cleared.
• This bit should set to "1" or "0" when the transmit buffer is empty (TDRE=1) to use with
the transmit FIFO, or when the reception buffer is empty (RDRF=0) to use with the
reception FIFO.
• FIFO2 state is maintained even when FIFO2 is disabled.
FE1:
FIFO1 Operation
Enable Bit
This bit enables / disables the operation of FIFO1.
• If FIFO1 is used, set this bit to "1".
• The transmit will be started immediately when UART is enabled for transmit (TXE=1), if
FIFO1 is set to the transmit FIFO (FCR1:FSEL=0) and the data exists in FIFO1 at writing
"1" to this bit. Set the TIE and TBIE bits to "0" before writing "1" to this bit, and then set
the bits to "1".
• If this is selected as a reception FIFO by FSEL bit, this bit is cleared to "0" in case of the
reception error, and this bit cannot be set to "1" until the reception error is cleared.
• This bit should set to "1" or "0" when the transmit buffer is empty (TDRE=1) to use with
the transmit FIFO, or when the reception buffer is empty (RDRF=0) to use with the
reception FIFO.
• FIFO1 state is maintained even when FIFO1 is disabled.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
15.3.9
FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11,
FBYTE12)
The FIFO byte register (FBYTE01, FBYTE02, FBYTE11, FBYTE12) indicates the number
of the data available for FIFO. In addition, you can set whether the reception interrupt
should occur when the reception FIFO receives the specified number of data.
■ Bit Configuration of FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12)
Figure 15.3-11 shows the bit configuration of the FIFO byte register (FBYTE01, FBYTE02, FBYTE11,
FBYTE12).
Figure 15.3-11 Bit Configuration of FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12)
FBYTE01
FBYTE02
FBYTE11
FBYTE12
bit15 bit14 bit13 bit12 bit11 bit10
Address
ch.01 00006DH
ch.02 00006CH R/W
ch.11 00007DH
ch.12 00007CH
bit9
bit8
bit7
bit6
bit5
(FBYTE2)
R/W
R/W
R/W
R/W
bit4
bit3
bit2
bit1
bit0
00000000B
00000000B
(FBYTE1)
R/W
R/W
R/W
R/W
R/W: Readable/writable
Read (number of valid data)
At transmission : Number of data written to FIFO and not
transmitted
At reception
: Number of data received in FIFO
Write (number of transfer)
At transmission : Set "00H".
At reception
: Set number of data which generates
the reception interrupt
R/W
R/W
R/W
R/W
Initial value
R/W
R/W
R/W
FBYTE1
Write
Read
FIFO1 data count indication bit
Set number of transfer.
Read number of valid data.
FBYTE2
Write
Read
FIFO2 data count indication bit
Set number of transfer.
Read number of valid data.
The FBYTE register indicates the number of the valid data that was received or written to FIFO, as shown
in the following list depending on the setting of the FCR1:FSEL bit.
Table 15.3-9 Indicate Number of Data
FSEL
CM71-10132-3E
FIFO selection
Indicate number of data
0
FIFO2: Reception FIFO, FIFO1: Transmit FIFO
FIFO2: FBYTE2, FIFO1: FBYTE1
1
FIFO2: Transmit FIFO, FIFO1: Reception FIFO
FIFO2: FBYTE2, FIFO1: FBYTE1
FUJITSU SEMICONDUCTOR LIMITED
433
CHAPTER 15 Serial Interface
15.3 Registers of UART (Asynchronous Serial Interface)
MB91345 Series
• Initial value of transfer count for the FBYTE register is "08H".
• Specify the data count that causes the reception interrupt flag to be generated in FBYTE of the reception
FIFO. The interrupt flag (SSR:RDRF) is set to "1" if the specified number of the transfers matches the
number of the data displayed for the FBYTE register.
• While the reception FIFO idle detection enable bit (FRIIE) is "1" and the data count that exists in the
reception FIFO is under the transfer count, the interrupt flag (RDRF) is set to "1" when the reception
idle status continues for 8 or more clocks in the baud rate clock. When having read RDR during the
eight clocks count, the counter is reset to "0", and then it counts another eight clocks. When the
reception FIFO is disabled, the counter is reset to "0". If you enable the reception FIFO when the data
remains in the FIFO, the counting process will be started again.
Notes:
• Set the FBYTE register for transmit FIFO to "00H".
• Set data of "1" or more to the FBYTE for reception FIFO.
• Execute change operation after disabling the reception operation.
• This register cannot use the read-modify-write (RMW) related commands.
• Setting that exceeds capacity of FIFO is disabled.
434
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.4 UART Interrupt
MB91345 Series
15.4
UART Interrupt
UART has the transmit/reception interrupt. The interrupt request can be occurred by the
following factors:
• When received data is set in the receive data register (RDR) or a reception error
occurs.
• When the send data is transferred from the send data register (TDR) to the send shift
register and sending starts.
• Transmission bus idle (no transmission operation)
• Transmission FIFO data request
■ UART Interrupt
Table 15.4-1 shows the interrupt control bit and the interrupt factor of UART.
Table 15.4-1 Interrupt Control Bit of UART and Interruption Factor (1 / 2)
Interrupt
type
Interrupt
Flag
request
register
flag bit
RDRF
Operation
mode
0
Interrupt factor
1
SSR
Read receive data (RDR).
Receiving the FBYTE
setting value
Read the receive data (RDR)
until reception FIFO is empty.
ORE
SSR
Overrun error
FRE
SSR
Framing error
PE
SSR
CM71-10132-3E
×
Clear interrupt request flag
1-byte reception
Detect the reception idle
state of 8-bit time or more
while the FRIIE bit is "1"
and valid data exists in
reception FIFO.
Receive
Interrupt
factor
enable bit
SCR:RIE
Write "1" to the reception error
flag clear bit (SSR:REC).
Parity error
FUJITSU SEMICONDUCTOR LIMITED
435
CHAPTER 15 Serial Interface
15.4 UART Interrupt
MB91345 Series
Table 15.4-1 Interrupt Control Bit of UART and Interruption Factor (2 / 2)
Interrupt
type
Interrupt
Flag
request
register
flag bit
TDRE
SSR
Operation
mode
0
Interrupt factor
1
Transmit register is
empty.
Transmit
TBI
FDRQ
SSR
FCR1
No transmission
operation.
Transmit FIFO is empty.
Interrupt
factor
enable bit
Clear interrupt request flag
SCR:TIE
Write "1" to the transmission
FIFO operation enable bit when
writing to the transmit data
(TDR) or the transmission FIFO
operation enable bit is "0", and
valid data exists in transmit
FIFO (Resend). *
Write "1" to the transmission
FIFO operation enable bit when
writing to the transmit data
SCR:TBIE (TDR) or the transmission FIFO
operation enable bit is "0", and
valid data exists in transmit
FIFO (Resend). *
FCR1:
FTIE
Write "0" to the FIFO
transmission data request bit
(FCR1:FDRQ) or transmit FIFO
is full.
*: Set the TIE bit to "1" after the TDRE bit becomes "0".
436
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.4 UART Interrupt
MB91345 Series
15.4.1
Reception Interrupt Generation and Flag Set Timing
Interrupts during reception are one generated upon completion of reception
(SSR:RDRF) and one generated upon occurrence of a reception error (SSR:PE, ORE,
FRE).
■ Reception Interrupt Generation and Flag Set Timing
When the first stop bit is detected, the reception data is contained in Reception Data Register (RDR). If a
reception error occurs (SSR:PE, ORE, FRE=1) upon completion of reception (SSR:RDRF=1), the
corresponding flag is set. A receive interrupt is also generated if the receive interrupt is enabled
(SSR:RIE=1).
Note:
If a reception error occurs, the data in Reception Data Register (RDR) will be invalid.
Figure 15.4-1 The Set Timing for the RDRF (Reception Data Full) Flag Bit
Reception data
ST
D0
D1
D2
D5
D6
D7
SP
ST
RDRF
Generate receive interrupt
Figure 15.4-2 The Set Timing for the FRE (Framing Error) Flag Bit
Reception data
ST
D0
D1
D2
D5
D6
D7
SP
ST
RDRF
FRE
Generate receive interrupt
Notes :
When the first stop bit's level is "L" , the framing error is generated.
Receive data is invalid though RDRF is set to "1" and the data is receive even if the framing
error is generated.
Figure 15.4-3 The Set Timing for the ORE (Overrun Error) Flag Bit
Reception data
ST D0 D1 D2 D3
D4 D5 D6 D7 SP
ST D0
D1 D2 D3 D4 D5 D6 D7 SP
RDRF
ORE
Note : If the next data is transferred before receive data is read, the over-run error is generated.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
437
CHAPTER 15 Serial Interface
15.4 UART Interrupt
15.4.2
MB91345 Series
Timing when the interrupt occurs and the flag should be
set during the use of the reception FIFO
During the use of the reception FIFO, an interrupt occurs when the setting value in the
FBYTE register (FBYTE) is received.
■ Timing when the Reception Interrupt Occurs and the Flag Should be Set during the
Use of the Reception FIFO
An occurrence of interrupt during the use of the reception FIFO is determined by the setting value in the
FBYTE register.
• When the data of the set transfer count of FBYTE register have been received, the reception data full
flag (SSR:RDRF) of the serial status register is set to "1". And if the reception interrupt is enabled
(SCR:RIE), a reception interrupt will occur.
• While the reception FIFO idle detection enable bit (FRIIE) is "1" and the data count that exists in the
reception FIFO is under the transfer count, the interrupt flag (RDRF) is set to "1" when the reception
idle status continues for 8 or more clocks in the baud rate clock. When having read RDR during the
eight clocks count, the counter is reset to "0", and then it counts another eight clocks. When the
reception FIFO is disabled, the counter is reset to "0". If you enable the reception FIFO when the data
remains in the FIFO, the counting process will be started again.
• When the reception data (RDR) is read until the reception FIFO becomes empty, the reception data full
flag (SSR:RDRF) is cleared.
• If the number of valid reception data indicates the FIFO capacity, an overrun error (SSR:ORE=1) will
occur when receiving the next data.
Figure 15.4-4 Timing when the Reception Interrupt Occurs during the Use of the Reception FIFO
Reception data
ST 1st byte SP
ST 2nd byte SP
ST 3rd byte SP
FBYTE setting
(number of transmission)
FBYTE read
(valid byte display)
ST 4th byte SP
ST 5th byte SP
3
0
1
2
3
2 1
0
1
2
RDRF
Reading of RDR
Read all receive data
Interrupt is generated when FBYTE setting
(number of transmission) and number of
reception data are matched.
438
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.4 UART Interrupt
MB91345 Series
Figure 15.4-5 The Set Timing for the ORE (Overrun Error) Flag Bit
ST 62nd byte SP
Reception data
ST 63rd byte SP
FBYTE setting
(number of transmission)
FBYTE read
(valid byte display)
ST 64th byte SP
ST 65th byte SP
ST 66th byte SP
62
62
63
64
RDRF
ORE
Overrun error generation
Note:
When FBYTE read receives the next data at the state of specifying FIFO capacitance, overrun error is generated.
This figure shows the case of using 64-byte FIFO capacitance.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
439
CHAPTER 15 Serial Interface
15.4 UART Interrupt
15.4.3
MB91345 Series
Transmit Interrupt Generation and Flag Set Timing
Interrupt during the transmit will occur if the transmit data is transferred from transmit
data register (TDR) to the shift register for the transmit (SSR:TDRE=1) and the transmit
is started, and if there is no transmit operation (SSR:TBI=1).
■ Transmit Interrupt Generation and Flag Set Timing
● The set timing for the transmit data empty flag (TDRE)
When the data written to transmit data register (TDR) is transferred to the transmit shift register, it will be
available to write the next data (SSR:TDRE=1). A send interrupt is generated at this time if the send
interrupt is enabled (SSR:TIE=1). Since TDRE bit is a read-only bit, it is cleared to "0" by writing data to
the transmission data register (TDR).
Figure 15.4-6 The Set Timing for the Transmit Data Empty Flag (TDRE)
Transmission interrupt generation
Transmission data
(mode 0, 1)
ST
D0
D1
D2
Transmission interrupt generation
D3
D4
D5
D6
D7
SP ST
D0
D1
D2
TDRE
Write to TDR
ST: Start bit
D0 to D7: Data bit
SP: Stop bit
● The set timing for the transmit bus idle flag (TBI)
When the transmit data register is empty (TDRE=1) and does not transmit, the SSR: TBI bit is set to "1". In
this case, if the transmit bus idle interrupt is enabled (SCR:TBIE=1), the transmit interrupt will occur.
When the transmission data is set to the transmission data register (TDR), the TBI bit and the transmit
interrupt request will be cleared.
Figure 15.4-7 The Set Timing for the Transmit Bus Idle Flag (TBI)
Transmission
data
ST
D0
D1
D2
D3
D4
D5 D6
D7
SP
ST
D0
D1
D2
D3
D4
D5 D6
D7
TBI
TDRE
Transmission interrupt
generation by TBI
TDR write
ST: Start bit
440
D0 to D7: Data bit
SP: Stop bit
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.4 UART Interrupt
MB91345 Series
15.4.4
Timing when the Interrupt Occurs and the Flag Should
be Set during the Use of the Transmit FIFO
Interrupt during the use of the transmit FIFO will occur when there is no data in the
transmit FIFO.
■ Timing when the Transmit Interrupt Occurs and the Flag Should be Set during the Use
of the Transmit FIFO
• When the data does not exist in the transmission FIFO, the FIFO transmission data request bit
(FCR1:FDRQ) is set to "1". If the FIFO transmit interrupt is enabled (FCR1:FTIE=1) at this time, the
transmit interrupt occurs.
• When a transmit interrupt is generated and the necessary data is written to the transmit FIFO, write "0"
to FIFO transmit data request bit (FCR1:FDRQ) to clear the interrupt request.
• When the transmission FIFO becomes get to full, the FIFO transmission data request bit (FCR1:FDRQ)
becomes "0".
• The existence of transmit FIFO data can be checked by reading out the FIFO byte register (FBYTE).
FBYTE=00B indicates that no data exists in the transmit FIFO.
Figure 15.4-8 Timing when the Transmit Interrupt Occurs during the Use of the Transmit FIFO
Transmission
data
FBYTE
ST 1st byte SP
0
1
2
1
ST 2nd byte SP
0
1
ST 3rd byte ST
2
SP 4th byte SP
SP 5th byte
0
1
FDRQ
TDRE
Write to
transmission
FIFO (TDR)
Transmission
Clear by "0" write interrupt generation *1
Clear by "0" write
Transmission
interrupt generation *1
Transmission data register is empty *2
*1 : FDRQ=1 is set because transmission FIFO is empty.
*2 : TDRE=1 is set because the data does not exist in transmission shift register and transmission buffer register.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
441
CHAPTER 15 Serial Interface
15.5 Operation of UART
15.5
MB91345 Series
Operation of UART
UART works on the duplex serial asynchronous transmission for the mode 0, or the
master/slave multiprocessor transmission for the mode 1.
■ Operation of UART
● Format of transmit/receive data
• The transmit or reception data always start from the start bit. The data is transmitted or received by the
specified data bit length, and it ends at the stop bit with 1-bit at least.
• The data transfer direction (LSB-first or MSB-first transfer) is determined by the BDS bit in Serial
Mode Register (SMR). When parity is used, the parity bit is always placed between the last data bit and
the first stop bit.
• For the operation mode 0 (normal mode), you can select whether parity should be added or not.
• For the operation mode 1 (multiprocessor mode), the AD bit will be added, not parity.
Format of transmit and receive data for the operation mode 0 and the operation mode 1 is shown in Figure
15.5-1.
442
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.5 Operation of UART
MB91345 Series
Figure 15.5-1 Example of Transmit and Receive Data Format (Operation Mode 0 and 1)
[Operation mode 0]
ST
D0 D1
D2
D3
D4
D5
D6
D7
SP1 SP2
ST
D0 D1
D2
D3
D4
D5
D6
D7
SP1
ST
D0 D1
D2
D3
D4
D5
D6
D7
P
Without P
Data 8-bit
SP1 SP2
With P
ST
D0 D1
D2
D3
D4
D5
D6
D7
P
ST
D0 D1
D2
D3
D4
D5
D6 SP1 SP2
ST
D0 D1
D2
D3
D4
D5
D6 SP1
ST
D0 D1
D2
D3
D4
D5
D6
SP1
Without P
Data 7-bit
P
SP1 SP2
With P
ST
D0 D1
D2
D3
D4
D5
D6
P
SP1
[Operation mode 1]
ST
D0 D1
D2
D3
D4
D5
D6
D7
AD SP1 SP2
ST
D0 D1
D2
D3
D4
D5
D6
D7
AD SP1
ST
D0 D1
D2
D3
D4
D5
D6
AD SP1 SP2
Data 8-bit
Data 7-bit
ST
D0 D1
D2
D3
D4
D5
D6
AD SP1
ST : Start bit
SP : Stop bit
P : Parity bit
AD : Address bit
D0 to D7 : Data bit
Notes:
• The figure shows the data length set to 7-bit, 8-bit. (For the operation mode 0, the data length
can be set to 5-bit to 9-bit.)
• If the BDS bit in Serial Mode Register (SMR) is set to "1" (MSB-first), the bit will be processed
in the order of D7, D6, D5, ...D1, D0(P).
• If the data length is set to the X bit length, the lower X bit in transmit or reception Data Register
(RDR/TDR) will be enabled.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
443
CHAPTER 15 Serial Interface
15.5 Operation of UART
MB91345 Series
● Transmission Operation
• If the transmit data empty flag bit (TDRE) in Serial Status Register (SSR) is "1", the transmit data can
be written to transmit data register (TDR) (When the transmit FIFO is enabled, the transmit data can be
written if TDRE=0).
• If the transmit data is written to transmit data register (TDR), the transmit data empty flag bit (TDRE)
will be "0".
• If the transmit operation enable bit in Serial Control Register (SCR:TXE) is set to "1", the transmit data
will be loaded into the transmit shift register, and the transmit will be started from the start bit.
• When the transmit is started, the transmit data empty flag bit (TDRE) will be set to "1" again. And if the
transmit interrupt is enabled (SCR:TIE=1), a transmit interrupt will occur. In interrupt processing, the
next data to transmit can be written to the transmit data register (TDR).
Notes:
• The transmit data empty flag bit (SSR:TDRE) is initially set to "1", and if the transmit interrupt is
enabled (SCR:TIE), the transmit interrupt will occur immediately.
• The FIFO transmit data request bit (FCR1:FDRQ) is initially set to "1", and if the FIFO transmit
interrupt is enabled (FCR1:FTIE=1), the transmit interrupt will occur immediately.
● Reception Operation
• When the reception operation is enabled (SCR:RXE=1), the reception operation starts.
• When the start bit is detected, the 1 frame data is received based on the data format that was set in
Extended Communication Control Register (ESCR:PEN, P, L2, L1, L0) and Serial Mode Register
(SMR:BDS).
• When the 1 frame reception is completed, the reception data full flag bit (SSR:RDRF) is set to "1". And
if the reception interrupt is enabled (SCR:RIE=1), a reception interrupt will occur.
• When reading the reception data, read the reception data after the 1 frame data is completely received,
and check the status of the error flag in Serial Status Register (SSR). When a reception error occurs,
perform error handling.
• The reception data full flag bit (SSR:RDRF) is set to "0" by reading the reception data.
• If the reception FIFO is enabled, the reception data full flag bit (SSR:RDRF) will be set to "1" when the
frames that were set in the reception FBYTE are received.
• While the reception FIFO idle detection enable bit (FRIIE) is "1" and the data count that exists in the
reception FIFO is under the transfer count, the interrupt flag (RDRF) is set to "1" when the reception
idle status continues for 8 or more clocks in the baud rate clock. When having read RDR during the
eight clocks count, the counter is reset to "0", and then it counts another eight clocks. When the
reception FIFO is disabled, the counter is reset to "0". If you enable the reception FIFO when the data
remains in the FIFO, the counting process will be started again.
444
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.5 Operation of UART
MB91345 Series
• If the reception FIFO is enabled, when the error flag in Serial Status Register (SSR) is set to "1", the
reception FIFO will not contain the data in which that error occurred. In addition, the reception data full
flag bit (SSR:RDRF) will not be set to "1". (For an overrun error, however, the RDRF flag is set to "1".)
Displayed reception FBYTE indicates the number of data, which was normally received before an error
occurred. The reception FIFO will not be enabled unless the error flag in Serial Status Register (SSR) is
cleared to "0".
• If the reception FIFO is enabled, the reception data full flag bit (SSR:RDRF) will be cleared to "0" when
the data no longer exists in the reception FIFO.
Note:
The data in Reception Data Register (RDR) will be valid if no reception error occurs (SSR:PE, ORE,
FRE=0) when the reception data register full flag bit (SSR:RDRF) is set to "1".
● Clock Selection
• The internal or external clock can be used.
• When the external clock is used, set SMR:EXT=1. In this case, the external clock will be divided in the
baud rate generator.
● Start Bit Detection
• When using the asynchronous mode, the start bit is identified with the falling edge of the SIN signal.
Therefore, if the reception operation is enabled (SCR:RXE=1), the operation will not be started unless
the falling edge of the SIN signal is entered.
• When the falling edge of the start bit is detected, the reception reload counter of the baud rate generator
is reset, and then starts reload and count down again. This always enables a sampling at the center of the
data.
Start bit
Data bit
SIN
SIN (OverSampled)
SEDGE
(Internal
signal)
Reload counter
reset
Data sampling
Reception
sampling
clock
1 bit time
● Stop Bit
• During transmission, one bit or two bits can be selected.
• The reception data full flag bit (SSR:RDRF) will be set to "1" when the first stop bit is detected.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
445
CHAPTER 15 Serial Interface
15.5 Operation of UART
MB91345 Series
● Error detection
• For the operation mode 0, the parity error, overrun error, and frame error can be detected.
• For the operation mode 1, the overrun error and frame error can be detected. Parity errors cannot be
detected.
● Parity bit
• The addition of a parity bit can be set only in operation mode 0. You can set whether the parity should
be added or not using the parity enable bit (ESCR:PEN), and whether the parity should be even or odd
using the parity selection bit (ESCR:P).
• Parity cannot be used in operation mode 1.
Figure 15.5-2 shows transmit and receive data when the parity is available.
Figure 15.5-2 Operation when the Parity is Available
ST
Reception
data
(mode 0)
D0
D1
D2
D3
D4
D5
D6
D7
P
SP
When receiving in even parity,
parity error is generated.
(ESCR:P=0)
SMR:PE
Transmission
data
(mode 0)
Transmission of even parity
(ESCR:P=0)
Transmission
data
(mode 0)
Transmission of odd parity
(ESCR:P=1)
ST: Start bit SP: Stop bit In case which has parity (ESCR:PEN=1) and 8-bit length
Note: Parity is not used in operation mode 1.
● Data signal type
By setting the INV bit in Extended Communication Control Register, you can select either the NRZ
(NonReturntoZero) signal method (ESCR:INV=0) or the inverse NRZ signal method (ESCR:INV=1).
The figure below shows the Non Return to Zero (NRZ) signal method and the inverse NRZ signal method.
Figure 15.5-3 Non Return to Zero (NRZ) Signal Method and Inverse NRZ Signal Method
SIN (NRZ)
INV = 0
SIN (Inverse NRZ)
INV = 1
SOT (NRZ)
INV = 0
SOT (Inverse NRZ)
INV = 1
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
● Data transfer method
The data bit transfer method can be either LSB-first or MSB-first.
446
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.6 Dedicated Baud Rate Generator
MB91345 Series
15.6
Dedicated Baud Rate Generator
The transmission/reception clock source for the UART can be selected from among the
following.
• Dedicated baud rate generator (reload counter)
• Input external clock to the baud rate generator (reload counter)
■ UART Baud Rate Selection
You can select either of the following two different baud rates.
● Baud rate obtained by dividing the internal clock in the dedicated baud rate generator (reload counter)
Two internal reload counters are provided and are used for the send and receive serial clocks respectively.
You can select a baud rate by setting a 15-bit reload value in the baud rate generator registers 1 and 0
(BGR1, BGR0).
The reload counter divides the internal clock frequency by the set value.
Select the internal clock (SMR:EXT=0) for the clock source setting.
● Baud rate obtained by dividing the external clock in the dedicated baud rate generator (reload counter)
The external clock is used as the clock source for the reload counter.
You can select a baud rate by setting a 15-bit reload value in the baud rate generator registers 1 and 0
(BGR1, BGR0).
The reload counter divides the external clock frequency by the set value.
To set the clock source, select the external clock and the use of the baud rate generator clock
(SMR:EXT=1).
This mode is provided for a use by dividing an oscillator of special frequency.
Notes:
• Set the external clock (EXT=1) when the reload counter is idle (BGR1/BGR0=0000H).
• If the external clock is set (EXT=1), at least two peripheral clock cycles are needed for "H" width
and "L" widths of the external clock.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
447
CHAPTER 15 Serial Interface
15.6 Dedicated Baud Rate Generator
15.6.1
MB91345 Series
Baud Rate Setting
Baud rate settings are shown. The calculation result for the serial clock frequency is
also shown.
■ Baud Rate Operation
The two 15-bit reload counters are set by baud rate generator registers 1 and 0 (BGR1 and BGR0).
The baud rate is calculated by the following equation.
(1) Reload value:
V = / b  1
V: Reload value
b: Baud rate
: Peripheral clock, external clock frequency
(2) Calculation example
The reload value is calculated by the following equation when setting 16 MHz for the peripheral
clock and 19200 bps for the baud rate.
Reload value:
V = (16  1000000) / 19200  1 = 832
Therefore, the baud rate is:
b = (16  1000000) / (832 + 1) = 19208 bps
(3) Error of baud rate
Error of baud rate is obtained by the following equation.
Error (%) = (Calculated value  Target value) / Target value  100
(Example) When setting peripheral clock 20 MHz and baud rate 153600 bps
Reload value = (20  1000000) / 153600  1 = 129
Baud rate (Calculated value) = (20  1000000) / (129 + 1) = 153846 (bps)
Error (%) = (153846  153600) / 153600  100 = 0.16 (%)
Notes:
• Setting a reload value of "0" stops the reload counter.
• If the reload value is an even number, the "L" width for the reception serial clock will be longer
than the "H" width by 1 cycle of the peripheral clock. If the value is an odd number, the "H" and "L"
widths for the serial clock will be the same.
• Set 4 or more reload values. However, the data might not be received normally due to the
deviation of the baud rate and the setting of the reload value.
448
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.6 Dedicated Baud Rate Generator
MB91345 Series
■ The Reload Value and Baud Rate for Each Peripheral Clock Frequency
Table 15.6-1 Reload Value and Baud Rate
Baud rate
(bps)
8 MHz
1 0 MHz
16 MHz
20 MHz
24 MHz
32 MHz
Va lue
ERR
Val ue
ER R
Value
ERR
Va lue
ER R
Val ue
ERR
Val ue
ERR
4M





0
4
0
5
0
7
0
2.5M



0








2M

0
4
0
7
0
9
0
11
0
15
0
1M
7
0
9
0
15
0
19
0
23
0
31
0
5 0 0 0 00
15
0
19
0
31
0
39
0
47
0
63
0
4 6 0 8 00








51
-0.16


2 5 0 0 00
31
0
39
0
63
0
79
0
95
0
127
0
2 3 0 4 00








1 03
-0.16


1 5 3 6 00
51
-0.16
64
- 0. 1 6
103
-0.16
129
- 0. 1 6
1 55
-0.16
20 7
-0 . 1 6
1 2 5 0 00
63
0
79
0
127
0
159
0
191
0
255
0
115200
68
- 0.64
86
0.22
138
0.08
173
0.22
207
- 0.16
277
0.08
7 6 8 00
103
-0.16
12 9
- 0. 1 6
207
-0.16
259
- 0. 1 6
3 11
-0.16
41 6
0.08
57600
138
0. 08
173
0.22
277
0.08
346
-0.16
416
0.08
555
0.08
38400
207
-0.16
259
-0.16
416
0.08
520
0.03
624
0
832
-0.04
2 8 8 00
277
0. 0 8
34 6
<0.01
554
-0.01
693
- 0. 0 6
8 32
-0.03
1 11 0
-0 . 0 1
19200
416
0. 08
520
0.03
832
-0.03
1041
0.03
1249
0
1666
0.02
10417
767
<0.01
959
<0.01
1535
<0.01
1919
<0.01
2303
< 0.01
3071
<0.01
9600
832
0. 04
1041
0.03
1666
0.02
2083
0.03
2499
0
3332
-0.01
7200
1110
< 0 . 01
13 8 8
<0.01
2221
<0.01
2777
<0.01
3332
< 0.01
4443
-0.01
4800
1666
0. 0 2
20 8 2
-0. 0 2
3332
<0.01
4166
<0.01
4999
0
6666
<0.01
2400
3332
< 0 . 01
41 6 6
<0.01
6666
<0.01
8332
<0.01
9999
0
13332
<-0.01
1200
6666
<0.01
8334
0.02
13332
<0.01
16666
<0.01
19999
0
26666
<0.01
600
13332
< 0 . 01
1 66 6 6
<0.01
26666
<0.01






300
26666
26666
<0.01









Notes:
• Value: The setting value of the BGR1/0 registers (decimal)
• ERR: The error in the baud rate (%)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
449
CHAPTER 15 Serial Interface
15.6 Dedicated Baud Rate Generator
MB91345 Series
■ Allowable Baud Rate Range in Receive
It is shown next how much deviation of the baud rate for destination is allowed in a reception.
Use a formula shown below for the deviation of the baud rate in receive. Set the deviation within the
allowable deviation range.
Figure 15.6-1 Allowable Baud Rate Range in Receive
Sampling
Transfer rate
of UART
Start
bit 0
bit 1
bit 7
Parity
Stop
FL
1 data frame (11 x FL)
Transfer rate
of minimum
capacitance
Start
bit 0
bit 1
bit 7
Parity
Stop
FLmin
Transfer rate
of maximum
capacitance
bit 0
Start
bit 1
bit 7
Parity
Stop
FLmax
As shown in the figure, the counter set in the BGR1/BGR0 registers decides the sampling timing of receive
data after the start bit detection. If you can catch the final data (stop bit) in this sampling timing, the
reception will be successfully processed.
It theoretically goes like this, if applied to the 11-bit reception:
Suppose that a margin of the sampling timing is the same as 2 clocks of the peripheral clock (), the
minimum allowable transfer rate (FLmin) will be calculated as follows:
FLmin = (11bit × (V+1)  (V+1)/2 + 3)/ = (21V+27)/2 (s)
V: reload value,  : peripheral clock
Therefore, the maximum baud rate (BGmax) receivable for the destination will be like this:
BGmax = 11/FLmin = 22/(21V+27) (bps)
V: reload value,  : peripheral clock
Similarly, the maximum allowable transfer rate (FLmax) will be calculated as follows:
FLmax = (11bit × (V+1) + (V+1)/2  3)/ = (23V+17)/2 (s)
V: reload value,  : peripheral clock
Therefore, the minimum baud rate (BGmin) receivable for the destination will be like this:
BGmin = 11/FLmax = 22/(23V+17) (bps)
V: reload value,  : peripheral clock
The allowable baud rate error between UART and the destination is calculated using the formula for the
minimum and the maximum baud rate value. The result is shown below.
The reload value (V)
450
Allowable maximum baud
rate error
Allowable minimum baud
rate error
3
0%
0
10
+2.98%
-2.81%
50
+4.37%
-4.02%
100
+4.56%
-4.18%
200
+4.66%
-4.26%
32767
+4.76%
-4.35%
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.6 Dedicated Baud Rate Generator
MB91345 Series
Note:
The reception accuracy depends on the number of bits per frame, the peripheral clock, and the
reload value. As the peripheral clock and divide ratio get higher value, the accuracy will be higher.
■ External Clock
When "1" is written to the EXT bit of the baud rate generator register (BGR), the baud rate generator
divides the external clock.
Note:
The external clock signal synchronizes with the internal clock by UART. Therefore, if the external
clock is not synchronizable, the operation will be unstable.
■ Function of the Reload Counter
A pair of the transmission and reception reload counters serves as the dedicated baud rate generator. The
block consists of a 15-bit register for reload values; it generates the transmission/reception clock signal
from the external or internal clock.
■ Start Counting
Once the reload value is written to the baud rate generator registers (BGR1, BGR0), the reload counter
starts to count.
■ Re-start
The reload counter will restart in the following conditions.
● Both send and receive reload counters
Programmable reset (SCR:UPCL bit)
● Reception reload counter
Falling edge of start bit detected in asynchronous mode
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
451
CHAPTER 15 Serial Interface
15.7 Setting Procedure and Program Flow of Operation Mode 0
(In Asynchronous Normal Mode)
15.7
MB91345 Series
Setting Procedure and Program Flow of Operation Mode 0
(In Asynchronous Normal Mode)
For the operation mode 0, you can use the asynchronous serial duplex transmission.
■ Inter-CPU Connection
The duplex transmission is selected in the operation mode 0 (normal mode). As shown in Figure 15.7-1, 2
CPUs are mutually connected.
Figure 15.7-1 Example of Duplex Transmission Connection in UART Operation Mode 0
SOT
SOT
SIN
SIN
CPU-1 (Master)
CPU-2 (Slave)
■ Flowchart
● FIFO unused
Figure 15.7-2 Example of Duplex Transmission Flowchart (FIFO Unused)
(Transmission side)
(Reception side)
Start
Start
Operation mode setting
(setting to mode 0)
Operation mode setting
(matching to
transmission side)
Setting 1-byte data to
TDR to transmit
Data
transmission
NO
RDRF=1
YES
NO
RDRF=1
YES
Reception data read
and process
452
Data
transmission
(ANS)
Reception data read
and processing
1-byte data
transmission
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.7 Setting Procedure and Program Flow of Operation Mode 0 (In
Asynchronous Normal Mode)
MB91345 Series
● FIFO used
Figure 15.7-3 Example of Duplex Transmission Flowchart (FIFO Used)
(Transmission side)
(Reception side)
Start
Start
Operation mode setting
(setting to mode 0)
Operation mode setting
(setting to mode 0)
· Transmission/reception
FIFO enable
· FBYTE setting
Setting N byte to transmission
FIFO
· Transmission/reception
FIFO enable
· FBYTE setting
Data
transmission
NO
RDRF=1
YES
Read and operate based on
the FBYTE setting value
Writing "0" to FDRQ bit
NO
Data reply
RDRF=1
Setting N byte to transmission
FIFO
YES
Read and operate based on
the FBYTE setting value
CM71-10132-3E
Writing "0" to FDRQ bit
FUJITSU SEMICONDUCTOR LIMITED
453
CHAPTER 15 Serial Interface
15.8 Setting Procedure and Program Flow of Operation Mode 1
(In Asynchronous Multiprocessor Mode)
15.8
MB91345 Series
Setting Procedure and Program Flow of Operation Mode 1
(In Asynchronous Multiprocessor Mode)
For the operation mode1 (multiprocessor mode), you can use the communication with
master/slave connections of multiple CPUs. It is usable as master/slave.
■ Inter-CPU Connection
As shown in the figure, connecting a master CPU and multiple slave CPUs with 2 common
communication lines makes the communication system in master/slave type communication. The UART
can be used with either the master or slave.
Figure 15.8-1 Connection Example for UART Master-slave Communications
SOT
SIN
Master CPU
STO
SIN
STO
Slave CPU #0
SIN
Slave CPU #1
■ Function Selection
Select the operation mode and the data transfer method in master/slave type communication as shown in
Table 15.8-1.
Table 15.8-1 Selection of Master/Slave Type Communication Function
Operation mode
Data
Master CPU
Address
Transmit or
Reception
Data Transmit
or Reception
Parity
Stop bit
Bit direction
None
1-bit or 2-bit
LSB or
MSB first
Slave CPU
Mode 1 (AD bit Mode 1 (AD bit
transmit)
Reception)
AD = 1
+
7-bit or 8-bit
address
AD = 0
+
7-bit or 8-bit
data
Note:
Transmit and reception data (RDR/TDR) must be accessed in word in the operation mode 1.
454
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 15 Serial Interface
15.8 Setting Procedure and Program Flow of Operation Mode 1 (In
Asynchronous Multiprocessor Mode)
● Communication procedure
Master/slave communication is started by the master CPU by transmitting address data.The address data,
having an D8 bit as "1", locates the slave CPU as the destination. Each slave CPU determines the address
data in program, and communicates (typically data) with the master CPU if the data matches the specified
address.
Figure 15.8-2 and Figure 15.8-3 show the flowchart for master/slave type communication (multi processor
mode).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
455
CHAPTER 15 Serial Interface
15.8 Setting Procedure and Program Flow of Operation Mode 1
(In Asynchronous Multiprocessor Mode)
MB91345 Series
■ Flowchart
● FIFO Unused
Figure 15.8-2 Example of Flowchart for Master/Slave Type Communication (FIFO Unused)
(Master CPU)
(Slave CPU)
Start
Start
Operation mode setting
(setting to mode 1)
Operation mode setting
(setting to mode 1)
Setting SIN pin to serial
data input
Setting SOT pin to serial
data output
Setting SIN pin to serial
data input
Setting SOT pin to serial
data output
7 or 8 data bit setting
1 or 2 stop bit setting
7 or 8 data bit setting
1 or 2 stop bit setting
Setting "1" to D8 bit
Transmission/reception
operation enable
Transmission/reception
operation enable
Reception byte
NO
Transmission of slave
address
D8 bit = 1
YES
NO
Setting "0" to D8 bit
Slave address is
matched.
YES
Communication with slave
CPU
Is communication
completed?
Communication with
master CPU
NO
Is communication
completed?
YES
YES
Communication
with other slave
CPU
NO
NO
YES
Transmission/reception
operation disable
End
456
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 15 Serial Interface
15.8 Setting Procedure and Program Flow of Operation Mode 1 (In
Asynchronous Multiprocessor Mode)
MB91345 Series
● FIFO Used
Figure 15.8-3 Example of Flowchart for Master/Slave Type Communication (FIFO used)
(Master CPU)
(Slave CPU)
Start
Start
Operation mode setting
(setting to mode 1)
Operation mode setting
(setting to mode 1)
· Transmission/reception
FIFO enable
· FBYTE setting
Transmission/reception
FIFO enable
Setting "1" to AD bit
Setting slave address to
transmission FIFO and
writing "0" to FDRQ bit
Setting to FBYTE=1
Slave address
transmission
RDRF=1
NO
YES
AD=1 &
slave address is
matched.
Setting "0" to AD bit
NO
YES
Setting N byte to transmission/ Data transmission
reception FIFO and
writing "0" to FDRQ bit
Setting to FBYTE=N
Reception
FIFO full
Setting "0" to D8 bit
NO
YES
NO
Read and operate based on
the FBYTE setting value
RDRF=1
YES
Data transmission
Read and operate based on
the FBYTE setting value
CM71-10132-3E
Setting N byte to transmission
FIFO and writing "0" to
FDRQ bit
FUJITSU SEMICONDUCTOR LIMITED
457
CHAPTER 15 Serial Interface
15.9 Notes on UART Mode
15.9
MB91345 Series
Notes on UART Mode
The notes for when you use the UART mode are shown below.
• FIFO cannot be used for requesting DMA transfer with a channel with FIFO. Please set as FIFO
operation disable.
• To request a DMA transfer request, set the block size of DMA to one time.
458
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16
CSIO (Clock Synchronous
Serial Interface)
This chapter describes a UART function of the multi
function serial interface functions, which is supported
on operation mode 2.
16.1 Overview of CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
16.5 Dedicated Baud Rate Generator
16.6 Setting Procedure and Program Flow of CSIO (Clock Synchronous
Serial Interface)
16.7 Notes on CSIO Mode
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
459
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.1 Overview of CSIO (Clock Synchronous Serial Interface)
16.1
MB91345 Series
Overview of CSIO (Clock Synchronous Serial Interface)
CSIO (clock synchronous serial interface) is a generic serial data communication
interface to perform synchronous communication with external device. (SPI supported)
In addition, it has the transmit or reception (up to 16-byte) FIFOs.
■ Function of CSIO (Clock Synchronous Serial Interface)
Item
1
Data buffer
2
Transfer method
3
Baud rate
4
Data Length
5
Detection of
reception error
6
Interrupt request
7
Synchronous mode
8
Pin access
9
FIFO option
Function
• Full-duplex double buffer (when FIFO is not used)
• Transmit/receive FIFO (maximum 16 bytes each) * (when FIFO is used)
• Clock synchronization (without start bit/stop bit)
• Master/slave function
• SPI supported (for both master and slave)
• Dedicated baud rate generator (configured from the 15-bit reload counter, for the master
operation)
• Input available from the external clock (for the slave operation)
Possible to change to 5 bits to 9 bits
Overrun error
•
•
•
•
Reception interrupt (reception completed, overrun error)
Transmit interrupt (transmit data empty, transmit bus idle)
Transmit FIFO interrupt (when the transmit FIFO is empty)
Extended Intelligent I/O Services (EI2OS) and the DMA transfer support function
Master or slave function
Serial data output pin can be set to "1".
• Transmit/receive FIFO (maximum capacity: transmit FIFO 16 bytes, receive FIFO 16
bytes) *
• Transmit FIFO and Receive FIFO can be selected.
• Transmit data can be resent.
• Receive FIFO interrupt timing can be changed by software
• Independent and support FIFO reset.
* : ch.0 and ch.1 have FIFO. (Transmit and reception are 16 bytes each.)
460
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
16.2
CSIO (Clock Synchronous Serial Interface) Registers
This section lists the CSIO (clock synchronous serial interface) registers.
■ List of the CSIO (Clock Synchronous Serial Interface) Registers
Figure 16.2-1 List of the CSIO (Clock Synchronous Serial Interface) Registers
Address
bit15
bit8
CSIO 0000X0H 0000X1H
SCR (Serial Control Register)
0000X2H 0000X3H
SSR (Serial Status Register)
RDR1/TDR1 (Transmit and reception
data register 1)
BGR1 (Baud rate Generator Register 1)
0000X4H 0000X5H
FIFO
0000X6H
0000X8H
0000Y0H
0000Y2H
bit7
0000X7H
0000X9H
0000Y1H
0000Y3H

FCR1 (FIFO control register 1)
FBYTE2 (FIFO2 byte register)
bit0
SMR (Serial Mode Register)
ESCR (Extended Communication
Control Register)
RDR0/TDR0 (Transmit and reception
data register 0)
BGR0 (Baud rate Generator Register 0)

FCR0 (FIFO control register 0)
FBYTE1 (FIFO1 byte register)
(X=06,07,08,09,0A,0B,1C,1D,1E,1F, Y=6,7)
Table 16.2-1 Bit of Allocation CSIO (Clock Synchronous Serial Interface)
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
bit4
SCR0 to SCRA/
SMR0 to SMRA
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0
-
SSR0 to SSRA/
ESCR0 to ESCRA
REC
-
-
-
ORE
RDRF TDRE
TBI
SOP
-
-
-
-
D8
D7
D6
D5
D4
B8
B7
B6
B5
B4
TDR0 to TDRA
(RDR0 to RDRA)
-
BGR01/BGR00
-
B14
B13
B12
FCR01/FCR00
FBYTE02/
FBYTE01
B11
B10
B9
Reserved Reserved
FD15
CM71-10132-3E
FD14
FD13
bit3
bit2
bit1
bit0
SCKE
SOE
L2
L1
L0
D3
D2
D1
D0
B3
B2
B1
B0
SCINV BDS
-
FLSTE FRIIE FDRQ
FTIE
FSEL
-
FLST
FLD
FSET
FCL2
FCL1
FE2
FE1
FD12
FD9
FD8
FD7
FD6
FD5
FD4
FD3
FD2
FD1
FD0
FD11
FD10
FUJITSU SEMICONDUCTOR LIMITED
461
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
16.2.1
MB91345 Series
Serial Control Register (SCR0 to SCRA)
Serial control register (SCR0 to SCRA) enables or disables the transmit or reception
interrupts, the transmit idle interrupt, the transmit or reception operations. It also
enables to set the connection to SPI and reset CSIO.
■ Serial Control Register (SCR0 to SCRA)
Figure 16.2-2 shows the bit configuration of serial control register (SCR0 to SCRA), and Table 16.2-2
shows function of each bit.
Figure 16.2-2 Bit Configuration of Serial Control Register (SCR0 to SCRA)
bit15 bit14 bit13 bit12 bit11 bit10 bit9
SCR
Address
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
ch.0 000060H R/W R/W R/W R/W R/W R/W R/W
ch.1 000070H
ch.2 000080H
ch.3 000090H
ch.4 0000A0H
ch.5 0000B0H
ch.6 0001B0H
ch.7 0001C0H
ch.8 0001D0H
ch.9 0001E0H
ch.A 0001F0H
bit8
bit7
bit0
TXE
(SMR)
462
: Readable/writable
: Initial value
00000000B
R/W
TXE
0
1
Transmission enable bit
Disable reception
Enable reception
RXE
0
1
Reception enable bit
Disable reception.
Enable reception.
TBIE
0
1
Transmit bus idle interrupt enable bit
Disable transmit bus idle interrupt
Enable transmit bus idle interrupt
TIE
0
1
Send interrupt enable bit
Disable transmission interrupts.
Transmission Interrupt enable
RIE
0
1
Receive interrupt enable bit
Reception Interrupt disable
Reception Interrupt enable
SPI
0
1
SPI support bit
Normal synchronization transfer
SPI support
MS
0
1
Master-slave function selection bit
Master mode
Slave mode
UPCL
R/W
Initial value
0
1
Programmable clear bit
Write
Read
No effect
Always read "0".
Programmable clear
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
Table 16.2-2 Functional Description of Each Bit in Serial Control Register (SCR0 to SCRA)
Bit name
Function
bit15
UPCL:
The programmable
clear bit.
This bit initializes the inner status of CSIO.
• When set to "1":
- CSIO will directly be reset (software reset). However, the setting of register
is retained. In this case, the transmit or reception operation will be
disconnected immediately.
- The baud rate generator reloads the setting value in the BGR1/BGR0
register, and restarts it.
- All transmit and reception interrupt factors (TDRE, TBI, RDRF, and ORE)
are initialized.
• When set to "0": Operation is not affected.
When reading, always read "0".
Notes:
• Perform a programmable clear after set to the prohibition of interrupt.
• When using FIFO, disable FIFO (FE2, FE1=0) before performing a
programmable clear.
bit14
MS:
The master/slave
function selection
bit.
This bit specifies whether the master or slave mode should be used.
• When set to "0": The mode will be master.
• When set to "1": The mode will be slave.
Note:
When the slave mode is selected, the external clock is directly input if
SMR:SCKE=0.
bit13
SPI:
The SPI support bit.
This is a bit to support the SPI-enabled communication.
• When set to "0": Normal synchronization communication is executed.
• When set to "1": Support SPI.
bit12
RIE:
The reception
interrupt enable bit.
• This bit enables or disables the reception interrupt request output to the CPU.
• If the RIE bit and reception data flag bit (RDRF) are "1", or if one of the error
flag bits (OREs) is "1", the reception interrupt request will be output.
bit11
TIE:
The transmit
interrupt enable bit.
• This bit enables or disables the transmit interrupt request output to the CPU.
• When the TDRE and TIE bits are both "1", a transmission interrupt request is
output.
bit10
TBIE:
The transmit bus idle
interrupt enable bit.
• This bit enables or disables the transmit bus idle interrupt request output to the
CPU.
• When TBIE bit and TBI bit are "1", a transmission bus idle interrupt request is
output.
RXE:
The reception
operation enable bit.
This bit enables or disables the reception operation of CSIO.
• When set to "0": Data frame reception is disabled.
• When set to "1": Data frame reception is enabled.
Note:
If reception operation is prohibited (RXE=0) during reception, reception
operation stops immediately.
TXE:
The transmit
operation enable bit.
This bit enables or disables the transmit operation of CSIO.
• When set to "0": Data frame sending is disabled.
• When set to "1": Data frame sending is enabled.
Note:
If transmit operation is prohibited (TXE=0) during transmit, transmit
operation stops immediately.
bit9
bit8
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
463
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
16.2.2
MB91345 Series
Serial Mode Register (SMR0 to SMRA)
Serial Mode Register (SMR0 to SMRA) sets the operation mode, transfer direction, data
length, and serial clock inverse. It also enables or disables the output to the serial data
and the clock pin.
■ Serial Mode Register (SMR0 to SMRA)
Figure 16.2-3 shows the bit configuration of serial mode register (SMR0 to SMRA), and Table 16.2-3
shows function of each bit.
Figure 16.2-3 Bit Configuration of Serial Mode Register (SMR0 to SMRA)
bit15
SMR
Address
ch.0 000061H
ch.1 000071H
ch.2 000081H
ch.3 000091H
ch.4 0000A1H
ch.5 0000B1H
ch.6 0001B1H
ch.7 0001C1H
ch.8 0001D1H
ch.9 0001E1H
ch.A 0001F1H
bit8
(SCR)
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
MD2
MD1
MD0

SCINV
BDS
SCKE
SOE
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
SOE
0
1
Serial-data output enable bit
SO output disable
SO output enable
SCKE
1
Serial clock output enable bit
SCK output disable
or
SCK input enable
SCK output enable
BDS
0
1
Transfer direction selection bit
LSB first (transfer from LSB)
MSB first (transfer from MSB)
SCINV
0
1
Serial clock inverse bit
Mark level "H" format
Mark level "L" format
0
Unused bit
Read value is undefined. Writing has no effect.
R/W

: Readable/writable
: Unused bit
: Initial value
MD2
MD1
MD0
0
0
0
0
0
1
0
1
1
0
0
0
Operation mode setting bits
Operation mode 0
(asynchronous normal mode)
operation mode 1
(asynchronous multiprocessor mode)
operation mode 2 (clock synchronous mode)
operation mode 4 (I2C mode)
Note: This chapter explains the register and the operation in operation mode 2.
464
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
Table 16.2-3 Functional Description of Each Bit in Serial Mode Register (SMR0 to SMRA)
Bit name
Function
bit7
to
bit5
MD2, MD1, MD0:
The operation mode
set bit.
This bit sets the operation mode.
"000B": Set to the operation mode 0 (asynchronous normal mode).
"001B": Set to the operation mode 1 (asynchronous multiprocessor mode).
"010B": Set to the operation mode 2 (clock synchronous mode).
"100B": Set to the operation mode 4 (I2C mode).
This chapter describes the registers and operations for the operation mode 2 (clock
synchronous mode).
Notes:
• The setting other than the above is prohibited.
• If you switch the operation mode, perform the programmable clear (SCR:UPCL=1)
before changing the mode.
• Specify each register after the operation mode is set.
bit4
Unused bit
Read: The value is undefined.
Write: No effect.
bit3
SCINV:
The serial clock
inverse bit.
This bit inverts the serial clock format.
If set to "0":
• The mark level of the serial clock output will be "H".
• The transmit data outputs synchronizing with the falling edge of serial clock in
normal transfer, and synchronizing with the rising edge of serial clock in SPI transfer.
• The reception data will be sampled on the rising edge of the serial clock for the
normal transfer, or on the falling edge of the serial clock for the SPI transfer.
If set to "1":
• The mark level of the serial clock output will be "L".
• The transmit data outputs synchronizing with the rising edge of serial clock in normal
transfer, and synchronizing with the falling edge of serial clock in SPI transfer.
• The reception data will be sampled on the falling edge of the serial clock for the
normal transfer, or on the rising edge of the serial clock for the SPI transfer.
Note:
This bit should be set when transmit and receive are prohibited (TXE=RXE=0).
bit2
BDS:
The transfer direction
selection bit.
This bit specifies whether the transfer serial data should be transferred from the lowest
bit (LSB first, BDS=0) or the highest bit (MSB first, BDS=1).
Note:
This bit should be set when transmit and receive are prohibited (TXE=RXE=0).
bit1
SCKE:
The serial clock
output enable bit.
This bit controls the I/O port for the serial clock.
If set to "0": It will be the SCK "H" output or the SCK input will be enabled.
If used as the SCK input, set the generic I/O port to the input port.
If set to "1": The SCK output will be enabled.
bit0
SOE:
The serial data output
enable bit.
This bit enables or disables the output of the serial data.
If set to "0": It will be the SO "H" output.
If set to "1": The SO output will be enabled.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
465
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
Note:
Set the operation mode first, because the other registers are initialized when the operation mode is
changed. However, if you write SCR and SMR simultaneously using 16-bit writing, the writing is
applied to SCR.
466
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
16.2.3
Serial Status Register (SSR0 to SSRA)
Serial Status Register (SSR0 to SSRA) checks the transmit or reception status. It also
checks and clears the reception error flag.
■ Serial Status Register
Figure 16.2-4 shows the bit configuration of serial status register (SSR0 to SSRA), and Table 16.2-4 shows
function of each bit.
Figure 16.2-4 Bit Configuration of Serial Status Register (SSR0 to SSRA)
bit15 bit14 bit13 bit12 bit11 bit10
SSR
Address
REC



ORE RDRF
ch.0 000062H R/W



R
R
ch.1 000072H
ch.2 000082H
ch.3 000092H
ch.4 0000A2H
ch.5 0000B2H
ch.6 0001B2H
ch.7 0001C2H
ch.8 0001D2H
ch.9 0001E2H
ch.A 0001F2H
bit9
bit8
TDRE
TBI
R
R
bit7
bit0
(ESCR)
Initial value
0-000011B
TBI
0
1
Transmit bus idle flag bit
During transfer
No transfer operation
TDRE
0
1
Transmission data empty flag bit
Data exists in the transmit data register (TDR).
The transmit data register is empty.
RDRF
0
1
Receive data full flag bit
The reception data register (RDR) is empty.
Data exists in the reception data register (RDR).
ORE
0
1
Overrun error flag bit
No overrun error
Overrun error
Unused bit
Read value is undefined. Writing has no effect.
REC
0
1
R/W
R

Receive error flag clear bit
Write
Read
No effect
Always read "0".
Clear reception error
flags (FRE and ORE)
: Readable/writable
: Read only
: Unused bit
: Initial value
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
467
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
Table 16.2-4 Functional Description of Each Bit in Serial Status Register (SSR0 to SSRA)
Bit name
bit15
REC:
Reception error flag
clear bit
bit14
to
bit12
Unused bit
bit11
bit10
bit9
bit8
468
Function
This bit clears the ORE flag in the serial status register (SSR).
• When set to writing "1": Clear the error flag.
• When set to writing "0": No affect.
When read: "0" always read.
Read: The value is undefined.
Write: No effect.
ORE:
The overrun error
flag bit
• This bit will be set to "1" if the overrun error occurs when receiving, and cleared if
"1" is written into the REC bit in Serial Status Register (SSR).
• When the ORE and RIE bits are both "1", a reception interrupt request is output.
• The data in the receive data register (RDR) is not valid when this bit is set.
• If this flag is set when using the reception FIFO, the enable bit for the reception
FIFO will be cleared, and the reception data will not be contained in the reception
FIFO.
RDRF:
The reception data
full flag bit.
• This flag indicates the status of Reception Data Register (RDR).
• The bit is set to 1 when the RDR loads received data. The bit is cleared to 0 when the
receive data register is read.
• When the RDRF and RIE bits are both "1", a reception interrupt request is output.
• When using the reception FIFO, RDRF will be set to "1" if the FIFO receives the
specified number of data.
• When using the reception FIFO, RDRF will be set to "1" if the reception FIFO keeps
the data without receiving the specified number of data while the reception idle
status continues for eight or more clocks with the baud rate clock.
When having read RDR during the eight clocks count, the counter is reset to "0", and
then it counts another eight clocks.
• When using the reception FIFO, it will be cleared to "0" if the reception FIFO is
empty.
TDRE:
The transmit data
empty flag bit.
• This bit indicates the status of transmit data register (TDR).
• Goes to "0" when send data written to TDR to indicate that TDR contains valid data.
When the data is loaded into the transmit shift register and the communication is
started, it will be "1" indicating that no valid data exists in TDR.
• When the TDRE and TIE bits are both "1", a transmission interrupt request is output.
• If the UPCL bit in serial control register (SCR) is set to "1", the TDRE bit is "1".
• As for set/reset timing of the TDRE bit when using transmit FIFO, see "16.3.4
Timing when the Interrupt Occurs and the Flag Should be Set during the Use of the
Transmit FIFO".
TBI:
The transmit bus
idle flag bit.
• This bit indicates that CSIO is not performing the transmit operation.
• If the transmit data is written to transmit data register (TDR), this bit will be "0".
• If transmit data register (TDR) is empty (TDRE=1) and no transmit operation is
performed, this bit will be "1".
• If the UPCL bit in serial control register (SCR) is set to "1", the TDRE bit is "1".
• If this bit is "1" and the transmit bus idle interrupt is enabled (SCR:TBIE=1), the
transmit interrupt request will be output.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
16.2.4
Extended Communication Control Register (ESCR0 to
ESCRA)
Extended Communication Control Register (ESCR0 to ESCRA) sets the transmit or
reception data lengths and fixes the serial output to "H".
■ Bit Configuration of Extended Communication Control Register (ESCR0 to ESCRA)
Figure 16.2-5 shows the bit configuration of extended communication control register (ESCR0 to ESCRA),
and Table 16.2-5 shows function of each bit.
Figure 16.2-5 Bit Configuration of Extended Communication Control Register (ESCR0 to ESCRA)
bit15
ESCR
Address
ch.0 000063H
ch.1 000073H
ch.2 000083H
ch.3 000093H
ch.4 0000A3H
ch.5 0000B3H
ch.6 0001B3H
ch.7 0001C3H
ch.8 0001D3H
ch.9 0001E3H
ch.A 0001F3H
bit8

bit7
bit6
bit5
bit4
bit3
bit2
SOP




L2
R/W




R/W
L2
0
0
0
0
1
L1
0
0
1
1
0
L0
0
1
0
1
0
bit0
Initial value
L1
L0
0----000B
R/W
R/W
bit1
Data-length select bit
8-bit length
5-bit length
6-bit length
7-bit length
9-bit length
Unused bit
Read value is undefined. Writing has no effect.
SOP
R/W

CM71-10132-3E
: Readable/writable
: Unused bit
: Initial value
0
1
Serial output pin set bit
Write
Read
No effect
Always read "0".
Set the SOT pin to "H"
FUJITSU SEMICONDUCTOR LIMITED
469
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
Table 16.2-5 Functional Description of Each Bit in Extended Communication Control Register
(ESCR0 to ESCRA)
Bit name
bit7
SOP:
The serial output pin set bit.
bit6
to
bit3
Unused bit
bit2
to
bit0
470
L2, L1, L0:
The data length selection bit.
Function
• This bits sets the serial output pin to "H".
When "1" is written to this bit, SOT pin is set to "H". You do not need to
write "0" to this bit after that.
• Read: "0" is always read.
Note:
• Do not set this bit during serial data transmit.
• The value of this bit is valid only when the TXE bits in the serial control
registers (SCR0 to SCRA) are "0".
Read: The value is undefined.
Write: No effect.
This bit specifies the data length of the transmit or reception data.
• When set to "000B": the data length is set to 8-bit.
• When set to "001B": the data length is set to 5-bit.
• When set to "010B": the data length is set to 6-bit.
• When set to "011B": the data length is set to 7-bit.
• When set to "100B": the data length is set to 9-bit.
Note:
The setting other than the above is prohibited.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
16.2.5
Receive Data Register (RDR0 to RDRA), Transmit Data
Register (TDR0 to TDRA)
The receive data and transmit data registers are located at the same address. It works
as a reception data register when read, and it works as a transmit data register when
written.
■ Receive Data Register (RDR0 to RDRA)
Figure 16.2-6 shows the bit configuration of receive data register (RDR0 to RDRA).
Figure 16.2-6 Bit Configuration of Receive Data Register (RDR0 to RDRA)
bit15
RDR
Address:
ch.0 000064H
ch.1 000074H
ch.2 000084H
ch.3 000094H
ch.4 0000A4H
ch.5 0000B4H
ch.6 0001B4H
ch.7 0001C4H
ch.8 0001D4H
ch.9 0001E4H
ch.A 0001F4H
R/W
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
D8
D7
D6
D5
D4
D3
D2
D1
D0
000000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
: Readable/writable
Reception Data Register (RDR0 to RDRA) is a 9-bit data buffer register to receive the serial data.
• The signal sent to the serial input pin (SIN pin) is converted via a shift register and saved in the receive
data register (RDR0 to RDRA).
• "0" is set from the higher bit toward the lower bit in order as follows, according to the data length.
Data length
D8
D7
D6
D5
D4
D3
D2
D1
D0
9-bit
X
X
X
X
X
X
X
X
X
8-bit
0
X
X
X
X
X
X
X
X
7-bit
0
0
X
X
X
X
X
X
X
6-bit
0
0
0
X
X
X
X
X
X
5-bit
0
0
0
0
X
X
X
X
X
(X is the receive data bit.)
• The receive data full flag bit (SSR:RDRF) is set to "1" when the receive data is stored in the receive data
register (RDR0 to RDRA). When receiving interrupts are enabled (SSR:RIE=1), receiving interrupt
requests are generated.
• Read the receive data register (RDR0 to RDRA) contents when the receive data full flag bit
(SSR:RDRF) is "1". Once the serial reception data register (RDR0 to RDRA) is read, the reception data
full flag bit (SSR:RDRF) is automatically cleared to "0".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
471
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
• When a reception error occurred (SSR:ORE), the data of the reception data register (RDR0 to RDRA)
becomes invalid.
• RDR0 to RDRA is read by 16-bit access in case of the 9-bit length transfer.
Notes:
• When using the reception FIFO, RDRF will be set to "1" if the FIFO receives the specified number
of data.
• While the reception FIFO is being used, the RDRF is cleared to "0" when the reception FIFO
becomes empty.
• While the reception FIFO is being used, the enable bit of the reception FIFO is cleared and the
reception data is not stored in the reception FIFO when a reception error occurred (SSR:ORE is
"1").
■ Transmit Data Register (TDR0 to TDRA)
Figure 16.2-7 shows the bit configuration of transmit data register (TDR0 to TDRA).
Figure 16.2-7 Bit Configuration of Transmit Data Register (TDR0 to TDRA)
bit15
TDR
Address:
ch.0 000065H
ch.1 000075H
ch.2 000085H
ch.3 000095H
ch.4 0000A5H
ch.5 0000B5H
ch.6 0001B5H
ch.7 0001C5H
ch.8 0001D5H
ch.9 0001E5H
ch.A 0001F5H
R/W
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
D8
D7
D6
D5
D4
D3
D2
D1
D0
000000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
: Readable/writable
Transmit data register (TDR0 to TDRA) is a 9-bit data buffer register to transmit the serial data.
• When the transmission data is written to the transmission data register (TDR0 to TDRA) while the
transmission operation is enabled (SCR:TXE=1), the transmission data is transferred to the transmission
shift register and converted into the serial data, then transmitted from the serial data output pin (SOT
pin).
• The invalid data is set from the higher bit toward the lower bit in order as follows, according to the data
length,
Data length
D8
D7
D6
D5
D4
D3
D2
D1
D0
9-bit
X
X
X
X
X
X
X
X
8-bit
Invalid
X
X
X
X
X
X
X
X
7-bit
Invalid
Invalid
X
X
X
X
X
X
X
6-bit
Invalid
Invalid
Invalid
X
X
X
X
X
X
5-bit
Invalid
Invalid
Invalid
Invalid
X
X
X
X
X
(X is the receive data bit.)
472
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
• The send data empty flag (SSR:TDRE) is cleared to "0" when send data is written to the send data
register (TDR0 to TDRA).
• After the transmission data is transferred to the transmission shift register and the transmission is
started, the transmission data empty flag (SSR:TDRE) is set to "1" when the transmission FIFO is
disabled or empty.
• If the transmit data empty flag (SSR:TDRE) is set to "1", the next sending data can be written in. When
sending interrupts are enabled, a sending interrupt is generated. You can use the send interrupt to write
the next send data. Only write the next data when the transmit data empty flag (SSR:TDRE) is "1".
• When the transmission data empty flag (SSR:TDRE) is set to "0" and the transmission FIFO is disabled
or full, the transmission data cannot be written to the transmission data register (TDR0 to TDRA).
• TDR0 to TDRA is written by 16-bit access in case of the 9-bit length transfer.
Notes:
• The transmission data register is a write-only register and the reception data register is a readonly register. Both of the registers are located in the same address, so the writing values and
reading values are different. Instructions, such as the INC/DEC instruction, which provide the
read-modify-write (RMW) instruction cannot be used.
• As for set timing of transmit data empty flag (SSR:TDRE) when using transmit FIFO, see "16.3.4
Timing when the Interrupt Occurs and the Flag Should be Set during the Use of the Transmit
FIFO".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
473
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
16.2.6
MB91345 Series
Baud Rate Generator Registers 0/1 (BGR00 to BGRA0/
BGR01 to BGRA1)
The baud rate generator registers 0/1 (BGR00 to BGRA0/BGR01 to BGRA1) set the serial
clock divide ratio.
■ Bit Configuration of Baud Rate Generator Registers 0/1 (BGR00 to BGRA0/BGR01 to
BGRA1)
Figure 16.2-8 shows bit configuration of baud rate generator registers 0/1 (BGR00 to BGRA0/BGR01 to
BGRA1).
Figure 16.2-8 Bit Configuration of Baud Rate Generator Registers 0/1 (BGR00 to BGRA0/BGR01 to
BGRA1)
BGR00→BGRx0
(x = 0 to A)
Address
ch.0 000067H
ch.1 000077H
ch.2 000087H
ch.3 000097H
ch.4 0000A7H
ch.5 0000B7H
ch.6 0001B7H
ch.7 0001C7H
ch.8 0001D7H
ch.9 0001E7H
ch.A 0001F7H
BGR01→BGRx1
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Initial value
(x = 0 to A)
Address
00000000B

(BGR1)
(BGR0)
ch.0 000066H
00000000B
ch.1 000076H
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W

ch.2 000086H
ch.3 000096H
ch.4 0000A6H
ch.5 0000B6H
ch.6 0001B6H
ch.7 0001C6H
ch.8 0001D6H
ch.9 0001E6H
ch.A 0001F6H
BGR0
Baud Rate Generator Register 0
R/W : Readable/writable
:
Unused bit
Write
Read
Write into reload counter bit0 to bit7.
Read the setting value of BGR0.
BGR1
Write
Read
Baud Rate Generator Register 1
Write into reload counter bit8 to bit14.
Read the setting value of BGR1.
Unused bit
Read: The value is undefined.
Write : No effect
• Set the value to baud rate generator register 0/1 (BGR00 to BGRA0/BGR01 to BGRA1).
• BGR1 supports the upper bit and BGR0 supports the lower bit. It is possible to write the reload value
and to read the setting value of BGR0/BGR1.
• If the reload value is written into baud rate generator (BGR00 to BGRA0/BGR01 to BGRA1), the
reload counter starts counting.
474
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
Notes:
• Writing to the baud rate generator registers (BGR1, BGR0) should be done by 16-bit access.
• When the reload value is the even number, the "H" and "L" widths of the serial clock are as
follows depending on the SCINV bit setting. If the value is an odd number, the "H" and "L" widths
for the serial clock will be the same.
When SCINV=0, "H" width of the serial clock will increase by one cycle of the peripheral clock.
When SCINV=1, "L" width of the serial clock will increase by one cycle of the peripheral clock.
• Set "1" or more for the reload value. However, when these CSIOs are used as the master and
slave, the reload value of the master CSIO should be set to "3" or more.
• When the setting value of the baud rate generator registers (BGR1, BGR0) are changed, the new
value will be reloaded after the counter value gets to "0000H". Therefore, if the new value should
be applied immediately, the setting value of the BGR1/BGR0 must be changed before the CSIO
reset (UPCL) is performed.
• While the reception FIFO is being used, the baud rate should be set to the BGR1/BGR0 when the
reception FIFO idle detection enable bit (FCR1:FRIIE) is set to "1" and the operation is in the
slave mode.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
475
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
16.2.7
MB91345 Series
FIFO Control Register 1 (FCR01, FCR11)
FIFO Control Register1 (FCR01, FCR11) sets the FIFO test, selects the transmit or
reception FIFOs, enables the transmit FIFO interrupt, and controls the interrupt flags.
■ Bit Configuration of FIFO Control Register 1 (FCR01, FCR11)
Figure 16.2-9 shows the bit configuration of FIFO control register 1 (FCR01, FCR11), and Table 16.2-6
shows function of each bit.
Figure 16.2-9 Bit Configuration of FIFO Control Register 1 (FCR01, FCR11)
FCRx1
(x = 1, 0)
Address
ch.0 00006AH
ch.1 00007AH
bit15 bit14 bit13 bit12 bit11 bit10
Reserved Reserved
R/W
R/W


FLSTE FRIIE FDRQ
R/W
R/W
R/W
bit9
bit8
FTIE
FSEL
R/W
R/W
bit7
bit0
Initial value
00000000B
(FCR0)
FSEL
0
1
FIFO selection bit
(Transmit FIFO:FIFO1, Receive FIFO:FIFO2)
(Transmit FIFO:FIFO2, Receive FIFO:FIFO1)
FTIE
0
1
Transmit FIFO interrupt enable bit
Disable FIFO transmission interrupts.
Transmission FIFO Interrupt enable
FDRQ
0
1
Transmit FIFO data request bit
No transmit FIFO data request
Transmit FIFO data request
FRIIE
0
1
Reception FIFO idle detection enable bit
Reception FIFO idle detection prohibited
Reception FIFO idle detection enabled
FLSTE
0
1
retransmit data lost detection enable bit
Data lost detection prohibited
Data lost detection enabled
Unused bit
Read value is undefined. Writing has no effect.
FTST
0
R/W

476
FIFO test bit
Be sure to set "0" to this bit.
: Readable/writable
: Unused bit
: Initial value
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
Table 16.2-6 Functional Description of Each Bit in the FIFO Control Register 1 (FCR01, FCR11)
Bit name
Function
bit15,
bit14
Reserved bit
This bit is reserved bit.
Be sure to set "0" to this bit.
bit13
Unused bit
Read: The value is undefined.
Write: No effect.
bit12
FLSTE:
The re-transmission data
lost detection enable bit.
This bit enables the FLST bit detection.
If set to "0": FLST bit detection prohibited
If set to "1": FLST bit detection enabled
Note:
Set "1" to this bit after setting "1" to the FSET bit.
FRIIE:
The reception FIFO idle
detection enable bit.
This bit sets whether to detect the reception idle status longer than 8-bit time when
the reception FIFO has the valid data.
If the reception interrupt is enabled (SCR:RIE=1), the reception interrupt will occur
when the reception idle status is detected.
When set to "0": The reception idle status detection is disabled.
When set to "1": The reception idle status detection is enabled.
bit10
FDRQ:
The transmit FIFO data
request bit.
This is a bit to request the data of the transmit FIFO.
When this bit is set to "1", it indicates the transmission data is requested.
In this case, the transmission FIFO interrupt request is output if the transmission
FIFO interrupt is enabled (FTIE=1).
FDRQ setting conditions:
• FBYTE (for transmission)=0 (the transmission FIFO is empty)
• Reset of the transmission FIFO
FDRQ resetting conditions:
• Writing "0" to this bit.
• If transmit FIFO is full.
Notes:
• When FBYTE (for transmit)=0, writing "0" to this bit is prohibited.
• When this bit is "0", any change of the FSEL bit is prohibited.
• When this bit is set to "1", there is no influence on the operation.
• When having a read-modify-write (RMW) related instruction, "1" is read out.
bit9
FTIE:
The transmit FIFO interrupt
enable bit.
bit11
bit8
FSEL:
FIFO selection bit
CM71-10132-3E
This bit enables the interrupt of the transmit FIFO.
When this bit is set to "1", an interruption occurs if the FDRQ bit is "1".
Bit to select transmit and receive FIFO.
If set to "0": Allocate to transmit FIFO:FIFO1 and reception FIFO:FIFO2.
If set to "1": Allocate to transmit FIFO:FIFO2 and reception FIFO:FIFO1.
Notes:
• This bit is not cleared by FIFO reset (FCL2, FCL1=1).
• Before you change this bit, the FIFO operation (FE2, FE1=0), and
transmission/reception (TXE=RXE=0) should be disabled.
FUJITSU SEMICONDUCTOR LIMITED
477
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
16.2.8
MB91345 Series
FIFO Control Register 0 (FCR00, FCR10)
The FIFO Control Register 0 (FCR00, FCR10) enables or disables the FIFO operation,
resets FIFO, saves the read pointer, and sets retransmit.
■ Bit Configuration of FIFO Control Register 0 (FCR00, FCR10)
Figure 16.2-10 shows the bit configuration of the FIFO control register 0 (FCR00, FCR10), Table 16.2-7
lists the function of each bit.
Figure 16.2-10 Bit Configuration of FIFO Control Register 0 (FCR00, FCR10)
FCRx0
(x = 1, 0)
Address
ch.0 00006BH
ch.1 00007BH
bit15
bit8
(FCR1)
bit1
bit0
Initial value

FLST FLD FSET FCL2 FCL1
FE2
FE1
-0000000B
( )
R/W
R/W
R/W
bit7
bit6
R/W
FIFO2 Operation Enable Bit
FIFO2 operation disabled
FIFO2 operation enabled
0
1
FSET
0
1
478
R/W
bit2
FE2
0
1
FCL2
: Readable/writable
: Unused bit
: Initial value
R/W
bit3
FIFO1 Operation Enable Bit
FIFO1 operation disabled
FIFO1 operation enabled
0
1

R/W
bit4
FE1
0
1
FCL1
R/W
bit5
FIFO1 reset bit
Write
Read
No effect
Always read "0".
FIFO1 Reset
FIFO2 reset bit
Write
Read
No effect
Always read "0".
FIFO2 Reset
FIFO pointer save bit
Write
Read
No save
Always read "0".
Execute save
FLD
0
1
FIFO pointer reload bit
No reload
Execute reload
FLST
0
1
FIFO retransmit data lost flag bit
No data lost
Data lost
Unused bit
"0" is always read at read operation.
"0" is always written at write operation.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
Table 16.2-7 Functional Description of Each Bit in the FIFO Control Register 0 (FCR00, FCR10) (1 / 2)
Bit name
bit7
bit6
bit5
bit4
bit3
Function
Unused bit.
When read: "0" is always read.
When write: "0" is always written.
FLST:
The FIFO retransmit
data lost flag bit.
This bit indicates that the retransmit data of the transmit FIFO is lost.
FLST set condition:
Data is written to FIFO when the FLSTE bit of the FIFO control register 1 (FCR1) is "1"
and the write pointer of transmit FIFO and the read pointer saved by the FSET bit match.
FLST reset condition:
• FIFO reset (write "1" to FCL)
• Write "1" to the FSET bit
When "1" is set to this bit, data which the read pointer saved by the FSET bit indicates is
overwritten, and retransmission cannot be set by the FLD bit even if error occurs. When
you retransmit the data while this bit is set to "1", you must reset the FIFO, and write the
data to the FIFO again.
FLD:
The FIFO pointer
reload bit.
This bit reloads the data saved in the transmit FIFO by the FSET bit to the read pointer.
This bit is used to retransmit the data when a communication error occurs.
Once the retransmit setting is completed, this bit becomes "0".
Notes:
• Data is being reloaded to the read pointer while this bit is set to "1". Therefore, do
not write reset other than FIFO reset.
• Do not set this bit to "1" during FIFO enable status or the transmission.
• TIE bit and TBIE bit should be set to "0" before you write "1" in this bit. After
transmission FIFO is enabled, then set TIE bit and TBIE bit to "1".
FSET:
The FIFO pointer
save bit.
This is a bit to save the read pointer of the transmit FIFO.
If you save the read pointer before the transmission, you may retransmit as long as FLST
bit is set to "0" even if a communication error occurred.
When set to "1": Current read pointer value is saved.
When the bit is set to "0": No effect.
Note:
Set this bit to "1" while number of transmission bytes (FBYTE) indicates "0".
FCL2:
FIFO2 reset bit
This bit resets FIFO2.
When this bit is set to "1", the internal status of FIFO2 is initialized.
Only the FCR1:FLST bit is initialized. Other bits of the FCR1/FCR0 register are retained
as is.
Notes:
• Execute FIFO2 reset after disabling the transmission/reception operation.
• Set the transmission FIFO interrupt enable bit to "0" before the operation.
• Number of valid data for the FBYTE2 register is "0".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
479
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
Table 16.2-7 Functional Description of Each Bit in the FIFO Control Register 0 (FCR00, FCR10) (2 / 2)
Bit name
bit2
bit1
bit0
480
Function
FCL1:
FIFO1 reset bit
This bit resets FIFO1.
When this bit is set to "1", the internal status of FIFO1 is initialized.
Only the FCR1:FLST bit is initialized. Other bits of the FCR1/FCR0 register are retained
as is.
Notes:
• Execute FIFO1 reset after disabling the transmission/reception operation.
• Set the transmission FIFO interrupt enable bit to "0" before the operation.
• Number of valid data for the FBYTE1 register is "0".
FE1:
The FIFO2
operation enable bit.
This bit enables or disables the FIFO2 operation.
• If FIFO2 is used, set this bit to "1".
• The transmission is started immediately if FIFO2 is set to the transmission FIFO
(FCR1:FSEL=1), the data exists in FIFO2 when writing "1" to this bit, and UART is
enabled for the transmission (TXE =1). Set the TIE and TBIE bits to "0" before
writing "1" to this bit, and then set the bits to "1".
• If this is selected as a reception FIFO by FSEL bit, this bit is cleared to "0" in case of
the reception error, and this bit cannot be set to "1" until the reception error is cleared.
• Set this bit to "1" or "0" when the transmission buffer is empty (TDRE=1) if this is
used in the transmission FIFO2, or when the reception buffer is empty (RDRF=0) if
this is used in the reception FIFO2.
• FIFO2 state is maintained even when FIFO2 is disabled.
FE1:
The FIFO1
operation enable bit.
This bit enables or disables the FIFO1 operation.
• If FIFO1 is used, set this bit to "1".
• The transmission is started immediately if FIFO1 is set to the transmission FIFO
(FCR1:FSEL=0), the data exists in FIFO1 when writing "1" to this bit, and UART is
enabled for the transmission (TXE =1). Set the TIE and TBIE bits to "0" before
writing "1" to this bit, and then set the bits to "1".
• If this is selected as a reception FIFO by FSEL bit, this bit is cleared to "0" in case of
the reception error, and this bit cannot be set to "1" until the reception error is cleared.
• Set this bit to "1" or "0" when the transmission buffer is empty (TDRE=1) if this is
used in the transmission FIFO, or when the reception buffer is empty (RDRF=0) if this
is used in the reception FIFO.
• FIFO1 state is maintained even when FIFO1 is disabled.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
16.2.9
FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11,
FBYTE12)
The FIFO byte register (FBYTE01, FBYTE02, FBYTE11, FBYTE12) indicates the number
of the data available for FIFO.
■ Bit Configuration of FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12)
Figure 16.2-11 shows the bit configuration of the FIFO byte register (FBYTE01, FBYTE02, FBYTE11,
FBYTE12).
Figure 16.2-11 Bit Configuration of FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12)
FBYTE01
00006DH
FBYTE02
00006CH
FBYTE11
00007DH
FBYTE12
00007CH
bit15 bit14 bit13 bit12 bit11 bit10
bit9
bit8
bit7
bit6
bit5
bit4
(FBYTE2)
R/W
R/W
R/W
R/W
bit3
bit2
bit1
bit0
00000000B
00000000B
(FBYTE1)
R/W
R/W
R/W
R/W
R/W : Readable/writable
Read (number of valid data)
At transmission : Number of data written to FIFO and not
transmitted
At reception
: Number of data received in FIFO
Write (number of transfer)
At transmission : Set "00H"
At reception
: Set number of data which generates
the reception interrupt
R/W
R/W
R/W
R/W
R/W
Initial value
R/W
R/W
R/W
FBYTE1
Write
Read
FIFO1 data count indication bit
Set number of transfer.
Read number of valid data.
FBYTE2
Write
Read
FIFO2 data count indication bit
Set number of transfer.
Read number of valid data.
The FBYTE register indicates the number of valid data pieces of FIFO. It operates as follows according to
the setting of the FSEL bit.
Table 16.2-8 Indicate Number of Data
FSEL
FIFO selection
Indicate number of data
0
FIFO2: Receive FIFO, FIFO1: Transmit FIFO
FIFO2: FBYTE2, FIFO1: FBYTE1
1
FIFO2: Transmit FIFO, FIFO1: Receive FIFO
FIFO2: FBYTE2, FIFO1: FBYTE1
• Initial value of transfer count for the FBYTE register is "08H".
• Specify the data count that causes the reception interrupt flag to be generated in FBYTE of the reception
FIFO.
The interrupt flag (RDRF) is set to "1" if the specified number of the transfers matches the data
displayed for the FBYTE register.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
481
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.2 CSIO (Clock Synchronous Serial Interface) Registers
MB91345 Series
• While the reception FIFO idle detection enable bit (FRIIE) is "1" and the data count that exists in the
reception FIFO is under the transfer count, the interrupt flag (RDRF) is set to "1" when the reception
idle status continues for 8 or more clocks in the baud rate clock. When having read RDR during the
eight clocks count, the counter is reset to "0", and then it counts another eight clocks. When the
reception FIFO is disabled, the counter is reset to "0". If you enable the reception FIFO when the data
remains in the FIFO, the counting process will be started again.
• When you receive the data in the master operation (master reception), set TIE bit and TBIE bit to "0",
specify the reception data count in FBYTE register of the transmission FIFO, and write "0" to FDRQ
bit. Then the number of serial clocks corresponding to given data is output and amount of data
corresponding the specified value can be received, when TXE bit is "1". After FDRQ becomes "1", set
TIE bit and TBIE bit to "1", if you want to do so.
Notes:
• Specify "800H" in FBYTE of the transmission FIFO except receiving the data in the master
operation.
• Set the transmission data count to receive the data in the master operation, when the
transmission FIFO is empty and TIE and TBIE bit are "0".
• If you disable the reception (RXE=0) when receiving the data in the master operation, disable the
transmission FIFO first then disable the transmission/reception.
• Set data of "1" or more to the FBYTE for reception FIFO.
• If you change FBYTE of the reception FIFO, change it after the reception is disabled.
• This register cannot use the read-modify-write (RMW) related commands.
• Setting that exceeds capacity of FIFO is disabled.
482
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts
MB91345 Series
16.3
CSIO (Clock Synchronous Serial Interface) Interrupts
There are the reception interrupt and the transmission interrupt in CSIO (clock
synchronous serial interface) interrupts. The interrupt request can be generated by
following factors.
• When received data is set in the receive data register (RDR) or a reception error
occurs.
• When the send data is transferred from the transmit data register (TDR) to the send
shift register and sending starts.
• Transmission bus idle (no transmission operation)
• Transmission FIFO data request
■ CSIO interrupt
Table 16.3-1 shows the interrupt control bit and the interrupt factor of CSIO.
Table 16.3-1 Interrupt Control Bit of CSIO and Interruption Factor
Interrupt
Interrupt
Flag
request
type
register
flag bit
Interrupt factor
Interrupt
factor
enable bit
1-byte reception
Clear of the interrupt request flag
Read receive data (RDR).
Receiving the FBYTE setting value
RDRF
SSR
Receive
ORE
TDRE
SSR
SSR
Detect the reception idle state of 8bit time or more while the FRIIE bit
is "1" and valid data exists in
reception FIFO.
SCR:RIE
Reading the reception data (RDR) before
the reception FIFO is empty.
Overrun error
Writing "1" to Reception error flag clear
bit (SSR:REC).
The transmit register is empty
SCR:TIE
Writing to the transmit data (TDR), or
writing "1" to the transmit FIFO
operation enable bit when the transmit
FIFO operation enable bit is "0" and the
valid data exists in the transmit FIFO
(Resend). *
TBI
SSR
No transmit operation
SCR:
TBIE
Writing to the transmit data (TDR), or
writing "1" to the transmit FIFO
operation enable bit when the transmit
FIFO operation enable bit is "0" and the
valid data exists in the transmit FIFO
(Resend). *
FDRQ
FCR1
The transmit FIFO is empty
FCR1:
FTIE
Writing "0" to the FIFO transmit data
request bit (FCR1:FDRQ), or the
transmit FIFO is full.
Transmit
*: Set the TIE bit to "1" after the TDRE bit becomes "0".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
483
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts
16.3.1
MB91345 Series
Reception Interrupt Generation and Flag Set Timing
Interrupts during reception are one generated upon completion of reception
(SSR:RDRF) and one generated upon occurrence of a reception error (SSR:ORE).
■ Reception Interrupt Generation and Flag Set Timing
The reception data is stored in the reception data register (RDR) by detecting the last data bit. If a reception
error occurs (SSR:ORE=1) upon completion of reception (SSR:RDRF=1), the corresponding flag is set. A
receive interrupt is also generated if the receive interrupt is enabled (SSR:RIE=1).
Note:
When a reception error occurs, data in the receive data register (RDR) is invalid.
Figure 16.3-1 Reception Operation and Flag Set Timing
SCK
SIN
D0
D1
D2
D3
D4
D5
D6
D7
Reception data
sampling
RDRF
Note:
This figure shows the timing at the following conditions.
SCR : MS=1, SPI=0
ESCR : L2 to L0=000B
SMR : SCINV=0, BDS=0, SCKE=0, SOE=0
484
Reception interrupt generation
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts
MB91345 Series
Figure 16.3-2 Set Timing for the ORE (Overrun Error) Flag
SCK
D0
SIN
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3 D4 D5 D6
D7
Reception data
sampling
RDRF
ORE
Overrun error generation
Notes:
· This figure shows the timing at the following condition.
SCR : MS=1, SPI=0
ESCR : L2 to L0=000B
SMR : SCINV=0, BDS=0, SCKE=0, SOE=0
· Overrun error is generated if the next data is transferred before reading the reception data (RDRF=1).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
485
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts
16.3.2
MB91345 Series
Timing when the Interrupt Occurs and the Flag Should
be Set during the Use of the Reception FIFO
During the use of the reception FIFO, an interrupt occurs when the setting value in the
FBYTE register (FBYTE) is received.
■ Timing when the Reception Interrupt Occurs and the Flag Should be Set during the
Use of the Reception FIFO
An occurrence of interrupt during the use of the reception FIFO is determined by the setting value in the
FBYTE register.
• When the data of the set transfer count of FBYTE register have been received, the reception data full
flag (SSR:RDRF) of the serial status register is set to "1". And if the reception interrupt is enabled
(SCR:RIE), a reception interrupt will occur.
• While the reception FIFO idle detection enable bit (FRIIE) is "1" and the data count that exists in the
reception FIFO is under the transfer count, the interrupt flag (RDRF) is set to "1" when the reception
idle status continues for 8 or more clocks in the baud rate clock. When having read RDR during the
eight clocks count, the counter is reset to "0", and then it counts another eight clocks. When the
reception FIFO is disabled, the counter is reset to "0". If you enable the reception FIFO when the data
remains in the FIFO, the counting process will be started again.
• When the receive data (RDR) is read until the reception FIFO is empty, the reception data full flag
(SSR:RDRF) is cleared.
• If the number of valid reception data indicates the FIFO capacity, an overrun error (SSR:ORE=1) will
occur when receiving the next data.
Figure 16.3-3 Reception Interrupt Generation Timing during the Use of the Reception FIFO
SCK
Reception
data
1st byte
2nd byte
3rd byte
FBYTE
(reception)
Valid byte
display
4th byte
5th byte
6th byte
1
2
7th byte
3
0
1
2
3 2 1 0
3 2 1 0
1
RDRF
Reading of
RDR
Interrupt is generated when FBYTE setting
(number of transmission) and number of
reception data are matched.
486
Reading of the all reception data
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts
MB91345 Series
Figure 16.3-4 The set Timing for the ORE (Overrun Error) Flag Bit
SCK
Reception
data
1st byte
2nd byte
3rd byte
FBYTE
(reception)
Valid byte
display
4th byte
5th byte
6th byte
63
64
7th byte
60
59
60
61
62
RDRF
ORE
Interrupt is generated when number of
FBYTE (reception) setting + 1 and
number of reception data are matched.
Overrun error generation
Note:
Overrun is generated when the next data is received at the state that FIFO display specifies FIFO capacitance.
This figure shows the case of using 64-byte FIFO capacitance.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
487
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts
16.3.3
MB91345 Series
Transmit Interrupt Generation and Flag Set Timing
Interrupt during the transmit will occur if the transmit data is transferred from Transmit
Data Register (TDR) to the shift register for the transmit (SSR:TDRE=1) and the transmit
is started, and if there is no transmit operation (SSR:TBI=1).
■ Transmit Interrupt Generation and Flag Set Timing
● The set timing for the transmit data empty flag (TDRE)
When the data written to transmit data register (TDR) is transferred to the transmit shift register, it will be
available to write the next data (SSR:TDRE=1). A send interrupt is generated at this time if the send
interrupt is enabled (SCR:TIE=1). Since TDRE bit is a read-only bit, it is cleared to "0" by writing data to
the transmission data register (TDR).
Figure 16.3-5 Set Timing for the Transmit Data Empty Flag (TDRE)
SCK
Transmission
data
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
TDRE
Writing to
TDR
Transmission interrupt generation
● Set timing for the transmit bus idle flag (TBI)
SSR: TBI bit is set to "1" when the transmit data register is empty (TDRE=1) and the transmission
operation is not performed. In this case, if the transmit bus idle interrupt is enabled (SCR:TBIE=1), the
transmit interrupt will occur. When the transmission data is set to the transmission data register (TDR), the
TBI bit and the transmission interrupt request are cleared.
Figure 16.3-6 Set Timing for the Transmit Bus Idle Flag (TBI)
SCK
Transmission
data
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
TBI
TDRE
Writing to
TDR
Transmission interrupt generation by bus idle
488
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.3 CSIO (Clock Synchronous Serial Interface) Interrupts
MB91345 Series
16.3.4
Timing when the Interrupt Occurs and the Flag Should
be Set during the Use of the Transmit FIFO
Interrupt during the use of the transmit FIFO will occur when there is no data in the
transmit FIFO.
■ Timing when the Transmit Interrupt Occurs and the Flag Should be Set during the Use
of the Transmit FIFO
• When data does not exist in the transmit FIFO, the FIFO transmission data request bit (FCR1:FDRQ) is
set to "1".
At this time, if the FIFO transmit interrupt is enabled (FCR1:FTIE=1), the transmit interrupt occurs.
• When the transmit interrupt occurs and the required data is written to the transmit FIFO, write "0" to the
FIFO transmission data request bit (FCR1:FDRQ) and clear the interrupt request.
• When the transmission FIFO gets to full, the FIFO transmission data request bit (FCR1:FDRQ) becomes
"0".
• You can check that whether the transmission FIFO data exists or not by reading the FIFO byte register
(FBYTE).
FBYTE=00H indicates that no data exists in the transmit FIFO.
Figure 16.3-7 Transmit Interrupt Generation Timing during the Use of the Transmit FIFO
SCK
Transmission
data
FIFOBYTE
display
1st byte
0
1
2
1
2nd byte
0
3rd byte
1
4th byte
0
FDRQ
TDRF
Writing to
transmission
FIFO
Cleared by "0" writing
Transmission interrupt generation *1
Transmission buffer is empty *2
TXE
* 1 : FDRQ=1 is set because transmission FIFO is empty.
* 2 : TDRE=1 is set because the data is not existed in the transmission buffer register.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
489
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
16.4
MB91345 Series
Operation of CSIO (Clock Synchronous Serial Interface)
Transfer method is clock synchronous.
■ Operation of CSIO (Clock Synchronous Serial Interface)
(1) Normal Transfer (I)
● Feature
Item
Explanation
1
Mark level of serial clock (SCK)
"H"
2
Output timing of transmit data
Falling edge of SCK
3
Sampling of receive data
Rising edge of SCK
4
Data length
5 bits to 9 bits
● Register setting
Following are the setting value of the register required for the normal transfer (I).
Table 16.4-1 Register Setting for Normal Transfer (I)
SCR0 to SCRA/
SMR0 to SMRA
SSR0 to SSRA/
ESCR0 to ESCRA
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0 WUCR SCINV
0
1/0
0
*
*
*
*
*
0
1
0
0
REC



ORE
TBI
SOP


0





0


D8
D7

*
TDR0 to TDRA
(RDR0 to RDRA)
BGR01/BGR00
RDRF TDRE


bit4
bit3
bit2
bit1
bit0
BDS
SCKE
SOE
0
*
1/0
1/0


L2
L1
L0



*
*
*
D6
D5
D4
D3
D2
D1
D0
*
*
*
*
*
*
*
*

B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1 : Set "1".
0 : Set "0".
*: Setting determined by the user
490
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
Note:
The setting values (1/0) of the bits above are different. in the master and slave operations.
At master transmission: SCR:MS=0, SMR:SCKE=1, SOE=1
At master reception:
SCR:MS=0, SMR:SCKE=1, SOE=0
At slave transmission:
SCR:MS=1, SMR:SCKE=0, SOE=1
At slave reception:
SCR:MS=1, SMR:SCKE=0, SOE=0
● Timing chart for Normal Transfer (I)
Transmission operation
1st byte
2nd byte
SCK
SOT
D0 D1 D2
D3 D4
D5 D6
D7 D0 D1
D2 D3 D4
D5 D6
D7
D2
D5
D7
TDRE
TDR RW
TXE
Reception operation
SIN
D0 D1
D2 D3 D4
D5 D6 D7
D0 D1
D3 D4
D6
Sampling
RDRF
RDR RD
RXE
● Operation explanation
[1] Master operation (Set to SCR:MS=0, SMR:SCKE=1)
• Transmission Operation
(1) When the transmit data is written to TDR by enabling the serial data output (SMR:SOE=1), enabling
the transmit operation (SCR:TXE=1), and disabling the reception operation (SCR:RXE=0),
SSR:TDRE becomes 0 and the transmit data is outputted in synchronization with the falling edge of
output for the serial clock (SCK).
(2) When the transmit data of the first 1-bit is outputted, SSR:TDRE is set to 1, and when the transmit
interrupt is enabled (SCR:TIE=1), the transmit interrupt request is outputted. In this case, the
transmission data of the second byte can be written.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
491
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
• Reception Operation
(1) When dummy data is written to TDR by disabling the serial data output (SMR:SOE=0) enabling the
transmit operation (SCR:TXE=1), and enabling the reception operation (SCR:RXE=1), the reception
data is sampling with the rising edge of the serial clock output (SCK).
(2) When last bit is received, SSR:RDRF=1 is set to 1, and when the reception interrupt is enabled
(SCR:RIE=1), the reception interrupt request is outputted.
In this case, the receive data (RDR) can be read.
(3) When the receive data (RDR) is read, SSR:RDRF is cleared to "0".
Notes:
• If only the reception is operated, write the dummy data to TDR in order to output the serial clock
(SCK).
• When the transmission/reception FIFO is enabled, the serial clock (SCK) in the frame of the
setting value is output by setting the frames to be transferred into FBYTE register.
[2] Slave operation (Set to SCR:MS=1, SMR:SCKE=0)
• Transmission Operation
(1) When the transmission data is written to TDR after the serial data output is enabled (SMR:SOE=1),
the transmission operation is enabled (SCR:TXE=1), SSR:TDRE=0 and the transmission data is
output synchronously with the falling edge of the serial clock (SCK).
(2) After the output of the transmission data of the first bit, SSR:TDRE=1. If the transmission interrupt
is enabled (SCR:TIE=1), the transmission interrupt request is output. In this case, the transmission
data of the second byte can be written.
• Reception Operation
(1) When disabling the serial data output (SMR:SOE=0) and enabling the reception operation
(SCR:RXE=1), the reception data is sampling with the rising edge of the serial clock input (SCK).
(2) When last bit is received, SSR:RDRF is set to 1, and when the reception interrupt is enabled
(SCR:RIE=1), the reception interrupt request is outputted.
In this case, the receive data (RDR) can be read.
(3) When the receive data (RDR) is read, SSR:RDRF is cleared to "0".
492
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
(2) Normal Transfer (II)
● Feature
Item
Explanation
1
Mark level of serial clock (SCK)
"L"
2
Output timing of transmit data
Rising edge of SCK
3
Sampling of receive data
Falling edge of SCK
4
Data length
5 bits to 9 bits
● Register setting
Following are the setting value of the register required for the normal transfer (II).
Table 16.4-2 Register Setting for Normal Transfer (II)
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
SCR0 to SCRA/
SMR0 to SMRA
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0
0
1/0
0
*
*
*
*
*
0
1
0
0
SSR0 to SSRA/
ESCR0 to ESCRA
REC



ORE
TBI
SOP


0





0


D8
D7

*
TDR0 to TDRA
(RDR0 to RDRA)
BGR01/BGR00
RDRF TDRE


bit4
bit3
bit2
bit1
bit0
BDS
SCKE
SOE
1
*
1/0
1/0


L2
L1
L0



*
*
*
D6
D5
D4
D3
D2
D1
D0
*
*
*
*
*
*
*
*
WUCR SCINV

B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1 : Set "1".
0 : Set "0".
*: Setting determined by the user
Note:
The setting values (1/0) of the bits above are different. in the master and slave operations.
At master transmission:
SCR:MS=0, SMR:SCKE=1, SOE=1
At master reception:
SCR:MS=0, SMR:SCKE=1, SOE=0
At slave transmission:
SCR:MS=1, SMR:SCKE=0, SOE=1
At slave reception:
SCR:MS=1, SMR:SCKE=0, SOE=0
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
493
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
● Timing chart for Normal Transfer (II)
Transmission operation
1st byte
2nd byte
Mark level
SCK
SOT
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7
TDRE
TDR RW
TXE
Reception operation
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7
SIN
Sampling
RDRF
RDR RD
RXE
● Operation explanation
[1] Master operation (Set to SCR:MS=0, SMR:SCKE=1)
• Transmission Operation
(1) When the transmit data is written to TDR by enabling the serial data output (SMR:SOE=1), enabling
the transmit operation (SCR:TXE=1), and disabling the reception operation (SCR:RXE=0),
SSR:TDRE becomes 0 and the transmit data is outputted in synchronization with rising edge of
output for the serial clock (SCK).
(2) When the transmit data of the first 1-bit is outputted, SSR:TDRE is set to 1, and when the transmit
interrupt is enabled (SCR:TIE=1), the transmit interrupt request is outputted. In this case, the
transmission data of the second byte can be written.
• Reception operation
(1) When dummy data is written to TDR by disabling the serial data output (SMR:SOE=0), enabling the
transmit operation (SCR:TXE=1), and enabling the reception operation (SCR:RXE=1), the reception
data is sampling with the falling edge of the serial clock output (SCK).
(2) When last bit is received, SSR:RDRF is set to 1, and when the reception interrupt is enabled
(SCR:RIE=1), the reception interrupt request is outputted.
In this case, the receive data (RDR) can be read.
(3) When the receive data (RDR) is read, SSR:RDRF is cleared to "0".
494
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
Notes:
• If only the reception is operated, write the dummy data to TDR in order to output the serial clock
(SCK).
• When the transmission/reception FIFO is enabled, the serial clock (SCK) in the frame of the
setting value is output by setting the frames to be transferred into FBYTE register.
[2] Slave operation (Set to SCR:MS=1, SMR:SCKE=0)
• Transmission Operation
(1) When the transmission data is written to TDR after the serial data output is enabled (SMR:SOE=1),
and the transmission operation is enabled (SCR:TXE=1), SSR:TDRE=0 and the transmission data is
output synchronously with the rising edge of the serial.
(2) After the output of the transmission data of the first bit, SSR:TDRE=1. If the transmission interrupt
is enabled (SCR:TIE=1), the transmission interrupt request is output. In this case, the transmission
data of the second byte can be written.
• Reception Operation
(1) When disabling the serial data output (SMR:SOE=0) and enabling the reception operation
(SCR:RXE=1), the reception data is sampling with the falling edge of the serial clock input (SCK).
(2) When last bit is received, SSR:RDRF is set to 1, and when the reception interrupt is enabled
(SCR:RIE=1), the reception interrupt request is outputted.
In this case, the receive data (RDR) can be read.
(3) When the receive data (RDR) is read, SSR:RDRF is cleared to "0".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
495
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
(3) SPI Transfer (I)
● Feature
Item
Explanation
1
Mark level of serial clock (SCK)
"H"
2
Output timing of transmit data
Rising edge of SCK
3
Sampling of receive data
Falling edge of SCK
4
Data length
5 bits to 9 bits
● Register setting
Followings are the register settings required for the SPI transmission (I).
Table 16.4-3 Register Setting for SPI Transfer (I)
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
SCR0 to SCRA/
SMR0 to SMRA
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0
0
1/0
1
*
*
*
*
*
0
1
0
0
SSR0 to SSRA/
ESCR0 to ESCRA
REC



ORE
TBI
SOP


0





0


D8
D7

*
TDR0 to TDRA
(RDR0 to RDRA)
BGR01/BGR00
RDRF TDRE


bit4
bit3
bit2
bit1
bit0
BDS
SCKE
SOE
0
*
1/0
1/0


L2
L1
L0



*
*
*
D6
D5
D4
D3
D2
D1
D0
*
*
*
*
*
*
*
*
WUCR SCINV

B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1 : Set "1".
0 : Set "0".
*: Setting determined by the user
Note:
The setting values (1/0) of the bits above are different. in the master and slave operations.
At master transmission: SCR:MS=0, SMR:SCKE=1, SOE=1
496
At master reception:
SCR:MS=0, SMR:SCKE=1, SOE=0
At slave transmission:
SCR:MS=1, SMR:SCKE=0, SOE=1
At slave reception:
SCR:MS=1, SMR:SCKE=0, SOE=0
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
● Timing Chart for SPI Transfer (I)
Transmission operation
SCK
1st byte
2nd byte
*A
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6
SOT
D7
TDRE
TDR RW
TXE
Reception operation
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7
SIN
Sampling
RDRF
RDR RD
RXE
*A: At a slave transmission (MS=1, SCKE=0, SOE=1), more than 4-machine
cycle time is required after writing to TDR.
● Operation explanation
[1] Master operation (Set to SCR:MS=0, SMR:SCKE=1)
• Transmission Operation
(1) When the transmission data is written to TDR after the serial date output is enabled (SMR:SOE=1),
the transmission operation is enabled (SCR:TXE=1), and the reception operation is disabled
(SCR:RXE=0), SSR:TDRE=0 and the first bit is output. Then the transmission data is output
synchronously with the rising edge of the serial clock (SCK) output.
(2) The transmit interrupt request is outputted when both conditions are met.
- SSR:TDRE is 1 before half cycle of falling edge for first serial clock
- Transmit interrupt is enabled (SCR:TIE=1)
In this case, the transmission data of the second byte can be written.
• Reception Operation
(1) When dummy data is written to TDR by disabling the serial data output (SMR:SOE=0), enabling the
transmit operation (SCR:TXE=1), and enabling the reception operation (SCR:RXE=1), the reception
data is sampling with the falling edge of the serial clock output (SCK).
(2) When last bit is received, SSR:RDRF is set to 1, and when the reception interrupt is enabled
(SCR:RIE=1), the reception interrupt request is outputted.
In this case, the receive data (RDR) can be read.
(3) When the receive data (RDR) is read, SSR:RDRF is cleared to "0".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
497
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
Notes:
• If only the reception is operated, write the dummy data to TDR in order to output the serial clock
(SCK).
• When the transmission/reception FIFO is enabled, the serial clock (SCK) in the frame of the
setting value is output by setting the frames to be transferred into FBYTE register.
[2] Slave operation (Set to SCR:MS=1, SMR:SCKE=0)
• Transmission Operation
(1) When the transmission data is written to TDR after the serial data output is enabled (SMR:SOE=1)
and the transmission operation is enabled (SCR:TXE=1), SSR:TDRE=0 and the first bit is output.
Then the transmission data is output synchronously with the rising edge of the serial clock (SCK)
output.
(2) The transmit interrupt request is outputted when both conditions are met.
- SSR:TDRE is 1 before half cycle of falling edge for first serial clock
- Transmit interrupt is enabled (SCR:TIE=1)
In this case, the transmission data of the second byte can be written.
• Reception Operation
(1) When disabling the serial data output (SMR:SOE=0) and enabling the reception operation
(SCR:RXE=1), the reception data is sampling with the falling edge of the serial clock input (SCK).
(2) When last bit is received, SSR:RDRF is set to 1, and when the reception interrupt is enabled
(SCR:RIE=1), the reception interrupt request is outputted.
In this case, the receive data (RDR) can be read.
(3) When the receive data (RDR) is read, SSR:RDRF is cleared to "0".
498
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
(4) SPI Transfer (II)
● Feature
Item
Explanation
1
Mark level of serial clock (SCK)
"L"
2
Output timing of transmit data
Falling edge of SCK
3
Sampling of receive data
Rising edge of SCK
4
Data length
5 bits to 9 bits
● Register setting
Followings are the register settings required for the SPI transmission (II).
Table 16.4-4 Register Setting for SPI Transfer (II)
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
SCR0 to SCRA/
SMR0 to SMRA
UPCL
MS
SPI
RIE
TIE
TBIE
RXE
TXE
MD2
MD1
MD0 WUCR SCINV
0
1/0
1
*
*
*
*
*
0
1
0
0
SSR0 to SSRA/
ESCR0 to ESCRA
REC



ORE
TBI
SOP


0





0


D8
D7

*
TDR0 to TDRA
(RDR0 to RDRA)
BGR01/BGR00
RDRF TDRE


bit4
bit3
bit2
bit1
bit0
BDS
SCKE
SOE
1
*
1/0
1/0


L2
L1
L0



*
*
*
D6
D5
D4
D3
D2
D1
D0
*
*
*
*
*
*
*
*

B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1 : Set "1".
0 : Set "0".
*: Setting determined by the user
Note:
The setting values (1/0) of the bits above are different. in the master and slave operations.
At master transmission: SCR:MS=0, SMR:SCKE=1, SOE=1
At master reception:
SCR:MS=0, SMR:SCKE=1, SOE=0
At slave transmission:
SCR:MS=1, SMR:SCKE=0, SOE=1
At slave reception:
SCR:MS=1, SMR:SCKE=0, SOE=0
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
499
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
MB91345 Series
● Timing Chart for SPI Transfer (II)
1st byte
Transmission operation
2nd byte
*A
SCK
SOT
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7
TDRE
TDR RW
TXE
Reception operation
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7
SIN
Sampling
RDRF
RDR RD
RXE
*A: At a slave transmission (MS=1, SCKE=0, SOE=1), more than 4-machine
cycle time is required after writing to TDR.
● Operation explanation
[1] Master operation (Set to SCR:MS=0, SMR:SCKE=1)
• Transmission Operation
(1) When the transmit data is written to TDR by enabling the serial data output (SMR:SOE=1), enabling
the transmit operation (SCR:TXE=1), and disabling the reception operation (SCR:RXE=0),
SSR:TDRE becomes 0 and the transmit data is outputted in synchronization with the falling edge of
output for the serial clock (SCK).
(2) When the transmit data of the first 1-bit is outputted, SSR:TDRE is set to 1, and when the transmit
interrupt is enabled (SCR:TIE=1), the transmit interrupt request is outputted. In this case, the
transmission data of the second byte can be written.
• Reception Operation
(1) When dummy data is written to TDR by disabling the serial data output (SMR:SOE=1), enabling the
transmit operation (SCR:TXE=1), and enabling the reception operation (SCR:RXE=1), the reception
data is sampling with the rising edge of the serial clock output (SCK).
(2) When last bit is received, SSR:RDRF is set to 1, and when the reception interrupt is enabled
(SCR:RIE=1), the reception interrupt request is outputted.
In this case, the receive data (RDR) can be read.
(3) When the receive data (RDR) is read, SSR:RDRF is cleared to "0".
500
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.4 Operation of CSIO (Clock Synchronous Serial Interface)
Notes:
• If only the reception is operated, write the dummy data to TDR in order to output the serial clock
(SCK).
• When the transmission/reception FIFO is enabled, the serial clock (SCK) in the frame of the
setting value is output by setting the frames to be transferred into FBYTE register.
[2] Slave operation (Set to SCR:MS=1, SMR:SCKE=0)
• Transmission Operation
(1) When the transmission data is written to TDR after the serial date output is enabled (SMR:SOE=1)
and the transmission operation is enabled (SCR:TXE=1), SSR: TDRE=0 and the transmission data
is output synchronously with the falling edge of the serial clock (SCK).
(2) After the output of the transmission data of the first bit, SSR:TDRE=1. If the transmission interrupt
is enabled (SCR:TIE=1), the transmission interrupt request is output. In this case, the transmission
data of the second byte can be written.
• Reception Operation
(1) When disabling the serial data output (SMR:SOE=0) and enabling the reception operation
(SCR:RXE=1), the reception data is sampling with the rising edge of the serial clock input (SCK).
(2) When last bit is received, SSR:RDRF is set to 1, and when the reception interrupt is enabled
(SCR:RIE=1), the reception interrupt request is outputted.
In this case, the receive data (RDR) can be read.
(3) When the receive data (RDR) is read, SSR:RDRF is cleared to "0".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
501
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.5 Dedicated Baud Rate Generator
16.5
MB91345 Series
Dedicated Baud Rate Generator
The dedicated baud rate generator functions only in the master operation. When you
use the reception FIFO, set the dedicated baud rate generator even in the slave
operation.
■ Select the CSIO (Clock Synchronization Serial Interface) Baud Rate
The settings for the dedicated baud rate generator are different in the master and in slave operations.
● At master operation
Select the baud rate by dividing the internal clock using the dedicated baud rate generator.
• There are two internal reload counters, and each of them corresponds to the transmit/reception serial
clock. You can select a baud rate by setting a 15-bit reload value in the baud rate generator registers 1
and 0 (BGR1, BGR0).
• Reload counters divide the internal clock by the specified value.
● At slave operation
The dedicated baud rate generator does not function in the slave operation (SCR:MS=1). (External clock,
which was inputted from clock input pin SCK is directly used.)
Note:
When you use the reception FIFO, configure the dedicated baud rate generator even in the slave
operation.
502
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.5 Dedicated Baud Rate Generator
MB91345 Series
16.5.1
Baud Rate Setting
Baud rate settings are shown. The calculation result for the serial clock frequency is
also shown.
■ Baud Rate Opearion
The two 15-bit reload counters are set by baud rate generator registers 1 and 0 (BGR1 and BGR0).
The baud rate is calculated by the following equation.
(1) Reload value:
V = / b  1
V: Reload value
b: Baud rate
: Peripheral clock frequency
(2) Calculation example
The reload value is calculated by the following equation when setting 16 MHz for the peripheral
clock and 19200 bps for the baud rate.
Reload value:
V = (16 1000000) / 19200  1 = 832
Therefore, the baud rate is:
b = (16 1000000) / (832 + 1) = 19208 bps
(3) Error of baud rate
Error of baud rate is obtained by the following equation.
Error (%) = (Calculated value - Target value) / Target value 100
(Example) When setting peripheral clock 20 MHz and baud rate 1536000 bps
Reload value = (20 1000000) / 153600  1 = 129
Baud rate (Calculated value) = (20 1000000) / (129 + 1) = 153846 (bps)
Error (%) = (153846  153600) / 153600 100 = 0.16 (%)
Notes:
Setting a reload value of "0" stops the reload counter.
• When the reload value is the even number, the "H" and "L" widths of the serial clock are as
follows depending on the SCINV bit setting. If the value is an odd number, the "H" and "L" widths
of the serial clock will be the same.
When SCINV=0, "H" width of the serial clock will increase by one cycle of the peripheral clock.
When SCINV=1, "L" width of the serial clock will increase by one cycle of the peripheral clock.
• Set the reload value to 3 or more.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
503
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.5 Dedicated Baud Rate Generator
MB91345 Series
■ Reload Value and Baud Rate for Each Peripheral Clock Frequency
Table 16.5-1 Reload Values and Baud Rates
Baud rate
(bps)
8 MHz
10 MHz
16 MHz
20 MHz
24 MHz
32 MHz
Value
ERR
Value
ERR
Value
ERR
Value
ERR
Value
ERR
Value
ERR
8M










3
0
6M








3
0


5M






3
0




4M




3
0
4
0
5
0
7
0
2.5M


3
0








2M
3
0
4
0
7
0
9
0
11
0
15
0
1M
7
0
9
0
15
0
19
0
23
0
31
0
500000
15
0
19
0
31
0
39
0
47
0
63
0
460800








51
-0.16


250000
31
0
39
0
63
0
79
0
95
0
127
0
230400








103
-0.16


153600
51
-0.16
64
-0.16
103
-0.16
129
-0.16
155
-0.16
207
-0.16
125000
63
0
79
0
127
0
159
0
191
0
255
0
115200
68
-0.64
86
0.22
138
0.08
173
0.22
207
-0.16
277
0.08
76800
103
-0.16
129
-0.16
207
-0.16
259
-0.16
311
-0.16
416
0.08
57600
138
0.08
173
0.22
277
0.08
346
-0.16
416
0.08
555
0.08
38400
207
-0.16
259
-0.16
416
0.08
520
0.03
624
0
832
-0.04
28800
277
0.08
346
<0.01
554
-0.01
693
-0.06
832
-0.03
1110
-0.01
19200
416
0.08
520
0.03
832
-0.03
1041
0.03
1249
0
1666
0.02
10417
767
<0.01
959
<0.01
1535
<0.01
1919
<0.01
2303
<0.01
3071
<0.01
9600
832
0.04
1041
0.03
1666
0.02
2083
0.03
2499
0
3332
-0.01
7200
1110
<0.01
1388
<0.01
2221
<0.01
2777
<0.01
3332
<0.01
4443
-0.01
4800
1666
0.02
2082
-0.02
3332
<0.01
4166
<0.01
4999
0
6666
<0.01
2400
3332
<0.01
4166
<0.01
6666
<0.01
8332
<0.01
9999
0
13332
<-0.01
1200
6666
<0.01
8334
0.02
13332
<0.01
16666
<0.01
19999
0
26666
<0.01
600
13332
<0.01
16666
<0.01
26666
<0.01






300
26666
26666
<0.01









(Note) Value : Setting value of BGR1/BGR0 registers
ERR
504
: Error of baud rate (%)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.5 Dedicated Baud Rate Generator
MB91345 Series
■ Function of the Reload Counter
A pair of the transmission and reception reload counters serves as the dedicated baud rate generator. It
consists of 15-bit register for the reload value, and generates the transmission/reception clock from the
internal clock.
■ Start Counting
Once the reload value is written to the baud rate generator registers (BGR1, BGR0), the reload counter
starts to count.
■ Re-start
The reload counter will restart in the following condition.
Both send and receive reload counters
Programmable reset (SCR:UPCL bit)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
505
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.6 Setting Procedure and Program Flow of CSIO (Clock
Synchronous Serial Interface)
16.6
MB91345 Series
Setting Procedure and Program Flow of CSIO
(Clock Synchronous Serial Interface)
The serial duplex synchronous transmission is available in the CSIO (clock
synchronization serial interface).
■ Inter-CPU Connection
The duplex transmission is selected in the CSIO (clock synchronous serial interface). Two CPUs are
reciprocally connected as shown in Figure 16.6-1.
Figure 16.6-1 Example of the Connection by the Duplex Transmission in CSIO
(Clock Synchronous Serial Interface)
SOT
SOT
SIN
SIN
SCK
SCK
CPU -2 (Slave)
CPU -1 (Master)
■ Flowchart
● When FIFO is not used
Figure 16.6-2 Example of the Flowchart for the Duplex Transmission (When FIFO is not Used)
(Master side)
(Slave side)
Start
Start
Operation format setting
Operation format setting
(matching to master side)
Set 1-byte data to TDR
and communicate
Data
transmission
NO
RDRF=1
YES
NO
RDRF=1
Data
transmission
(ANS)
Read and process of
reception data
YES
Read and process of
reception data
506
1-byte data
transmission
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.6 Setting Procedure and Program Flow of CSIO (Clock Synchronous
Serial Interface)
MB91345 Series
● When FIFO is used
Figure 16.6-3 Example of the Flowchart for the Duplex Transmission (When FIFO is Used)
(Master side)
(Slave side)
Start
Start
Operation format setting
Operation format setting
(matching to master side)
Transmission/reception
FIFO enable
Transmission/reception
FIFO enable
Setting of received FBYTE
Setting of received FBYTE
Setting N byte to
transmission FIFO and
writing "0" to FDRQ bit
Data
tranmsmission
RDRF=1
YES
Data
tranmsmission
NO
(ANS)
RDRF=1
YES
NO
Read and operate based on
the FIFOBYTE setting value
Setting N byte to
transmission FIFO and
writing "0" to FDRQ bit
Read and operate based on
the FBYTE setting value
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
507
CHAPTER 16 CSIO (Clock Synchronous Serial Interface)
16.7 Notes on CSIO Mode
16.7
MB91345 Series
Notes on CSIO Mode
The notes for when you use the CSIO mode are shown below.
• FIFO cannot be used for requesting DMA transfer with a channel with FIFO. Please set as FIFO
operation disable.
• To request a DMA transfer request, set the block size of DMA to one time.
• When master reception and slave reception are selected, it is required to use two channels for DMA;
one is used for DMA transfer to receive data and the other one is used for DMA transfer to send dummy
data.
508
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17
I2C Interface
I2C interface, which is supported by the operation mode
4, among the multi function interfaces is described.
17.1 Overview of I2C Interface
17.2 I2C Interface Register
17.3 I2C Interface Interruption
17.4 Dedicated Baud Rate Generator
17.5 Notes on I2C Mode
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
509
CHAPTER 17 I2C Interface
17.1 Overview of I2C Interface
17.1
MB91345 Series
Overview of I2C Interface
I2C interface supports the inter IC bus and works as the master/slave device on the I2C
bus. The transmission/reception FIFO (maximum 16 bytes each) is also loaded.
■ Function of I2C Interface
The I2C interface has the following functions.
• Function of master/slave transmission and reception.
• Function of arbitration
• Function of clock synchronization
• Function of transmission direction detection
• Generation of repeat start condition and detection function
• Function of bus error detection
• Function of general call addressing
• 7-bit addressing as the master/slave
• Enable to generate the interrupt at transfer and bus error.
• 10-bit addressing function can be supported by the program
■ Functions of the FIFO
FIFO has the following function.
• Transmission/reception FIFO is loaded (maximum capacitance: 16 bytes at a transmission FIFO and 16
bytes at a reception FIFO).
• Transmission FIFO and reception FIFO can be selected.
• Transmission data can be resended.
• Interrupt timing of reception FIFO can be changed by a soft.
• FIFO reset is supported independently.
510
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2
I2C Interface Register
The register list of I2C interface is shown.
■ Register List of I2C Interface
Figure 17.2-1 List of I2C Interface Registers
Address
I2C
FIFO
bit15
bit8 bit7
bit0
0000X0H 0000X1H
IBCR (I2C bus control register)
SMR (serial mode register)
0000X2H 0000X3H
SSR (serial status register)
IBSR (I2C bus status register)
0000X4H 0000X5H

RDR/TDR
(transmission/reception data register)
0000X6H 0000X7H
BGR1
(Baud rate generator register 1)
BGR0
(Baud rate generator register 0)
0000X8H 0000X9H
ISMK
(7bit slave address mask register)
ISBA
(7bit slave address register)
0000Y0H 0000Y1H
FCR1 (FIFO control register 1)
FCR0 (FIFO control register 0)
0000Y2H 0000Y3H
FBYTE2 (FIFO2 byte register)
FBYTE1 (FIFO1 byte register)
(X=06,07,08,09,0A,0B,1B,1C,1D,1E,1F, Y=6,7)
Table 17.2-1 Bit Allocation of I2C Interface
bit15
bit14
bit13
bit11
bit10
bit9
bit8
bit7
bit6
bit5
bit4
bit3
bit2
IBCR0 to IBCRA/
SMR0 to SMRA
MSS
ACT/
SCC
ACKE WSEL CNDE
INTE
BER
INT
MD2
MD1
MD0

RIE
TIE
SSR0 to SSRA/
IBSR0 to IBSRA
REC
TSET


ORE

FBT
TRX
AL
RSC
SPC
BB
TDR1/0








D7
D6
D5
D4
D3
D2
D1
D0
BGR1/0

B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
ISMK0 to ISMKA/
ISBA
EN
SM6
SM5
SM4
SM3
SM2
SM1
SM0
SAEN
SA6
SA5
SA4
SA3
SA2
SA1
SA0
FTIE
FSEL

FLST
FLD
FSET FCL2 FCL1
FE2
FE1
FD9
FD8
FD7
FD6
FD5
FD4
FD1
FD0
FCR1/FCR0
Reserved Reserved
FBYTE2/1
CM71-10132-3E
FD15
FD14

FD13
bit12
RDRF TDRE
FLSTE FRIIE FDRQ
FD12
FD11
FD10
RACK RSA
FUJITSU SEMICONDUCTOR LIMITED
FD3
FD2
bit1
bit0
ITST1 ITST0
511
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
17.2.1
MB91345 Series
I2C Bus Control Register (IBCR)
I2C Bus Control Register (IBCR) selects the master/slave mode, sets the repetitive start
condition, enables acknowledgement, enables interrupts, and displays the interrupt
flag.
■ I2C Bus Control Register (IBCR)
Figure 17.2-2 shows the bit configuration of I2C bus control register (IBCR), and Table 17.2-2 shows the
function of each bit.
Figure 17.2-2 Bit Configuration of I2C Bus Control Register (IBCR)
IBCR
Address
ch.0 00060H
ch.1 00070H
ch.2 00080H
ch.3 00090H
ch.4 000A0H
ch.5 000B0H
ch.6 001B0H
ch.7 001C0H
ch.8 001D0H
ch.9 001E0H
ch.A 001F0H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
MSS
ACT/SCC
ACKE
WSEL
CNDE
INTE
BER
INT
R/W
R/W
R/W
R/W
R/W
R/W
R
R/W
INT
0
1
Interrupt flag bit
Write
Read
Clear of INT
No interrupt request
No effect
Interrupt request
INTE
0
1
Interrupt enable bits
Interrupt disable
Interrupt enable
CNDE
0
1
Condition detect interrupt enable bit
Repeat start or stop condition interrupt disable
Repeat start or stop condition interrupt enable
WSEL
0
1
Wait select bit
Wait after acknowledge (9 bits)
Wait after data transmission/reception (8 bits)
ACKE
0
1
Acknowledge enable bit
Acknowledge disable
Acknowledge enable
1
512
00000000B
Bus error detect bit
No error
Detecting error
0
: Readable/writable
: Read only
: Initial value
(SMR)
BER
0
1
ACT/SCC
R/W
R
Initial value
bit7
MSS
0
1
Operation flag/repeat start condition
generating bit
Write
Read
No effect
No operation
Generate repeat start
I2C operating
condition
Master/slave selection bit
Selecting slave mode
Selecting master mode
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-2 Functional Description of Each Bit in I2C bus Control Register (IBCR) (1 / 4)
Bit name
Function
• If this bit is set to "1", the mode will be the master when I2C bus is in the idle status (EN=1,
BB=0).
• If this bit is set to "1", when the BB bit of IBSR register is "1", it waits to generate the start
condition until the BB bit becomes "0". If the slave address matches during the wait, and
works as the slave, this bit becomes "0" and the AL bit of IBSR register becomes "1".
• When the interrupt flag (INT) is "1" in the master operation (MSS=1, ACT=1), the stop
condition is generated by writing "0" to this bit.
MSS bit is cleared at the condition as following.
(1) Disabling I2C interface (EN bit=0)
(2) Generating arbitration lost
(3) Detecting bus error (BER bit=1)
(4) At INT=1, writing "0" to MSS bit
The relation between MSS bit and ACT bit is shown below.
bit15
MSS: Master/
slave selection
bit
MSS bit ACT bit
Condition
0
0
Idle
0
1
ACK corresponding* to slave address match or
reserved address and operating (slave mode)
1
0
Waiting master operation
1
1
Master operating (master mode)
*: ACK corresponding indicates SDA of I2C bus is "L" at interval of
acknowledge.
Notes:
• When the MSS bit is changed to "0" if it has already been set to "1", perform it in MSS
bit=1 and INT bit=1. If "0" is written to MSS bit when ACT bit is "1", INT bit is also
cleared to "0".
• As long as ACT bit is "1", "1" is read for MSS bit in the master operation, even if "0" is
written to MSS bit.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
513
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-2 Functional Description of Each Bit in I2C bus Control Register (IBCR) (2 / 4)
Bit name
Function
This bit works differently in read and write.
bit14
514
ACT/SCC:
Operation flag
bit/Repetition
start condition
generation bit
Read
Write
ACT bit
SCC bit
ACT bit indicates either it works as the master or slave mode.
Set condition of ACT bit:
• When start condition is outputted to I2C bus (master mode)
• When slave address matches address transmitted from master
(slave mode)
• When reserved address is detected and acknowledge is responded to it (slave mode in
MSS=0)
Reset condition of ACT bit:
<Master mode>
• Stop condition is detected.
• Arbitration lost is detected.
• Bus error is detected.
• I2C interface is disabled (EN bit=0).
<Slave mode>
• (Repeat) start condition is detected.
• Stop condition is detected.
• When acknowledge is not responded with reserved address detection state (RSA=1).
• I2C interface is disabled (EN bit=0).
• Bus error is occurred (BER bit=1).
Writing "1" to this bit in the master mode executes repeat start.
Writing "0" has no effect.
Notes:
• Write "1" to the SCC bit while an interrupt in the master mode generates (MSS=1, ACT=1,
INT=1). If "1" is written to SCC bit when ACT bit is "1", INT bit is also cleared to "0".
• You must not write "1" to this bit in the slave mode (MSS=0, ACT=1).
• When "1" is written to SCC bit and "0" to MSS bit, MSS bit has a priority.
• The read command in read-modify-write (RMW) related commands reads SCC bit.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-2 Functional Description of Each Bit in I2C bus Control Register (IBCR) (3 / 4)
Bit name
Function
ACKE:
The data byte
acknowledge
enable bit
• If this bit is set to "1", "L" is output on the acknowledge timing.
• If you change this bit in ACT=1, do the change in INT bit=1.
This bit is invalid in the following conditions.
• Acknowledge to the address field other than the reserved address (auto generation).
• The data is transmitted (RSA=0, TRX=1, FBT=0).
• When the reception FIFO is enabled and in the slave reception (FE=1, MSS=0, ACT=1),
always answer the ACK.
• When the reception FIFO is enabled, WSEL is set to "0", and in the master reception
(FE=1, MSS=1, ACT=1, WSEL=0), answer the ACK response in TDRE bit=0, or answer
the NACK response in TDRE bit=1.
• When the reception FIFO is enabled, WSEL=0, and the slave transmission detecting the
reserved address (RSA=1, TRX=1, FBT=1), always answer the ACK response. If you want
the NACK response, disable the reception FIFO and set ACKE=0 when interrupting after
the reserved address is detected.
• When the reception FIFO is enabled, WSEL is set to "1", and the data exist in the transmit
register in the master reception (FE=1, MSS=1, ACT=1, WSEL=1, TDRE=0).
bit12
WSEL:
Wait selection
bit
• This bit enables to select whether waiting for the I2C bus or not by generating the interrupt
(INT=1) before or after the acknowledge.
• The WSEL bit is invalid in the following conditions.
• When an interrupt is generated (INT=1) to the first byte*1
• When the reserved address is detected (FBT=1, RSA=1)
• When the NACK response*2 is detected during data transfer at using FIFO (FE=1,
RACK=1, ACT=1)
• When the reception FIFO is full at using the reception FIFO
*1: First byte: This indicates data after (repeat) start condition.
*2: NACK response: Acknowledge period. This indicates the SDA of I2C bus is "H".
bit11
CNDE:
The condition
detection
interrupt
enable bit
This bit enables to generate the interrupt when the stop condition or repetition start condition is
detected in the master or slave mode (ACT=1). When RSC or SPC bit of IBSR register=1 and
this bit=1, the interrupt is generated.
bit10
INTE:
Interrupt
enable bit
This bit enables the interrupt (INT=1) to the data transmission/reception and bus error in the
master or slave mode.
bit13
bit9
BER:
Bit for bus
error flag
detection
CM71-10132-3E
This bit indicates that the error is detected on I2C bus.
Set condition of BER bit:
• Start or stop condition is detected while the first byte* is transferred.
• Start or stop condition is detected in 2nd to 9th (acknowledge) bit of data after the second
or subsequent byte.
Reset condition of BER bit:
• When "0" is written to the INT bit in BER=1
• When the I2C interface is disabled (EN=0)
*: First byte: This indicates data after (repeat) start condition.
Note:
Check this bit when the interrupt flag (INT bit) is set to "1". This is because the transmission/
reception operation cannot perform correctly, processing such as retransmission is executed.
FUJITSU SEMICONDUCTOR LIMITED
515
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-2 Functional Description of Each Bit in I2C bus Control Register (IBCR) (4 / 4)
Bit name
bit8
516
INT:
Interrupt flag
bit
Function
This bit set this flag to "1" under the following set conditions. Except the case of the bus error,
SCL is set to "L" when INT bit is "1", while the "L" of SCL is cancelled when INT bit is "0".
Set condition of INT bit:
<Eighth bit>
• When the reserved address is detected in the first byte
• When the WSEL is "1" and the arbitration lost is detected in the second or subsequent byte
• When the WSEL is "1", the master is operating, and the TDRE bit is "1" in the second or
subsequent byte
• When the WSEL is "1", the slave is operating, the reception FIFO is disabled, and the
TDRE bit is "1" in the second or subsequent byte
• When the WSEL is "1", the slave is transmitting, and the TDRE bit is "1" in the second or
subsequent byte
<Ninth bit>
• When the arbitration lost is detected in the first byte
• When the NACK is received except for output setting of stop condition (write "0" to the
MSS bit in the master operation)
• When the TDRE bit is "1" at the transmit direction (TRX=1) in the master or slave mode
without detecting the reserved address in the first byte
• When data exists in the reception FIFO during the reception FIFO is enabled at the
reception direction (TRX=0) in the master or slave mode without detecting the reserved
address in the first byte
• When the TDRE bit is "1" while the reception FIFO is disabled at the reception direction
(TRX=0) in the master or slave mode without detecting the reserved address in the first
byte
• When the arbitration lost is detected in the second or subsequent byte at WSEL=0
• When the TDRE bit is "1" in the second or subsequent byte while the master mode is
operating at WSEL=0
• When the TDRE bit is "1" in the second or subsequent byte while the slave is sending at
WSEL=0
• When the slave is received with the reception FIFO disabled at WSEL=0. However, the
interrupt is not generated in 9th bit in the slave reception of the first byte which detects the
reserved address.
• When reception FIFO is full while reception FIFO is enabled and the slave is received
<Others>
• Bus error is detected.
Reset condition of INT bit:
• Write "0" to INT bit.
• Write "0" to MSS bit when the INT and ACT bits are "1".
• Write "1" to SCC bit when the INT and ACT bits are "1".
Write "1" to the INT bit is invalid.
Notes:
• When EN bit is set to "0", the RDRF and INT bits may be "1" due to reception timing. In
this case, read the reception data and clear INT bit.
• The read command in read-modify-write (RMW) related commands reads "1".
• When reception FIFO is enabled, INT bit is not set to "1" in the master reception operation
even if the reception FIFO is Full.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2.2
Serial Mode Register (SMR0 to SMRA)
Serial mode register (SMR0 to SMRA) sets the operation mode, and enables or disables
the interrupt of the transmission/reception.
■ Serial Mode Register (SMR0 to SMRA)
Figure 17.2-3 shows the bit configuration of serial mode register (SMR0 to SMRA), and Table 17.2-3
shows the function of each bit.
Figure 17.2-3 Bit Configuration of Serial Mode Register (SMR0 to SMRA)
bit15
SMR
Address
ch.0 000061H
ch.1 000071H
ch.2 000081H
ch.3 000091H
ch.4 0000A1H
ch.5 0000B1H
ch.6 0001B1H
ch.7 0001C1H
ch.8 0001D1H
ch.9 0001E1H
ch.A 0001F1H
bit8
(IBCR)
bit7
bit6
bit5
bit4
bit3
bit2
MD2
MD1
MD0

RIE
TIE
R/W
R/W
R/W
R/W
R/W
R/W
bit1
bit0
ITST1 ITST0
R/W
Initial value
00000000B
R/W
I2C test bit
test disable
I2C test enable
ITST
0
1
I2 C
TIE
0
1
Transmit interrupt enable bit
Transmission interrupts disable
Transmission Interrupt enable
RIE
0
1
Receive interrupt enable bit
Reception interrupt disable
Reception Interrupt enable
Unused bit
Read value is undefined. Writing has no effect.
R/W

: Readable/writable
:Unused bit
: Initial value
CM71-10132-3E
MD2
MD1
MD0
0
0
0
0
0
1
0
1
1
0
0
0
Operation mode setting bits
Operation mode 0
(asynchronous normal mode)
operation mode 1
(asynchronous multiprocessor mode)
operation mode 2 (clock synchronous mode)
operation mode 4 (I2C mode)
Note: The register and operation of the operation mode 4 are
explained.
FUJITSU SEMICONDUCTOR LIMITED
517
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-3 Functional Description of Each Bit in Serial Mode Register (SMR0 to SMRA)
Bit name
Function
bit7
to
bit5
MD2, MD1,
MD0:
The operation
mode set bit
These bits set the operation mode.
"000B": Set to the operation mode 0 (asynchronous normal mode).
"001B": Set to the operation mode 1 (asynchronous multiprocessor mode).
"010B": Set to the operation mode 2 (clock synchronous mode).
"100B": Set to the operation mode 4 (I2C mode).
Notes:
• Setting other than the above is disabled.
• When you switch the operation mode, disable I2C (ISMK:EN=0) first, then switch the
operation mode.
• Specify each register after the operation mode is set.
bit4
Unused bit
Read: The value is undefined.
Write: No effect.
bit3
RIE:
The reception
interrupt enable
bit
• This bit enables or disables the reception interrupt request output to the CPU.
• When RIE bit and the reception data flag bit (RDRF) are "1", or any of the error flag bits
(ORE) is "1", the interrupt request is output.
Note:
When data is received using the INT bit of the I2C bus control register (IBCR), this bit is set
to "0".
bit2
TIE:
The transmit
interrupt enable
bit
• This bit enables or disables the transmit interrupt request output to the CPU.
• When the TIE and TDRE bits are "1", the transmit interrupt request is outputted.
Note:
When data is transmitted using the INT bit of the I2C bus control register (IBCR), this bit is
set to "0".
ITST1, ITST0:
I2C test bit
This bit is I2C test bit.
This bit is always set "0".
Note:
When setting "1" to this bit, I2C test is executed.
bit1,
bit0
Note:
If you change the operation mode, other registers are initialized. Set the operation mode first.
However, if you write IBCR and SMR simultaneously using 16-bit writing, the writing is applied to
IBCR.
518
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
I2C Bus Status Register (IBSR)
17.2.3
I2C bus status register (IBSR) indicates that repetition start, acknowledge, data
direction, arbitration lost, stop condition, I2C bus status, and/or bus error are detected.
■ I2C bus Status Register (IBSR)
Figure 17.2-4 shows the bit configuration of I2C bus status register (IBSR), and Table 17.2-4 shows the
function of each bit.
Figure 17.2-4 Bit Configuration of I2C Bus Status Register (IBSR)
IBSR
Address
0000X3H
bit15
bit8
(SSR)
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
FBT
RACK
RSA
TRX
AL
RSC
SPC
BB
00000000B
R
R
R
R
R
R/W
R/W
R
BB
0
1
Bus state bit
Bus idle state
Bus transmission/reception state
SPC
0
1
Master
Slave
R/W
R
: Readable/writable
: Read only
: Initial value
CM71-10132-3E
Stop condition check bit
Stop condition is not detected.
Stop condition is detected or arbitration
lost is generated at stop condition output.
Stop condition is detected.
RSC
0
1
Repeat start condition check bit
Repeat start condition is not detected.
Repeat start condition is detected.
AL
0
1
Arbitration lost bit
Arbitration lost is not generated.
Arbitration lost is generated.
TRX
0
1
Data direction bit
Reception direction
Transmission direction
RSA
0
1
Reserved address detection bit
Reserved address is not detected.
Reserved address is detected.
RACK
0
1
Acknowledge flag bit
"L" reception
"H" reception
FBT
0
1
First byte bit
Other than first byte
During transmission/reception of first byte
FUJITSU SEMICONDUCTOR LIMITED
519
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-4 Functional Description of Each Bit in I2C Bus Status Register (IBSR) (1 / 3)
Bit name
bit7
bit6
bit5
520
Function
FBT:
First byte bit
This bit indicates the first byte.
FBT bit setting conditions:
• (Repetition) start condition is detected.
Clear condition of FBT bit:
• Transmission/reception of the second byte.
• The stop condition is detected.
• I2C interface is disabled (EN bit=0).
• The bus error is detected (BER bit=1).
RACK:
Acknowledge flag
bit
This bit in the first byte indicates received acknowledge in the master or slave mode.
Condition of renewal of RACK bit
• Acknowledge at the first byte
• Data acknowledge at a master or slave mode
Condition of clearing RACK bit (RACK bit=0)
• (Repeat) start condition detection
• I2C interface disable (EN bit=0)
• Bus error detection (BER bit=1)
RSA:
Reserved address
detection bit
This bit indicates that the reserved address is detected.
RSA bit setting conditions (RSA=1):
• The first byte is (0000xxxx) or (1111xxxx). "x" shows "0" or "1".
RSA bit setting conditions (RSA=0):
• (Repeat) start condition detection
• Stop condition detection
• I2C interface disable (EN bit=0)
• Bus error detection (BER bit=1)
When the RSA bit becomes "1" in the first byte, the interrupt flag (INT) is set to "1" and the
SCL is set to "L" at the falling edge of SCL in eighth bit of the first byte regardless of
enabling/disabling FIFO. If you want to read the reception data and make it work as the
slave, set ACKE to "1" and clear the interrupt flag (INT) to "0". Then, when TRX bit is "0",
receive the data as the slave. If you do not want to receive the data along the way, set ACKE
bit to "0". After that, data is not received.
Notes:
• When the ACKE is set to "0" during data transfer, the ACKE cannot set to "1" until the
stop or repeat start condition is detected.
• When the slave transmission is confirmed in interrupting by detecting the reserved
address, ACK response is answered if the reception FIFO is enabled. Disable the
reception FIFO and set ACKE=0.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-4 Functional Description of Each Bit in I2C Bus Status Register (IBSR) (2 / 3)
Bit name
bit4
bit3
bit2
Function
TRX:
Data direction bit
This bit indicates the data direction.
TRX bit setting conditions:
• Transfer (repeat) start condition at a master mode.
• When the eighth bit of the first byte is "1" at a slave mode (transmission direction as a
slave)
TRX bit resetting conditions:
• Generating arbitration lost (AL=1)
• When the eighth bit of the first byte is "0" at a slave mode (reception direction as a
slave)
• When the eighth bit of the first byte is "1" at a master mode (reception direction as a
master)
• Stop condition detection
• (Repeat) start condition other than the master mode is detected.
• I2C interface disable (EN bit=0)
• Bus error detection (BER bit=1)
AL:
Arbitration lost bit
This bit indicates the arbitration lost.
AL bit setting conditions:
• When data outputted in the master mode differs from received data
• When the MSS bit is set to "1", but this device is operating as slave.
• When repeat start condition is detected in first bit of data for the second or
subsequent byte in the master mode
• When stop condition is detected in first bit of data for the second or subsequent byte in
the master mode
• When repeat start condition is tried to generate in the master mode, but it cannot
generate.
• When stop condition is tried to generate in the master mode, but it cannot generate.
AL bit resetting conditions:
• Writing "1" to MSS bit
• Writing "0" to INT bit
• Writing "0" to SPC bit at AL bit=1, SPC bit=1
• I2C interface disable (EN bit=0)
• Bus error detection (BER bit=1)
RSC:
Repetition start
condition
confirmation bit
This bit indicates that the repetition start condition is detected in the master or slave mode.
RSC bit setting conditions:
• When repeat start condition is detected after acknowledge during operation in the slave
or master mode
RSC bit setting conditions:
• Writing "0" to RSC bit
• Writing "1" to MSS bit
• I2C interface disable (EN bit=0)
Writing "1" to this bit is invalid.
Notes:
• While the reception is operating as the slave mode due to detection of the reserved
address, the slave mode is completed if the acknowledge is not responded. Therefore,
this bit is not set to "1" even if next repeat start condition is detected.
• The read command in read-modify-write (RMW) related commands reads "1".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
521
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-4 Functional Description of Each Bit in I2C Bus Status Register (IBSR) (3 / 3)
Bit name
bit1
bit0
522
Function
SPC:
Stop condition
confirmation bit.
This bit indicates that the stop condition is detected in the master or slave mode.
SPC bit setting conditions:
• When the stop condition is detected during operation in the slave or master mode
• When the arbitration lost occurs during operation of the stop condition in the
master mode
SPC bit resetting conditions:
• Writing "0" to this bit
• Writing "1" to MSS bit
• I2C interface disable (EN bit=0)
Writing "1" to this bit is invalid.
Notes:
• While the reception is operating as the slave mode due to detection of the reserved
address, the slave mode is completed if the acknowledge is not responded. Therefore,
this bit is not set to "1" even if next stop condition is detected.
• The read command in read-modify-write (RMW) related commands reads "1".
BB:
Bus status bit.
This bit indicates the bus status.
BB bit setting conditions:
• "L" is detected in SDA or SCL of I2C bus.
BB bit resetting conditions:
• The stop condition is detected.
• I2C interface is disabled (EN bit=0).
• The bus error is detected (BER bit=1).
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2.4
Serial Status Register (SSR0 to SSRA)
Serial status register (SSR0 to SSRA) confirms the transmission/reception condition.
■ Serial Status Register (SSR0 to SSRA)
Figure 17.2-5 shows the bit configuration of serial status register (SSR0 to SSRA), and Table 17.2-5 shows
the function of each bit.
Figure 17.2-5 Bit Configuration of Serial Status Register (SSR0 to SSRA)
bit15 bit14 bit13 bit12 bit11 bit10
SSR
Address
REC TSET


ORE RDRF
ch.0 000062H R/W R/W


R
R
ch.1 000072H
ch.2 000082H
ch.3 000092H
ch.4 0000A2H
ch.5 0000B2H
ch.6 0001B2H
ch.7 0001C2H
ch.8 0001D2H
ch.9 0001E2H
ch.A 0001F2H
bit9
bit8
TDRE

R

bit7
bit0
(IBSR)
Initial value
0-000011B
Unused bit
Read value is undefined. Writing has no effect.
TDRE
0
1
Transmission data empty flag bit
Data is existed in transmission data register (TDR).
Transmission data register TDR is empty.
RDRF
0
1
Receive data full flag bit
Reception data register (RDR) is empty.
Data is existed in reception data register (RDR).
ORE
0
1
Overrun error flag bit
No overrun error
Overrun error
Unused bit
Read value is undefined. Writing has no effect.
TSET
0
1
REC
R
R/W

CM71-10132-3E
: Read only
: Readable/writable
: Unused bit
: Initial value
0
1
Transmission data empty flag set bit
Write
Read
No effect
"0" is always read.
TDRE bit set
Receive error flag clear bit
Write
Read
No effect
"0" is always read.
Clearing of reception
error flag (ORE)
FUJITSU SEMICONDUCTOR LIMITED
523
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-5 Functional Description of Each Bit of the Serial Status Registers (SSR0 to SSRA)
Bit name
Function
bit15
REC:
The reception error
flag clear bit
This bit clears the ORE bit of the serial status register (SSR0 to SSRA).
• Writing "1" clears the ORE bit.
• Writing "0" has no effect.
Read: 0 is always read.
bit14
TSET:
Empty flag set bit
for the transmission
data
This bit sets the TDRE bit of Serial status register (SSR0 to SSRA).
• Writing "1" sets the TDRE bit.
• Writing "0" has no effect.
Read: 0 is always read.
bit13,
bit12
Unused bit
Read: The value is undefined.
Write: No effect.
ORE:
Overrun error flag
bit
• This bit is set to "1" when the overrun is generated in the reception, and cleared when
"1" is written to the REC bit of the serial status register (SSR0 to SSRA).
• When the ORE and RIE bits are "1", the reception interrupt request is outputted.
• If this flag is set, the reception data register (RDR0 to RDRA) is disabled.
• If this flag is set in using the reception FIFO, the reception data is not stored in the
reception FIFO.
RDRF:
The reception data
full flag bit
• This flag indicates the status of Reception Data Register (RDR0 to RDRA).
• When RIE bit and the reception data flag bit (RDRF) are "1", the reception interrupt
request is output.
• The bit is set to "1" when the RDR0 to RDRA loads received data. The bit is cleared to
"0" when the receive data register is read.
• This is set in the timing of the SCL falling of the 8th bit of the data.
• This is set by the NACK response *.
• When using the reception FIFO, RDRF will be set to "1" if the FIFO receives the
specified number of data.
• When using the reception FIFO, it will be cleared to "0" if the reception FIFO is
empty.
• When the reception FIFO is used, the RDRF is set to "1" if the predefined data count is
not received and the data is left in the reception FIFO, and the reception idle status
continues for 8 or more clocks in the reception baud rate clock, and BER bit is "0".
When having read RDR during the eight clocks count, the counter is reset to "0", and
then it counts another eight clocks.
*: NACK response: Acknowledge period. This indicates the SDA of I2C bus is "H".
bit9
TDRE:
The transmit data
empty flag bit
• This bit indicates the status of transmit data register (TDR0 to TDRA).
• When the TIE and TDRE bits are "1", the transmit interrupt request is outputted.
• Goes to "0" when send data written to TDR0 to TDRA to indicate that TDR0 to TDRA
contains valid data. Changes to "1" when the data is loaded into the send shift register
and sending starts. This indicates that the TDR0 to TDRA does not contain valid data.
• This is set when "1" is written to the TSET bit of the serial status register (SSR0 to
SSRA). Use it when you want to set the TDRE bit to "1" if the arbitration lost, or bus
error is detected.
bit8
Unused bit
Read: The value is undefined.
Write: No effect.
bit11
bit10
524
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2.5
Receive Data Register (RDR0 to RDRA), Transmit Data
Register (TDR0 to TDRA)
The reception data register and the transmission data register are allocated in the same
address. It works as a reception data register when read, and it works as a transmit data
register when written.
■ Receive Data Register (RDR0 to RDRA)
Figure 17.2-6 shows the bit configuration of reception data register (RDR0 to RDRA).
Figure 17.2-6 Bit Configuration of Reception Data Register (RDR0 to RDRA)
bit15
RDR
Address:
ch.0 000065H
ch.1 000075H
ch.2 000085H
ch.3 000095H
ch.4 0000A5H
ch.5 0000B5H
ch.6 0001B5H
ch.7 0001C5H
ch.8 0001D5H
ch.9 0001E5H
ch.A 0001F5H
R/W
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
: Readable/writable
The receive data register (RDR0 to RDRA) acts as a data buffer register for the received serial data.
• The serial data signal which transmitted to the serial data line (SDA pin) is converted at the shift
register, and stored in the reception data register (RDR0 to RDRA).
• The lowest bit (RDR:D0) becomes the data direction bit when the first byte * is received.
• The receive data full flag bit (SSR:RDRF) is set to "1" when the receive data is stored in the receive data
register (RDR0 to RDRA).
• The receive data full flag bit (SSR:RDRF) is automatically cleared to "0" when the receive data register
(RDR0 to RDRA) is read.
*: The first byte: Data after the (Repetition) start condition.
Notes:
• When using the reception FIFO, RDRF will be set to "1" if the FIFO receives the specified number
of data.
• While the reception FIFO is being used, the RDRF is cleared to "0" when the reception FIFO
becomes empty.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
525
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
■ Transmit Data Register (TDR0 to TDRA)
Figure 17.2-7 shows the bit configuration of transmission data register (TDR0 to TDRA).
Figure 17.2-7 Bit Configuration of Transmission Data Register (TDR0 to TDRA)
bit15
TDR
Address:
ch.0 000065H
ch.1 000075H
ch.2 000085H
ch.3 000095H
ch.4 0000A5H
ch.5 0000B5H
ch.6 0001B5H
ch.7 0001C5H
ch.8 0001D5H
ch.9 0001E5H
ch.A 0001F5H
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
D7
D6
D5
D4
D3
D2
D1
D0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit8
: Readable/writable
The transmit data register (TDR0 to TDRA) is a data buffer register for the serial send data.
• This is output by the MSB first in the transmission data register (TDR0 to TDRA) value to the serial
data line (SDA pin).
• The lowest bit (TDR:D0) becomes the data direction bit when the first byte is transmitted.
• The transmit data empty flag (SSR:TDRE) is cleared to "0" when send data is written to the transmit
data register (TDR0 to TDRA).
• The transmission data empty flag (SSR:TDRE) is set to "1" when transmitted to the shift register for the
transmission.
• The next transmission data should be written when following conditions are filled.
- Interrupt flag (INT bit) is "1".
- Bus error is not generated. (BER bit=0)
- Acknowledge is ACK response (0 is received as acknowledge).
• While the transmission FIFO is disabled, it is impossible to write the transmission data to the
transmission data register (TDR0 to TDRA) when the data empty flag (SSR:TDRE) is "0".
• While the transmission FIFO is used, the transmission data can be written till it reaches to the
transmission FIFO capacity even if the data empty flag (SSR:TDRE) is "0".
Note:
The transmission data register is a write-only register and the reception data register is a read-only
register. The written value and read value are different because two registers are placed in the same
address. Therefore, the commands which operate the read-modify-write (RMW) such as INC/DEC
command are not available.
526
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2.6
7-bit Slave Address Mask Register (ISMK0 to ISMKA)
7-bit slave address mask register (ISMK0 to ISMKA) compares/configures each bit of
the slave address.
■ 7-bits Slave Address Mask Register (ISMK0 to ISMKA)
Figure 17.2-8 shows the bit configuration of 7-bits slave mask register (ISMK0 to ISMKA), and Table
17.2-6 shows the function of each bit.
Figure 17.2-8 Bit Configuration of 7-bits Slave Mask Register (ISMK0 to ISMKA)
bit15 bit14 bit13 bit12 bit11 bit10 bit9
bit8
bit7
ISMK
Address
EN SM6 SM5 SM4 SM3 SM2 SM1 SM0
ch.0 000068H R/W R/W R/W R/W R/W R/W R/W R/W
ch.1 000078H
ch.2 000088H
ch.3 000098H
ch.4 0000A8H
ch.5 0000B8H
ch.6 0001B8H
SM6 to SM0
0
ch.7 0001C8H
1
ch.8 0001D8H
ch.9 0001E8H
EN
ch.A 0001F8H
0
1
R/W
bit0
(ISBA)
Initial value
01111111B
7 bits slave address mask bit
No bit comparison
Bit comparison
I2C interface enable bit
Interdiction
Permission
: Readable/writable
: Initial value
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
527
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-6 Functional Description of Each Bit of 7-bit Slave Mask Register (ISMK0 to ISMKA)
Bit name
Function
bit15
EN:
I2C interface
enable bit
This bit enables/disables the I2C interface operation.
When set to "0": I2C interface is disabled to be operated.
When set to "1": I2C interface is enabled to be operated.
Notes:
• If the BER bit of the IBCR register is set to "1", this bit is not cleared to "0".
• Set up the baud rate generator when this bit is "0".
• Set up the 7-bit slave address and the 7-bit slave mask register when this bit is "0".
• If the EN bit is set to "0" during transmission, a pulse may be generated in the SDA/SCL
of the I2C bus.
• When FIFO is enabled, disable FIFO and write "0" into the EN bit.
• Disabling the I2C interface operation stops transmission/reception immediately.
• Before disabling the I2C interface operation (EN=0:ICCR) after writing "0" to the MSS
bit to generate a stop condition, make sure that the stop condition has been generated
(BB=0:IBSR).
bit14
to
bit8
SM6 to SM0:
7-bit slave
address mask
bits
These bits specify whether to include the 7-bit slave address and received address in the
comparison.
Bit set to "1": Comparing
Bit set to "0": Processing as result of comparison
Note:
Set this register when EN bit is "0".
528
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2.7
7-bit Slave Address Register (ISBA)
The 7-bit slave address register (ISBA) is a register which sets a slave address.
■ 7-bit Slave Address Register (ISBA)
Figure 17.2-9 shows the bit configuration of the 7-bit slave address register (ISBA). Table 17.2-7 lists the
functions of each bit.
Figure 17.2-9 Bit Configuration of 7-bit Slave Address Register (ISBA)
ISBA
Address
0000X9H
R/W
bit15
bit8
(ISMK)
: Readable/writable
: Initial value
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
SAEN
SA6
SA5
SA4
SA3
SA2
SA1
SA0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
SA
-
7-bit slave address setting bit
7-bit slave address
SAEN
0
1
Slave address enable bit
Interdiction
Permission
Table 17.2-7 Functional Description of Each Bit of the 7-bit Slave Address Register (ISBA)
Bit name
bit7
bit6 to bit0
Function
SAEN:
Slave address
enable bit
This bit enables the detection of slave addresses.
When "0" is set: The slave address is not detected.
When "1" is set: The ISBA and ISMK are set and compared with the first byte being
received.
SA6 to SA0:
7-bit slave
address
• The 7-bit slave address register (ISBA) compares with 7-bit data received after
(repeat) start condition is detected if the slave address detection is enabled
(SAEN=1). If the result of all bits matches, the register operates as the slave mode
and outputs the ACK. The slave addresses received during the comparison are set
into this register. (ACK is not output if SAEN=0)
• The address bit of which the ISMK register is set to "0" is not used for the
comparison.
Notes:
• Setting of reserved address is disabled.
• Set up this register when the EN bit of the ISMK register is "0".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
529
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
17.2.8
MB91345 Series
Baud Rate Generator Register 1/Baud Rate Generator
Register 0 (BGR00 to BGRA0/BGR01 to BGRA1)
The baud rate generator register 1/the baud rate generator register0 (BGR00 to BGRA0/
BGR01 to BGRA1) set the serial clock divide ratio.
■ Bit Configuration of Baud Rate Generator Registers (BGR00 to BGRA0/BGR01 to
BGRA1)
Figure 17.2-10 shows bit configuration of baud rate generator registers 1 and 0 (BGR00 to BGRA0/BGR01
to BGRA1).
Figure 17.2-10 Bit Configuration of Baud Rate Generator Register 1/Baud Rate Generator Register 0
(BGR00 to BGRA0/BGR01 to BGRA1)
BGR
Address
0000X7H
0000X6H
(X =6,7,8,9,A,B,
1C,1D,1E,1F)
bit15 bit14 bit13 bit12 bit11 bit10

()
R/W : Readable/writable
:
Unused bit
bit9
bit8
bit7
bit6
bit5
(BGR1)
R/W
R/W
R/W
R/W
bit4
bit3
bit2
bit1
Initial value
bit0
00000000B
00000000B
(BGR0)
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
BGR0
Write
Read
Baud Rate Generator Registers 0
Writing to reload counter bit0 to bit7
Reading set value of BGR0
BGR1
Write
Read
Baud Rate Generator Registers 1
Writing to reload counter bit8 to bit14
Reading set value of BGR1
Unused bit
At read, value is undefined. Writing has no effect.
The baud rate generator registers set the serial clock divide ratio.
• BGR1 corresponds to upper bits and BGR0 corresponds to lower bits, and the reload value to be
counted can be written and the setting value of BGR1/BGR0 can be read.
• Once the reload value is written to the baud rate generator registers (BGR00 to BGRA0/BGR01 to
BGRA1), the reload counter starts to count.
Notes:
• Writing to the baud rate generator registers (BGR00 to BGRA0/BGR01 to BGRA1) should be
done by 16-bit access.
• Set up the baud rate generator register when the EN bit of the ISMK register is "0".
• Specify the baud rate regardless of whether the master mode or slave mode is currently used.
• In the operation mode 4 (I2C mode), use the peripheral clock at 8 MHz or more. It is prohibited to
set the baud rate generator to the value higher than 400 kbps.
530
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2.9
FIFO Control Register 1 (FCR01, FCR11)
FIFO Control Register 1 (FCR01, FCR11) sets the FIFO test, selects the transmit or
reception FIFOs, enables the transmit FIFO interrupt, and controls the interrupt flags.
■ Bit Configuration of FIFO Control Register 1 (FCR01, FCR11)
Figure 17.2-11 shows the bit configuration of FIFO control register 1 (FCR01, FCR11), and Table 17.2-8
shows the function of each bit.
Figure 17.2-11 Bit Configuration of FIFO Control Register 1 (FCR01, FCR11)
FCRx1 (x = 0, 1)
bit15 bit14 bit13 bit12 bit11 bit10
Address
ch.0 00006AH
ch.1 00007AH
FTST1 FTST0
R/W
R/W


FLSTE FRIIE FDRQ
R/W
R/W
R/W
bit9
bit8
FTIE
FSEL
R/W
R/W
bit7
bit0
(FCR0)
Initial value
00000000B
FSEL
0
1
FIFO selection bits
Transmit FIFO:FIFO1, Receive FIFO:FIFO2
Transmit FIFO:FIFO2, Receive FIFO:FIFO1
FTIE
0
1
Transmission FIFO interrupt enable bit
Disable transmission FIFO interrupts.
Transmission FIFO Interrupt enable
FDRQ
0
1
Transmission FIFO data request bit
No transmission FIFO data request
Transmission FIFO data request
FRIIE
0
1
Reception FIFO idle detection enable bit
Reception FIFO idle detection disable
Reception FIFO idle detection enable
FLSTE
0
1
Re-transfer data lost detection enable bit
Data lost detection disable
Data lost detection enable
Unused bit
Read value is undefined. Writing has no effect.
Reserved
0
R/W

Reserved bit
Be sure to set "0" to this bit.
: Readable/writable
: Unused bit
: Initial value
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
531
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-8 Functional Description of Each Bit in the FIFO Control Register 1 (FCR01, FCR11)
Bit name
Function
bit15,
bit14
Reserved bit
This bit is reserved bit.
Be sure to set "0" to this bit.
bit13
Unused bit
Read: The value is undefined.
Write: No effect.
bit12
FLSTE:
The retransmission
data lost detection
enable bit
This bit enables the FLST bit detection.
When the bit is set to "0": Disable detection of FLST bit
When the bit is set to "1": Enable detection of FLST bit
Note:
Set this bit to "1" after the FSET bit is set to "1".
FRIIE:
Reception FIFO idle
detection enable bit
This bit sets whether to detect a reception idle status for 8-bit time or longer under the
condition where data valid for reception FIFO exists. If the reception interrupt is enabled
(SMR:RIE=1), the reception interrupt will occur when the reception idle status is
detected.
When set to "0": The reception idle status detection is disabled.
When set to "1": The reception idle status detection is enabled.
bit10
FDRQ:
The transmit FIFO
data request bit
This is a bit to request the data of the transmit FIFO.
When this bit is set to "1", it indicates the transmission data is requested. In this case, the
transmission FIFO interrupt request is output if the transmission FIFO interrupt is
enabled (FTIE=1).
FDRQ setting conditions:
• FBYTE (for transmission)=0 (the transmission FIFO is empty)
• Reset of the transmission FIFO.
FDRQ resetting conditions:
• Writing "0" to this bit.
• When the transmit FIFO is full.
Notes:
• Writing "0" to this bit is prohibited in FBYTE (for transmission)=0.
• The FSEL bit cannot be changed while this bit is "0".
• When this bit is set to "1", there is no influence on the operation.
• When having a read-modify-write (RMW) related instruction, "1" is read out.
bit9
FTIE:
The transmit FIFO
interrupt enable bit
bit11
bit8
532
FSEL:
FIFO selecting bit
This bit enables the interrupt of the transmit FIFO.
When this bit is set to "1", an interruption occurs if the FDRQ bit is "1".
This bit selects the transmission/reception FIFO.
When the bit is set to "0": Assign to transmit FIFO:FIFO1, reception FIFO:FIFO2
When the bit is set to "1": Assign to transmit FIFO:FIFO2, reception FIFO:FIFO1
Notes:
• This bit is not cleared at a FIFO reset (FCL2, FCL1=1).
• Before updating this bit, disable the FIFO operation (FE2, FE1=0), and I2C interface
operation (ISMK:EN=0).
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2.10
FIFO Control Register 0 (FCR00, FCR10)
The FIFO Control Register 0 (FCR00, FCR10) enables or disables the FIFO operation,
resets FIFO, saves the read pointer, and sets retransmit.
■ Bit Configuration of FIFO Control Register 0 (FCR00, FCR10)
Figure 17.2-12 shows the bit configuration of FIFO control register 0 (FCR00, FCR10), and Table 17.2-9
shows the function of each bit.
Figure 17.2-12 Bit Configuration of FIFO Control Register 0 (FCR00, FCR10)
FCRx0
(x = 1, 0)
Address
ch.0 00006BH
ch.1 00007BH
bit15
bit8
(FCR1)
bit1
bit0
Initial value
FLST FLD FSET FCL2 FCL1
FE2
FE1
00000000B
R/W
R/W
R/W
bit7

bit6

R/W
FIFO2 operation enable bit
FIFO2 operation disabled
FIFO2 operation enabled
0
1
CM71-10132-3E
R/W
bit2
FE2
0
1
FCL2
: Readable/writable
: Unused bit
: Initial value
R/W
bit3
FIFO1 operation enable Bit
FIFO1 operation disabled
FIFO1 operation enabled
0
1

R/W
bit4
FE1
0
1
FCL1
R/W
bit5
FIFO1 reset bit
Write
Read
No effect
"0" is always read.
FIFO1 reset
FIFO2 reset bit
Write
Read
No effect
"0" is always read.
FIFO2 reset
FSET
0
1
FIFO pointer save bit
Not saved.
Saved.
FLD
0
1
FIFO pointer reload bit
Not reloaded.
Reloaded.
FLST
0
1
FIFO re-transfer data lost flag bit
No data lost
Data lost
Unused bit
At read, "0" is always read. At write, "0" is always write.
FUJITSU SEMICONDUCTOR LIMITED
533
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-9 Functional Description of Each Bit in the FIFO Control Register 0 (FCR00, FCR10) (1 / 3)
Bit name
bit7
bit6
bit5
bit4
bit3
534
Function
Unused bit
Read: "0" is always read.
Write: Always write "0".
FLST:
The FIFO retransmit
data lost flag bit
This bit indicates that the retransmit data of the transmit FIFO is lost.
FLST setting condition:
• Data is written to FIFO when the FLSTE bit of the FIFO control register 1 (FCR1) is
"1" and the write pointer of transmit FIFO and the read pointer saved by the FSET bit
match.
FLST resetting condition:
• FIFO reset (writing "1" to FCL)
• Write "1" to FSET bit
When "1" is set to this bit, data which the read pointer saved by the FSET bit indicates
is overwritten, and retransmission cannot be set by the FLD bit even if error occurs.
When you retransmit the data while this bit is set to "1", you must reset the FIFO, and
write the data to the FIFO again.
FLD:
The FIFO pointer
reload bit
This bit reloads the data saved in the transmit FIFO by the FSET bit to the read pointer.
This bit is used to retransmit the data when a communication error occurs. Once the
retransmit setting is completed, this bit becomes "0".
Notes:
• Data is being reloaded to the read pointer while this bit is set to "1". Therefore, do
not write reset other than FIFO reset.
• Do not set this bit to "1" during FIFO enable status or the transmission.
• First, set the TIE bit to "0", write "1" into this bit, enable the transmission FIFO,
and then set the TIE bit to "1".
FSET:
The FIFO pointer save
bit
This is a bit to save the read pointer of the transmit FIFO.
If you save the read pointer before the transmission, you may retransmit as long as
FLST bit is set to "0" even if a communication error occurred.
When set to "1": Current read pointer value is saved.
When the bit is set to "0": No effect.
Note:
Set this bit to "1" while number of transmission bytes (FBYTE) indicates "0".
FCL2:
FIFO2 reset bit
This bit sets FIFO2.
When this bit is set to "1", the internal status of FIFO is initialized.
Only the FCR0:FLST bit is initialized. Other bits of the FCR1/FCR0 register are
retained as is.
Notes:
• Execute FIFO2 reset after disabling FIFO2.
• Set the transmission FIFO interrupt enable bit to "0" before the operation.
• Number of valid data for the FBYTE2 register is "0".
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-9 Functional Description of Each Bit in the FIFO Control Register 0 (FCR00, FCR10) (2 / 3)
Bit name
bit2
bit1
Function
FCL1:
FIFO1 reset bit
This bit resets FIFO1.
When this bit is set to "1", the internal status of FIFO is initialized.
Only the FCR0:FLST bit is initialized. Other bits of the FCR1/FCR0 register are
retained as is.
Notes:
• Execute FIFO1 reset after disabling FIFO1.
• Set the transmission FIFO interrupt enable bit to "0" before the operation.
• Number of valid data for the FBYTE1 register is "0".
FE2:
The FIFO2 operation
enable bit
This bit enables or disables the FIFO2 operation.
• If FIFO2 is used, set this bit to "1".
• If this is selected as a reception FIFO by FSEL bit, this bit is cleared to "0" in case of
the reception error, and this bit cannot be set to "1" until the reception error is cleared.
• To use as the transmission FIFO, set this bit to "1" or "0" when transmission data is
empty (TDRE=1). To use as the reception FIFO, set this bit to "1" or "0" when
reception data is empty (RDRF=0).
• FIFO2 state is maintained even when FIFO2 is disabled.
Notes:
• Change enable/disable operation when the BB bit is "0" or the INT bit is "1".
• When the reception FIFO is selected, and if you want to detect the reserved address
and to perform slave transmission operation, set this bit to "0" and ACKE=0 using
the interrupt by the reserved address detection.
• When the reception FIFO is used, and the RDRF bit of the SSR is "1" while this bit
is changed from "1" to "0", the reception FIFO is not disabled until the RDRF bit is
set to "0".
• When the transmission FIFO is used and data exists in FIFO2, and if you want to
change this bit from "0" to "1", set the FIE bit to "0" and write "1" into this bit to
set the TIE bit to "1".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
535
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
Table 17.2-9 Functional Description of Each Bit in the FIFO Control Register 0 (FCR00, FCR10) (3 / 3)
Bit name
bit0
536
FE1:
The FIFO1 operation
enable bit
Function
This bit enables or disables the FIFO1 operation.
• If FIFO1 is used, set this bit to "1".
• If this is selected as a reception FIFO by FSEL bit, this bit is cleared to "0" in case of
the reception error, and this bit cannot be set to "1" until the reception error is cleared.
• To use as the transmission FIFO, set this bit to "1" or "0" when transmission data is
empty (TDRE=1). To use as the reception FIFO, set this bit to "1" or "0" when
reception data is empty (RDRF=0).
• FIFO1 state is maintained even when FIFO1 is disabled.
Notes:
• Change enable/disable operation when the BB bit is "0" or the INT bit is "1".
• When the reception FIFO is selected, and if you want to detect the reserved address
and to perform slave transmission operation, set this bit to "0" and ACKE=0 using
the interrupt by the reserved address detection.
• When the reception FIFO is used, and the RDRF bit of the SSR is "1" while this bit
is changed from "1" to "0", the reception FIFO is not disabled until the RDRF bit is
set to "0".
• When the transmission FIFO is used and data exists in FIFO1, and if you want to
change this bit from "0" to "1", set the FIE bit to "0" and write "1" into this bit to
set the TIE bit to "1".
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
17.2.11
FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11,
FBYTE12)
The FIFO byte register (FBYTE01, FBYTE02, FBYTE11, FBYTE12) indicates the number
of the data available for FIFO. In addition, you can set whether the reception interrupt
should occur when the reception FIFO receives the specified number of data.
■ Bit Configuration of FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12)
Figure 17.2-13 shows the bit configuration of FIFO byte register (FBYTE01, FBYTE02, FBYTE11,
FBYTE12).
Figure 17.2-13 Bit Configuration of FIFO Byte Register (FBYTE01, FBYTE02, FBYTE11, FBYTE12)
FBYTE01
00006DH
FBYTE02
00006CH
FBYTE11
00007DH
FBYTE12
00007CH
bit15 bit14 bit13 bit12 bit11 bit10
bit9
bit8
bit7
bit6
bit5
(FBYTE2)
R/W
R/W
R/W
R/W
R/W
bit4
bit3
bit2
bit1
bit0
00000000B
00000000B
(FBYTE1)
R/W
R/W
R/W
R/W : Readable/writable
Read (the number of valid data)
At transmission : Number of data written to FIFO and
not transmitted
At reception
: Number of data received in FIFO
Write (the number of transmission)
At transmission : Set "00H"
At reception
: Set number of data which generates
the reception interrupt.
R/W
R/W
R/W
R/W
R/W
Initial value
R/W
R/W
R/W
FBYTE1
Write
Read
Displaying the number of FIFO1 data bit
Set the number of transmission
Read the number of valid data
FBYTE2
Write
Read
Displaying the number of FIFO2 data bit
Set the number of transmission
Read the number of valid data
The FBYTE register indicates the number of valid data pieces of FIFO. It operates as follows according to
the setting of the FCR1:FSEL bit.
Table 17.2-10 Indicate Number of Data
FSEL
FIFO selection
Indicate number of data
0
FIFO2: Reception FIFO, FIFO1: Transmission FIFO
FIFO2: FBYTE2, FIFO1: FBYTE1
1
FIFO2: Transmission FIFO, FIFO1: Reception FIFO
FIFO2: FBYTE2, FIFO1: FBYTE1
• The initial value for the number of FBYTE register is "08H".
• Specify the data count that causes the reception interrupt flag to be generated in FBYTE of the reception
FIFO. The interrupt flag (RDRF) is set to "1" if the specified number of the transfers matches the data
displayed for the FBYTE register.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
537
CHAPTER 17 I2C Interface
17.2 I2C Interface Register
MB91345 Series
• While the reception FIFO idle detection enable bit (FRIIE) is "1" and the data count that exists in the
reception FIFO is under the transfer count, the interrupt flag (RDRF) is set to "1" when the reception
idle status continues for 8 or more clocks in the baud rate clock. When having read RDR during the
eight clocks count, the counter is reset to "0", and then it counts another eight clocks. When the
reception FIFO is disabled, the counter is reset to "0". If you enable the reception FIFO when the data
remains in the FIFO, the counting process will be started again.
• To receive data with the master operation (master reception), set the TIE bit to "0", specify the number
of data pieces to receive in the FBYTE register of the transmission FIFO, and write "0" into the FDRQ
bit. The clock of the SCL is output for the amount of specified data, and then the INT bit turns to "1". If
you want to set "1" into the TIE bit, set "1" after the FDRQ turns to "1".
Notes:
• Except for the case where you receive data with the master operation, set FBYTE for the
transmission FIFO to "800H".
• Set the number of transmission data pieces to receive data with the master operation when the
transmission FIFO is empty and the TIE bit is "0".
• To disable the I2C interface (EN=0) while data is being received with the master operation, do it
after disabling the transmission/reception FIFO.
• Set data of "1" or more to the FBYTE for reception FIFO.
• Execute change operation after disabling the transmit/reception operation.
• This register cannot use the read-modify-write (RMW) related commands.
• Setting that exceeds capacity of FIFO is disabled.
538
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
17.3
I2C Interface Interruption
The interrupt request for the I2C interface interrupt can be generated with the following
factors:
• After first byte/data is transmitted and received
• Stop condition
• Repeat start condition
• FIFO transmission data request
• FIFO reception data completion
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
539
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
■ I2C Interface Interruption
Table 17.3-1 shows the interrupt control bit and interrupt causes of I2C interface.
Table 17.3-1 Interrupt Control Bits and Interrupt Causes of I2C Interface
Interrupt
type
Interrupt
request
flag bit
Flag
register
Interrupt Factor
Interrupt
factor enable
bit
Clear of the interrupt request flag
After the transmission/
reception of the first byte*1
After the transmission/
reception of data *1
Writing "0" into the interrupt flag bit
(IBCR:INT)
Bus error detection
Arbitration lost detected
INT
IBCR
Reception of data
specified with the FBYTE
setting value
IBCR:INTE
Write "0" into the interrupt flag bit
(IBCR:INT) after reading the received
data (RDR) until the reception FIFO
becomes empty.
The receive idle state of 8bit time or more is
detected when the FRIIE is
"1" and valid data exists in
the reception FIFO.
Reception
Reserved address detection
Reading the received data (RDR)
After data reception
RDRF
SSR
Reception of data
specified with the FBYTE
setting value
SMR: RIE
Read received data (RDR) until the
reception FIFO becomes empty.
ORE
SSR
Overrun error
Write "1" into the reception error flag bit
(SSR:REC)
SPC
IBSR
Stop condition
Write "0" into the stop condition detection
bit
IBCR:CNDE
RSC
IBSR
Repetitive start condition
The transmit register is
empty
TDRE
SSR
FDRQ
FCR1
Transmit
Write "1" into the
transmission buffer empty
flag set bit (SSR:TSET)
The transmit FIFO is
empty
SMR:TIE
FCR1:FTIE
Write "0" into the repetitive start detection
flag bit (IBSR:RSC)
Writing to the transmit data (TDR), or
writing "1" to the transmit FIFO operation
enable bit when the transmit FIFO
operation enable bit is "0" and the valid
data exists in the transmit FIFO
(Resend) *2
Writing "0" to the FIFO transmit data
request bit or the transmit FIFO is full.
*1: Interrupt does not occur when correct data can be transmitted/received and the TDRE is set to "0". This is for
supporting DMA transfer. To generate the INT flag during data transmission/reception, the TDRE bit must be "1"
before the timing when the INT flag is set.
*2: Set the TIE bit to "1" after the TDRE bit becomes "0".
540
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
17.3.1
Operation of I2C Interface Communication
The I2C interface establishes communication using two two-way bus line, a serial data
line (SDA) and a serial clock line (SCL).
■ I2C Bus Start Condition
Start condition of I2C bus is shown below.
Figure 17.3-1 Start Condition
SDA
SCL
Start condition
■ I2C Bus Stop Condition
Stop condition of I2C bus is shown below.
Figure 17.3-2 Stop Condition
SDA
SCL
Stop condition
■ I2C Bus Repeat Start Condition
Repeat start condition of I2C bus is shown below.
Figure 17.3-3 Repeat Start Condition
SDA
SCL
ACK
Repeat start condition
CM71-10132-3E
ACK : Acknowledge
FUJITSU SEMICONDUCTOR LIMITED
541
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
17.3.2
MB91345 Series
Master Mode
The master mode makes the I2C bus generate the start condition and outputs a clock to
the I2C bus. When the I2C bus is idle (SCL=H, SDA=H), setting "1" into the MSS bit of the
IBCR register activates the master mode, and the ACT bit of the IBCR register turns to
"1".
■ Generation of Start Condition
The following condition output the start condition.
When SDA=H, SCL=H, EN=1 and BB=0, writing "1" to MSS bit
When the start condition is output to the I2C bus, the ACT bit is set to "1". Then, the BB bit is set to "1"
when the start condition is received, indicating that the I2C bus is being communicated (see Figure 17.3-4).
Figure 17.3-4 Output of Start Condition and Relation Between each bit
Start condition
SDA
A6
A5
SCL
1
2
BB bit
MSS bit
"1" write
ACT bit
TRX bit
FBT bit
TDRE bit
A6 : Address bit 6
A5 : Address bit 5
Note:
542
In the operation mode 4 (I2C mode), use the peripheral clock at 8 MHz or more. It is prohibited to set
the baud rate generator to the value higher than 400 kbps.
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
■ Slave Address Output
When the start condition is output, the data specified to the TDR register is output from bit7 as an address.
When FIFO is enabled, the data of the TDR register which was written first is output. Bit0 is used as a data
direction bit (R/W). When the data direction bit (R/W) is "0", the data is written (from master to slave).
Finish the address setting to the TDR register before writing MSS=1 or SCC=1.
Output timing of address and data direction are shown in Figure 17.3-5 and Figure 17.3-6.
Figure 17.3-5 Address and Data Direction (When FIFO is Disabled)
1
2
3
4
5
6
7
8
SCL
SDA
A6(D7) A5(D6) A4(D5) A3(D4) A2(D3) A1(D2) A0(D1) R/W(D0)
ACK
BB bit
MSS bit *
TDRE bit
INT bit
<Reservation address detection>
RSA bit
RDRF bit
INT bit
SCL is "L" while INT has been "1"
A6 to A0 : Address
D7 to D0 : TDR register bit
R/W : Data derection (Write in "L" state)
ACK : Acknowledge (Acknowledge in "L" state. Output from slave)
* : Set an address to the TDR register before writing "1" to the MSS bit.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
543
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-6 Address and Data Direction (When Transmission/Reception FIFO is Enabled)
1
2
3
4
5
6
7
8
SCL
SDA
A6(D7) A5(D6) A4(D5) A3(D4) A2(D3) A1(D2) A0(D1) R/W(D0)
ACK
BB bit
MSS bit *1
INT bit *2
<Reservation address derection>
RSA bit
RDRF bit
INT bit
A6 to A0 : Address
SCL is "L" while INT has been "1"
D7 to D0 : TDR register bit
R/W : Data detection (Write in "L" state)
ACK : Acknowledge (Acknowledge in "L" state. Output from slave)
*1 : Set an address to the TDR register before writing "1" to the MSS bit.
*2 : When acknowledge is "L" and R/W=L, data exists in transmit FIFO, or when acknowledge is "L" and R/W=H,
the INT bit can not be "1" if no data exists in reception FIFO.
544
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
■ Acknowledge Reception by the First Byte Transmit
When the data direction bit (R/W) is output, the I2C interface receives an acknowledge from the slave.
Operation in FIFO enabled and FIFO disabled is shown below.
Table 17.3-2 Operation after Transmission/Reception of Acknowledge (RSA Bit=0)
Transmission Reception Transmission
FIFO
FIFO
FIFO status
Data
Operation immediately after acknowledge reception
Reception
direction
FIFO
Acknowledge is ACK
Acknowledge is NACK
status bit (R/W)
0
Disable
Disable


1
No data
0
Disable
Enable

1
0
Enable
Disable


1
No data
0
Enable
Enable

CM71-10132-3E
When the TDRE bit is "1",
the INT bit is set to "1" and
wait occurs. If the TDRE bit
is "0", the INT bit is kept to
"0" and wait does not occur.
When the TDRE bit is "1",
the INT bit is set to "1" and
The INT bit is set to "1"
wait occurs. If the TDRE bit
and wait occurs.
is "0", the INT bit is kept to
"0" and wait does not occur.
If the TDRE bit is "1", the
INT bit is set to "1" and wait
occurs. If the TDRE bit is
"0", the INT bit is kept to "0"
and wait does not occur.
The INT bit is set to "1" and The INT bit is set to "1"
and wait occurs.
wait occurs.
Data
-
When the TDRE bit is "1",
the INT bit is set to "1" and
wait occurs. If the TDRE bit
is "0", the INT bit is kept to
"0" and wait does not occur.
The INT bit is set to "1" and The INT bit is set to "1"
and wait occurs.
wait occurs.
Data

When the TDRE bit is "1",
the INT bit is set to "1" and
The INT bit is set to "1"
wait occurs. If the TDRE bit
and wait occurs.
is "0", the INT bit is kept to
"0" and wait does not occur.
1
If the TDRE bit is "1", the
INT bit is set to "1" and wait
occurs. If the TDRE bit is
"0", the INT bit is kept to "0"
and wait does not occur.
FUJITSU SEMICONDUCTOR LIMITED
545
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
● FIFO disable (Both transmit FIFO and reception FIFO are disabled)
• When the RSA bit is "0", and when the TDRE bit is "1" after an acknowledge is received, the interrupt
flag (INT) is set to "1", the SCL is kept to "L", and wait occurs. When "0" is written into the interrupt
flag, the flag is set to "0" and the wait is canceled. If the TDRE bit is "0" and ACK is received, the
interrupt flag is not set to "1" and a clock is generated for the SCL.
• If the RSA bit is "1", the interrupt flag (INT) is set to "1", the SCL is kept to "L", and wait occurs after
an reserved address is received (before an acknowledge is received). After the RDR register is read, the
ACKE bit and transmission data are set. When "0" is written into the interrupt flag, the flag is set to "0"
and the wait is canceled.
• The received acknowledge is set into the RACK bit. The RACK bit is checked during the wait. If it is
NACK, "0" is written into the MSS bit or "1" is written into the SCC bit, and the stop condition or
repetitive start condition is generated respectively.
● FIFO enable
• Before setting "1" into the MSS bit, you need to set the following for FIFO:
- To transmit data to the slave (Data direction bit=0), set the data including the slave address to the
transmission FIFO.
- To receive data from the slave (Data direction bit=1), set the number of reception data pieces to
receive into the FIFO byte count register. Then, write dummy data into the transmission data register
for the amount of the slave address and the data direction bit to be received.
• When the RSA bit is "0" and the received acknowledge is ACK, the interrupt flag (INT) is not set to "1",
and the data is transmitted/received according to the data direction bit setting (no wait). If the
acknowledge is NACK, the interrupt flag (INT) is set to "1", the SCL is kept to "L" and wait occurs.
• The received acknowledge is stored in the RACK bit. If the RACK bit is confirmed that it is NACK for
waiting, writing "0" to the MSS bit or writing "1" to the SCC bit generates the stop condition or the
repeat start condition. At this time, the INT bit is automatically cleared to "0".
546
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-7 Acknowledge (FIFO Disabled, RSA=0, ACK Response)
"L" by INT bit
Data
SCL
SDA
R/W
ACK
"0" write
INT bit
RACK bit
FBT bit
Write to TDR register
TDRE bit
Wait to the address
• If the RSA bit is "0", wait is after acknowledge.
• If the RSA bit is "1", wait is before acknowledge.
That does not depend on the setting of WSEL.
Figure 17.3-8 Acknowledge (FIFO Disabled, RSA=0, NACK Response)
"L" by INT bit
SCL
SDA
R/W
NACK
"0" write
Stop condition
INT bit
MSS bit
RACK bit
FBT bit
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
547
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-9 Acknowledge (FIFO Disabled, RSA=1, ACK Response)
"L" by INT bit
Data
SCL
SDA
R/W
ACK
"0" write
INT bit
RACK bit
FBT bit
RSA bit
Read RDR register
RDRF bit
Figure 17.3-10 Acknowledge (FIFO Disabled, RSA=1, NACK Response)
"L" by INT bit
SCL
SDA
R/W
NACK
"0" write
Stop condition
INT bit
MSS bit
RACK bit
FBT bit
RSA bit
Read RDR register
RDRF bit
548
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-11 Acknowledge (FIFO Enabled, Transmission FIFO with Data, Reception FIFO without Data,
RSA=0, ACK Response)
Data
SCL
SDA
R/W
ACK
INT bit
RACK bit
FBT bit
TDRE bit
■ Data Transmission by Master
When the data direction bit (R/W) is "0", data is sent from the master. The slave returns a response of ACK
or NACK every time one byte of data is transmitted.
The location where wait occurs varies as follows depending on the WSEL bit setting:
Table 17.3-3 WSEL Bit at Master Data Transfer
WSEL bit
Operation
0
In the second and later bytes, when an acknowledge is returned in the condition where the TDRE bit is "1"
or arbitration lost is detected, the interrupt flag (INT) is set to "1", the SCL is set to "L", and wait occurs. If
FIFO is enabled, when an acknowledge is returned in the condition where arbitration lost is detected or there
is no more valid data for the transmission data register (TDRE=1), the interrupt flag (INT) is set to "1" and
wait occurs.
1
In the second and later bytes, when the master send one byte of data in the condition where the TDRE bit is
"1" or when arbitration lost is detected, the interrupt flag (INT) is set to "1", the SCL is set to "L", and wait
occurs. If FIFO is enabled, when arbitration lost is detected or when there is no valid data for the
transmission data register (TDRE=1) after data is transmitted, the interrupt flag (INT) is set to "1" and wait
occurs.
Note that in the following case, the interrupt flag (INT) is set when the acknowledge is returned regardless
of the WSEL setting:
• If NACK is received when other conditions than stop condition (MSS=0, ACT=1) are set.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
549
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
The following is an example procedure to send data to the slave:
● When sending to other than a reservation address.
• If transmit FIFO is disabled
(1) Set the slave address (including the data direction bit) into the TDR register and write "1" into the
MSS bit.
(2) Interrupt flag (INT) is "1" by receiving ACK after sending slave address.
(3) Write data which is sent to the TDR register.
(4) Upon the WSEL bit update, write "0" into the interrupt flag (INT) and cancel the wait for the I2C
bus.
(5) If WSEL=0 when one byte of data is sent, set the interrupt flag to "1" after an acknowledge is
received and wait for the I2C bus. Repeat steps (2) through (4) until the specified number of data
pieces is sent. If, however, WSEL=1 and NACK is received after the wait is canceled, an interrupt
occurs again after an acknowledge is received to wait for the bus.
(6) Set "0" into the MSS bit or "1" into the SCC bit to generate the stop condition or repetitive start
condition respectively.
• If transmit FIFO is enabled
(1) Write the slave address (including the data direction bit) and transmission data into the TDR
register.
(2) Write "1" to the MSS bit setting the WSEL bit.
(3) If NACK is received during the transmission, set the interrupt flag (INT) to "1" immediately after
that and wait for the I2C bus. If all the received response is ACK and after the last byte is
transmitted, set the interrupt flag to "1" according to the WSEL setting and wait for the I2C bus.
(4) Write "0" into the MSS bit and generate the stop condition.
● When sending to the reservation address
• If transmit FIFO is disabled
(1) Set a reserved address into the TDR register as a slave address, and write "1" into the MSS bit.
(2) Interrupt flag (INT) is "1" after sending slave address.
(3) Read the RDR register and check the reservation address. *
(4) Write data which is sent to the TDR register.
(5) Upon the WSEL bit update, write "0" into the interrupt flag (INT) and cancel the wait for the I2C
bus.
(6) If WSEL=0 after one byte of data is sent, set the interrupt flag to "1" after an acknowledge is
received and wait for the I2C bus. If WSEL=1, do it immediately after sending one bye of data.
Repeat steps (4) through (6) until the specified number of data pieces is sent. If, however, WSEL=1
and NACK is received after the wait is canceled, an interrupt occurs again after an acknowledge is
received to wait for the bus.
(7) Setting "0" to the MSS bit or "1" to the SCC bit generates the stop condition or the repeat start
condition.
* : When it is a multi master and the reservation address is a general call, it is necessary to confirm
whether it works as master or slave at next data setting the ACKE bit to "1" and the WSEL bit to "1" if
there is a possibility to work as slave because of generation of arbitration lost.
550
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
• If transmit FIFO is enabled
(1) Set a reserved address into the TDR register as a slave address, and write "1" into the MSS bit.
(2) Interrupt flag (INT) is "1" after sending slave address.
(3) Read the RDR register and check the reservation address. *
(4) Write all transmission data into the TDR register (if the transmission FIFO becomes full, write data
to that amount).
(5) If NACK is received during the transmission, set the interrupt flag (INT) to "1" immediately after
that and wait for the I2C bus. If all the received response is ACK and after the last byte is
transmitted, set the interrupt flag to "1" according to the WSEL setting and wait for the I2C bus.
(6) Set "0" into the MSS bit or "1" into the SCC bit to generate the stop condition or repetitive start
condition respectively.
* : When it is a multi master and the reservation address is a general call, it is necessary to confirm
whether it works as master or slave at next data setting the ACKE bit to "1" and the WSEL bit to "1" if
there is a possibility to work as slave because of generation of arbitration lost.
Notes:
• To change the IBCR register during transmission, change it while the interrupt flag (INT) is "1".
• When the WSEL bit is changed, the new setting is used in the generation condition of the interrupt
flag (INT) for the next data.
• When the TDRE is "1" during data transmission and if transmission data is written into the TDR
register and an ACK response is detected, the interrupt flag (INT) is not set to "1" and the written
data is transmitted.
• When the TDRE is "1" during data reception and if transmission data is written into the TDR
register and ACK is returned, the interrupt flag (INT) is not set to "1" and only the RDRF is set to
"1" (When the reception FIFO is enabled and the data is received for the length set in the FBYTE
register).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
551
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-12 Master Transmit Interrupt 1 by FIFO Disabled (WSEL=0, RSA=0)
S
Slave Address
W ACK
Data
ACK
1
Data
ACK Data
ACK P or Sr
3
2
2
S : Start condition
W : Data direction bit (write direction)
P : Stop condition
Sr : Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt generation by slave address transmit + direction bit transmit + acknoledge reception.
Write INT=0 after writing trasmit data to the TDR register.
2 Interrupt generation by 1 byte transmit + acknowledge reception.
Write INT=0 after writing trasmit data to the TDR register.
3 Interrupt generation by 1 byte transmit + acknowledge reception.
Set MSS=0 or MSS=1, and SCC=1.
Note: The TDRE bit is "1" when generating interrupt flag (INT).
Figure 17.3-13 Master Transmit Interrupt 2 by FIFO Disabled (WSEL=1, RSA=0, ACK Response)
S
Slave Address
W ACK
Data
1
ACK
Data
2
ACK Data
2
ACK P or Sr
3
S : Start condition
W : Data direction bit (write direction)
P : Stop condition
Sr : Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt generation by slave address transmit + direction bit transmit + acknoledge reception.
Write INT=0 after writing trasmit data to the TDR register.
2 Interrupt is generated by 1 byte transmit.
Write INT=0 after writing trasmit data to the TDR register.
3 Interrupt is generated by 1 byte transmit.
Set MSS=0 or MSS=1, and SCC=1.
Note: The TDRE bit is "1" when generating interrupt flag (INT).
552
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-14 Master Transmit Interrupt 3 by FIFO Disabled (WSEL=1, RSA=0, NACK Response)
S
Slave Address W ACK
Data
ACK
1
Data
ACK Data
2
2
NACK P or Sr
3
S : Start condition
W : Data direction bit (write direction)
P : Stop condition
Sr : Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt generation by slave address transmit + direction bit transmit + acknoledge reception.
Write INT=0 after writing trasmit data to the TDR register.
2 Interrupt is generated by 1 byte transmit.
Write INT=0 after writing trasmit data to the TDR register.
3 Interrupt is generated by 1 byte transmit.
Set MSS=0 or MSS=1, and SCC=1.
Note: The TDRE bit is "1" when generating interrupt flag (INT).
Figure 17.3-15 Master Transmit Interrupt 4 by FIFO Disabled
(WSEL=1, RSA=0, NACK Response during Master Transmit)
S
Slave Address
W ACK
Data
1
ACK
Data
2
ACK Data
2
NACK P or Sr
2
3
S : Start condition
W : Data direction bit (write direction)
P : Stop condition
Sr : Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt generation by slave address transmit + direction bit transmit + acknoledge reception.
Write INT=0 after writing trasmit data to the TDR register.
2 Interrupt is generated by 1 byte transmit.
Write INT=0 after writing trasmit data to the TDR register.
3 Interrupt is generated by NACK response.
Set MSS=0 or MSS=1, and SCC=1.
Note: The TDRE bit is "1" when generating interrupt flag (INT).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
553
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-16 Master Transmit Interrupt 5 by FIFO Disabled (WSEL=1->"0", RSA=0, ACK Response)
S
Slave Address W
ACK
Data
ACK
Data
ACK Data
2
2
1
ACK P or Sr
3
S : Start condition
W : Data direction bit (write direction)
P : Stop condition
Sr : Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt generation by slave address transmit + direction bit transmit + acknoledge reception.
Write INT=0 after writing trasmit data to transmit buffer.
2 Interrupt is generated by 1 byte transmit.
Write WSEL=0 and INT=0 after writing trasmit data to transmit buffer.
3 Interrupt is generated by 1 byte transmit.
Set MSS=0 or MSS=1, and SCC=1.
Note: The TDRE bit is "1" when generating interrupt flag (INT).
Figure 17.3-17 Master Transmit Interrupt 6 by FIFO Disabled (WSEL=0, RSA=1)
S
Slave Address
W ACK
1
Data
ACK
Data
2
ACK Data
2
ACK P or Sr
3
S : Start condition
W : Data direction bit (write direction)
P : Stop condition
Sr : Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt is generated by slave address (reservation address) transmit+ direction bit transmit
+ acknoledge reception.
Write INT=0 after writing trasmit data to the TDR register.
2 Interrupt generation by 1 byte transmit + acknowledge reception.
Write INT=0 after writing trasmit data to the TDR register.
3 Interrupt generation by 1 byte transmit + acknowledge reception.
Set MSS=0 or MSS=1, and SCC=1.
Note: The TDRE bit is "1" when generating interrupt flag (INT).
554
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-18 Master Transmit Interrupt 7 by FIFO Enabled (WSEL=0, RSA=0, ACK Response)
S
Slave Address
W ACK
Data
ACK
Data
ACK Data
ACK P or Sr
2
1
S : Start condition
W : Data direction bit (write direction)
P : Stop condition
Sr : Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt is generated by the case that transmit FIFO is empty
Write INT=0 after writing trasmit data to transmit FIFO.
2 Interrupt is generated by the last byte transmit (transmit FIFO is empty) + acknowledge reception.
Set MSS=0 or MSS=1, and SCC=1.
Figure 17.3-19 Master Transmit Interrupt 8 by FIFO Enabled (WSEL=1, RSA=0)
S
Slave Address
W ACK
Data
ACK
Data
ACK Data
1
ACK P or Sr
2
S : Start condition
W: Data direction bit (Write direction)
P: Stop condition
Sr: Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt is generated by the transmit FIFO is enpty.
Write INT=0 after writing transmit-data to transmit FIFO
2 Interrupt is generated by transmit of the last byte (the transmit FIFO is enpty).
Set MSS=0 or MSS=1, and SCC=1.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
555
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-20 Master Transmit Interrupt 9 by FIFO Enabled
(WSEL=1, RSA=0, NACK Response)
S
Slave Address
W ACK
Data
ACK
Data
ACK Data
1
NACK P or Sr
2
S : Start condition
W : Data direction bit (Write direction)
P : Stop condition
Sr : Repeat start condition
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt is generated by the transmit FIFO is enpty.
Write INT=0 after writing transmit-data to transmit FIFO
2 Interrupt is generated by NACK response.
Set MSS=0 or MSS=1, and SCC=1.
556
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
■ Data Reception by Master
If the data direction bit (R/W) is "1", the data sent from the slave is received.
If FIFO is disabled and the TDRE bit is "1", the master generates wait every time one byte of data is
received (INT=1, RDRF=1), and according to the WSEL bit, returns an ACK or NACK response based on
the ACKE bit setting of the IBCR register. When the TDRE bit is "0" and the ACKE bit setting of the
IBCR register is ACK, wait does not occur (INT=0) and the next data is received. If the ACKE bit setting is
NACK, wait occurs (INT=1).
If FIFO is enabled, the RDRF bit is set after data of the same number of bytes as the reception byte setting
is received. The interrupt flag is set when the TDRE bit is "1" to wait for the I2C bus. If WSEL=0, a NACK
response is returned and the interrupt flag is set to "1" when the TDRE bit turns to "1". If WSEL=1, wait
occurs after the last byte is received. The ACKE bit is set during the wait, the interrupt flag is cleared to
"0", and then an ACK or NACK response is returned according to the ACKE setting. Even when NACK is
output, the data is stored in the reception FIFO as received data.
See the following section for the wait by interrupt.
Table 17.3-4 WSEL Bit at Receive Master Data
WSEL bit
Operation
0
In the second and later bytes, when an acknowledge is received in the condition where
the TDRE bit is "1", the interrupt flag (INT) is set to "1", the SCL is set to "L", and
wait occurs.
1
In the second and later bytes, when the master receives one byte of data in the
condition where the TDRE bit is "1", the interrupt flag (INT) is set to "1", the SCL is
set to "L", and wait occurs.
The following is an example procedure to receive data from the slave:
• When the receive FIFO is disabled
(1) Set the slave address (including the data direction bit) into the TDR register and write "1" into the
MSS bit.
(2) ACK is received after transferring the slave address, and the interrupt flag is set to "1".
(3) Upon the WSEL bit update, write "0" into the interrupt flag (INT) and cancel the wait for the I2C
bus.
(4) If WSEL=0 after one byte of data is received, set the interrupt flag to "1" after an acknowledge is
sent and wait for the I2C bus. If WSEL=1, do it immediately after one byte of data is received.
Repeat steps (2) through (4) until the specified number of data pieces is received.
(5) After the last data is received, output NACK, set "0" into the MSS bit or "1" to the SCC bit and
generate the stop condition or repetitive start condition respectively.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
557
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
• When the transfer FIFO is enabled.
(1) Set receiving number to FBYTE register
(2)Write dummy data into the TDR register for the amount of the slave address (including the data
direction bit) and the data to be received.
(3) Write "1" to MSS bit.
(4) ACK keeps responding, and being received during TDRE bit=0. If the number of data pieces
specified in FBYTE is received during the reception, set RDRF to "1". Read out the RDR register
when RDRF has turned to "1".
(5) If WSEL=0 when the TDRE bit turns to "1", set the interrupt flag to "1" after NACK is output and
wait for the I2C bus. If WSEL=1, do it immediately after receiving one byte of data.
(6) If WSEL=1, set the ACKE bit to "0". If WSEL=0, setting the ACKE bit is unnecessary. Set the MSS
bit to "0" or the SCC bit to "1" to generate the stop condition or repetitive start condition
respectively.
Notes:
• When TDRE is "0", output the acknowledge according to the ACKE bit setting even if an overrun
error is generated. Then, perform the following:
• To change the IBCR register during transmission, change it while the interrupt flag (INT) is "1".
• During the master reception, write dummy data into the TDR register. If the TDRE bit is "0" at the
timing when the interrupt flag (INT) turns to "1", the interrupt flag (INT) remains "0" and the next
data is received.
• If you receive data when the reception FIFO is enabled and WSEL=0, the RDRF bit turns to "1"
after the last bit is received, and the interrupt flag (INT) turns to "1" after ACK is transmitted.
Figure 17.3-21 Master Receive Interrupt 1 by FIFO Disabled (WSEL=0, RSA=0)
S
Slave Address
R ACK
Data
ACK
Data
ACK
1
Data
2
NACK P or Sr
3
: Interrupt by INTE=1.
: Interrupt by CNDE=1.
1 Interrrupt generation by slave address transmit + direction bit transmit + acknowledge reception
Interrupt is cleared to "0" by writing INT=0.
2 Interrrupt generation by 1 byte reception + acknowledge transmit
Write INT=0 setting ACKE=0 after reading reception data.
3 Interrrupt generation by 1 byte reception + acknowledge transmit
Set MSS=0 or MSS=1, and SCC=1.
Note: The TDRE bit is "1" when the interrupt flag (INT) is generated.
558
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-22 Master Receive Interrupt 2 by FIFO Disabled (WSEL=1, RSA=0)
S
Slave Address
R ACK
Data
ACK
Data
2
1
ACK
Data NACK P or Sr
3
2
: Interrupt by INTE=1.
: Interrupt by CNDE=1.
1 Interrrupt generation by slave address transmit + direction bit transmit + acknowledge reception
Interrupt is cleared to "0" by writing INT=0 .
2 Interrrupt generation by 1 byte reception
Write INT=0 after reading reception data.
3 Interrrupt generation by 1 byte reception
Set MSS=0 or MSS=1, and SCC=1 setting ACKE=0 after reading reception data.
Note: The TDRE bit is "1" when the interrupt flag (INT) is generated.
Figure 17.3-23 Master Receive Interrupt 3 by FIFO Enabled (WSEL=0, ACKE=0, RSA=0)
S
Slave Address
R ACK
Data
ACK
Data
NACK P or Sr
ACK Data
1
: Interrupt by INTE=1.
: Interrupt by CNDE=1.
1 Interrupt generation by TDRE = 1
Set MSS=0 or MSS=1, and SCC=1 after reading all data from reception FIFO.
Figure 17.3-24 Master Receive Interrupt 4 by FIFO Enabled (WSEL=1, RSA=0)
S
SlaveAddress
R ACK
Data
ACK
Data
ACK
Data NACK P or Sr
1
: Interrupt by INTE=1.
: Interrupt by CNDE=1.
1 Interrupt generation by TDRE = 1
Set ACKE=0, MSS=0 or MSS=1, and SCC=1 after reading all data from reception FIFO.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
559
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
■ Arbitration Lost
If the master experiences collision of data with the other masters data and receives different data from the
transmitted data, it judges the condition as arbitration lost. The MSS bit is set to "0", the AL bit is set to
"1", and the operation is enabled in the slave mode.
The AL bit can be cleared to "0" with the following conditions:
• "1" is written to the MSS bit.
• "0" is written to the INT bit
• Write "0" to SPC bit at AL bit=1, SPC bit=1.
• I2C interface disable (EN bit=0)
When arbitration lost occurs, the interrupt flag (INT) is set to "1" and the SCL of the I2C bus is set to "L"
according to the WSEL setting.
■ Wait in Master Mode
If "1" is set into the MSS bit while the BB bit is "1" and if the operation is not in the slave mode, it waits
for the master mode while the BB bit is "1". When the BB bit turns to "0", the start condition is transmitted.
You can judge whether the operation is waiting for the master mode or not by using the MSS and ACT bits
(If MSS=1 and ACT=0, it is waiting for the master mode.). If the operation is in the slave mode after "1" is
set into the MSS bit, set the AL bit to "1", the MSS bit to "0", and the ACT bit to "1".
560
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
17.3.3
Slave Mode
When the (repetitive) start condition is detected, and the combination of the ISBA and
ISMK registers matches with the received address, an ACK response is returned and
the slave mode is activated.
■ Slave Address Match Detection
When the (repetitive) start condition is detected, the 7 bits of the next data are received as an address. The
bits to which "1" is set in the ISMK register are compared between the ISBA register and the received
address. When they match, ACK is output.
Table 17.3-5 Operation Immediately after the Acknowledge Output for the Slave Address
Data
Transmission Reception Transmission Reception
direction
FIFO
FIFO
FIFO
FIFO status
bit (R/W)
status
0
Disable
Disable


1
No data
0
Data
Disable
Enable


1
0
Enable
Disable


1
No data
0
Data
Enable
Enable


CM71-10132-3E
1
Operation immediately after acknowledge
Acknowledge is ACK
When the TDRE bit is "1",
the INT bit is set to "1" and
wait occurs. When the
TDRE bit is "0", the INT bit
is kept to "0" and wait does
not occur.
The INT bit is kept to "0"
and wait does not occur.
The INT bit is set to "1" and
wait occurs.
When the TDRE bit is "1",
the INT bit is set to "1" and
wait occurs. If the TDRE
bit is "0", the INT bit is kept
to "0" and wait does not
occur.
When the TDRE bit is "1",
the INT bit is set to "1" and
wait occurs. When the
TDRE bit is "0", the INT bit
is kept to "0" and wait does
not occur.
The INT bit is kept to "0"
and wait does not occur.
The INT bit is set to "1" and
wait occurs.
When the TDRE bit is "1",
the INT bit is set to "1" and
wait occurs. If the TDRE bit
is "0", the INT bit is kept to
"0" and wait does not occur.
FUJITSU SEMICONDUCTOR LIMITED
Acknowledge is NACK
The INT bit is kept to "0"
and wait does not occur.
The INT bit is kept to "0"
and wait does not occur.
The INT bit is kept to "0"
and wait does not occur.
The INT bit is kept to "0"
and wait does not occur.
561
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
• Reserved address detection
If the data matches with the reserved address ("0000xxxxB" or "1111xxxxB") in the first byte, the INT
bit is set to "1" to wait for the I2C bus after the 8th bit data is received, independently of the setting
whether the transmission/reception FIFO is enabled. At this point, the received data is read. If you want
operation as a slave, set ACKE to "1" and clear the INT bit. When ACKE is set to "0", the slave
operation is disabled after an acknowledge is output.
■ Data Direction Bit
After the address is received, the data direction bit, which determines whether to send or receive data, is
received. When this bit is "0", it indicates the transmission from the master, which means that the slave
receives data.
■ Reception by a Slave
When the slave address matches and the data direction bit is "0", it indicates the reception in the slave
mode. The following is an example procedure to receive data in the slave mode:
• When receive FIFO is disabled.
(1) After sending ACK, set the interrupt flag (INT) to "1" and wait for the I2C bus. Determine that the
interrupt is caused by the slave address match by checking the MSS, ACT, and FBT bits. Write "1"
into the ACKE bit, "0" into the interrupt flag (INT), and cancel the wait for the I2C bus. (Refer to
Table 17.3-5.)
(2) After receiving one byte of data, set the interrupt flag (INT) to "1" and wait for the I2C bus
according to the WSEL setting.
(3) Read the data received from the RDR register and set the ACKE bit. Then, write "0" into the
interrupt flag (INT) and cancel the wait for the I2C bus.
(4) Repeat steps (2) through (3) until the stop condition or repetitive start condition is detected.
• When receive FIFO is enabled:
(1) When the NACK detection or the reception FIFO becomes full, the interrupt flag (INT) turns to "1"
to wait for the I2C bus. If the stop condition or repetitive start condition is detected, the SPC or RSC
bit is set to "1" and the interrupt flag (INT) is not set to "1" (no wait for the I2C bus). For the
reception FIFO, set the RDRF bit to "1" if the number of received data pieces matches with the
value specified in the FBYTE register. If the RIE bit is "1" at this point, an reception interrupt
occurs.
(2) When the interrupt flag (INT) turns to "1", read the data received from the RDR register. After
reading all the data, write "0" into the interrupt flag and cancel the wait for the I2C bus. If the stop
condition or repetitive start condition is detected, read all the received data from the RDR register,
and clear the SPC or RSC bit to "0".
562
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-25 Slave Receive Interrupt 1 by FIFO Disabled (WSEL=0, RSA=0)
S
Slave Address
W ACK
Data
1
ACK
Data
ACK
Data
P or Sr
3
2
2
ACK
: Interrupt by INTE=1.
: Interrupt by CNDE=1.
1
ACK is output because a slave address matches, and interrupt is generated
Write ACKE=1 and INT=0.
2 Interrrupt generation by 1 byte reception + ACK response
Write INT=0 after reading reception data from reception buffer.
3 Interrrupt generation by 1 byte reception + NACK response
Write INT=0 after reading reception data from reception buffer.
Figure 17.3-26 Slave Receive Interrupt 2 by FIFO Disabled (WSEL=1, RSA=0)
S
Slave Address
W ACK
Data
1
ACK Data
ACK Data
P or Sr
3
2
2
ACK
: Interrupt by INTE=1.
: Interrupt by CNDE=1.
1
ACK is output because a slave address matches, and interrupt is generated
Write ACKE=1 and INT=0.
2 Interrrupt generation by 1 byte reception
Write INT=0 after reading reception data from reception buffer.
3 Interrrupt generation by 1 byte reception
Write INT=0 after reading reception data from reception buffer.
Figure 17.3-27 Slave Receive Interrupt 3 by FIFO Disabled (WSEL=1, RSA=0)
S
Slave Address
W ACK
1
Data
ACK Data
2
ACK Data NACK P or Sr
2
2
3
: Interrupt by INTE=1.
: Interrupt by CNDE=1.
1 ACK is output because a slave address matches, and interrupt is generated
Write ACKE=1 and INT=0.
2 Interrrupt generation by 1 byte reception
Write INT=0 after reading reception data from reception buffer.
3 Interrupt generation by NACK response
Write INT=0
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
563
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
Figure 17.3-28 Slave Receive Interrupt 4 by Receive FIFO Enabled (RSA=0)
S
Slave Address
W ACK
Data
ACK Data
ACK Data
ACK P or Sr
1
: Interrupt by INTE=1
: Interrupt by CNDE=1
1
Interrupt generation by detection of stop condition or repeat start condition
Read all data from reception FIFO
Figure 17.3-29 Slave Receive Interrupt 5 by Receive FIFO Enabled (RSA=0)
S
Slave Address
W ACK
Data
ACK
Data
ACK
Data
ACK P or Sr
1
: Interrupt by INTE=1
: Interrupt by CNDE=1
1
Interrupt generation because reception FIFO is full
Read all data from reception FIFO and write INT=0.
Figure 17.3-30 Slave Receive Interrupt 6 by FIFO Disabled (WSEL=0, RSA=1)
S
Slave Address
W ACK
1
Data
ACK Data
2
ACK
Data
2
ACK P or Sr
3
: Interrupt by INTE=1
: Interrupt by CNDE=1
1 Interrupt generation by reserved address match ("0000xxxxH" or "1111xxxxH")
Read the reception data and write ACKE=1 and INT=0.
2 Interrupt generation by 1 byte reception + acknowledge output
INT=0 write
3 Interrupt generation by 1 byte reception + acknowledge output
Interrupt by INT=0 write
■ Transmission by a Slave
When the slave address matches and the data direction bit is "1", this indicates the transmission by the
slave. If FIFO is disabled, set the interrupt flag (INT) to "1" and generate wait after sending one byte of
data or after returning an acknowledge. The timing depends on the WSEL setting.
(Refer to Table 17.3-5.)
When you can confirm the acknowledge output from the master with the RACK bit, and the master returns
NACK, it indicates that the master fails the reception or the data reception has finished. If NACK is
detected while WSEL=1, an interrupt occurs to generate wait.
564
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.3 I2C Interface Interruption
MB91345 Series
17.3.4
Bus Error
If the stop condition or (repetitive) start condition is detected while data is transmitted
on the I2C bus, the operation is considered to be a bus error.
■ Condition of Bus Error Generation
Bus error sets the BER bit to "1" with the following conditions.
• When the (repetitive) start condition or stop condition is detected while the first byte of data is
transmitted.
• When the (repetitive) start condition or stop condition is detected in the second bit through ninth
(acknowledge) bit of the data
■ Bus Error Operation
When the interrupt flag (INT) turns to "1" by transmission/reception, check the BER bit. If the BER bit is
"1", correct the error. The BER bit can be cleared by writing "0" into the INT bit.
Although INT bit is set to "1" by bus error, SCL of I2C bus is set to "L" to avoid WAIT condition.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
565
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
17.4
MB91345 Series
Dedicated Baud Rate Generator
Dedicated baud rate generator sets serial clock frequency.
■ Baud Rate Selection
● Baud rate obtained by dividing the internal clock in the dedicated baud rate generator (reload counter)
Two internal reload counters are provided and are used for the send and receive serial clocks respectively.
You can select a baud rate by setting a 15-bit reload value in the baud rate generator registers 1, 0 (BGR1,
BGR0).
The reload counter divides the internal clock frequency by the set value.
■ Baud Rate Opearion
The two 15-bit reload counters are set by baud rate generator registers 1 and 0 (BGR1 and BGR0).
The baud rate is calculated by the following equation.
(1) Reload value:
V=/b1
V: Reload value
b: Baud rate
: Peripheral clock frequency
However, the baud rate set according to the rise time of SCL of the I2C bus is not
generated. In that case, please adjust the reload value.
(2) Calculation example
Reload at peripheral clock 16 MHz, baud rate 400 kbps is as follows:
Reload value:
V = (16  1000000) / 40000  1 = 39
So, baud rate is as follows:
b = (16  1000000) / (38 + 2) = 400 kbps
Notes:
• Writing to the baud rate generator registers (BGR1, BGR0) should be done by 16-bit access.
• Set up the baud rate generator register when the EN bit of the ISMK register is "0".
• In the operation mode 4 (I2C mode), use the peripheral clock at 8 MHz or more. It is prohibited to
set the baud rate generator to the value higher than 400 kbps.
• Setting a reload value of 0 stops the reload counter.
566
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
■ The Reload Value and Baud Rate for Each Peripheral Clock Frequency
Table 17.4-1 Reload Values and Baud Rates
8 MHz
10 MHz
16 MHz
20 MHz
24 MHz
32 MHz
Reload
Value
Reload
Value
Reload
Value
Reload
Value
Reload
Value
Reload
Value
400000
19
24
39
49
59
79
200000
39
49
79
99
119
159
100000
79
99
159
199
239
319
Baud rates
[bps]
This value is a numerical value when SCL rising of the I2C bus is "0". When SCL of I2C bus rises slow, the
baud rate becomes slower than the above values.
■ Function of the Reload Counter
It consists of 15bit register for the reload value, and generates the transmission/reception clock from the
internal clock. The count value of the transmission reload counter can be read from the baud rate generator
registers (BGR1, BGR0).
■ Start Counting
Once the reload value is written to the baud rate generator registers (BGR1, BGR0), the reload counter
starts to count.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
567
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
17.4.1
MB91345 Series
Example of I2C Flowcharts
Below are some example flowcharts for I2C communication.
■ I2C Master Reception/Slave Transmission FIFO Communication Flow
Figure 17.4-1 Master Reception Main Settings
Start
Master Reception
Initial Settings
Communication error?
NO
Error flag =1
YES
Stop I2C (ISMK:EN=0)
End
ISMK: 7-bit slave address mask register (ISMK)
568
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-2 Master Reception Initial Settings
Start
Set initial settings:
I2C mode settings (SMR)
Baud rate settings (BGR)
Set FIFO settings
FIFO control register 1 settings (FCR1)
FIFO control register 0 settings (FCR0)
Enable INT interrupt
(IBCR:INTE=1)
Set I2C enable settings (ISMK:EN=1)
Reception FIFO depends on
FSEL value of FIFO control
register 1.
Set FIFO reception byte count
(FBYTE1=xx FBYTE2=00, or
FBYTE1=00 FBYTE2=xx)
Write FIFO buffer:
Slave address + communication
direction (Read)
Store Dummy data FIFO (TDR)
Bus busy?
YES
IBSR:BB=1
NO
Error
Set operation mode:
Master (IBCR:MSS=1)
End
SMR:
BGR:
ISBA:
ISMK:
FCR1:
FCR0:
IBCR:
IBSR:
FBYTE1:
FBYTE2:
TDR:
Serial mode register (SMR)
Baud rate generator register (BGR)
7-bit slave address register (ISBA)
7-bit slave address mask register (ISMK)
FIFO control register 1 (FCR1)
FIFO control register 0 (FCR0)
I2C bus control register (IBCR)
I2C bus status register (IBSR)
FIFO1 byte register (FBYTE1)
FIFO2 byte register (FBYTE2)
Transmitted data register (TDR)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
569
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-3 Master Reception Interrupt Process
Reception interrupt
process
Bus error?
YES
IBCR.BER=1
NO
Arbitration error?
YES
IBSR.AL=1
NO
NO
SSR.RDRF=1
YES
FIFO END?
(Reception is completed)
Read FIFO received data (RDR)
3
1
Error
2
IBCR: I2C bus control register (IBCR)
IBSR: I2C bus status register (IBSR)
SSR: serial status register (SSR)
RDR: received data register (RDR)
* For actual error handling, please judge each status error flag and handle each error by considering your
systems.
* For final ACK process when receiving FIFO continuously, a wait will be generated after receiving the final data,
if setting WSEL=1. Please respond with NACK by setting IBSR.RACK=1 during this wait.
570
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
1
IBCR.MSS=1, and
IBCR.ACT=1
Confirm I2C / master operation
NO
YES
Software checks whether
all the expected data (for
dummy data write) have
been received.
Are all data transferred ?
NO
YES
Iterative start ?
NO
YES
Write FIFO buffer:
Slave address + communication direction
(Read)
Store dummy data FIFO (TDR)
Iterative start condition settings
(IBCR.SCC=1)
When WSEL=1, a user
should set NACK
transmission settings.
INT flag becomes "1" after
the NACK transmission.
2
When WSEL=1, a user
should set NACK
transmission settings.
3
Clear interrupt (IBCR.INT=0)
Stop Condition (IBCR.MSS=0)
End
IBCR: I2C bus control register (IBCR)
TDR: Transmitted data register (TDR)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
571
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-4 Slave Transmission Main Settings
Start
Slave transmission
initial settings
Communication error?
NO
Error flag=1
YES
Stop I2C (ISMK:EN=0)
End
ISMK: 7-bit slave address mask register (ISMK)
572
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-5 Slave Transmission Initial Settings
Start
Set initial settings:
I2C mode settings (SMR)
Baud rate settings (BGR)
Slave address settings (ISBA)
Slave mask settings (ISMK)
Enable iterative start interrupt
(IBCR:CNDE=1)
Enable INT interrupt
(IBCR:INTE=1)
Set I2C enable settings
(ISMK:EN=1)
Set Slave settings (IBCR:MSS=0)
Set FIFO settings
FIFO control register 1settings
(FCR1)
FIFO control register 0 settings
(FCR0)
Write FIFO buffer:
Store Transmitted data FIFO
(TDR)
End
SMR:
BGR:
ISBA:
ISMK:
IBCR:
FCR1:
FCR0:
TDR:
Serial mode register (SMR)
Baud rate generator register (BGR)
7-bit slave address register (ISBA)
7-bit slave address mask register (ISMK)
I2C bus control register (IBCR)
FIFO control register 1 (FCR1)
FIFO control register 0 (FCR0)
Transmitted data register (TDR)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
573
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-6 Slave Transmission Interrupt Process
Transmission
interrupt process
Bus error?
YES
IBCR:BER=1
NACK is output
from master even if
transmission/
reception are
interrupted.
NO
Detected iterative start?
(IBSR:RSC=1)
YES
Write FIFO buffer:
Store Transmitted data FIFO
(TDR)
Clear the interrupt flag
(IBSR:RSC=0)
NO
NACK response
at final data?
(IBSR:RACK=1)
NO
YES
Error
Is there data in FIFO?
(SSR:TDRE=0)
YES
Whether
transmission/
reception are
interrupted is
judged by the
existence of FIFO
data.
Prohibit FIFO operation
(FCR0=0x00)
NO
Reset FIFO (FCR0:FCL=1)
Set transmitted data empty
flag (SSR:TSET=1)
Enable FIFO operation
(FCR0=0x03)
Clear interrupt (IBCR:INT=0)
End
IBSR:
TDR:
SSR:
FCR0:
IBCR:
I2C bus status register (IBSR)
Transmitted data register (TDR)
Serial status register (SSR)
FIFO control register 0 (FCR0)
I2C bus control register (IBCR)
* For actual error handling, please judge each status error flag and handle each error by considering your systems.
574
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
■ I2C Master Transmission/ Slave Reception FIFO Communication Flow
Figure 17.4-7 Master Transmission Main Settings
Start
Master Transmission
Initial Setting
Communication error?
NO
Error flag=1
YES
Stop I2C (ISMK:EN=0)
End
ISMK: 7-bit slave address mask register (ISMK)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
575
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-8 Master Transmission Initial Settings
Start
Set initial settings:
I2C mode settings (SMR)
Baud rate settings (BGR)
Set FIFO settings
FIFO control register 1 settings(FCR1)
FIFO control register 0 settings(FCR0)
Enable INT interrupt (IBCR:INTE=1)
Set I2C enable settings (ISMK:EN=1)
Write FIFO buffer:
Slave address + communication
direction (Write)
Store transmission data FIFO (TDR)
Bus busy?
YES
IBSR:BB=1
NO
Error
Set operation mode:
Master (IBCR:MSS=1)
End
SMR:
BGR:
ISBA:
ISMK:
FCR1:
FCR0:
IBCR:
IBSR:
TDR:
576
Serial mode register (SMR)
Baud rate generator register (BGR)
7-bit slave address register (ISBA)
7-bit slave address mask register (ISMK)
FIFO control register 1 (FCR1)
FIFO control register 0 (FCR0)
I2C bus control register (IBCR)
I2C bus status register (IBSR)
Transmitted data register (TDR)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-9 Master Transmission Interrupt Process
Transmission
interrupt process
Bus error?
YES
IBCR:BER=1
NO
Arbitration error?
YES
IBSR:AL=1
NO
NACK error?
YES
IBSR:RACK=1
NO
Error
1
IBCR:
IBSR:
2
I2C bus control register (IBCR)
I2C bus status register (IBSR)
* For actual error handling, please judge each status error flag and handle each error by considering your systems.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
577
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
1
Confirm I2C/ master operation
NO
IBCR.MSS=1, and
IBCR.ACT=1
Software checks whether
all the transmission data
have been written to the
transmission buffer.
YES
NO
SSR: TDRE=1, and
Are all data transferred?
YES
Judge iterative packet
operation requests for
the whole system.
NO
Iteration start request?
YES
Iteration operation initial settings
Write FIFO buffer:
Slave address + communication direction
(Write)
Score Transmitted data FIFO (TDRx)
Iteration start condition settings
(IBCR.SCC=1)
2
Clear interrupt (IBCR.INT=0)
Stop Condition (IBCR.MSS=0)
End
IBCR: I2C bus control register (IBCR)
TDR: Transmitted data register (TDR)
SSR: Serial status register (SSR)
* For actual error handling, please judge each status error flag and handle each error by considering your systems.
578
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-10 Slave Reception Main Settings
Start
Slave reception initial settings
Communication error?
NO
Error flag=1
YES
Stop I2C (ISMK:EN=0)
End
ISMK: 7-bit slave address mask register (ISMK)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
579
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-11 Slave Reception Initial Settings
Start
Set initial settings:
I2C mode settings (SMR)
Baud rate settings (BGR)
Slave address settings (ISBA)
Slave mask settings (ISMK)
Enable INT interrupt
(IBCR:INTE=1)
Set I2C enable settings
(ISMK:EN=1)
Set slave settings (IBCR:MSS=0)
Set FIFO settings
FIFO control register 1 settings
(FCR1)
FIFO control register 0 settings
(FCR0)
Reception FIFO depends on
FSEL value of FIFO control
register 1.
Set FIFO reception byte count
(FBYTE1=xx FBYTE2=00, or
FBYTE1=00 FBYTE2=xx)
End
SMR:
BGR:
ISBA:
ISMK:
IBCR:
FCR1:
FCR0:
FBYTE1:
FBYTE2:
580
Serial mode register (SMR)
Baud rate generator register (BGR)
7-bit slave address register (ISBA)
7-bit slave address mask register (ISMK)
I2C bus control register (IBCR)
FIFO control register 1 (FCR1)
FIFO control register 0 (FCR0)
FIFO1 byte register (FBYTE1)
FIFO2 byte register (FBYTE2)
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.4 Dedicated Baud Rate Generator
MB91345 Series
Figure 17.4-12 Slave Reception Interrupt Process
Reception
interrupt process
Bus error?
YES
IBCR:BER=1
NO
FIFO END?
(Reception is completed)
SSR:RDRF=1
NO
YES
Error
Read FIFO received data
(RDR)
Clear interrupt (IBCR:INT=0)
End
IBSR:
SSR:
RDR:
IBCR:
I2C bus status register (IBSR)
Serial status register (SSR)
Received data register (RDR)
I2C bus control register (IBCR)
* For actual error handling, please judge each status error flag and handle each error by considering your
systems.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
581
CHAPTER 17 I2C Interface
17.5 Notes on I2C Mode
17.5
MB91345 Series
Notes on I2C Mode
The notes for when you use the I2C mode are shown below.
• FIFO cannot be used for requesting DMA transfer with a channel with FIFO. Please set as FIFO
operation disable.
• To request a DMA transfer request, set the block size of DMA to one time.
• When master reception and slave reception are selected, it is required to use two channels for DMA;
one is used for DMA transfer to receive data and the other one is used for DMA transfer to send dummy
data.
• In I2C mode, if there is no valid data in transmission register (TDR), and transmission data empty flag
bit (TDRE) is "1", the interrupt flag (INT) becomes "1" as shown in Figure 17.5-1 when the data on I2C
bus for 9 bits (WSEL=0) or for 8 bits (WSEL=1) is transmitted. When the interrupt flag (INT) becomes
"1" during DMA transfer, DMA transfer cannot be continued unless clearing the bit to "0" by software.
(Common to master transmission, slave transmission, mater reception, and slave reception.)
Figure 17.5-1 INT Bit Change Timing of I2C (WSEL= 0)
SCL
SDA
DATA
ACK
DATA
ACK
TDRE bit
DMA transfer
to TDR
INT bit
To perform DMA transfer in I2C mode, since the specification is as shown above, such operations listed
below are required for performing DMA transfer to TDR before the interrupt flag (INT) becomes "1".
Below operations are possible to perform to prioritize DMA transfer of I2C.
- Use DMA which has a higher priority (channel number is small). It is enabled to use by fixing the
priority setting bit (AT=0).
- Set the value of DMA-halt by interrupt level bit as small as possible (LVL4-LVL0 bit in DILVR
register).
582
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 17 I2C Interface
17.5 Notes on I2C Mode
MB91345 Series
• In case of writing the transmission data to transmission data register (TDR) by DMA transfer after
transmission data empty flag (SSR: TDRE) becomes "1", or writing the data by software confirming the
transmission data empty flag (SSR:TDRE), transmission data empty flag (SSR:TDRE) may not become
"0". Therefore, the transmission data should be written before SCL in ACK field falls. There are no
restrictions on writing the transmission data by software after the interrupt flag (IBCR:INT) becomes
"1".
When performing DMA transfer or sending the data by software confirming the transmission data
empty flag (SSR:TDRE), please follow below procedures if the data cannot be written before SCL in
ACK field falls.
- Setting
Set the timing of interrupt flag (IBCR:INT) becoming "1" to the 8th bit (WSEL=1).
- Procedures
To transmit or receive data by master, the following procedures are required. To transmit or receive
data by slave, it is not required to perform the following.
1. Write the first byte (slave address) to the transmission data register by software.
2. Set to 8-bit for wait selection (IBCR:WSEL="1" write) at the same time that master is started
(IBCR:MSS="1" write).
3. After sending the first byte, the interrupt flag (IBCR:INT) becomes "1". Write the second byte to
transmission data register (TDR) by software after confirming ACK response (IBSR:RACK="0").
Set the DMAC, and activate DMA transfer, then write "0" to interrupt flag (IBCR:INT).
4. After transmission and reception are completed, terminate the master (IBCR:MSS="0" write) or
reboot (IBCR:SCC="1" write).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
583
CHAPTER 17 I2C Interface
17.5 Notes on I2C Mode
584
MB91345 Series
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18
A/D Converter
This chapter describes an overview of the A/D converter,
configuration/function of the register, and its operation.
18.1 Overview of A/D Converter
18.2 Block Diagram of A/D Converter
18.3 Registers of A/D Converter
18.4 Operation of A/D Converter
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
585
CHAPTER 18 A/D Converter
18.1 Overview of A/D Converter
18.1
MB91345 Series
Overview of A/D Converter
The A/D converter converts an analog input voltage to a digital value. The features of
the A/D converter are as follows:
■ Features of the A/D Converter
• Equipped with 2 units (UNIT-0: 8channels, UNIT-1: 8channels).
• Simultaneous activation function of 2 units is available.
• Conversion time: Minimum of 1.2 µs per channel (with 16MHz CLKP)
• Uses RC-type successive comparison conversion method with a sample and hold circuit.
• 10-bit resolution
• Analog input is selectable from among 8 channels by a program.
• Single conversion mode: Selects and converts one channel.
• Scan conversion mode: Converts consecutive multiple channels. Up to 8 channels can be programmed.
• Continuous conversion mode: Converts a specified channel repeatedly.
• Stop conversion mode: Converts a specified channel, pauses, and stands by until the next activation
occurs (conversion start can be synchronized).
• Interrupt request: When the A/D conversion ends, an interrupt request for A/D conversion end can be
generated to CPU. This interrupt is used as a start for the DMA transfer that transfers
a result of A/D conversion to a memory.
• Activation source can be selected: Activation sources are software, external trigger (falling edge), or
timer (rising edge).
■ Input Impedance
A sampling circuit of the A/D converter is shown in an equivalent circuit of Figure 18.1-1.
Figure 18.1-1 Input Impedance
Rext
Rin
Analog
signal
source
ANx
Analog SW
Cin
ADC
Set Rext not to exceed the maximum time of sampling time (Tsamp).
Rext = Tsamp/(8 × Cin) — Rin
586
Rext: Outputimpedance of external circuit
Rin: Input resistonce of A/D converter
Cin: Input capacitance of A/D converter
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.2 Block Diagram of A/D Converter
MB91345 Series
18.2
Block Diagram of A/D Converter
The block diagram of the A/D converter is shown below.
■ Block Diagram of the A/D Converter
Figure 18.2-1 Block Diagram of A/D Converter
AVCC
AVRH/L AVSS
D/A converter
Successive
approximation register
MPX
Internal data bus
Sample &
hold circuit
Decoder
Comparator
Input circuit
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
Data register
A/D control register 0
A/D control register 1
ADCS0/
ADCS1
Operation
clock
ATGX pin
16-bit
reload timer
Prescaler
CLKP
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
587
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
18.3
MB91345 Series
Registers of A/D Converter
The A/D converter has the following types of registers:
• Analog input enable register (ADERH)
• A/D control status register (ADCS)
• Data register (ADCR)
• Data mirror register (ADCRM)
• Sampling timer setting register (ADCT)
• Start/End channels setting registers (ADSC, ADEC)
• Trigger control register (ADTGS)
■ Register List
Figure 18.3-1 Register List
000020H
000022H
000024H
000026H
000028H
00002AH
00002CH
00002EH
000030H
000032H
000034H
000036H
000038H
00003AH
...
000578H
588
Reserved
Reserved
ADCS01
ADERH0
ADCS00
ADCR0
ADCT0
ADSCH0
ADECH0
ADCR0M
ADCR1M
Reserved
Reserved
ADCS11
ADERH1
ADCS10
ADCR1
ADCT1
ADSCH1
ADECH1
...
ADTGS
Reserved
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
18.3.1
Analog Input Enable Register (ADERH)
Always write "1" to the ADERH bit corresponding to the pin used in analog input.
■ Analog Input Enable Register (ADERH0, ADERH1)
ADERH0
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000033H
ADE7
ADE6
ADE
ADE4
ADE3
ADE2
ADE1
ADE0
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000023H
ADE7
ADE6
ADE
ADE4
ADE3
ADE2
ADE1
ADE0
11111111B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ADERH1
R/W:
Readable/writable
[bit7 to bit0] ADE7 to ADE0 (A/D Input Enable)
ADE
Function
0
Port input/output mode [initial value]
1
Analog input mode
These bits are initialized to "1" at reset.
Be sure to write "1" to the analog input enable register of the start channel and end channel.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
589
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
18.3.2
MB91345 Series
A/D Control Status Register (ADCS)
The A/D control status register controls the A/D converter and indicates the A/D
converter status. Do not rewrite the ADCS0 register during A/D conversion.
■ A/D Control Status Register (ADCS0, ADCS1)
ADCS01
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000024H
BUSY
INT
INTE
PAUS
STS1
STS0
STRT
Reserved
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000025H
MD1
MD0
S10
ACH2
ACH1
ACH0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000034H
BUSY
INT
INTE
PAUS
STS1
STS0
STRT
Reserved
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000035H
MD1
MD0
S10
ACH2
ACH1
ACH0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
ADCS00
Reserved Reserved
ADCS11
ADCS10
R/W:
Reserved Reserved
R/W
R/W
Readable/writable
[bit15] BUSY (busy flag and stop)
BUSY
Function
Read
This bit is used to indicate A/D converter operation. This bit is set when A/D
conversion starts and cleared when A/D conversion of the last channel ends.
Write
Setting this bit to "0" during A/D operation forcibly stops the operation. This
bit is used to forcibly stop the operation in continuous and stop modes.
The bit for indicating the operation cannot be set to "1".
Read-modify-write (RMW) instructions always read "1". In single mode, the bit is cleared after A/D
conversion of the last channel you set ends.
In continuous and stop modes, the bit is not cleared until it is set to "0" to stop the operation.
This bit is initialized to "0" at reset.
Do not perform a forced stop and software activation simultaneously (BUSY=0, STRT=1).
590
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
[bit14] INT (interrupt)
This bit is set when conversion data is written to the ADCR.
When bit5 (INTE) is "1", setting the INT bit will generate an interrupt request. The DMA will be
activated if DMA operation is enabled.
This bit is cleared by setting "0".
Note: Do not write "0" to clear this bit when A/D is stopping.
This bit is initialized to "0" at reset.
When using DMA, this bit is cleared at the end of the DMA transfer.
[bit13] INTE (Interrupt enable)
This bit is used to enable or disable interrupts at the end of the conversion.
INTE
Function
0
Interrupt disabled [initial value]
1
Interrupt enabled
This bit is initialized to "0" at reset.
[bit12] PAUS (A/D converter pause)
This bit is set when A/D conversion stops temporarily.
Because there is only one register to store the A/D conversion result, the conversion result must be
transferred by the DMA when a continuous conversion is running, otherwise the previous data will be
overwritten. To protect the previous data, the new conversion data will not be stored until the data
register contents are transferred by the DMA. The A/D conversion is suspended during this time. The
A/D conversion restarts when the DMA transfer ends. This bit is valid only when the DMA is used.
This bit can be cleared only by writing "0" to it (This bit is not cleared at the end of the DMA transfer).
However, this bit cannot be cleared in the DMA transfer wait state.
See section "18.4 Operation of A/D Converter" for the conversion data protection function. This bit is
initialized to "0" at reset.
[bit11, bit10] STS1, STS0 (Start source select)
These bits are initialized to "00" at reset. A/D start sources are selected by setting these bits.
CM71-10132-3E
STS1
STS0
Function
0
0
Software activation
0
1
External pin trigger activation and software activation
1
0
16-bit reload imer activation and software activation
1
1
External pin trigger activation, software activation, and timer
activation
FUJITSU SEMICONDUCTOR LIMITED
591
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
For modes that enable multiple start sources, the A/D conversion is activated by the source generated
first. Since the start source change is reflected immediately after the bit setting is changed, caution
should be exercised when changing the start source during the A/D conversion operation. For the
external pin trigger, the falling edge is detected. If the external trigger input level is "L" level, the A/D
converter may be activated when this bit is rewritten to set external pin trigger activation. When the
timer activation is selected, the 16-bit reload timer 2 is selected for both A/D ch.0 and ch.1.
[bit9] STRT (Start)
Setting this bit to "1" activates the A/D converter (software activation).
To restart the A/D converter, set this bit to "1" again. This bit is initialized to "0" at reset. In
continuous mode and stop mode, the restart is not enabled due to the functional reason. Check the
BUSY bit before writing "1" to this bit (Activate the converter after clearing the BUSY bit). Do not
perform a forced stop and software activation simultaneously (BUSY=0 and STRT=1).
[bit8] Reserved bit
Always set "0" to this bit.
[bit7, bit6] MD1, MD0 (A/D converter mode set)
MD1 and MD0 bits are used to set the operation mode.
MD1
MD0
Operation mode
0
0
Setting disabled
0
1
Single mode. Restart is disabled during operation.
1
0
Continuous mode. Restart is disabled during operation.
1
1
Stop mode. Restart is disabled during operation.
Single mode:
- A/D conversion is continuously performed for the channels set by ANS2 to ANS0 up to the channels
set by ANE2 to ANE0, and the conversion stops when the conversion of all channels is completed.
Continuous mode:
- A/D conversion is performed repeatedly for the channels set by ANS2 to ANS0 up to the channels set
by ANE2 to ANE0.
Stop mode:
- A/D conversion is performed for the channels set by ANS2 to ANS0 up to the channels set by ANE2
to ANE0, but the operation stops temporarily for each channel. The A/D conversion is restarted by
the start source generation.
These bits are initialized to "00B" at reset.
When A/D conversion is activated in continuous or stop mode, the conversion operation will continues
until a forced stop is made by the BUSY bit.
The forced stop is made by setting "0" to the BUSY bit.
When A/D conversion is activated after a forced stop, the conversion starts from the channels set by
ANS2 to ANS0.
Restart is disabled during each operation in single, continuous, or stop mode, and this applies to all the
activation by the timer, external trigger, and software.
592
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
Note:
If the A/D conversion mode select bit (MD1, MD0) is set to "00B", restart during the A/D conversion
becomes available.
In this mode, you can only set to the software start (STS, STS0 = 00B).
To restart:
(1) Clear INT bit to "0".
(2) Write "1" to STR bit and "0" to INT bit at the same time.
[bit5] S10
This bit specifies the resolution of the conversion. When setting this bit to "0", the 10-bit A/D
conversion is performed. Otherwise, the 8-bit A/D conversion is performed and its result is stored in the
ADCR0. This bit is initialized to "0" at reset.
[bit4, bit3] Reserved
These bits are reserved bits. Always set "0" to them.
[bit2 to bit0] ACH2, ACH1, ACH0 (Analog convert select channel)
These bits indicate the channel of the A/D conversion in progress.
ACH2
ACH1
ACH0
Conversion channel
0
0
0
AN0
0
0
1
AN1
0
1
0
AN2
0
1
1
AN3
1
0
0
AN4
1
0
1
AN5
1
1
0
AN6
1
1
1
AN7
ACH
Function
Read
During the A/D conversion (BUSY bit=1), the current conversion channel
is indicated by these bits. When stopped by a forced stop (BUSY bit=0),
the channel that the conversion is stopped is indicated.
Write
Writing to these bits is invalid.
These bits are initialized to "000B" at reset.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
593
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
18.3.3
MB91345 Series
Data Register (ADCR)
The data registers (ADCR0, ADCR1) are used to store a digital value generated as a
result of conversion. The ADCR0 stores the lower 8 bits, and ADCR1 stores the most
significant 2 bits of the conversion result. These registers’ values are rewritten every
time conversion is completed. The last converted value is stored in these registers
normally.
■ Data Register (ADCR0, ADCR1)
ADCR0(Upper)
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000026H






D9
D8
------XXB






R
R
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000027H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R
R
R
R
R
R
R
R
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000036H






D9
D8
------XXB






R
R
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000037H
D7
D6
D5
D4
D3
D2
D1
D0
XXXXXXXXB
R
R
R
R
R
R
R
R
ADCR0(Lower)
ADCR1(Upper)
ADCR1(Lower)
R: Read only
: Undefined
"0" is always read out from bit10 to bit15 of the ADCR0 and ADCR1 registers.
A conversion data protection function is available. See section "18.4 Operation of A/D Converter".
594
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
18.3.4
Mirror Data Register (ADCR0M, ADCR1M)
The same data as that in data registers (ADCR0, ADCR1) can be read with a different address.
This is called mirror data register. The content is the same as that of "18.3.3 Data Register
(ADCR)".
■ Mirror Data Register (ADCR0M, ADCR1M)
ADCR0M
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
00002CH






MRD9
MRD8
------XXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ADCR0M
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00002DH
MRD7
MRD6
MRD5
MRD4
MRD3
MRD2
MRD1
MRD0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
00002EH






MRD9
MRD8
------XXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
00002FH
MRD7
MRD6
MRD5
MRD4
MRD3
MRD2
MRD1
MRD0
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ADCR1M
ADCR1M
R/W: Readabel/writable
:
Undefined
"0" is always read out from bit10 to bit15 of the ADCR0M and ADCR1M registers.
A conversion data protection function is available. See "18.4 Operation of A/D Converter".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
595
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
18.3.5
MB91345 Series
A/D Conversion Time Setting Register (ADCT)
The A/D conversion time setting registers (ADCT0, ADCT1) control the sampling time
and comparison time of the analog input. The A/D conversion time is set by setting
ADCT registers.
Do not rewrite ADCT0 and ADCT1 registers during A/D conversion operation.
■ A/D Conversion Time Setting Register (ADCT0, ADCT1)
ADCT0(Upper)
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000028H
CT5
CT4
CT3
CT2
CT1
CT0
ST9
ST8
00010000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ADCT0(Lower)
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000029H
ST7
ST6
ST5
ST4
ST3
ST2
ST1
ST0
00101100B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
000038H
CT5
CT4
CT3
CT2
CT1
CT0
ST9
ST8
00010000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
000039H
ST7
ST6
ST5
ST4
ST3
ST2
ST1
ST0
00101100B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ADCT1(Upper)
ADCT1(Lower)
R/W: Readable/writable
[bit15 to bit10] CT5 to CT0 (A/D compare time set)
Setting these bits specifies the clock division value of the comparison operation time.
When setting the CT5 to CT0 to "000001B" (01H), no division = CLKP is set.
Do not set the CT5 to CT0 to "000000B" (00H).
These bits are initialized to "000100B" (04H) at reset.
Comparison operation time (Compare Time) = CT set value  CLKP cycle  10 + (4  CLKP cycle)
596
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
[bit9 to bit0] ST9 to ST0 (Analog input sampling time set)
Setting these bits specifies the sampling time of the analog input.
These bits are initialized to "0000101100B" (02CH) at reset.
Sampling time (Sampling Time) = ST set value  CLKP cycle
Calculate the required sampling time and ST set time by using the following formulas.
Required sampling time (Tsamp) = (Rext + Rin)  Cin  8
ST9 to ST0 set values = required sampling time (Tsamp) / CLKP cycle
Set the ST set values so that A/D sampling time becomes longer than the required sampling time.
The required sampling time is determined by the Rext value so the Rext should be determined by taking
the conversion time into consideration.
Note:
"0000000000B" (00H), "0000000001B" (01H) and "0000000010B" (02H) must not be set to ST9 to
ST0.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
597
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
18.3.6
MB91345 Series
A/D Start/End Channels Setting Registers (ADSCH,
ADECH)
These are registers to set a start channel and end channel of the A/D conversion.
Do not rewrite the ADSCH and ADECH registers during A/D conversion.
■ A/D Start/End Channel Setting Registers (ADSCH, ADECH)
ADSCH0(Upper)
Address
bit15
00002AH
TRGC
bit14
bit13
bit12
bit11
Reserved Reserved Reserved Reserved
bit10
bit9
bit8
Initial value
ANS2
ANS1
ANS0
0----000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
ANE2
ANE1
ANE0
-----000B
ADECH0(Lower)
Address
00002BH
Reserved Reserved Reserved Reserved Reserved
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
Initial value
00003AH
TRGC
ANS2
ANS1
ANS0
0----000B
ADSCH1(Upper)
Reserved Reserved Reserved Reserved
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Initial value
ANE2
ANE1
ANE0
-----000B
R/W
R/W
R/W
ADECH1(Lower)
Address
00003BH
Reserved Reserved Reserved Reserved Reserved
R/W
R/W
R/W
R/W
R/W
R/W: Readable/writable
598
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
[bit15] TRGC (triger control)
This bit controls the external trigger activation. When the initial value "0" is set, the own trigger signal
is taken.
When "1" is set, the external trigger signal of another unit becomes ATRG. It is used to activate UNIT0 and UNIT-1 by the same trigger ATRG0.
See the block diagram (Figure 18.3-3) of "■ Trigger Control Register (ADTGS)" in section "18.3.7
Trigger Control Register (ADTGS)" for ATRG0 and ATRG1.
Figure 18.3-2 Block Diagram of TRGC bit
ATRG0
ATRG1
S
E
L
S
E
L
UNIT - 0
TRGC
UNIT - 1
TRGC
[bit14, bit13, bit7 to bit5] Reserved
These are reserved bits.
[bit12, bit11, bit4, bit3] Reserved
These are reserved bits. Always write "0" to these bits.
[bit10 to bit8, bit2 to bit0] ANS2 to ANS0, ANE2 to ANE0
These bits set a start channel and end channel of the A/D conversion.
When the same channels are written to the ANS2 to ANS0 and ANE2 to ANE0, the conversion is
performed only for one channel (single conversion).
When the continuous mode or stop mode is being set, the conversion returns to the start channel set by
the ANS2 to ANS0 after the conversion of the channels set by these bits ends.
These bits are initialized to ANS=000B and ANE=000B at reset.
Note:
When the set channel is ANS > ANE, the operation will not be performed correctly. Be sure to set
ANS  ANE.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
599
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
[bit10 to bit8] ANS2, ANS1, ANS0 (Analog start channel set)
[bit2 to bit0] ANE2, ANE1, ANE0 (Analog end channel set)
600
ANS2
ANE2
ANS1
ANE1
ANS0
ANE0
Start/End channel
0
0
0
AN0
0
0
1
AN1
0
1
0
AN2
0
1
1
AN3
1
0
0
AN4
1
0
1
AN5
1
1
0
AN6
1
1
1
AN7
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.3 Registers of A/D Converter
MB91345 Series
18.3.7
Trigger Control Register (ADTGS)
The trigger control register (ADTGS) selects either the external trigger signal ADTRG0
or ADTRG0-2, and selects either ADTRG1 or ADTRG1-2.
■ Trigger Control Register (ADTGS)
ADTGS
Address
bit7
bit6
bit5
bit4
bit3
bit2
000578H






R/W
R/W
R/W
R/W
R/W
R/W
bit1
bit0
ADTRGS1 ADTRGS0
R/W
Initial value
------00B
R/W
R/W: Readable/writable
[bit1, bit0] ADTRGS1, ADTRGS0
These bits control the selection of the external trigger signals. When the initial value "0" is set to both,
ADTRG0 and ADTRG1 are selected. When "1" is set, ADTRG0-2 and ADTRG1-2 are selected.
The block diagram is shown below.
Figure 18.3-3 Block Diagram of Trigger Control Register (ADTGS)
ADTRG0
ADTRG0-2
ADTRG1
ADTRG1-2
ADTRGS0
CM71-10132-3E
S
E
L
ATRG0
S
E
L
ATRG1
ADTRGS1
FUJITSU SEMICONDUCTOR LIMITED
601
CHAPTER 18 A/D Converter
18.4 Operation of A/D Converter
18.4
MB91345 Series
Operation of A/D Converter
The A/D converter operates using a successive comparison method and its resolution
is 10 bits. The conversion data registers (ADCR0 and ADCR1) are rewritten each time
the conversion is completed because this A/D converter has only one register (16 bits)
for storing the conversion result. Therefore, it is recommended to convert by
transferring the conversion data to a memory by using DMA since the A/D converter is
not appropriate for the continuous conversion processing by itself. The operation
modes are described below.
■ Single Mode
This mode sequentially converts the analog input set by the ANS and ANE bits, and A/D stops the
operation after performing conversion up to the end channel specified by the ANE bit. The conversion
operation is performed only for either one of the channels if the start channel and end channel are the same
(ANS=ANE).
[Example]
• ANS = 000B, ANE = 011B
Start  AN0  AN1 AN2  AN3  End
• ANS = 010B, ANE = 010B
Start  AN2  End
■ Continuous Mode
This mode sequentially converts the analog input set by the ANS and ANE bits, returns to the analog input
of ANS after performing the conversion up to the end channel defined by the ANE bit, and continues the
conversion operation. The conversion operation continues only for either one of the channels if the start
channel and end channel are the same (ANS=ANE).
[Example]
• ANS = 000B, ANE = 011B
Start  AN0  AN1  AN2  AN3  AN0  Repeated
• ANS = 010B, ANE = 010B
Start  AN2  AN2  AN2  Repeated
Conversion in the continuous mode continues repeatedly until "0" is written to the BUSY bit (writing "0" to
the BUSY bit  terminate forcibly). Please note that the conversion in progress will be stopped before it is
completed when a forced stop is performed (If operation is forcibly terminated, the conversion register
holds the previous data that the conversion has been completed).
602
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 18 A/D Converter
18.4 Operation of A/D Converter
MB91345 Series
■ Stop Mode
This mode sequentially converts the analog input set by the ANS and ANE bits and temporarily stops the
operation each time conversion has been performed for one channel. To clear the temporary stop, start A/D
conversion again.
This mode returns to the analog input of ANS after performing conversion up to the end channel specified
by the ANE bit, and then continues the operation. The conversion operation is performed for either one of
the channels if the start channel and end channel are the same (ANS=ANE).
[Example]
• ANS = 000B, ANE = 011B
Start  AN0  Stop  Start  AN1  Stop  Start  AN2  Stop 
Start  AN3  Stop  Start  AN0 Repeated
• ANS = 010B, ANE = 010B
Start  AN2  Stop  Start  AN2  Stop  Start  AN2  Repeated
Only start sources specified by STS1 and STS0 are used at this time.
This mode can be used to synchronize the start of the conversion.
■ Setting Example of the Compare/Sampling time
Table 18.4-1 Specification of Compare Time Setting Register (1 / 2)
CM71-10132-3E
Resource clock frequency [MHz]
Register value
CT5 to CT0
33
30
25
24
16
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
727
1,030
1,333
1,636
1,939
2,242
2,545
2,848
3,152
3,455
3,758
4,061
4,364
4,667
4,970
5,273
5,576
5,879
6,182
6,485
6,788
7,091
800
1,133
1,467
1,800
2,133
2,467
2,800
3,133
3,467
3,800
4,133
4,467
4,800
5,133
5,467
5,800
6,133
6,467
6,800
7,133
7,467
7,800
960
1,360
1,760
2,160
2,560
2,960
3,360
3,760
4,160
4,560
4,960
5,360
5,760
4,160
6,560
6,690
7,360
7,760
8,160
8,560
8,960
9,360
1,000
1,417
1,833
2,250
2,667
3,083
3,500
3,917
4,333
4,750
5,167
5,538
6,000
6,417
6,833
7,250
7,667
8,083
8,500
8,917
9,333
9,750
875
1,500
2,125
2,750
3,375
4,000
4,625
5,250
5,875
6,500
7,125
7,750
8,375
9,000
9,625
10,250
10,875
11,500
12,125
12,750
13,375
14,000
14,625
FUJITSU SEMICONDUCTOR LIMITED
603
CHAPTER 18 A/D Converter
18.4 Operation of A/D Converter
MB91345 Series
Table 18.4-1 Specification of Compare Time Setting Register (2 / 2)
Resource clock frequency [MHz]
Register value
CT5 to CT0
33
30
25
24
16
24
25
26
27
28
29
30
31

7,394
7,697
8,000
8,303
8,606
8,909
9,121
9,515

8,133
8,467
8,800
9,133
9,467
9,800
10,133
10,467

9,760
10,160
10,560
10,960
11,360
11,760
12,160
12,560

10,167
10,583
11,000
11,417
11,833
12,250
12,677
13,083

15,250
15,875
16,500
17,125
17,750
18,375
19,000
19,625

(Note) Setting is not allowed for "-".
The above table shows the time only for comparison (ns).
Table 18.4-2 Specification of Sampling Time Setting Register
Resource clock
frequency [MHz]
Sampling time [ns]
External impedance [k]
Register value
ST9 to ST0
33
30
25
24
16
33
30
25
24
16
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

212
242
273
303
333
364
394
424
455
485
515
545
576
606
636

233
267
300
333
367
400
433
467
500
533
567
600
633
667
700

280
320
360
400
440
480
520
560
600
640
680
720
760
800
840

292
333
375
417
458
500
542
583
625
667
708
750
792
833
875

438
500
563
625
688
750
813
875
938
1,000
1,063
1,125
1,188
1,250
1,313

26
215
405
594
783
973
1,162
1,352
1,541
1,730
1,920
2,109
2,298
2,488
2,677

158
367
575
783
992
1,200
1,408
1,617
1,825
2,033
2,242
2,450
2,658
2,867
3,075

450
700
950
1,200
1,450
1,700
1,950
2,200
2,450
2,700
2,950
3,200
3,450
3,700
3,950

523
783
1,044
1,304
1,565
1,825
2,085
2,346
2,606
2,867
3,127
3,388
3,648
3,908
4,169

1,434
1,825
2,216
2,606
2,997
3,388
3,778
4,169
4,559
4,950
5,341
5,731
6,122
6,513
6,903

24

727

800

960

1,000

1,500

3,245

3,700

4,700

4,950

8,075

(Note) The above table shows the time only for sampling.
604
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19
FLASH MEMORY
This chapter provides an outline of flash memory and
explains its register configuration, register functions,
and operations.
19.1
Outline of Flash Memory
19.2
Flash Memory Registers
19.3
Flash Memory Access Modes
19.4
Automatic Algorithm of Flash Memory
19.5
Execution Status of the Automatic Algorithm
19.6
Data Writing to and Erasing from Flash Memory
19.7
Restrictions on Data Polling Flag (DQ7) and How to
Avoid Erroneous Judgment
19.8
Notes on Flash Memory Programming
Code: CM71-00512-2E
Page: 606, 606, 607, 608, 609, 611, 613, 616, 627, 630, 636
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
605
CHAPTER 19 FLASH MEMORY
19.1 Outline of Flash Memory
19.1
MB91345 Series
Outline of Flash Memory
MB91345 series contains a flash memory with a capacity of 512 Kbytes/1 Mbytes.
The internal flash memory operates on a single power supply voltage of 3.3 V, and can
be erased in sector units, erased all sectors at once, and written in half-word (16 bits)
units by the FR-CPU.
■ Outline of Flash Memory
This flash memory is an internal flash memory operated at 3 V. The flash memory enables
writing from an external device using a ROM writer just like a single flash memory does.
In addition to features equivalent to the features of a single flash memory, when this memory is
used as FR-CPU internal ROM, it becomes possible to read instructions and data in word units
(32 bits) and so high-speed device operation can be realized.
This product supports the following features by combining flash memory macros and FR-CPU
interface circuits:
•
Features for use as CPU memory, for storing programs and data
Accessibility through 32-bit bus when used as ROM
Allowing read, write, and erase (automatic algorithm*) by the CPU
•
Features equivalent to single flash memory product
Allowing read or write (automatic algorithm*) by a ROM writer
*: Automatic algorithm: embedded algorithm
Embedded Algorithm is a trademark of Advanced Micro Devices, Inc.
This section explains use of the flash memory accessed from the FR-CPU.
For information on using the flash memory accessed from a ROM writer, see the instruction
manual provided with the ROM writer.
606
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.1 Outline of Flash Memory
MB91345 Series
■ Block Diagram of Flash Memory
Figure 19.1-1 shows a block diagram of the flash memory.
Figure 19.1-1 Block Diagram of Flash Memory
Delay circuit
RDY/BUSYX
Control signal
RESETX
BYEX
OEX
FLASH memory
512K/1M bytes
WEX
RDY
WE
Bus control signal
CEX
FA18(FA19)
DO31
to FA0
DI15 to DI0 to DO0
Address buffer
FA18(FA19)
to FA0
Data buffer
FD31
to FD0
FR F-bus (instruction/data)
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
607
CHAPTER 19 FLASH MEMORY
19.1 Outline of Flash Memory
MB91345 Series
■ Memory Map of Flash Memory
Figure 19.1-2 shows a sector map of the flash memory in CPU mode.
Figure 19.1-2 Memory Map of Flash Memory (MB91F345B: 512 Kbytes)
00100000H
000FC000H
SA7
SA5
8Kbytes
8Kbytes
SA6
SA4
8Kbytes
000F8000H
000F4000H
SA3
8Kbytes
SA2
8Kbytes
000F0000H
SA1
8Kbytes
SA0
8Kbytes
SA15
8Kbytes
SA14
32Kbytes
32Kbytes
000E0000H
SA13
SA12
64Kbytes
64Kbytes
000C0000H
SA11
SA10
64Kbytes
64Kbytes
000A0000H
SA9
SA8
64Kbytes
64Kbytes
00080000H
+0
+1
+2
+3
+4
+5
+6
+7
64 bits
608
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.1 Outline of Flash Memory
MB91345 Series
Figure 19.1-3 Memory Map of Flash Memory (MB91F346B: 1 Mbytes)
00180000H
SA22
SA23
64Kbytes
64Kbytes
00160000H
SA20
SA21
64Kbytes
64Kbytes
00140000H
SA18
SA19
64Kbytes
64Kbytes
00120000H
SA16
SA17
64Kbytes
64Kbytes
00100000H
000FC000H
SA7
8Kbytes
SA6
8Kbytes
000F8000H
SA5
8Kbytes
SA4
8Kbytes
000F4000H
SA3
8Kbytes
SA2
8Kbytes
000F0000H
SA1
8Kbytes
SA0
8Kbytes
SA14
SA15
32Kbytes
32Kbytes
000E0000H
SA12
SA13
64Kbytes
64Kbytes
000C0000H
SA10
SA11
64Kbytes
64Kbytes
000A0000H
SA8
SA9
64Kbytes
64Kbytes
00080000H
+0
+1
+2
+3
+4
+5
+6
+7
64bits
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
609
CHAPTER 19 FLASH MEMORY
19.2 Flash Memory Registers
19.2
MB91345 Series
Flash Memory Registers
The flash memory has two registers: flash control status register (FLCR) and wait
register (FLWC).
■ List of Flash Memory Registers
Figure 19.2-1 shows a list of flash memory registers.
Figure 19.2-1 Flash Memory Registers
bit 7
0
Flash control status register(FLCR)
Wait register (FLWC)
610
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.2 Flash Memory Registers
MB91345 Series
19.2.1
Flash Control Status Register (FLCR)
The flash control status register (FLCR) indicates the operation status of flash memory.
■ Configuration of Flash Control Status Register (FLCR) (CPU Mode)
This register controls writing to flash memory.
This register can only be accessed in CPU mode. Do not access this register using the Read
Modify Write instruction.
Figure 19.2-2 shows the bit configuration of FLCR.
Figure 19.2-2 Bit Configuration of FLCR
bit7
00007000H
bit6
bit5
bit4
Reserved Reserved Reserved Reserved
R/W
(0)
R/W
(1)
R/W
(1)
R
(0)
bit3
bit2
bit1
bit0
RDY
Reserved
WE
Reserved
R
(0)
R/W
(0)
R/W
(0)
R/W
(0)
[bit7] Reserved bit
This is a reserved bit. Always set this bit to "0."
[bit6, bit5] Reserved bits
These are reserved bits. Always set these bits to "1."
[bit4] Reserved bit
This is a reserved bit. It is initialized to "0" during a reset.
[bit3] RDY: Ready bit
This bit indicates the operation status of the automatic algorithm (data write/erase).
The read data indicates the flash memory status as listed in the table below.
0
Data writing or erasing is in process, flash memory is not ready to accept a new
Data write/Erase command, and no data can be read from a flash memory
address.
1
Flash memory is ready to accept a new Data write/Erase command and data can
be read from a flash memory address.
• This bit is not initialized during a reset.
• Only read operation is possible, but write operation does not affect this bit.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
611
CHAPTER 19 FLASH MEMORY
19.2 Flash Memory Registers
MB91345 Series
[bit2] Reserved bit
This is a reserved bit. Always set this bit to "0".
[bit1] WE : Write Enable bit
This bit controls the writing of data and commands to flash memory in CPU mode.
In flash memory mode, writing is enabled regardless of this bit.
0
Writing to flash memory is disabled and data is read from flash memory in 32-bit
access mode.
1
Writing to flash memory is enabled and data is read from flash memory in 16-bit
access mode.
This bit is initialized to "0" during reset.
Notes:
• If this is overwritten, confirm that the RDY bit has stopped the automatic algorithm. When the RDY
bit is set to "0", the value of this bit cannot be charged.
• When WE=1, do not respond to the instruction access request and only respond to the data
access request.
[bit0] Reserved bit
This is a reserved bit. Always set this bit to "0".
612
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.2 Flash Memory Registers
MB91345 Series
19.2.2
Wait Register (FLWC)
The wait register (FLWC) controls the wait status of flash memory access in CPU mode.
■ Bit Configuration of the Wait Register (FLWC)
The bit configuration of the wait register (FLWC) is shown below:
Figure 19.2-3 Bit configuration of the wait register (FLWC)
FLWC
Address
bit7
00007004H
bit6
bit4
bit3
bit2
Reserved Reserved Reserved Reserved Reserved WTC2
R/W
R/W:
bit5
R/W
R/W
R/W
R/W
R/W
bit1
bit0
Initial value
WTC1
WTC0
00110011B
R/W
R/W
Readable/writable
[bit7 to bit3] Reserved: Reserved bits
These are reserved bits.
Always set them to "00110B".
[bit2 to bit0] WTC2, WTC1, WTC0: Wait cycle bits
WTC2
WTC1
WTC0
Wait cycle
Read
Write
0
0
0

Setting not allowed
Setting not allowed
0
0
1
1
Setting not allowed
Setting not allowed
0
1
0
2
Allowed Up to 50 MHz
Setting not allowed
0
1
1
3
Allowed Up to 50 MHz
Allowed Up to 50 MHz
1
0
0
4
Setting not allowed
Setting not allowed
1
0
1
5
Setting not allowed
Setting not allowed
1
1
0
6
Setting not allowed
Setting not allowed
1
1
1
7
Setting not allowed
Setting not allowed
[Initial value]
• These bits are initialized to "011B" at reset.
• Set them not to exceed the cycle number set by FAC1, FAC0 bits.
• The initial value is set for write access. For read only (when FLCR WE bit is "0"), high-speed setting
(WTC2 to WTC0 = 010B) is allowed.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
613
CHAPTER 19 FLASH MEMORY
19.3 Flash Memory Access Modes
19.3
MB91345 Series
Flash Memory Access Modes
The following two types of access mode are available for the FR-CPU:
• FR-CPU ROM mode:
One word (32 bits) data can be read but not written in a single cycle.
• FR-CPU Programming mode:
Word (32 bits) access is prohibited but reading/writing data with half-word (16 bits) is
enabled.
■ FR-CPU ROM Mode (32 Bits, Read Only)
In this mode, the flash memory serves as FR-CPU internal ROM. This mode enables to read one
word (32 bits) in one cycle but does not enable to write to flash memory or to start the automatic
algorithm.
❍ Mode specification
When specifying this mode, set the WE bit of the flash control status register (FLCR) to "0".
This mode is always set after releasing a reset at CPU run time.
This mode can be set only when the CPU is running.
❍ Detailed operation
In this mode, one word (32 bits) can be read from the flash memory area in one cycle.
❍ Restrictions
•
Address assignment and endians in this mode differ from those for writing with the ROM
writer.
•
In this mode, commands and data cannot be written to flash memory together.
■ FR-CPU Programming Mode (16 Bits, Read/Write)
This mode enables data to be written and erased. As one word (32 bits) cannot be accessed in
one cycle, program execution in flash memory is disabled in this mode.
❍ Mode specification
When specifying this mode, set the WE bit of the flash control status register (FLCR) to "1".
When a reset is released at CPU run time, the WE bit indicates "0". To set to this mode, set the
WE bit to "1". If the WE bit is set again to "0" through a writing operation or because of a reset,
the device enters FR-CPU ROM mode.
When the RDY bit of the flash control status register (FLCR) is "0", the WE bit cannot be overwritten.
When overwriting the WE bit, ensure that the RDY bit is set to "1".
614
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.3 Flash Memory Access Modes
MB91345 Series
❍ Detailed operation
Half word (16 bits) data can be read from the flash memory area in one cycle.
The automatic algorithm can be started by writing a command to flash memory.
When the automatic algorithm starts, data can be written to or erased from flash memory. For
details on the automatic algorithm, see "19.4 Automatic Algorithm of Flash Memory".
❍ Restrictions
•
Address assignment and endians in this mode differ from those for writing with the ROM
writer.
•
This mode inhibits reading data in words (32 bits).
■ Automatic Algorithm Execution Status
When the automatic algorithm is started in FR-CPU programming mode, the operation status of
the automatic algorithm can be checked by reading the RDY bit in the flash control status register
(FLCR).
When the RDY bit is set to "0", data is being written or erased with the automatic algorithm, and
no write or erase command can be accepted. Moreover, data cannot be read from any address in
flash memory.
Data read with the RDY bit set to "0" is a hardware sequence flag to indicate flash memory
status.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
615
CHAPTER 19 FLASH MEMORY
19.4 Automatic Algorithm of Flash Memory
19.4
MB91345 Series
Automatic Algorithm of Flash Memory
The flash memory automatic algorithm can be started using a Reset, Write, Chip Erase,
or Sector Erase command. The Sector Erase command can suspend and resume the
automatic algorithm.
■ Command Sequence
To start the automatic algorithm, write one to six half-words (16 bits) data in sequence. This is
called the command.
If the address and data to be written are invalid or are written in an incorrect sequence, the flash
memory is reset to read mode.
Table 19.4-1 lists commands that can be used to write data to or erase data from flash memory.
Table 19.4-1 Command Sequence
Fifth bus write cycle
Sixth bus write cycle
Address
Data
Address
Data
Address
Data
Address
Data
Address
Data
Address
Data
1
RA
RD
--
--
--
--
--
--
--
--
--
--
Reset*2
1
AXXXXH
F0F0H
--
--
--
--
--
--
--
--
--
--
Reset
3
A5556H
AAAAH
AAAAAH
5555H
A5556H
F0F0H
--
--
--
--
--
--
Data Write
4
A5556H
AAAAH
AAAAAH
5555H
A5556H
A0A0H
PA
PD
--
--
--
--
Chip Erase
6
A5556H
AAAAH
AAAAAH
5555H
A5556H
8080H
A5556H
AAAAH
AAAABH
5555H
A5556H
1010H
Sector Erase
6
A5556H
AAAAH
AAAAAH
5555H
A5556H
8080H
A5556H
AAAAH
AAAABH
5555H
SA*3
3030H
Command
sequence
Bus write
cycle
Read*1
First bus write cycle Second bus write cycle Third bus write cycle Fourth bus write cycle
Sector erase temporary stop
Erasing sectors is temporary stopped by specifying the address = AXXXXH, data = B0B0H.
Sector erase restart
Erasing sectors is resumed after being temporary stopped by specifying the address = AXXXXH, data = 3030H.
Continuous
mode
3
A5556H
AAAAH
AAAABH
5555H
A5557H
2020H
--
--
--
--
--
--
Write
continuously
2
AXXXXH
A0A0H
PA
PD
--
--
--
--
--
--
--
--
Continuous
mode reset
2
AXXXXH
9090H
AXXXXH
F0F0H
or 0000H
--
--
--
--
--
--
--
--
RA: Read address
PA: Write address
SA: Sector address
RD: Read data
*1: Reading of the data array doesn't require the command cycle.
*2: When the timing limit over flag (TLOVER) is "1", the reset command is required to return to the read operation of the data array.
*3: Sector address should specify the address that indicates lower 32 bits side of the address space that indicates the inside of the desired sector.
(example) Lower 4 bits are either of 2H, 6H, AH or EH addresses.
616
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.4 Automatic Algorithm of Flash Memory
MB91345 Series
❍ Reset command
Set flash memory into Read/Reset mode.
The flash memory remains in reading state until another command is entered.
When the power is turned on, flash memory is automatically set to the read or reset state. In this
case, data can be read without a reset command of the automatic algorithm.
To return to read/reset mode after the time limit is exceeded, issue a Reset command. Data is
read from flash memory in the next read cycle.
❍ Program (Data write)
In FR-CPU programming mode, data is basically written in half-word units. The data write
operation is performed in four cycles of bus operation. Writing to memory starts when the last
write cycle is performed.
After executing automatic algorithm of data writing, it becomes unnecessary to control the flash
memory externally. The flash memory itself internally generates write pulses to check the margin
of the cells to which data is written. The data polling function compares bit7 of the original data
with data polling flag (DQ7) of the written data, and if these bits are the same, the automatic write
operation ends (see "■Hardware Sequence Flag" in "19.5 Execution Status of the Automatic
Algorithm"). The automatic write operation then returns to the read/reset mode and accepts no
more write addresses. After that, the flash memory requests the next valid address. In this
manner, the data polling function indicates a write operation in memory.
During a write operation, all commands written to the flash memory are ignored. If a hardware
reset starts during write operation, the data at the address for writing may become invalid.
Writing operations can be performed in any address sequence and outside of sector boundaries.
However, write operations cannot change a data item "0" to "1". If a "0" is overwritten with a "1",
the data polling algorithm either determines that the elements are defective, or that "1" has been
written. In the latter case, however, the respective data item is read as "0" in reset or read/reset
mode. A data item "0" can be changed to "1" only after an erase operation.
❍ Chip Erase
The Chip Erase command sequence ("erase all sectors simultaneously") is executed in six
access cycles.
During the Chip Erase command sequence, the user does not have to write to flash memory
before the erase operation. When the automatic algorithm of chip erasure is executed, flash
memory checks cell states by writing a pattern of zeros before automatically erasing the contents
of all cells (preprogram). In this operation, flash memory does not have to be controlled
externally.
The automatic erase operation starts with the write operation of the command sequence and
ends when data polling flag (DQ7) is set to "1", where flash memory returns to the read/reset
mode. The chip erase time can be expressed as follows: time for sector erase  number of all
sectors + time for writing to the chip (preprogram).
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
617
CHAPTER 19 FLASH MEMORY
19.4 Automatic Algorithm of Flash Memory
MB91345 Series
❍ Sector Erase
The Sector Erase command sequence is executed in six access cycles. The Sector Erase
command is entered in the sixth cycle for starting the sector erase operation. The next Sector
Erase command can be accepted within a time-out period of 40 s to 160 s after the last Sector
Erase command is written.
Multiple Sector Erase commands can be accepted during the six bus cycles of the writing
operation. During the command sequence, Sector Erase commands (3030H) for sectors whose
contents are to be erased simultaneously are written consecutively to the addresses for these
sectors. The sector erase operation itself starts from the end of the time-out period of 40 s to
160 s after the last Sector Erase command is written. When the contents of multiple sectors are
erased simultaneously, the subsequent Sector Erase commands must be input within the 40 s
time-out period to ensure that they are accepted. For checking whether the succeeding Sector
Erase command is valid, read sector erase timer flag (DQ3) (see "■Hardware Sequence Flag" in
"19.5 Execution Status of the Automatic Algorithm").
During the time-out period, any command other than Sector Erase and Temporarily Stop Erase is
reset at read time, and the preceding command sequence is ignored. In the case of the
Temporary Stop Erase command, the contends of the sector are erased again and the erase
operation is completed.
Any combination and number (from 0 to 6) of sector addresses can be entered in the sector erase
buffers.
The user does not have to write to flash memory before the sector erase operation.
Flash memory automatically writes to all cells in a sector whose data is automatically erased
(preprogram). When the contents of a sector are erased, the other cells remain intact. In these
operations, flash memory does not have to be controlled externally.
The automatic sector erase operation starts from the end of the 40 s to 160 s time-out period
after the last Sector Erase command is written. When data polling flag (DQ7) is set to "1", the
automatic sector erase operation ends and flash memory returns to the read/reset mode. At this
time, other commands are ignored.
The data polling function is enabled for any sector address in which data has been erased. The
time required for erasing the data of multiple sectors can be expressed as follows: time for sector
erase + time for sector write (preprogram) × number of erased sectors.
❍ Temporarily Stop Erase
The Temporarily Stop Erase command temporarily stops the automatic algorithm in flash memory
when the user is erasing the data of a sector, thereby making it possible to write data to and read
data from the other sectors. This command is valid only during the sector erase operation and
ignored during chip erase and write operations.
The Temporarily Stop Erase command (B0B0H) is effective only during sector erasure operation
that includes the sector erase time-out period after a Sector Erase command (3030H) is issued.
When this command is entered within the time-out period, waiting for time-out ends and the erase
operation is suspended. The erase operation is restarted when a Restart Erase command was
written. Temporarily Stop Erase and Restart Erase commands can be entered with any address.
When a Temporarily Stop Erase command is entered during sector erase operation, the flash
memory needs a maximum of 20 s to stop the erase operation. When flash memory enters
temporary erase stop mode, a RDY bit in FLCR register and data polling flag (DQ7) output "1",
and toggle bit flag (DQ6) stops to toggle. For checking whether the erase operation has stopped,
enter the address of the sector whose data is being erased and read the values of toggle bit flag
(DQ6) and data polling flag (DQ7). At this time, another Temporarily Stop Erase command entry
is ignored.
618
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 19 FLASH MEMORY
19.4 Automatic Algorithm of Flash Memory
When the erase operation stops, flash memory enters the temporary erase stop and read mode.
Data reading is enabled in this mode for sectors that are not subject to temporary erase. Other
than that, there is no difference from the standard read operation.
After the temporary erase stop and read mode is entered, the user can write to flash memory by
writing a Write command sequence. The write mode in this case is the temporary erase stop and
write mode. In this mode, data write operations become valid for sectors that are not subject to
temporary erase stop. Other than that, there is no difference from the standard byte writing
operation. The temporary toggle bit flag (DQ6) can be used to detect this operation.
Note that toggle bit flag (DQ6) can be read from any address, but data polling flag (DQ7) must be
read from write addresses.
To restart the sector erase operation, a Restart Erase command (3030H) must be entered.
Another Restart Erase command entry is ignored in this case. On the other hand, a Temporarily
Stop Erase command can be entered after flash memory restarts the erase operation.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
619
CHAPTER 19 FLASH MEMORY
19.5 Execution Status of the Automatic Algorithm
19.5
MB91345 Series
Execution Status of the Automatic Algorithm
Data write/erasure operation of flash memory is performed by automatic algorithm. The
operation status of automatic algorithm can be checked by hardware sequence flag and
RDY bit.
■ RDY bit
The flash memory uses RDY bit in flash memory status register (FLCR) in addition to the hardware
sequence flag to indicate whether the automatic algorithm is running or ends.
When the value of the RDY bit is "0", the flash memory is executing a data write or erase
operation, where new Data Write and Erase commands are not accepted.
When the value of the RDY bit is "1", the flash memory is in read/data write or erase operation
wait state.
■ Hardware Sequence Flag
For obtaining the hardware sequence flag as data, read an arbitrary address (an odd address in
byte access) from flash memory when the automatic algorithm is executed. The data contains five
validity bits which indicate the status of the automatic algorithm.
When the automatic algorithm is executed for ROM1, specify an address in ROM1. When executed
for ROM2, specify an address in ROM2.
Figure 19.5-1 shows the structure of the hardware sequence flag.
Figure 19.5-1 Structure of the Hardware Sequence Flag
bit
During half-word read
During byte read
(from odd address only)
15
8 7
0
Hardware sequence flag
(Undefined)
0
bit 7
Hardware sequence flag
* Reading in units of words is disabled. (Only use this function in FR-CPU programming mode.)
bit
7
6
5
4
3
2
1
0
(In half-word and
DPOLL TOGGLE TLOVER (Undefined) SETIMER (Undefined) (Undefined) (Undefined)
byte access)
The hardware sequence flag becomes invalid in FR-CPU ROM mode. Always use FR-CPU
programming mode and read only in half-words or bytes.
620
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.5 Execution Status of the Automatic Algorithm
MB91345 Series
Table 19.5-1 lists the possible statuses of the hardware sequence flag.
Table 19.5-1 Statuses of the Hardware Sequence Flag
Status
DPOLL
Data write
Chip erase
Sector erase
Executing
Temporary
erase stop
mode
TOGGLE TLOVER SETIMR
Reverse data
Toggle
0
0
0
Toggle
0
1
Time-out duration
1
Toggle
0
0
Erase duration
0
Toggle
0
1
Read (from sectors in temporary erase
stop)
1
1
0
0
Data
Data
Data
Data
Reverse data
Toggle*
0
0
Reverse data
Toggle
1
0
0
Toggle
1
1
0
Toggle
1
1
Read (from sectors not in temporary
erase stop)
Data write (to sectors not in temporary
erase stop)
Data write
Time limit
Chip/sector erase
exceeded
Write operation during temporary erase stop
*: TOGGLE toggles continuous read operations from any address.
The hardware sequence flags are explained below.
[bit7] DPOLL: Data polling flag (DQ7)
This flag is used with the data polling function to report that the automatic algorithm is being
executed or terminated.
• Automatic data write operation status
When read access is performed while the automatic algorithm of data write is being executed,
flash memory outputs the inversion of bit7 of the last data written regardless of the address
indicated by the address signal. When read access is performed at the end of the automatic
write algorithm, flash memory outputs bit7 of the read data to the address indicated by the
address signal.
• Chip erase operation status
When read access is performed while the automatic algorithm of chip erase is being
executed, flash memory outputs "0", regardless of the address indicated by the address
signal. Similarly, flash memory outputs "1" at the end of the chip erase.
• During a sector erase operation:
When read access is performed from the sector being erased during execution of the sector
erase automatic algorithm, it outputs "0". Due to restrictions on the function in this series, the
flash memory outputs "1" for 40 s to 160 s after the sector erase command is issued, and
then outputs "0".
After the sector erase is terminated, the flash memory outputs "1".
For restrictions on the data polling flag (DQ7) and how to avoid erroneous judgment of sector
erase completion, see section "19.7 Restrictions on Data Polling Flag (DQ7) and How to Avoid
Erroneous Judgment".
• Temporary sector erase stop status
When read access is performed during temporary sector erase stop status, flash memory
outputs "1" when the address indicated by the address signal is included in the sector in erase
status. If the address is not included in the sector in erase status, flash memory outputs bit7 of
the read value to the address. For checking whether a sector is in temporary sector erase stop
status and which sector is in erase status, read this bit and the toggle bit flag.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
621
CHAPTER 19 FLASH MEMORY
19.5 Execution Status of the Automatic Algorithm
MB91345 Series
Note:
Read access to a specified address is ignored while the automatic algorithm is active. Values can be
output to other bits after data polling flag operation terminates in data read operation. Therefore,
when data is to be read after terminating the automatic algorithm, confirm that data polling is
terminated in the current read access.
[bit6] TOGGLE: Toggle bit flag (DQ6)
This flag is used with the toggle bit function to mainly report that the automatic algorithm is being
executed or terminated as well as data polling flag.
• Write or chip/sector erase operation status
When continuous read operations are performed while the automatic algorithm of data write
or chip/sector erase is being executed, flash memory outputs "1" and "0" toggle results to bit6
regardless of the address indicated by the address signal. When continuous read operations
are performed at the end of the automatic algorithm of write or chip/sector erase algorithm,
flash memory stops toggle operation of bit6 and outputs bit6 (DATA: 6) of the data read from
the address indicated by the address signal.
If a write target sector is protected from overwriting during a write operation, the toggle bit
tries to toggle for about 2 s and stops toggling without changing data. If all selected sectors
are protected from overwriting, the toggle bit tries to toggle for about 100 s and the system
returns to read/reset status without changing data.
• Temporary sector erase stop status
When a read operation is performed during a temporary sector erase stop operation, flash
memory outputs "1" if the address indicated by the address signal is included in the sector in
erase state. If the address is not included in the sector in erase state, flash memory outputs
the data of bit6 of the read value at the address indicated by the address signal.
[bit5] TLOVER: Timing limit over flag (DQ5)
This flag is used to report that a time (number of internal pulses) specified internally with flash
memory is exceeded while the automatic algorithm is being executed.
• Write or chip/sector erase operation status
When read access is performed within a specified time (necessary for write or erase) after
activating the automatic algorithm of write or chip/sector erase, flash memory outputs "0". If
read access is performed beyond the specified time, flash memory outputs "1". Because these
output operations are not affected by whether the automatic algorithm is being executed or
terminated, these operations can be used to check whether data write or erase operation is
successful. If flash memory outputs "1" while the automatic algorithm is being executed with
the data polling function or toggle bit function, consider the write operation to be unsuccessful.
For example, when "1" is written to a flash memory address where "0" is written, failure
occurs. Flash memory is locked and the automatic algorithm is not terminated. Thus, valid
data is not output from the data polling flag. The toggle bit flag does not stop toggling, the time
limit is exceeded, and "1" is output to the TLOVER flag. This status indicates that flash
memory was not used correctly, not that it was defective. Execute a Reset command.
622
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.5 Execution Status of the Automatic Algorithm
MB91345 Series
[bit3] SETIMR: Sector erase timer flag (DQ3)
This flag is used to report that sector erasure is being awaited after starting a Sector Erase
command.
• Sector erase operation status
When read access is performed within a sector erase time-out period after starting a Sector
Erase command, flash memory outputs "0" regardless of the address indicated by the address
signal of the target sector. If read access is performed beyond the time-out period, flash memory
outputs "1" regardless of the address.
When "1" is set in this flag while the data polling or toggle bit function indicates that the
automatic algorithm is being executed, an internally controlled erase operation has started.
The writing of subsequent sector erase code and commands other than Erase Temporary
Stop is ignored until erase operation terminates.
When this flag is "0", flash memory accepts another sector erase code entry. In this case, it is
recommended to check the status of this flag by software before writing the succeeding sector
erase code. If this flag is "1" at the second time of status check, the additional sector erase
code may not be accepted.
• Sector erase operation status
When a read operation is performed during a temporary sector erase stop operation, flash
memory outputs "1" if the address indicated by the address signal is included in the sector that
is subject to the erase operation. If the address is not included in the sector that is subject to
the erase operation, flash memory outputs the data of bit3 of the read value at the address
indicated by the address signal.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
623
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
19.6
MB91345 Series
Data Writing to and Erasing from Flash Memory
This section explains how to issue a command to start the automatic algorithm for
following operations in flash memory.
• Reset • Data write • Chip erase • Sector erase • Temporary sector erase stop
• Sector erase restart
■ Data Writing/Erase
Automatic algorithm (data write, chip erase, sector erase, temporary sector erase stop, sector
erase restart) of flash memory is activated by writing the command sequence into bus. The write
cycles for each bus must always be executed continuously. Termination of the automatic
algorithm can be checked with the data polling function and toggle bit function. Flash memory is
set again into read/reset status after the automatic algorithm terminates normally.
624
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
MB91345 Series
19.6.1
Read/Reset Status
This section explains the procedure to set flash memory into read/reset status by
issuing reset command.
■ Read/Reset Status
To set the flash memory read/reset status, issue the reset command sequence table continuously
to target sector in the flash memory.
A bus operation is performed one or three times with a Reset command sequence. There is no
essential difference between these two sequences. Read/reset status is the initial status of flash
memory, and flash memory is set in this status at power-on or when a command terminates
normally. In this status, the system waits for a command other than Read/Reset to be entered.
Data can be read using normal read access in this status. Programs can be accessed from the
CPU the same way the programs in mask ROM are accessed. The Read/Reset command is not
necessary for reading data in normal read access. This command is required, however, to
initialize the automatic algorithm if a command does not terminate normally.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
625
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
19.6.2
MB91345 Series
Data Writing
This section explains the procedure to write data to flash memory by issuing data write
command.
■ Data Writing
To activate the automatic algorithm of data write, issue the data write command in command
sequence table continuously to target sector in flash memory. The automatic algorithm and
automatic writing start when writing data to the target address terminates in the fourth cycle.
❍ How to specify address
Only even-numbered addresses can be specified in write data cycles. If an odd-numbered address
is specified, data cannot be written correctly. In other words, data must be written to evennumbered addresses in units of half-words.
Data can be written by freely specifying the order of addresses where data is to be written.
Moreover, data can be written beyond sector boundaries. Note that items of data can only be
written with each write command in units of half-words.
❍ Notes on writing data
Data "0" cannot be changed to "1" in a write operation. If data "1" is overwritten, the data polling
algorithm or toggle operation does not terminate, and the flash memory device is considered
defective. An error is assumed with the time limit over flag if the specified write time is exceeded,
or if only data "1" is apparently written, although data "0" is read in read/reset status. Data "0" can
be changed to "1" only with an erase operation. All commands are ignored during automatic
writing. If a hardware reset is activated during writing, the data being written is not guaranteed.
❍ Write procedure
Figure 19.6-1 shows an example of the write procedure.
The status of the automatic algorithm in flash memory can be checked using the hardware
sequence flag. In the example in Figure 19.6-1, the data polling flag (DQ7) is used to check for
termination of the write operation.
Data for the flag check is read from the address where the last data was written.
The data polling flag (DQ7) changes together with the timing limit over flag (DQ5). Therefore,
data polling flag (DQ7) must be rechecked even though timing limit over flag (DQ5) is set to "1".
The toggle bit flag (DQ6) also stops toggling simultaneously when the value of timing limit over
flag (DQ5) is changed to "1". Therefore, this flag must also be rechecked.
626
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
MB91345 Series
Figure 19.6-1 Example of Flash Memory Writing Procedure
Writing start
Enable writing to FLASH memory
with WE (bit1) in FLCR.
Write command sequence
AAAAH
A5556H
5555H
AAAAAH
A0A0H
A5556H
Write address
Write data
Read internal adress
Data polling
(DPOLL)
Next address
Data
Data
0
Time limit
(TLOVER)
1
Read internal adress.
Data
Data polling
(DPOLL)
Data
Write error
NO
Last address
YES
Disable writing to FLASH memory
with WE (bit1) in FLCR.
Check hardware
sequence flag
DPOLL:Data polling flag (DQ6)
TLOVER:Timing limit over flag (DQ6)
CM71-10132-3E
Writing completion
FUJITSU SEMICONDUCTOR LIMITED
627
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
19.6.3
MB91345 Series
Erasing Data (Chip Erase)
This section explains the procedures to erase all items of data in flash memory by
issuing chip erase commands.
■ Erasing Data (Chip Erase)
To erase all data in flash memory, issue the chip erase command in command sequence table to
the target section in flash memory.
Six bus operations are necessary to execute a chip erase operation. The operation starts when
the sixth write cycle is completed. The user need not write any value to flash memory before chip
erase operation. Flash memory automatically writes "0" to erase all cells.
628
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
MB91345 Series
19.6.4
Erasing Data (Sector Erase)
This section explains the procedures to erase specified sectors in flash memory by
issuing sector erase commands. Erasure in sector units is possible and two or more
sectors can be specified with this command.
■ Sector Erase
To erase the sectors, issue the sector erase command continuously to the target sector in the
flash memory.
❍ How to specify sectors
A sector erase operation can be performed with six bus operations. A 40s to 160s sector erase timeout period starts when a sector erase code (3030H) is written to an even-numbered address
accessible in the target sector in the sixth cycle. To erase another sector, a sector code (3030H)
must be written in the same cycle the same way.
❍ Note on specifying two or more sectors
A sector erase operation starts when the 40 s to 160 s sector erase time-out period terminates
after the final sector erase code is written. Therefore, when two or more sectors are to be
specified, the address and erase code of each target sector must be entered within 40 s (in the
sixth cycle of the command sequence) after specifying the preceding sector. Note that an address
and erase code not entered within 40 s may not be accepted. The sector erase timer flag (DQ3)
of hardware sequence flag can be used to check the validity of a written sector erase code. The
address at which the read sector erase time is written should indicate the target sector.
❍ Sector erase procedure
The hardware sequence flag can be used to check the status of the automatic algorithm in flash
memory.
Figure 19.6-2 shows an example of the sector erase procedure. In this example, the toggle bit
flag (DQ6) is used to check for termination of the erase operation.
Note that data for the flag check is read from the sector to be erased.
The toggle bit flag (DQ6) stops toggling simultaneously when the value of the timing limit over flag
(DQ5) changes to "1". Therefore, the toggle bit flag (DQ6) must be rechecked even though the
timing limit over flag (DQ5) is set to "1".
Because the data polling flag (DQ7) also changes with the timing limit over flag (DQ5), it must
also be rechecked.
■ Restrictions on Data Polling Flag (DQ7)
Due to restrictions on the function in this series, the data polling flag(DQ7) outputs "1" for 40 s to
160 s after the sector erase command is issued, and then outputs "0". After the sector erase is
terminated, the flash memory outputs "1".
For restrictions on the data polling flag (DQ7) and how to avoid erroneous judgment of sector
erase completion, see section "19.7 Restrictions on Data Polling Flag (DQ7) and How to Avoid
Erroneous Judgment".
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
629
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
MB91345 Series
Figure 19.6-2 Example of Sector Erasing Procedure
Erase start
FLCR : WE(bit1)
Flash memory erase
enabled
Erase command sequence
A5556H
AAAAAH
A5556H
A5556H
AAAABH
Input to erase sector (3030H)
YES
Internal address read
AAAAH
5555H
8080H
AAAAH
5555H
Is there any
other sector?
NO
Internal address read 1
Sector
erase timer (DQ3)
Internal address read 2
Toggle bit (TOGGLE)
YES
Data 1 = Data 2 ?
No erasing specification
occurs within 40 μs
additionally.
Set the flag for starting
again from the remainder
andsuspend the erasing.
NO
Timing limit
(TLOVER)
Internal address read 1
Internal address read 2
: Check by hardware sequtnce flag
NO
Toggle bit (TOGGLE)
Data 1 = Data 2 ?
YES
Erase error
Set the flag
for starting again from
the remainder ?
YES
NO
FLCR : WE(bit1)
Flash memory erase
disabled
TOGGLE: Toggle bit flag (DQ6)
TLOVER: Timing limit over flag (DQ5)
630
Erase complete
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
19.6.5
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
Temporary Sector Erase Stop
This section explains the procedures to stop the sector erase operation temporarily by
issuing temporary sector erase stop command. When sector erase operation is
temporarily stopped by this command, the data can be read from a sector not being
erased by using this command.
■ Temporary Sector Erase Stop
To stop the sector erase temporarily, issue the temporary sector erase command in command
sequence table to target sector in flash memory.
This command stops erase operation temporarily, so, data read from a sector not being erased
becomes available. Data can only be read from the sector; data cannot be written there. This
command is only effective during sector erasure that includes an erase time-out period. It is ignored
during chip erase operation and write operation.
A sector erase operation is stopped temporarily by writing a temporary erase stop code (B0B0H).
The address where the temporary erase stop code is written should indicate an address in flash
memory. A Temporary Sector Erase Stop command issued during temporary erase stop status is
ignored.
If a Temporary Sector Erase Stop command is entered during a sector erase time-out period, the
sector erase time-out is immediately canceled and erase operation in progress is stopped. If a
Temporary Sector Erase Stop command is entered during a sector erase operation after the
sector erase time-out period elapses, sector erase operation is stopped temporarily after up to 20
s elapse.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
631
CHAPTER 19 FLASH MEMORY
19.6 Data Writing to and Erasing from Flash Memory
19.6.6
MB91345 Series
Sector Erase Restart
This section explains how to restart the temporarily stopped sector erase operation by
issuing the sector erase restart command.
■ Sector Erase Restart
To restart the sector erase which is temporarily stopped, issue the sector erase restart command
in command sequence table to target sector in flash memory.
Restart operation starts when an erase restart code (3030H) is written. The address where the
erase restart code is written should indicate an address in flash memory.
Sector Erase Restart commands issued during a sector erase operation are ignored.
632
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
19.7
CHAPTER 19 FLASH MEMORY
19.7 Restrictions on Data Polling Flag (DQ7) and How to Avoid Erroneous
Judgment
Restrictions on Data Polling Flag (DQ7) and How to Avoid
Erroneous Judgment
This series has some restrictions on how to use the data polling flag (DQ7) during
execution of the automatic sector erase algorithm. This section describes such
restrictions and how to avoid erroneous judgment of sector erase completion.
■
Description of Problems due to Restrictions
The data polling flag (DQ7) is used to indicate that the execution of the automatic algorithm is
currently in progress or completed, by using the data polling function. In its original operation, as
shown in Figure 19.7-1, DQ7 outputs "0" after the sector erase command is issued when the
automatic algorithm is being started, and returns to "1" upon the completion of the erase
operation. Therefore, the DQ7 polling algorithm indicates the completion of the erase operation
by outputting "1".
In this series, DQ7 continues to output "1" for 40 s to 160 s, after the Sector Erase command is
issued, and then it outputs "0". When the erase operation is completed, it then returns to "1". For
this reason, if the sector erase polling is started while "1" is still being output immediately after the
sector erase command is issued, the erroneous judgment that the erase operation has been
completed may occur, although the erase operation has not actually started.
The timing for DQ7 to change from "1" to "0" after the sector erase command is accepted is the
same as the timing for the sector erase timer flag (DQ3), which indicates the sector erase timeout
period, to change from "0" to "1".
Figure 19.7-1 Actual Operation of Data Polling Flag (DQ7)
Writing the last 3030H by
sector erase command
Erase completed
Signal of internal
interruption
DQ7 (Normal)
DQ7(Problems)
First reading
40 μs to 160 μ s
DQ3
The following or other problems may occur, as a result of the erroneous judgment that the erase operation
has been completed,
(1) Runaway or abnormal operation may occur, because the value of the sequence flag is read from the
flash memory even when the CPU attempts to fetch instruction/data; therefore, the value of the program
cannot be read properly.
(2) If the next command is issued after the erroneous judgment that the sector erase operation has been
completed occurs, the first command may be cancelled, resulting in a return to the read state, or the next
command may not be accepted.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
633
CHAPTER 19 FLASH MEMORY
19.7 Restrictions on Data Polling Flag (DQ7) and How to Avoid
Erroneous Judgment
■
MB91345 Series
How to Avoid Problems
Use one of the following methods to avoid the problems.
● Polling using the toggle bit flag (DQ6)
Determine the state of the automatic algorithm using DQ6, as shown in Figure 19.6-2 in "19.6.4
Data (Sector Erase)"
Erasing
In the same manner as the data polling flag (DQ7), the toggle bit flag (DQ6) indicates that the automatic
algorithm is being executed or has terminated by the toggle bit function.
● Starting polling of DQ7 after the sector erase timeout period elapses
Before starting the polling of DQ7, wait for 160s or more by software after the sector erase command is
issued, or wait until DQ3 is set to "1" (end of the sector erase timeout period). Figure 19.7-2 shows the
judgment method using DQ3 after the sector erase command is issued.
Figure 19.7-2 How to Avoid Problems by Sector Erase Timer Flag (DQ3)
P
Internal address read
0
Sector erase timer flag
(DQ3)
1
Internal address read
Data polling flag (DQ7)
1
0
0
Timing limit over flag
(DQ5)
1
Internal address read
0
Data polling flag (DQ7)
1
Erase error
634
Sector erase
completed
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 19 FLASH MEMORY
19.7 Restrictions on Data Polling Flag (DQ7) and How to Avoid Erroneous
Judgment
● Data polling using the 8 bits of hardware sequence flags
Make a judgment by data polling using the 8 bits of hardware sequence flags, rather than using only the
polling of DQ7.
Figure 19.7-3 shows the judgment method using the data polling of the 8 bits after the sector erase
command is issued.
Figure 19.7-3 How to Avoid Problems by Data Polling of 8 Bits
P
Internal address read
Data (DQ0 to DQ7)?
FFH
other
0
Timing limit over flag
(DQ5)
1
Internal address read
other
Data (DQ0 to DQ7)?
FFH
Erase error
CM71-10132-3E
Sector erase
completed
FUJITSU SEMICONDUCTOR LIMITED
635
CHAPTER 19 FLASH MEMORY
19.8 Notes on Flash Memory Programming
19.8
MB91345 Series
Notes on Flash Memory Programming
This section contains notes on flash memory programming.
■
Notes on Flash Memory Programming
When rewriting flash memory using a program, beware of the following points:
• Do not reset while rewriting a flash memory. The contents written at the reset may become invalid.
• Do not execute programs in the flash memory when FR-CPU programming mode (FLCR register
WE=1). Additionally, under the same conditions, do not generate interrupts if an interrupt vector table
exists in the flash memory. In either case, normal value cannot be obtained from flash and so the
program runaway will occur.
• Use the toggle bit flag (DQ6) as well as the RDY bit of FLCR register to check for termination of the
write operation to the flash memory.
If the flash memory is a defective, the RDY bit of FLCR register indicating the termination of the write
operation willnot be set. In such case, checking only with a RDY bit is not enough and the program may
go into an infinite loop.
• Do not make transitions into sub-run mode nor low-power-consumption mode when FR-CPU
programming mode (FLCR register WE=1).
636
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 20
Wild Register
This chapter describes functions and operations of the
wild register.
20.1 Wild Register Function
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
637
CHAPTER 20 Wild Register
20.1 Wild Register Function
20.1
MB91345 Series
Wild Register Function
Wild register function replaces the data of the patch target address set in the address register
to the data set in the patch data registers.
This control consists of 1 register for controlling and 16 registers for setting, a total of 17
registers.
■ Function of Wild Register
Figure 20.1-1 shows a block diagram.
Figure 20.1-1 Block Diagram
I-bus address
I-bus data
F-bus address F-bus data
Wild Register
Registers
Access control
Flash memory
638
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 20 Wild Register
20.1 Wild Register Function
MB91345 Series
20.1.1
Description of Registers for Wild Register Function
This section explains the registers of the Wild register function.
Figure 20.1-2 shows a list of the Wild register function registers.
Figure 20.1-2 Map of Wild register Function Registers
Bit 31
Address
0000_7020H
0000_7030H
0000_7034H
0000_7038H
0000_703CH
0000_7040H
0000_7044H
0000_7048H
0000_704CH
0000_7050H
0000_7054H
0000_7058H
0000_705CH
0000_7060H
0000_7064H
0000_7068H
0000_706CH
CM71-10132-3E
24 23
+0
16 15
+1
87
+2
0
+3

WREN
WA0
WD0
WA1
WD1
WA2
WD2
WA3
WD3
WA4
WD4
WA5
WD5
WA6
WD6
WA7
WD7
FUJITSU SEMICONDUCTOR LIMITED
639
CHAPTER 20 Wild Register
20.1 Wild Register Function
MB91345 Series
■ Wild Register Control Register (WAx)
bit31 to bit21
bit20 to bit2
bit1, bit0

A20 to A2


R/W

Initial Value: -----------XXXXXXXXXXXXXXXXXXX--B
[bit31 to bit21] Reserved
No bit exists. Undefined value is read.
[bit20 to bit2] A20 to A2
Bits for specifying Wild register addresses.
These bits set Wild register target addresses.
Note: Do not set the address outside of ROM area for this register.
[bit1, bit0] Reserved
No register exists. Undefined value is read.
■ Wild Register Data Register (WDx)
bit31
bit0
D31 to D0
R/W
Initial Value: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXB
[bit31 to bit0] D31 to D0
Bits for setting the data for replacing corresponding to WAx registers.
■ Wild Register Enable Register (WREN)
bit7
Address:
WREN7
0000-7020H
R/W
bit6
bit5
bit4
bit3
bit2
bit1
WREN6
WREN5
WREN4
WREN3
WREN2
WREN1
R/W
R/W
R/W
R/W
R/W
R/W
bit0
Initial Value
WREN0 00000000B
R/W
[bit7 to bit0] WRENx
Enable bits for ch.0 to ch.7 of the Wild register function.
640
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 20 Wild Register
20.1 Wild Register Function
MB91345 Series
■ Operation of Wild Register Function
Wild register replaces data to data set in WDx. Replacement data/register for each channel is shown in the
following table.
Replace Data/Register
Channel
ch.x
(x=0 to 7)
Address+0
Address+1
Address+2
Address+3
WDx (D31 to D24)
WDx (D23 to D16)
WDx (D15 to D08)
WDx (D07 to D00)
■ Restrictions and Notes of Wild Register Function
• Wild register function prioritizes the specification of register with lower number. (Example: ch.0 >
ch.1)
• Wild register is operable only in the memory area of the internal ROM area. If other area is specified,
malfunctions may occur. Do not specify area other than the memory area of the internal ROM area.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
641
CHAPTER 20 Wild Register
20.1 Wild Register Function
642
MB91345 Series
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 21
Arithmetic Macro for the
Minimum, Maximum and
Absolute Values
This chapter describes the overview, the configuration
and functions of registers, and the operation of the
arithmetic macro for MIN/MAX/ABS.
21.1 Overview of Arithmetic Macro for MIN/MAX/ABS
21.2 Register Configuration of Arithmetic Macro for MIN/MAX/ABS
21.3 Operation Description of Arithmetic Macro for MIN/MAX/ABS
21.4 Caution of Arithmetic Macro for MIN/MAX/ABS
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
643
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum and Absolute Values
21.1 Overview of Arithmetic Macro for MIN/MAX/ABS
21.1
MB91345 Series
Overview of Arithmetic Macro for MIN/MAX/ABS
The arithmetic macro for MIN/MAX/ABS is composed of the maximum/minimum values'
detector circuit and the absolute values' arithmetic circuit.
For DATA A and DATA B, it performs an arithmetical operation of the minimum,
maximum, and absolute values to accumulate the result.
■ Register List
Address
644
bit31
···
bit0
Register name
0003A0H
DATA_A
Arithmetic data register A
0003A4H
DATA_B
Arithmetic data register B
0003A8H
MIN
Minimum value results register
0003ACH
MAX
Maximum value results register
0003B0H
ABS
Absolute value arithmetic results register
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
21.2
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum and Absolute Values
21.2 Register Configuration of Arithmetic Macro for MIN/MAX/ABS
Register Configuration of Arithmetic Macro for MIN/MAX/
ABS
This section explains the register configuration of the arithmetic macro for MIN/MAX/
ABS.
■ Minimum Value Results Register (MIN)
MIN
Address: 0003A8H
bit31
bit0
Initial value
00000000H
bit0
Initial value
00000000H
R/W
R/W: Readable/writable
[bit31 to bit0]: MIN
This is a register used to accumulate the minimum values (MIN(A,B)).
Initial value is "00000000H".
All bits are readable and writable.
Word data (32 bits) access is only enabled.
Do not access this register using read-modify-write (RMW) instruction.
■ Maximum Value Results Register (MAX)
MAX
Address: 0003ACH
bit31
R/W
R/W: Readable/writable
[bit31 to bit0]: MAX
This is a register used to accumulate the maximum values (MAX(A,B)).
Initial value is "00000000H".
All bits are readable and writable.
Word data (32 bits) access is only enabled.
Do not access this register using read-modify-write (RMW) instruction.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
645
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum and Absolute Values
21.2 Register Configuration of Arithmetic Macro for MIN/MAX/ABS
MB91345 Series
■ Absolute Value Arithmetic Results Register (ABS)
ABS
Address: 0003B0H
bit31
bit0
Initial value
00000000H
R/W
R/W: Readable/writable
[bit31 to bit0]: ABS
This is a register used to accumulate the absolute difference (ABS(A-B)).
Initial value is "00000000H".
All bits are readable and writable.
Word data (32 bits) access is only enabled.
Do not access this register using read-modify-write (RMW) instruction.
Notes:
• Results of ABS(A-B) may overflow with some values in DATA_A and DATA_B.
If overflows occur, arithmetic results will be incorrect values.
• To perform absolute values’ arithmetic operation, 2 clocks are required. To read the arithmetic
results, begin to read the results by leaving more than one clock spaces to the rear of the writing
in the DATA_B register.
■ Arithmetic Data Register A (DATA_A)
A
bit31
bit16 bit15
Address: 0003A0H
bit0
Initial value
XXXXXXXXH
W
W: Write only
[bit31 to bit0]: A
This is a register used to write arithmetic data A.
Initial value is indeterminate.
It is used for signed 32-bit integers.
These bits are only writable.
Word data (32 bits) access is enabled. Also, half-word data (16 bits) access is enabled for bit15 to bit0.
In the case of a writing using a half-word, all high 16 bits will be "0".
Do not access this register using read-modify-write (RMW) instruction.
646
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum and Absolute Values
21.2 Register Configuration of Arithmetic Macro for MIN/MAX/ABS
■ Arithmetic Data Register B (DATA_B)
B
bit31
bit16 bit15
Address: 0003A4H
bit0
Initial value
XXXXXXXXH
W
W: Write only
[bit31 to bit0]: B
This is a register used to write arithmetic data B.
Initial value is indeterminate.
It is used for signed 32-bit integers.
These bits are only writable.
Word data (32 bits) access is enabled. Also, half-word data (16 bits) access is enabled for bit15 to bit0.
In the case of a writing using a half-word, all high 16 bits will be "0".
Do not access this register using read-modify-write (RMW) instruction.
If the value is written into this register, arithmetic operation is performed for the minimum, maximum
and absolute values and then arithmetic results are stored into the register respectively.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
647
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum and Absolute Values
21.3 Operation Description of Arithmetic Macro for MIN/MAX/ABS
21.3
MB91345 Series
Operation Description of Arithmetic Macro for MIN/MAX/
ABS
This section describes the operation of the arithmetic macro for MIN/MAX/ABS.
■ Registers of the Minimum, Maximum and Absolute Value Arithmetic Results
These registers perform arithmetic operations of MIN(A,B), MAX(A,B) and ABS(A-B) for signed 32-bit
integers written in arithmetic data registers A and B and then accumulates the results in registers
respectively.
When the data is written into arithmetic data registers B, arithmetic operation is performed for the
minimum, maximum and absolute values and then arithmetic results are stored into the register
respectively.
Example
The following shows sample operation.
Where
A(i) = {1,2,3,4,5}
B(i) = {3,2,1,0,1}
0000_03A8H = 0000_0000H // MIN is initialized
0000_03ACH = 0000_0000H // MAX is initialized
0000_03B0H = 0000_0000H // ABS is initialized
0000_03A0H = 0000_0001H // A(1) is set
0000_03A4H = 0000_0003H // B(1) is set  MIN(A,B)=1,MAX(A,B)=3,ABS(A-B)=2
0000_03A0H = 0000_0002H // A(2) is set
0000_03A4H = 0000_0002H // B(2) is set  MIN(A,B)=2,MAX(A,B)=2,ABS(A-B)=0
0000_03A0H = 0000_0003H // A(3) is set
0000_03A4H = 0000_0001H // B(3) is set  MIN(A,B)=1,MAX(A,B)=3,ABS(A-B)=2
0000_03A0H = 0000_0004H // A(4) is set
0000_03A4H = 0000_0000H // B(4) is set  MIN(A,B)=0,MAX(A,B)=4,ABS(A-B)=4
0000_03A0H = 0000_0005H // A(5) is set
0000_03A4H = 0000_0001H // B(5) is set  MIN(A,B)=1,MAX(A,B)=5,ABS(A-B)=4
0000_03A8H : 1+2+1+0+1 = 5
0000_03ACH : 3+2+3+4+5 = 17
0000_03B0H : 2+0+2+4+4 = 12
648
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
MB91345 Series
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum and Absolute Values
21.3 Operation Description of Arithmetic Macro for MIN/MAX/ABS
■ Direct Transfer Command
Since this macro’s register is assigned to direct addressing areas, you can use the following direct transfer
commands besides general commands if you write it using an assembler.
(A) DMOV @dir10, R13
DMOV R13, @dir10
(B) DMOV @dir10, @R13+
DMOV @R13+, @dir10
(C) DMOV @dir10, @-R15
DMOV @R15+, @dir10
Even if you write it in C language, the command (A) above is generated.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
649
CHAPTER 21 Arithmetic Macro for the Minimum, Maximum and Absolute Values
21.4 Caution of Arithmetic Macro for MIN/MAX/ABS
21.4
MB91345 Series
Caution of Arithmetic Macro for MIN/MAX/ABS
This section explains caution of the arithmetic macro for MIN/MAX/ABS.
■ Caution of Arithmetic Macro for MIN/MAX/ABS
• Cumulative sum of the minimum, maximum and absolute values may overflow.
If overflows occur, arithmetic results will be incorrect values.
• Results of ABS(A-B) may overflow with some values of DATA_A and DATA_B.
If overflows occur, arithmetic results will be incorrect values.
• To perform absolute values’ arithmetical operation, 2 clocks are required. To read the arithmetic results,
begin to read the results by leaving more than one clock spaces to the rear of the writing in the
DATA_B register.
650
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 22
Serial Writing Connection
This chapter explains an example of a serial writing
connection using the flash microcontroller programmer
(manufactured by Yokogawa Digital Computer
Corporation).
22.1 Basic Configuration of the Serial Writing
22.2 Pins Used for Fujitsu-Standard Serial Onboard Writing
22.3 Sample Connection of Serial Writing
22.4 System Configuration of Flash Microcontroller Programmer
22.5 Caution of Serial Writing
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
651
CHAPTER 22 Serial Writing Connection
22.1 Basic Configuration of the Serial Writing
22.1
MB91345 Series
Basic Configuration of the Serial Writing
The MB91345 series supports serial onboard writing of Flash ROM (Fujitsu standard).
This section explains its specification.
■ Basic Configuration of the Serial Writing
Fujitsu-standard serial onboard writing uses AF420/AF320/AF220/AF210/AF120/AF110 flash microcontroller
programmers manufactured by Yokogawa Digital Computer Corporation. The following figure shows the basic
configuration of the serial writing connection.
Figure 22.1-1 Basic Configuration of the Serial Writing Connection
Host interface cable
RS232C
AF420/AF320/
AF220/AF210/
AF120/AF110
Flash
microcontroller
programmer
+
Memory card
General-purpose common cable (AZ210)
CLK synchronous serial
MB91345 series
user system
The unit is enabled to operate on a stand-alone basis.
Note:
For information of features of and how to use flash microcontroller programmers, and generalpurpose common cables (AZ210) and connectors used for connection, please contact Yokogawa
Digital Computer Corporation.
652
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 22 Serial Writing Connection
22.2 Pins Used for Fujitsu-Standard Serial Onboard Writing
MB91345 Series
22.2
Pins Used for Fujitsu-Standard Serial Onboard Writing
This section explains the pins used for Fujitsu-standard serial onboard writing.
■ Pins Used for Fujitsu-Standard Serial Onboard Writing
Table 22.2-1 shows the function of the pins used for Fujitsu-standard serial onboard writing.
Table 22.2-1 Pins used for Fujitsu-Standard Serial Onboard Writing
Pin
Functions
Remarks
MD2, MD1, MD0 Mode pins
These pins are used to set to the writing mode.
Flash serial writing modes: MD2, MD1, MD0=H, L, L
Reference: Single chip modes: MD2, MD1, MD0=L, L, L
P54/RT4
P55/RT5
P53/PPG7
Pins used to activate the
writing program
During the flash serial rewriting, these pins are set to P54=L, P55=H
(clock synchronous mode).
INIT, TRST
Reset pins
P20/SIN0
Pins used to input serial data
[Reference: If P54 is "L" and P55 is "L", it will be in the asynchronous
UART mode.]
P53=H: External clock 12.5 MHz
P53=L: External clock 12 MHz

P21/SOT0/SDA0
These pins use UART ch.0 resources as the interface of serial onboard
Pins used to output serial data writing communication.
P22/SCK0/SCL0
Pins used to input serial clock
VCC
Power voltage supply
Please supply the writing voltage from the user system.
VSS
GND pin
Follow the GND of the flash microcontroller programmer.
Figure 22.2-1 Control Circuit
AF420/AF320/
AF220/AF210/
AF120/AF110
Writing control pin
AF420/AF320/
AF220/AF210/
AF120/AF110
/TICS pin
MB91345 series
Writing control pin
10 kΩ
User circuit
Notes:
• If you use P53, P54, P55, SIN0, SOT0, SCK0 pins for user system, the control circuit in Figure
22.2-1 will be required. (/TICS signal of the flash microcontroller programmer enables user circuits
to be disconnected during the serial writing.)
• Please connect the flash microcontroller programmer when the user's power supply is off.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
653
CHAPTER 22 Serial Writing Connection
22.3 Sample Connection of Serial Writing
22.3
MB91345 Series
Sample Connection of Serial Writing
This section explains sample connection of the serial writing.
■ Sample Connection of Serial Writing
Figure 22.3-1 shows a sample connection of serial writing.
Figure 22.3-1 Sample Connection of the Serial Writing
Flash microcontroller user system
programmer
MB91345 Series
Connector DX10-28S
TAUX3
(19)
At the serial
rewriting 1
MD2
≥ 4.7 kΩ
MD1
MD0
User circuit
P54
At the serial
rewriting 0
≥ 4.7 kΩ
At the serial
rewriting 1
≥ 4.7 kΩ
P55
User circuit
TRST
≥ 4.7 kΩ
/TRES
(5)
TTXD
(13)
(27)
SIN0
SOT0
(6)
SCK0
(2)
VCC
TRXD
TCK
TVcc
GND
(7,8,
14,15,
21,22
1,28)
INIT
User's power supply (3.3V)
VSS
14 pin
1 pin
Pins of 3, 4, 9, 10, 11, DX10-28S
12, 16, 17, 18, 20, 23,
24, 25 and 26 are open.
28 pin
15 pin
Pin assignment of the connector
DX10-28S: right angle type
(manufactured by Hirose Electric Co., Ltd.)
654
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
CHAPTER 22 Serial Writing Connection
22.4 System Configuration of Flash Microcontroller Programmer
MB91345 Series
22.4
System Configuration of Flash Microcontroller
Programmer
This section shows the system configuration of the flash microcontroller programmer
(manufactured by Yokogawa Digital Computer Corporation).
■ System Configuration of Flash Microcontroller Programmer (Manufactured by
Yokogawa Digital Computer Corporation)
Table 22.4-1 System Configuration of Flash Microcontroller Programmer (Manufactured by
Yokogawa Digital Computer Corporation)
Model name
Functions
AF220
/AC4P
Ethernet interface model
/100V to 220V power adaptor
AF210
/AC4P
Standard model
/100V to 220V power adaptor
AF120
/AC4P
Single-key Ethernet interface model
/100V to 220V power adaptor
AF110
/AC4P
Single key model
/100V to 220V power adaptor
Main unit
Contact: Yokogawa Digital Computer Corporation
Telephone number: +81-42-333-6224
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
655
CHAPTER 22 Serial Writing Connection
22.5 Caution of Serial Writing
22.5
MB91345 Series
Caution of Serial Writing
This section shows caution of the serial writing connection.
■ Oscillation Clock Frequency
Oscillation clock frequency enabled for the flash memory writing is 12 MHz or 12.5 MHz.
■ Port Status during Flash Memory Writing
The port status during the flash memory writing using the serial writer is equal to the reset status except
pins used for the writing.
656
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
APPENDIX
This section contains detailed information which is not
included in the main text but required for programming,
such as the I/O map, interrupt vectors, pin status in the
CPU state, and notes and instruction lists that may be
needed when using the little endian field.
APPENDIX A I/O Map
APPENDIX B Vector Table
APPENDIX C Pin Status List
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
657
APPENDIX
APPENDIX A I/O Map
MB91345 Series
APPENDIX A I/O Map
This map shows the mapping status of each register for the memory space field and
peripheral resources.
■ How to Read the I/O Map
Figure A-1shows the correspondence between the memory space area and the peripheral resource registers.
Figure A-1 Reading the table
address
000000H
register
+1
+2
PDR1[R/W]
PDR2[R/W]
XXXXXXXX
XXXXXXXX
+0
PDR0[R/W]
XXXXXXXX
+3
PDR3[R/W]
XXXXXXXX
block
T-unit
Port Data Register
Read/write attribute
Initial value of register after reset
Register name (column 1 of the register is at address 4n,
column 2 is at address 4n + 1...)
Leftmost register address (For word-length access,
column 1 of the register becomes the MSB of the data.)
Notes:
The initial value of bits in a register are indicated as follows:
• "1" : Initial value "1"
• "0" : Initial value "0"
• "X" : Initial value "X"
• "-" : A physical register does not exist at the location.
658
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (1 / 13)
Address
000000H
000004H
000008H
00000CH
000010H
000014H
000018H
00001CH
Register
+0
+1
+2
PDR0 [R/W] B,H PDR1 [R/W] B,H PDR2 [R/W] B,H
XXXXXXXX
XXXXXXXX
XXXXXXXX
PDR4 [R/W] B,H PDR5 [R/W] B,H PDR6 [R/W] B,H
XXXXXXXX
XXXXXXXX
----XXXX
---PDRC [R/W] B,H PDRD [R/W] B,H PDRE [R/W] B,H
-----XXX
XXXXXXXX
XXXXXXXX
-------------
000020H
000024H
000028H
00002CH
--
--
ADCS01 [R/W] ADCS00 [R,R/W]
00000000
00000000
ADCT0 [R/W]
00010000 00101100
ADCR0M [R]
------XX XXXXXXXX
000030H
--
--
000048H
ADCS11 [R/W] ADCS10 [R,R/W]
00000000
00000000
ADCT1 [R/W]
00010000 00101100
--EIRR0 [R/W]
ENIR0 [R/W]
00000000
00000000
DICR [R/W]
HRCL [R,R/W]
00000000
0--11111
TMRLR0 [W]
XXXXXXXX XXXXXXXX
00004CH
--
000050H
TMRLR1 [W]
XXXXXXXX XXXXXXXX
000054H
--
000058H
TMRLR2 [W]
XXXXXXXX XXXXXXXX
000034H
000038H
00003CH
000040H
000044H
00005CH
000060H
000064H
000068H
00006CH
--
--
SCR0 [R,R/W]
SMR0 [W,R/W]
0--00000
00000000
RDR0/TDR0 [R/W]
00000000
ISMK0 [R/W]
IBSA [R/W]
01111110
00000000
FBYTE02 [R/W] FBYTE01 [R/W]
00000000
00000000
CM71-10132-3E
+3
PDR3 [R/W] B,H
XXXXXXXX
--
--
-
TMR0 [R]
XXXXXXXX XXXXXXXX
TMCSR0 [R,RW]
00000000 00000000
TMR1 [R]
XXXXXXXX XXXXXXXX
TMCSR1 [R,RW]
00000000 00000000
TMR2 [R]
XXXXXXXX XXXXXXXX
TMCSR2 [R,RW]
00000000 00000000
SSR0 [R,R/W]
ESCR0 [R/W]
0-000011
--000000
BGR01 [R/W]
BGR00 [R/W]
00000000
00000000
FCR01 [R/W]
FCR00 [R/W]
00000000
00000000
--
Port Data Registers
--
----ADERH0 [R/W]
-11111111
ADCR0 [R]
------XX XXXXXXXX
ADSCH0 [R/W] ADECH0 [R/W]
0----000
-----000
ADCR1M [R]
------XX XXXXXXXX
ADERH1 [R/W]
-11111111
ADCR1 [R]
------XX XXXXXXXX
ADSCH1 [R/W] ADECH1 [R/W]
0----000
-----000
--ELVR0 [R/W]
00000000 00000000
-
Block
Reserved
Reserved
Reserved
Reserved
A/D converter 0
A/D mirror data register
A/D converter 1
Reserved
External interrupt 0 to
external interrupt 7
Delayed interrupt module
ReLoad Timer 0
ReLoad Timer 1
ReLoad Timer 2
FIFO 0
Multi function interface 0
--
FUJITSU SEMICONDUCTOR LIMITED
659
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (2 / 13)
Address
000070H
000074H
000078H
00007CH
000080H
000084H
000088H
00008CH
000090H
000094H
000098H
00009CH
0000A0H
0000A4H
0000A8H
0000ACH
0000B0H
0000B4H
0000B8H
0000BCH
0000C0H
0000C4H
0000C8H
0000CCH
0000D0H
0000D4H
0000D8H
660
Register
+0
+1
SCR1 [R,R/W]
SMR1 [W,R/W]
0--00000
00000000
RDR1/TDR1 [R/W]
00000000
ISMK1 [R/W]
IBSA1 [R/W]
01111110
00000000
FBYTE12 [R/W] FBYTE11 [R/W]
00000000
00000000
SCR2 [R,R/W]
SMR2 [W,R/W]
0--00000
00000000
RDR2/TRD2 [R/W]
00000000
ISMK2 [R/W]
IBSA2 [R/W]
01111110
00000000
--SCR3 [R,R/W]
SMR3 [W,R/W]
0--00000
00000000
RDR3/TRD3 [R/W]
00000000
ISMK3 [R/W]
IBSA3 [R/W]
01111110
00000000
--SCR4 [R,R/W]
SMR4 [W,R/W]
0--00000
00000000
RDR4/TRD4 [R/W]
00000000
ISMK4 [R/W]
IBSA4 [R/W]
01111110
00000000
--SCR5 [R,R/W]
SMR5 [W,R/W]
0--00000
00000000
RDR5/TRD5 [R/W]
00000000
ISMK5 [R/W]
IBSA5 [R/W]
01111110
00000000
--EIRR1 [R/W]
ENIR1 [R/W]
00000000
00000000
EIRR2 [R/W]
ENIR2 [R/W]
00000000
00000000
----CPCLRB/CPCLR [R/W] H
11111111 11111111
TCCSH [R/W] B TCCSL [R/W] B
00000000
01000000
---
+2
SSR1 [R,R/W]
0-000011
BGR11 [R/W]
00000000
FCR11 [R/W]
00000000
+3
ESCR1 [R/W]
--000000
BGR10 [R/W]
00000000
FCR10 [R/W]
00000000
--
--
SSR2 [R,R/W]
0-000011
BGR21 [R/W]
00000000
ESCR2 [R/W]
--000000
BGR20 [R/W]
00000000
--
--
-SSR3 [R,R/W]
0-000011
BGR31 [R/W]
00000000
-ESCR3 [R/W]
--000000
BGR30 [R/W]
00000000
--
--
-SSR4 [R,R/W]
0-000011
BGR41 [R/W]
00000000
-ESCR4 [R/W]
--000000
BGR40 [R/W]
00000000
--
--
-SSR5 [R,R/W]
0-000011
BGR51 [R/W]
00000000
-ESCR5 [R/W]
--000000
BGR50 [R/W]
00000000
--
--
-ELVR1 [R/W]
00000000 00000000
ELVR2 [R/W]
00000000 00000000
----TCDTH/TCDTL [R/W] H
00000000 00000000
Block
FIFO 1
Multi function interface 1
Multi function interface 2
Multi function interface 3
Multi function interface 4
Multi function interface 5
--
--
--
--
--
FUJITSU SEMICONDUCTOR LIMITED
External interrupt 8 to
external interrupt 15
External interrupt 16 to
external interrupt 23
Reserved
Reserved
32bit Free Run Timer 0
Reserved
CM71-10132-3E
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (3 / 13)
Register
Address
0000ECH
+0
+1
IPCPH0/IPCPL0 [R]
XXXXXXXX XXXXXXXX
IPCPH2/IPCPL2 [R]
XXXXXXXX XXXXXXXX
ICSH01 [R/W]
ICSL01 [R/W]
------00
00000000
OCCPH0/OCCPL0 [R/W]
XXXXXXXX XXXXXXXX
OCCPH2/OCCPL2 [R/W]
XXXXXXXX XXXXXXXX
+2
+3
IPCPH1/IPCPL1 [R]
XXXXXXXX XXXXXXXX
IPCPH3/IPCPL3 [R]
XXXXXXXX XXXXXXXX
ICSH23 [R/W]
ICSL23 [R/W]
------00
00000000
OCCPH1/OCCPL1 [R/W]
XXXXXXXX XXXXXXXX
OCCPH3/OCCPL3 [R/W]
XXXXXXXX XXXXXXXX
0000F0H
OCS01 [R/W]
11101100 00001100
OCS23 [R/W]
11101100 00001100
0000DCH
0000E0H
0000E4H
0000E8H
0000F4H
0000F8H
0000FCH
OCMOD [R/W] B
-00000000
PWCSR0 [R/W,R] B,H,W
0000000X 00000000
PDIVR0 [R/W]
-B,H,W
XXXXX000
CM71-10132-3E
--
--
Block
16bit input capture
Output compare 1/
Output compare 0
Output compare 3/
Output compare 2
Output compare 3 to
Output compare 0
Ctrl.
OCU Mode Select
PWCR0 [R] H,W
00000000 00000000
PWC
--
--
FUJITSU SEMICONDUCTOR LIMITED
661
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (4 / 13)
Address
000100H
000104H
000108H
00010CH
000110H
000114H
000118H
00011CH
000120H
000124H
000128H
00012CH
000130H
000134H
000138H
00013CH
000140H
000144H
000148H
00014CH
000150H
000154H
662
Register
Block
+0
+1
+2
+3
PRLH0 [R/W]
PRLL0 [R/W]
PRLH1 [R/W]
PRLL1 [R/W]
B,H,W
B,H,W
B,H,W
B,H,W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
PRLH2 [R/W]
PRLL2 [R/W]
PRLH3 [R/W]
PRLL3 [R/W]
B,H,W
B,H,W
B,H,W
B,H,W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
PPGC0 [R/W]
PPGC1 [R/W]
PPGC2 [R/W]
PPGC3 [R/W]
B,H,W 0000000X B,H,W 0000000X B,H,W 0000000X B,H,W 0000000X
PRLH4 [R/W]
PRLL4 [R/W]
PRLH5 [R/W]
PRLL5 [R/W]
B,H,W
B,H,W
B,H,W
B,H,W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
PRLH6 [R/W]
PRLL6 [R/W]
PRLH7 [R/W]
PRLL7 [R/W]
B,H,W
B,H,W
B,H,W
B,H,W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
PPGC4 [R/W]
PPGC5 [R/W]
PPGC6 [R/W]
PPGC7 [R/W]
B,H,W 0000000X B,H,W 0000000X B,H,W 0000000X B,H,W 0000000X
PRLH8 [R/W]
PRLL8 [R/W]
PRLH9 [R/W]
PRLL9 [R/W]
B,H,W
B,H,W
B,H,W
B,H,W
PPG0 to PPGF
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
PRLHA [R/W]
PRLLA [R/W]
PRLHB [R/W]
PRLLB [R/W]
B,H,W
B,H,W
B,H,W
B,H,W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
PPGC8 [R/W]
PPGC9 [R/W]
PPGCA [R/W]
PPGCB [R/W]
B,H,W 0000000X B,H,W 0000000X B,H,W 0000000X B,H,W 0000000X
PRLHC [R/W]
PRLLC [R/W]
PRLHD [R/W]
PRLLD [R/W]
B,H,W
B,H,W
B,H,W
B,H,W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
PRLHE [R/W]
PRLLE [R/W]
PRLHF [R/W]
PRLLF [R/W]
B,H,W
B,H,W
B,H,W
B,H,W
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
PPGCC [R/W]
PPGCD [R/W]
PPGCE [R/W]
PPGCF [R/W]
B,H,W 0000000X B,H,W 0000000X B,H,W 0000000X B,H,W 0000000X
PPGTRG [R/W] B,H,W
PPGGATEC [R/W]
-00000000 00000000
B XXXXXX00
PPGREVC [R/W] B,H,W
--00000000 00000000
----Reserved
----Reserved
----Reserved
----Reserved
----Reserved
----Reserved
CPCLRB/CPCLR [R/W] W
11111111 11111111
32bit Free Run Timer 0
TCDT [R/W] W
00000000 00000000 00000000 00000000
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (5 / 13)
Address
000158H
00015CH
000160H
000164H
000168H
00016CH
000170H
000174H
000178H
00017CH
000180H
000184H
000188H
00018CH
000190H
000194H
000198H
00019CH
0001A0H
0001A4H
0001A8H
0001ACH
0001B0H
0001B4H
0001B8H
0001BCH
Register
Block
+1
+2
+3
TCCSL [R/W] B
--01000000
IPCP4 [R] W
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
IPCP5 [R] W
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
32bit Input Capture Unit
IPCP6 [R] W
4, Unit 5, Unit 6, Unit 7
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
IPCP7 [R] W
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
ICS45 [R/W]
ICS67 [R/W]
--00000000
00000000
OCCP4 [R/W] W
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
OCCP5 [R/W] W
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
32bit
OCCP6 [R/W] W
output compare 7 to
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
output compare 4
OCCP7 [R/W] W
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
OCS45 [R/W]
OCS67 [R/W]
11101100 00001100
11101100 00001100
RCRH1 [W] B,H RCRL0 [W] B,H UDCR1 [R] B,H UDCR0 [R] B,H
00000000
00000000
00000000
00000000
CCRH0 [R/W] B,H CCRL0 [R/W] B,H
Up/Down Counter 0/
CSR0 [R/W] B
-00000000
00000000
Up/Down Counter 1
00000000
CCRH1 [R/W] B,H CCRL1 [R/W] B,H
CSR1 [R/W] B
-00000000
00000000
00000000
----Reserved
RCRH3 [W] B,H RCRL2 [W] B,H UDCR3 [R] B,H UDCR2 [R] B,H
00000000
00000000
00000000
00000000
CCRH2 [R/W] B,H CCRL2 [R/W] B,H
Up/Down Counter 2/
CSR2 [R/W] B
-00000000
00000000
Up/Down Counter 3
00000000
CCRH3 [R/W] B,H CCRL3 [R/W] B,H
CSR3 [R/W] B
-00000000
00000000
00000000
----Reserved
----Reserved
----Reserved
----Reserved
SCR6 [R,R/W]
SMR6 [W,R/W]
SSR6 [R,R/W]
ESCR6 [R/W]
0--00000
00000000
0-000011
--000000
RDR6/TRD6 [R/W]
BGR61 [R/W]
BGR60 [R/W]
00000000
00000000
00000000
Multi function interface 6
ISMK6 [R/W]
IBSA6 [R/W]
--01111110
00000000
----+0
TCCSH [R/W] B
00000000
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
663
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (6 / 13)
Address
0001C0H
0001C4H
0001C8H
0001CCH
0001D0H
0001D4H
0001D8H
0001DCH
0001E0H
0001E4H
0001E8H
0001ECH
0001F0H
0001F4H
0001F8H
0001FCH
000200H
000204H
000208H
00020CH
000210H
000214H
000218H
00021CH
000220H
000224H
664
Register
+0
+1
+2
SCR7 [R,R/W]
SMR7 [W,R/W]
SSR7 [R,R/W]
0--00000
00000000
0-000011
RDR7/TRD7 [R/W]
BGR71 [R/W]
00000000
00000000
ISMK7 [R/W]
IBSA7 [R/W]
-01111110
00000000
---SCR8 [R,R/W]
SMR8 [W,R/W]
SSR8 [R,R/W]
0--00000
00000000
0-000011
RDR8/TRD8 [R/W]
BGR81 [R/W]
00000000
00000000
ISMK8 [R/W]
IBSA8 [R/W]
-01111110
00000000
---SCR9 [R,R/W]
SMR9 [W,R/W]
SSR9 [R,R/W]
0--00000
00000000
0-000011
RDR9/TRD9 [R/W]
BGR91 [R/W]
00000000
00000000
ISMK9 [R/W]
IBSA9 [R/W]
-01111110
00000000
---SCRA [R,R/W]
SMRA [W,R/W]
SSRA [R,R/W]
0--00000
00000000
0-000011
RDRA/TRDA [R/W]
BGRA1 [R/W]
00000000
00000000
ISMKA [R/W]
IBSAA [R/W]
-01111110
00000000
---DMACA0 [R/W]
00000000 00000000 00000000 00000000
DMACB0 [R/W]
00000000 00000000 00000000 00000000
DMACA1 [R/W]
00000000 00000000 00000000 00000000
DMACB1 [R/W]
00000000 00000000 00000000 00000000
DMACA2 [R/W]
00000000 00000000 00000000 00000000
DMACB2 [R/W]
00000000 00000000 00000000 00000000
DMACA3 [R/W]
00000000 00000000 00000000 00000000
DMACB3 [R/W]
00000000 00000000 00000000 00000000
DMACA4 [R/W]
00000000 00000000 00000000 00000000
DMACB4 [R/W]
00000000 00000000 00000000 00000000
+3
ESCR7 [R/W]
--000000
BGR70 [R/W]
00000000
Block
Multi function interface 7
--ESCR8 [R/W]
--000000
BGR80 [R/W]
00000000
Multi function interface 8
--ESCR9 [R/W]
--000000
BGR90 [R/W]
00000000
Multi function interface 9
--ESCRA [R/W]
--000000
BGRA0 [R/W]
00000000
FUJITSU SEMICONDUCTOR LIMITED
Multi function interface
10
---
DMAC
CM71-10132-3E
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (7 / 13)
Register
Address
000228H
to
00023CH
+0
+1
+2
+3
--
--
--
--
DMACR [R/W]
0XX00000 XXXXXXXX XXXXXXXX XXXXXXXX
000240H
000244H
to
00027CH
000280H
to
00038CH
000390H
to
0003BCH
--
--
Reserved
--
--
--
--
Reserved
--
--
--
--
Reserved
DATA_A [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
DATA_B [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
MIN [R/W]
00000000 00000000 00000000 00000000
MAX [R/W]
00000000 00000000 00000000 00000000
ABS [R/W]
00000000 00000000 00000000 00000000
0003A8H
0003ACH
0003B0H
0003F4H
0003F8H
0003FCH
000400H
000404H
000408H
00040CH
000410H
000414H
to
00041CH
DMAC
--
0003A4H
0003F0H
Reserved
--
0003A0H
0003B4H
to
0003ECH
Block
--
--
--
MIN/MAX/ABS
--
Reserved
BSD0 [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
BSD1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Bit Search Module
BSDC [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
BSRR [R]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
DDR0 [R/W] B,H DDR1 [R/W] B,H DDR2 [R/W] B,H DDR3 [R/W] B,H
00000000
00000000
00000000
00000000
DDR4 [R/W] B,H DDR5 [R/W] B,H DDR6 [R/W] B,H
-00000000
00000000
----0000
Data Direction Registers
----DDRC [R/W] B,H DDRD [R/W] B,H DDRE [R/W] B,H
------000
00000000
00000000
-----
CM71-10132-3E
--
--
--
--
FUJITSU SEMICONDUCTOR LIMITED
Reserved
665
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (8 / 13)
Address
+0
PFR0 [R/W] B,H
00000000
PFR4 [R/W] B,H
00000000
-PFRC [R/W] B,H
-----000
----ICR00 [R,R/W]
---11111
ICR04 [R,R/W]
---11111
ICR08 [R,R/W]
---11111
ICR12 [R,R/W]
---11111
ICR16 [R,R/W]
---11111
ICR20 [R,R/W]
---11111
ICR24 [R,R/W]
---11111
ICR28 [R,R/W]
---11111
ICR32 [R,R/W]
---11111
ICR36 [R,R/W]
---11111
ICR40 [R,R/W]
---11111
ICR44 [R,R/W]
---11111
+1
PFR1 [R/W] B,H
00000000
PFR5 [R/W] B,H
00000000
-PFRD [R/W] B,H
00000000
----ICR01 [R,R/W]
---11111
ICR05 [R,R/W]
---11111
ICR09 [R,R/W]
---11111
ICR13 [R,R/W]
---11111
ICR17 [R,R/W]
---11111
ICR21 [R,R/W]
---11111
ICR25 [R,R/W]
---11111
ICR29 [R,R/W]
---11111
ICR33 [R,R/W]
---11111
ICR37 [R,R/W]
---11111
ICR41 [R,R/W]
---11111
ICR45 [R,R/W]
---11111
+2
PFR2 [R/W] B,H
00000000
PFR6 [R/W] B,H
----0000
-PFRE [R/W] B,H
00000000
----ICR02 [R,R/W]
---11111
ICR06 [R,R/W]
---11111
ICR10 [R,R/W]
---11111
ICR14 [R,R/W]
---11111
ICR18 [R,R/W]
---11111
ICR22 [R,R/W]
---11111
ICR26 [R,R/W]
---11111
ICR30 [R,R/W]
---11111
ICR34 [R,R/W]
---11111
ICR38 [R,R/W]
---11111
ICR42 [R,R/W]
---11111
ICR46 [R,R/W]
---11111
+3
PFR3 [R/W] B,H
00000000
--
--
--
--
000484H
RSRR [R,R/W]
10000000
CLKR [R/W]
00000000
STCR [R/W]
00110011
WPR [W]
XXXXXXXX
CTBR [W]
XXXXXXXX
DIVR1 [R/W]
00000000
000488H
--
--
00048CH
--
--
TBCR [R/W]
00XXXX00
DIVR0 [R/W]
00000011
OSCCR [R/W]
XXXXXXXX
--
000490H
OSCR [R/W]
00000000
OSCT [R/W]
XXXXXXXX
--
--
000420H
000424H
000428H
00042CH
000430H
000434H
000438H
00043CH
000440H
000444H
000448H
00044CH
000450H
000454H
000458H
00045CH
000460H
000464H
000468H
00046CH
000470H
to
00047CH
000480H
666
Register
Block
---
Port Function Registers
-----ICR03 [R,R/W]
---11111
ICR07 [R,R/W]
---11111
ICR11 [R,R/W]
---11111
ICR15 [R,R/W]
---11111
ICR19 [R,R/W]
---11111
ICR23 [R,R/W]
---11111
ICR27 [R,R/W]
---11111
ICR31 [R,R/W]
---11111
ICR35 [R,R/W]
---11111
ICR39 [R,R/W]
---11111
ICR43 [R,R/W]
---11111
ICR47 [R,R/W]
---11111
FUJITSU SEMICONDUCTOR LIMITED
Reserved
Interrupt Control
Register
Reserved
Clock Control Unit
---
Reserved
Main oscillation
Stabilization Waiting
Timer
CM71-10132-3E
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (9 / 13)
Register
Address
+0
+1
+2
+3
000494H
to
0004FCH
--
--
--
--
000500H
PCR0 [R/W] B,H
00000000
000504H
000508H
00050CH
000510H
000514H
to
00051CH
000520H
000524H
000528H
00052CH
000530H
000534H
to
00053CH
000540H
000544H
000548H
00054CH
000550H
000554H
000558H
00055CH
000560H
000564H
to
00056CH
000570H
000574H
000578H
PCR1 [R/W] B,H
-00000000
PCR5 [R/W] B,H PCR6 [R/W] B,H
-00000000
----0000
---PCRC [R/W] B,H PCRD [R/W] B,H PCRE [R/W] B,H
-----000
00000000
00000000
-----
--
--
Block
Reserved
----
Port Pull-up Control
Registers
----
EPFR0 [R/W] B,H EPFR1 [R/W] B,H EPFR2 [R/W] B,H EPFR3 [R/W] B,H
00000000
00000000
11111111
11111111
EPFR4 [R/W] B,H EPFR5 [R/W] B,H EPFR6 [R/W] B,H
-11111111
11111111
----1000
----EPFRC [R/W] B,H EPFRD [R/W] B,H EPFRE [R/W] B,H
------000
00000000
00000000
-----
Reserved
Extra Port Function
Register
--
--
--
--
Reserved
-----TTCR0 [R/W]
B,H,W 11110000
COMP0 [R/W]
B,H,W 00000000
TTCR1 [R/W]
B,H,W 11110000
COMP8 [R/W]
B,H,W 00000000
------
------
Reserved
Reserved
Reserved
Reserved
Reserved
--
--
COMP2 [R/W]
B,H,W 00000000
COMP4 [R/W]
B,H,W 00000000
--
--
COMP10 [R/W]
B,H,W 00000000
COMP12 [R/W]
B,H,W 00000000
-----TSTPR0 [R]
B,H,W 00000000
COMP6 [R/W]
B,H,W 00000000
TSTPR1 [R]
B,H,W 00000000
COMP14 [R/W]
B,H,W 00000000
--
--
--
--
Reserved
--ADTGS [R/W] B
------00
---
---
---
Reserved
Reserved
--
--
--
A/D Trigger Select
--
--
--
--
Reserved
00057CH
to
00063CH
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
Timing Generator
667
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (10 / 13)
Address
000640H
000644H
000648H
00064CH
000650H
000654H
000658H
00065CH
000660H
000664H
000668H
00066CH
000670H
000674H
000678H
00067CH
000680H
000684H
000688H
to
0007F8H
0007FCH
000800H
to
000AFCH
668
Register
+0
+1
+2













+3













Block
Not Used















MODR [W]
XXXXXXXX
Not Used


FUJITSU SEMICONDUCTOR LIMITED


Not Used
CM71-10132-3E
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (11 / 13)
Address
000B00H
000B04H
000B08H
000B0CH
000B10H
000B14H
to
000B1CH
000B20H
Register
+0
+1
+2
+3
ESTS0 [R/W] B
ESTS1 [R/W] B
ESTS2 [R] B

X0000000
XXXXXXXX
1XXXXXXX
ECTL0 [R/W] B
ECTL2 [W] B
ECTL3 [R/W] B
ECTL1 [R/W] B 0
0X000000
000X0000
00X00X11
ECNT0 [W] B
ECNT1 [W] B
EUSA [W] B
EDTC [W] B
XXXXXXXX
XXXXXXXX
XXX00000
0000XXXX
EWPT [R] H
ECTL4 [R]([R/W]) ECTL5 [R]([R/W])
00000000 00000000
B -0X00000
B ----000X
EDTR0 [W] H
EDTR1 [W] H
XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX
Block

EIA0 [W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIA1 [W] W
000B24H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIA2 [W] W
000B28H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIA3 [W] W
000B2CH
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIA4 [W] W
000B30H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIA5 [W] W
000B34H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIA6 [W] W
000B38H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIA7 [W] W
000B3CH
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EDTA [R/W] W
000B40H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EDTM [R/W] W
000B44H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EOA0 [W] W
000B48H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EOA1 [W] W
000B4CH
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EPCR [R/W] W
000B50H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EPSR [R/W]
000B54H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIAM0 [W]
000B58H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EIAM1 [W]
000B5CH
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EOAM0/EODM0 [W]
000B60H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EOAM1/EODM1 [W]
000B64H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EOD0 [W]
000B68H
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
EOD1 [W]
000B6CH
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
DSU
(Evaluation
Chip Only)
669
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (12 / 13)
Address
000B70H
to
000FFCH
Register
+0
+1
+2
+3




DMASA0 [R/W]
00000000 00000000 00000000 00000000
DMADA0 [R/W]
00000000 00000000 00000000 00000000
DMASA1 [R/W]
00000000 00000000 00000000 00000000
DMADA1 [R/W]
00000000 00000000 00000000 00000000
DMASA2 [R/W]
00000000 00000000 00000000 00000000
DMADA2 [R/W]
00000000 00000000 00000000 00000000
DMASA3 [R/W]
00000000 00000000 00000000 00000000
DMADA3 [R/W]
00000000 00000000 00000000 00000000
DMASA4 [R/W]
00000000 00000000 00000000 00000000
DMADA4 [R/W]
00000000 00000000 00000000 00000000
001000H
001004H
001008H
00100CH
001010H
001014H
001018H
00101CH
001020H
001024H
001028H
to
006FFCH






007004H
FLCR [R/W]
01101000
FLWC [R/W]
00110011



007020H
WREN



670
007030H
WA0
007034H
WD0
007038H
WA1
00703CH
WD1
007040H
WA2
007044H
WD2
007048H
WA3
00704CH
WD3
007050H
WA4
FUJITSU SEMICONDUCTOR LIMITED
Reserved
DMAC

007000H
Block
Reserved
Flash Interface
Wild Register Enble
Register
Wild Register Control
Register
Wild Register Data
Register
Wild Register Control
Register
Wild Register Data
Register
Wild Register Control
Register
Wild Register Data
Register
Wild Register Control
Register
Wild Register Data
Register
Wild Register Control
Register
CM71-10132-3E
APPENDIX
APPENDIX A I/O Map
MB91345 Series
Attached Table A-1 I/O Map (13 / 13)
Address
Register
+0
+1
+2
007054H
WD4
007058H
WA5
00705CH
WD5
007060H
WA6
007064H
WD6
007068H
WA7
00706CH
WD7
CM71-10132-3E
+3
FUJITSU SEMICONDUCTOR LIMITED
Block
Wild Register Data
Register
Wild Register Control
Register
Wild Register Data
Register
Wild Register Control
Register
Wild Register Data
Register
Wild Register Control
Register
Wild Register Data
Register
671
APPENDIX
APPENDIX B Vector Table
MB91345 Series
APPENDIX B Vector Table
This section shows the interrupt vector table.
Attached Table B-1 Interrupt Vector (1 / 3)
Interrupt No.
Offset
Address of
TBR default
DMA
transfer
DMAC
STOP
factor
10
16
Interrupt
level
Reset
0
0
-
3FCH
000FFFFCH
-
-
Mode vector
1
1
-
3F8H
000FFFF8H
-
-
System reserved
2
2
-
3F4H
000FFFF4H
-
-
System reserved
3
3
-
3F0H
000FFFF0H
-
-
System reserved
4
4
-
3ECH
000FFFECH
-
-
System reserved
5
5
-
3E8H
000FFFE8H
-
-
System reserved
6
6
-
3E4H
000FFFE4H
-
-
Coprocessor unattended trap
7
7
-
3E0H
000FFFE0H
-
-
Coprocessor error trap
8
8
-
3DCH
000FFFDCH
-
-
INTE instruction
9
9
-
3D8H
000FFFD8H
-
-
System reserved
10
0A
-
3D4H
000FFFD4H
-
-
System reserved
11
0B
-
3D0H
000FFFD0H
-
-
Step trace trap
12
0C
-
3CCH
000FFFCCH
-
-
NMI request (tool)
13
0D
-
3C8H
000FFFC8H
-
-
Undefined instruction exception
14
0E
-
3C4H
000FFFC4H
-
-
NMI request
15
0F
15 (FH) fixed
3C0H
000FFFC0H
-
-
External interrupt 0
16
10
ICR00
3BCH
000FFFBCH
--
-
External interrupt 1
17
11
ICR01
3B8H
000FFFB8H
--
-
External interrupt 2
18
12
ICR02
3B4H
000FFFB4H
--
-
External interrupt 3
19
13
ICR03
3B0H
000FFFB0H
--
-
External interrupt 4
20
14
ICR04
3ACH
000FFFACH
--
-
External interrupt 5
21
15
ICR05
3A8H
000FFFA8H
--
-
External interrupt 6
22
16
ICR06
3A4H
000FFFA4H
--
-
External interrupt 7
23
17
ICR07
3A0H
000FFFA0H
--
-
Reload timer 0
24
18
ICR08
39CH
000FFF9CH
-
Reload timer 1
25
19
ICR09
398H
000FFF98H
Reload timer 2
26
1A
ICR10
394H
000FFF94H
2
UART0 RX/I C0 status
27
1B
ICR11
390H
000FFF90H
UART0 TX
28
1C
ICR12
38CH
000FFF8CH
❍
❍
❍
❍
❍
Interrupt factor
672
FUJITSU SEMICONDUCTOR LIMITED
STOP
-
CM71-10132-3E
APPENDIX
APPENDIX B Vector Table
MB91345 Series
Attached Table B-1 Interrupt Vector (2 / 3)
Interrupt No.
DMAC
STOP
factor
10
16
Interrupt
level
UART1 RX/I2C1 status
29
1D
ICR13
388H
000FFF88H
UART1 TX
30
1E
ICR14
384H
000FFF84H
UART2 RX/I2C2 status
31
1F
ICR15
380H
000FFF80H
UART2 TX
32
20
ICR16
37CH
000FFF7CH
❍
❍
❍
❍
UART3 RX/TX/SX
33
21
ICR17
378H
000FFF78H
--
-
UART4 RX/TX/SX
34
22
ICR18
374H
000FFF74H
--
-
UART5 RX/TX/SX
35
23
ICR19
370H
000FFF70H
--
-
UART6 RX/TX/SX
36
24
ICR20
36CH
000FFF6CH
--
-
UART7 RX/TX/SX
37
25
ICR21
368H
000FFF68H
--
-
UART8 RX/TX/SX
38
26
ICR22
364H
000FFF64H
--
-
UART9 RX/TX/SX
39
27
ICR23
360H
000FFF60H
--
-
UART10 RX/TX/SX
40
28
ICR24
35CH
000FFF5CH
--
-
A/D Converter 0
41
29
ICR25
358H
000FFF58H
-
A/D Converter 1
42
2A
ICR26
354H
000FFF54H
❍
❍
PWC (measurement completed,
overflow)
43
2B
ICR27
350H
000FFF50H
--
-
System reserved
44
2C
ICR28
34CH
000FFF4CH
--
-
Up/Down Counter 1
45
2D
ICR29
348H
000FFF48H
--
-
Up/Down Counter 2,3
46
2E
ICR30
344H
000FFF44H
--
-
Time-Base Timer Overflow
47
2F
ICR31
340H
000FFF40H
--
-
PPG 0/1/4/5
48
30
ICR32
33CH
000FFF3CH
--
-
PPG 2/3/6/7
49
31
ICR33
338H
000FFF38H
--
-
PPG 8/9/C/D
50
32
ICR34
334H
000FFF34H
--
-
PPG A/B/E/F
51
33
ICR35
330H
000FFF30H
--
-
Free-run Timer. 0
52
34
ICR36
32CH
000FFF2CH
--
-
Free-run Timer. 1
53
35
ICR37
328H
000FFF28H
--
-
Input Capture 0/1/2/3
54
36
ICR38
324H
000FFF24H
--
-
Input Capture 4/5/6/7
55
37
ICR39
320H
000FFF20H
--
-
Output Compare 0/1/2/3
56
38
ICR40
31CH
000FFF1CH
--
-
Output Compare 4/5/6/7
57
39
ICR41
318H
000FFF18H
--
-
System reserved
58
3A
ICR42
314H
000FFF14H
--
-
External interrupt 8 to 15
59
3B
ICR43
310H
000FFF10H
--
-
External interrupt 16 to 23
60
3C
ICR44
30CH
000FFF0CH
--
-
Up/Down Counter 0
61
3D
ICR45
308H
000FFF08H
--
-
DMA (ch.0 to ch.4)
62
3E
ICR46
304H
000FFF04H
--
-
Delayed interrupt factor bit
63
3F
ICR47
300H
000FFF00H
--
-
Interrupt factor
CM71-10132-3E
Offset
Address of
TBR default
DMA
transfer
STOP
FUJITSU SEMICONDUCTOR LIMITED
STOP
-
-
673
APPENDIX
APPENDIX B Vector Table
MB91345 Series
Attached Table B-1 Interrupt Vector (3 / 3)
Interrupt No.
Offset
Address of
TBR default
DMA
transfer
DMAC
STOP
factor
10
16
Interrupt
level
System reserved (Used by
REALOS)
64
40
-
2FCH
000FFEFCH
-
-
System reserved (Used by
REALOS)
65
41
-
2F8H
000FFEF8H
-
-
System reserved
66
42
-
2F4H
000FFEF4H
-
-
System reserved
67
43
-
2F0H
000FFEF0H
-
-
System reserved
68
44
-
2ECH
000FFEECH
-
-
System reserved
69
45
-
2E8H
000FFEE8H
-
-
System reserved
70
46
-
2E4H
000FFEE4H
-
-
System reserved
71
47
-
2E0H
000FFEE0H
-
-
System reserved
72
48
-
2DCH
000FFEDCH
-
-
System reserved
73
49
-
2D8H
000FFED8H
-
-
System reserved
74
4A
-
2D4H
000FFED4H
-
-
System reserved
75
4B
-
2D0H
000FFED0H
-
-
System reserved
76
4C
-
2CCH
000FFECCH
-
-
System reserved
77
4D
-
2C8H
000FFEC8H
-
-
System reserved
78
4E
-
2C4H
000FFEC4H
-
-
System reserved
79
4F
-
2C0H
000FFEC0H
-
-
Used by INT instruction
80
to
255
50
to
FF
--
2BCH
to
000H
000FFEBCH
to
000FFC00H
Interrupt factor
674
FUJITSU SEMICONDUCTOR LIMITED
--
-
CM71-10132-3E
APPENDIX
APPENDIX C Pin Status List
MB91345 Series
APPENDIX C Pin Status List
■ Single Chip Mode
Table C-1 Single Chip Mode (1 / 2)
Function macro
Multi function interface ch.1
Multi function interface ch.2
UpDown counter input
Reload timer output
Input capture input
Pin
No.
3
4
5
6
7
8
9
10
11
12
13
When initialized (INIT=0)
Pin Name
Specified function
name
P24/SOT1
P25/SCK1
P26/SIN2
P27/SOT2
P30/SCK2
P31/AIN0/TOT0-2
P32/BIN0/TOT1-2
P33/ZIN0/TOT2-2
P34/AIN2
P35/BIN2/IC4
P36/ZIN2/IC5
Function
Initial value
name
SOT1
SCK1
SIN2
SOT2
SCK2
AIN0/TOT0-2
BIN0/TOT1-2
ZIN0/TOT2-2
AIN2
BIN2/IC4
ZIN2/IC5
P24
P25
P26
P27
P30
P31
P32
P33
P34
P35
P36
16-bit free-run timer input
14 P37/FRCK1
FRCK1
P37
External interrupt input
PPG output
15
16
17
18
19
20
21
P40/PPG9/INT16
P41/PPGB/INT17
P42/PPGD/INT18
P43/PPGF/INT19
P44/IC0/INT20
P45/IC1/INT21/SIN10
P46/IC2/INT22/SOT10
PPG9/INT16
PPGB/INT17
PPGD/INT18
PPGF/INT19
IC0/INT20
IC1/INT21/SIN10
IC2/INT22/SOT10
P40
P41
P42
P43
P44
P45
P46
22 P47/IC3/INT23/SCK10
IC3/INT23/SCK10
P47
Input capture input
Multi function
interface ch.10
A/D Input
UpDown counter
input
PPG output
External interrupt
input
27 PD0/AN0/AIN1
AN0/AIN1
PD0
28 PD1/AN1/BIN1
AN1/BIN1
PD1
29
30
31
32
33
AN2/ZIN1
AN3/AIN3
AN4/BIN3
AN5/ZIN3/PPG0
AN6/PPG2
PD2
PD3
PD4
PD5
PD6
34 PD7/AN7/PPG4
AN7/PPG4
PD7
39 PE0/AN8/INT0/PPG6
AN8/INT0/PPG6
PE0
PE1/AN9/INT1/PPG8
PE2/AN10/INT2/PPGA
PE3/AN11/INT3/PPGC
PE4/AN12/INT4/PPGE
PE5/AN13/INT5/SIN8
PE6/AN14/INT6/SOT8
PE7/AN15/INT7/SCK8
AN9/INT1/PPG8
AN10/INT2/PPGA
AN11/INT3/PPGC
AN12/INT4/PPGE
AN13/INT5/SIN8
AN14/INT6/SOT8
AN15/INT7/SCK8
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PC0/FRCK0/SIN9
FRCK0/SIN9
PC0
48 PC1/IC6/SOT9
IC6/SOT9
PC1
49
66
67
68
69
IC7/SCK9
PPG1
PPG2
PPG3
PPG7
PC2
P50
P51
P52
P53
40
41
42
43
44
Multi function
interface ch.8 45
46
16-bit free-run timer
47
input
Multi function
interface ch.9
PPG output
CM71-10132-3E
PD2/AN2/ZIN1
PD3/AN3/AIN3
PD4/AN4/BIN3
PD5/AN5/ZIN3/PPG0
PD6/AN6/PPG2
PC2/IC7/SCK9
P50/PPG1
P51/PPG2
P52/PPG3
P53/PPG7
When stopped
When
sleeping
HIZ=0
HIZ=1
P: Output
Retaining the
Hi-Z
immediately
F: Input 0
preceding
fixed
state
P: Retaining
P: Output
the
Hi-Z
immediately
preceding F: Input
enabled
state
F: Input
enabled
Retaining the
Input state/ immediately
Output Hi-Z preceding
state
FUJITSU SEMICONDUCTOR LIMITED
Retaining the
immediately P: Output
Hi-Z
preceding
F: Input 0
state
fixed
P: Retaining
the
P: Output
immediately
Hi-Z
preceding
F: Input
state
enabled
F: Input
enabled
Retaining the P: Output
immediately
Hi-Z
preceding
F: Input 0
state
fixed
675
APPENDIX
APPENDIX C Pin Status List
MB91345 Series
Table C-1 Single Chip Mode (2 / 2)
Function macro
Output compare output
PWC input
A/D trigger input
External interrupt input
Multi function
interface ch.3
Multi function
interface ch.4
Multi function
interface ch.5
Multi function interface
ch.6
Reload timer
Multi function interface
ch.7
A/D trigger input
Multi function interface
ch.0
Multi function interface ch.1
676
When initialized (INIT=0)
Pin
No.
Pin Name
Specified function
name
70
71
72
73
74
77
78
79
80
P54/RT4
P55/RT5
P58/RT6
P57/RT7
P60/RT0
P61/RT1/PWC0/ADTRG0-2
P62/RT2/ADTRG1-2
P63/RT3
P00/SIN3/INT8
RT4
RT5
RT6
RT7
RT0
RT1/PWC0/ADTRG0-2
RT2/ADTRG1-2
RT3
SIN3/INT8
P54
P55
P56
P57
P60
P61
P62
P63
P00
81 P01/SOT3/INT9
SOT3/INT9
P01
82 P02/SCK3/INT10
SCK3/INT10
P02
83 P03/SIN4/INT11
SIN4/INT11
P03
84 P04/SOT4/INT12
85 P05/SCK4/INT13
SOT4/INT12
SCK4/INT13
P04
P05
86 P06/SIN5/INT14
SIN5/INT14
P06
87 P07/SOT5/INT15
88 P10/SCK5/INT16
SOT5/INT15
SCK5/INT16
P07
P10
89 P11/SIN6/TOT0
SIN6/TOT0
P11
90
91
92
93
94
95
SOT6/TIN1
SCK6/TOT1
SIN7/TIN2
SOT7/TOT2
SCK7/ADTRG1
ADTRG0
P12
P13
P14
P15
P16
P17
P12/SOT6/TIN1
P13/SCK6/TOT1
P14/SIN7/TIN2
P15/SOT7/TOT2
P16/SCK7/ADTRG1
P17/ADTRG0
Function
Initial value
name
96 P20/SIN0
/SIN0
P20
97 P21/SOT0
98 P22/SCK0
99 P23/SIN1
SOT0
SCK0
SIN1
P21
P22
P23
When stopped
When
sleeping
HIZ=0
HIZ=1
Retaining the P: Output
Hi-Z
immediately
F: Input 0
preceding
fixed
state
P: Retaining
the
P: Output
immediately
Hi-Z
preceding
F: Input
state
Retaining the
enabled
Input state/
F: Input
immediately
Output Hi-Z
enabled
preceding state
FUJITSU SEMICONDUCTOR LIMITED
Retaining the P: Output
immediately
Hi-Z
preceding
F: Input 0
state
fixed
CM71-10132-3E
APPENDIX
APPENDIX C Pin Status List
MB91345 Series
■ Serial Writing Mode
Table C-2 Serial Writing Mode (1 / 2)
Function macro
Multi function interface ch.1
Multi function interface ch.2
UpDown counter input
Reload timer output
Input capture input
16-bit free-run timer input
External interrupt input
PPG output
Input capture input
Multi function
interface ch.10
A/D input
UpDown counter
input
PPG output
External interrupt
input
Multi function
interface ch.8
16-bit free-run timer input
Multi function interface ch.9
PPG output
CM71-10132-3E
Pin
No.
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
27
When initialized (INIT=0)
Pin Name
P24/SOT1
P25/SCK1
P26/SIN2
P27/SOT2
P30/SCK2
P31/AIN0/TOT0-2
P32/BIN0/TOT1-2
P33/ZIN0/TOT2-2
P34/AIN2
P35/BIN2/IC4
P36/ZIN2/IC5
P37/FRCK1
P40/PPG9/INT16
P41/PPGB/INT17
P42/PPGD/INT18
P43/PPGF/INT19
P44/IC0/INT20
P45/IC1/INT21/SIN10
P46/IC2/INT22/SOT10
P47/IC3/INT23/SCK10
PD0/AN0/AIN1
Specified function
name
Function
Initial value
name
SOT1
SCK1
SIN2
SOT2
SCK2
AIN0/TOT0-2
BIN0/TOT1-2
ZIN0/TOT2-2
AIN2
BIN2/IC4
ZIN2/IC5
FRCK1
PPG9/INT16
PPGB/INT17
PPGD/INT18
PPGF/INT19
IC0/INT20
IC1/INT21/SIN10
IC2/INT22/SOT10
IC3/INT23/SCK10
AN0/AIN1
P24
P25
P26
P27
P30
P31
P32
P33
P34
P35
P36
P37
P40
P41
P42
P43
P44
P45
P46
P47
PD0
28 PD1/AN1/BIN1
AN1/BIN1
PD1
29
30
31
32
33
34
PD2/AN2/ZIN1
PD3/AN3/AIN3
PD4/AN4/BIN3
PD5/AN5/ZIN3/PPG0
PD6/AN6/PPG2
PD7/AN7/PPG4
AN2/ZIN1
AN3/AIN3
AN4/BIN3
AN5/ZIN3/PPG0
AN6/PPG2
AN7/PPG4
PD2
PD3
PD4
PD5
PD6
PD7
39 PE0/AN8/INT0/PPG6
AN8/INT0/PPG6
PE0
40
41
42
43
44
45
46
47
AN9/INT1/PPG8
AN10/INT2/PPGA
AN11/INT3/PPGC
AN12/INT4/PPGE
AN13/INT5/SIN8
AN14/INT6/SOT8
AN15/INT7/SCK8
FRCK0/SIN9
PE1
PE2
PE3
PE4
PE5
PE6
PE7
PC0
48 PC1/IC6/SOT9
IC6/SOT9
PC1
49
66
67
68
69
IC7/SCK9
PPG1
PPG2
PPG3
PPG7
PC2
P50
P51
P52
P53
PE1/AN9/INT1/PPG8
PE2/AN10/INT2/PPGA
PE3/AN11/INT3/PPGC
PE4/AN12/INT4/PPGE
PE5/AN13/INT5/SIN8
PE6/AN14/INT6/SOT8
PE7/AN15/INT7/SCK8
PC0/FRCK0/SIN9
PC2/IC7/SCK9
P50/PPG1
P51/PPG2
P52/PPG3
P53/PPG7
P54-L
P55-H
P55-L
Input state/ Input state/ Input state/
Output Hi-Z Output Hi-Z Output Hi-Z
FUJITSU SEMICONDUCTOR LIMITED
677
APPENDIX
APPENDIX C Pin Status List
MB91345 Series
Table C-2 Serial Writing Mode (2 / 2)
Function macro
Output compare output
PWC input
A/D trigger input
External interrupt input
Multi function
interface ch.3
Multi function
interface ch.4
Multi function interface ch.5
Multi function interface
ch.6
Reload timer
Multi function interface
ch.7
A/D trigger input
Multi function interface
ch.0
Multi function interface ch.1
678
Pin
No.
70
71
72
73
74
77
78
79
80
When initialized (INIT=0)
Pin Name
Specified function
name
P54/RT4
RT4
P55/RT5
RT5
P58/RT6
RT6
P57/RT7
RT7
P60/RT0
RT0
P61/RT1/PWC0/ADTRG0-2 RT1/PWC0/ADTRG0-2
P62/RT2/ADTRG1-2
RT2/ADTRG1-2
P63/RT3
RT3
P00/SIN3/INT8
SIN3/INT8
Function
Initial value
name
P55-H
P55-L
P54
P55
P56
P57
P60
P61
P62
P63
P00
81 P01/SOT3/INT9
SOT3/INT9
P01
82 P02/SCK3/INT10
SCK3/INT10
P02
83 P03/SIN4/INT11
SIN4/INT11
P03
84 P04/SOT4/INT12
85 P05/SCK4/INT13
SOT4/INT12
SCK4/INT13
P04
P05
86 P06/SIN5/INT14
SIN5/INT14
P06
87 P07/SOT5/INT15
88 P10/SCK5/INT16
SOT5/INT15
SCK5/INT16
P07
P10
89 P11/SIN6/TOT0
SIN6/TOT0
P11
90
91
92
93
94
95
SOT6/TIN1
SCK6/TOT1
SIN7/TIN2
SOT7/TOT2
SCK7/ADTRG1
ADTRG0
P12
P13
P14
P15
P16
P17
96 P20/SIN0
SIN0
P20
97 P21/SOT0
SOT0
P21
98 P22/SCK0
SCK0
P22
99 P23/SIN1
SIN1
P23
P12/SOT6/TIN1
P13/SCK6/TOT1
P14/SIN7/TIN2
P15/SOT7/TOT2
P16/SCK7/ADTRG1
P17/ADTRG0
P54-L
Input state/ Input state/
Output Hi-Z Output Hi-Z
Input state/
Output Hi-Z
FUJITSU SEMICONDUCTOR LIMITED
Output state Output state
Input 0
fixed/Output
Input state/
Hi-Z
Output Hi-Z
Input state/
Output Hi-Z
CM71-10132-3E
INDEX
MB91345 Series
INDEX
The index follows on the next page.
This is listed in alphabetic order.
CM71-10132-3E
FUJITSU SEMICONDUCTOR LIMITED
679
INDEX
MB91345 Series
Index
Numerics
16 Bits
FR-CPU Programming Mode
(16 Bits, Read/Write)........................... 614
16-bit Free-run Timer
Block Diagram of the 16-bit Free-run Timer
.......................................................... 244
Interrupt for the 16-bit Free-run Timer ............... 270
Notes on Using the 16-bit Free-run Timer........... 281
Program Example of the 16-bit Free-run Timer
.......................................................... 282
Registers of the 16-bit Free-run Timer................ 247
16-bit Input Capture
Block Diagram of the 16-bit Input Capture ......... 246
Input Timing of the 16-bit Input Capture ............ 280
Interrupt for the 16-bit Input Capture.................. 271
Notes on Using the 16-bit Input Capture ............. 281
Operation of the 16-bit Input Capture ................. 279
Registers of the 16-bit Input Capture .................. 250
16-bit Output Compare
Block Diagram of the 16-bit Output Compare
.......................................................... 245
Interrupt for the 16-bit Output Compare ............. 270
Notes on Using the 16-bit Output Compare......... 281
Operation of the 16-bit Output Compare (Inversion
Mode) ................................................ 276
Program Example of the 16-bit Output Compare
.......................................................... 284
Registers of the 16-bit Output Compare.............. 249
Timing of the 16-bit Output Compare Operation
.......................................................... 278
16-bit PWC
Block Diagram of the 16-bit PWC ..................... 331
Overview of the 16-bit PWC ............................. 330
Register List of the 16-bit PWC ......................... 332
16-bit Reload Register
Bit Configuration of the 16-bit Reload Register
(TMRLR) ........................................... 236
16-bit Reload Timer
Block Diagram of 16-bit Reload Timer............... 230
Overview of 16-bit Reload Timer ...................... 230
Register List of 16-bit Reload Timer .................. 231
16-bit Timer Register
Bit Configuration of the 16-bit Timer Register
(TMR)................................................ 235
32 Bits
FR-CPU ROM Mode (32 Bits, Read Only) ......... 614
32-bit Free-run Timer
Block Diagram of the 32-bit Free-run Timer
.......................................................... 290
680
Interrupt for the 32-bit Free-run Timer ............... 312
Notes on Using the 32-bit Free-run Timer .......... 323
Program Example of the 32-bit Free-run Timer
......................................................... 324
Registers of the 32-bit Free-run Timer ............... 293
32-bit Input Capture
Block Diagram of the 32-bit Input Capture ......... 292
Input Timing of the 32-bit Input Capture ............ 322
Interrupt for the 32-bit Input Capture ................. 313
Notes on Using the 32-bit Input Capture ............ 323
Operation of the 32-bit Input Capture................. 321
Registers of the 32-bit Input Capture.................. 295
32-bit Output Compare
Block Diagram of the 32-bit Output Compare
......................................................... 291
Interrupt for the 32-bit Output Compare ............. 312
Notes on Using the 32-bit Output Compare ........ 323
Operation of the 32-bit Output Compare ............ 318
Program Example of the 32-bit Output Compare
......................................................... 326
Registers of the 32-bit Output Compare ............. 294
Timing of the 32-bit Output Compare Operation
......................................................... 320
7-bit Slave Address Register
7-bit Slave Address Register (ISBA).................. 529
7-bits Slave Address Mask Register
7-bits Slave Address Mask Register (ISMK0 to
ISMKA)............................................. 527
8-bit PPG
Block Diagram of 8-bit
PPG ch.0,ch.2,ch.4,ch.6 ....................... 358
Block Diagram of 8-bit PPG ch.1,ch.5 ............... 359
Block Diagram of 8-bit PPG ch.3,ch.7 ............... 360
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
INDEX
MB91345 Series
A
A/D Control Status Register
A/D Control Status Register
(ADCS0,ADCS1) ............................... 590
A/D Conversion Time Setting Register
A/D Conversion Time Setting Register
(ADCT0,ADCT1) ............................... 596
A/D Converter
A/D Converter: 8 channels + 8 channels 2 unit
.............................................................. 3
Block Diagram of the A/D Converter ................. 587
Features of the A/D Converter........................... 586
A/D Start/End Channel Setting Registers
A/D Start/End Channel Setting Registers
(ADSCH,ADECH).............................. 598
Absolute Value
Registers of the Minimum,Maximum and Absolute
Value Arithmetic Results ..................... 648
Absolute Value Arithmetic Results Register
Absolute Value Arithmetic Results Register
.......................................................... 646
Access
Data Access....................................................... 49
Program Access ................................................. 49
Acknowledge Reception
Acknowledge Reception by the First Byte Transmit
.......................................................... 545
ADCR
Data Register (ADCR0,ADCR1) ....................... 594
Mirror Data Register
(ADCR0M,ADCR1M) ........................ 595
ADCS
A/D Control Status Register
(ADCS0,ADCS1) ............................... 590
ADCT
A/D Conversion Time Setting Register
(ADCT0,ADCT1) ............................... 596
Address
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 Transfer Source/
Destination Address Setting Register
.......................................................... 172
Address Match Detection
Slave Address Match Detection ......................... 561
Addressing
Addressing Mode............................................. 182
Direct Addressing Area ...................................... 32
ADERH
Analog Input Enable Register (ADERH0,ADERH1)
.......................................................... 589
ADSCH
A/D Start/End Channel Setting Registers
(ADSCH,ADECH).............................. 598
ADTGS
Trigger Control Register (ADTGS).................... 601
CM71-10132-3E
Analog Input Enable Register
Analog Input Enable Register (ADERH0,ADERH1)
..........................................................589
Arbitration Lost
Arbitration Lost ................................................560
Architecture
Features of Internal Architecture ..........................33
Structure of Internal Architecture .........................34
Arithmetic Data Register
Arithmetic Data Register A ...............................646
Arithmetic Data Register B................................647
Arithmetic Macro
Caution of Arithmetic Macro for MIN/MAX/ABS
..........................................................650
Asynchronous Serial Interface
Function of UART (Asynchronous Serial Interface)
..........................................................412
List of UART (Asynchronous Serial Interface)
Registers.............................................413
Automatic Algorithm
Automatic Algorithm Execution Status ...............615
AVCC Pin
About AVCC Pin................................................26
B
Base Clock Dividing Setting Register
Base Clock Dividing Setting Register
(DIVR0) .............................................106
Base Clock Dividing Setting Register 1
(DIVR1) .............................................109
Basic Configuration
Basic Configuration of the Serial Writing ...........652
Baud Rate
Allowable Baud Rate Range in Receive ..............450
Baud Rate Opearion..................................503, 566
Baud Rate Operation.........................................448
Baud Rate Selection..........................................566
Reload Value and Baud Rate for Each Peripheral
Clock Frequency..................................504
Select the CSIO (Clock Synchronization Serial
Interface) Baud Rate. ...........................502
The Reload Value and Baud Rate for Each Peripheral
Clock Frequency..........................449, 567
UART Baud Rate Selection ...............................447
Baud Rate Generator Registers
Bit Configuration of Baud Rate Generator Registers
(BGR00 to BGRA0/BGR01 to BGRA1)
..........................................................530
Bit Configuration of Baud Rate Generator Registers 0/
1 (BGR00 to BGRA0,BGR01 to BGRA1)
..................................................426, 474
FUJITSU SEMICONDUCTOR LIMITED
681
INDEX
MB91345 Series
BGR
Bit Configuration of Baud Rate Generator Registers
(BGR00 to BGRA0/BGR01 to BGRA1)
.......................................................... 530
Bit Configuration of Baud Rate Generator Registers 0/
1 (BGR00 to BGRA0,BGR01 to BGRA1)
.................................................. 426, 474
Bit Configuration
Bit Configuration of Baud Rate Generator Registers
(BGR00 to BGRA0/BGR01 to BGRA1)
.......................................................... 530
Bit Configuration of Baud Rate Generator Registers 0/
1 (BGR00 to BGRA0,BGR01 to BGRA1)
.................................................. 426, 474
Bit Configuration of Counter Control Register
(CCR) ................................................ 396
Bit Configuration of Counter Status Register
(CSR)................................................. 394
Bit Configuration of Enable Interrupts Register
(ENIR0 to ENIR2) .............................. 210
Bit Configuration of Extended Communication
Control Register (ESCR0 to ESCRA)
.................................................. 421, 469
Bit Configuration of External Interrupt Factor Register
(EIRR0 to EIRR2)............................... 211
Bit Configuration of External Interrupt Request Level
Setting Register (ELVR0 to ELVR2)
.......................................................... 212
Bit Configuration of FIFO Byte Register
(FBYTE01,FBYTE02,FBYTE11,FBYTE12
)......................................... 433, 481, 537
Bit Configuration of FIFO Control Register 0
(FCR00,FCR10).................. 430, 478, 533
Bit Configuration of FIFO Control Register 1
(FCR01,FCR11).................. 428, 476, 531
Bit Configuration of Hold Request Cancel Request
Register (HRCL) ................................. 200
Bit Configuration of Interrupt Control Register
(ICR) ................................................. 198
Bit Configuration of the 16-bit Reload Register
(TMRLR) ........................................... 236
Bit Configuration of the 16-bit Timer Register
(TMR)................................................ 235
Bit Configuration of the Control Status Register
(TMCSR) ........................................... 232
Bit Configuration of the Interrupt Control Register
(ICR) ................................................... 59
Bit Ordering
Bit Ordering....................................................... 48
Bit Search Module
Bit Search Module (REALOS is Used)................... 2
Block Diagram of Bit Search Module................. 223
Overview of Bit Search Module......................... 222
Register List of Bit Search Module .................... 223
Block Diagram
Basic Block Diagram of Port ............................. 130
682
Block Diagram ...................................... 5, 90, 380
Block Diagram of 16-bit Reload Timer .............. 230
Block Diagram of 8-bit
PPG ch.0,ch.2,ch.4,ch.6 ....................... 358
Block Diagram of 8-bit PPG ch.1,ch.5 ............... 359
Block Diagram of 8-bit PPG ch.3,ch.7 ............... 360
Block Diagram of Bit Search Module ................ 223
Block Diagram of
Delayed Interrupt Module .................... 219
Block Diagram of DMA Controller
(DMAC) ............................................ 160
Block Diagram of External Interrupt Controller
......................................................... 208
Block Diagram of Flash Memory ...................... 607
Block Diagram of Interrupt Controller ............... 196
Block Diagram of the 16-bit Free-run Timer
......................................................... 244
Block Diagram of the 16-bit Input Capture ......... 246
Block Diagram of the 16-bit Output Compare
......................................................... 245
Block Diagram of the 16-bit PWC ..................... 331
Block Diagram of the 32-bit Free-run Timer
......................................................... 290
Block Diagram of the 32-bit Input Capture ......... 292
Block Diagram of the 32-bit Output Compare
......................................................... 291
Block Diagram of the A/D Converter................. 587
Block Diagram of the Compare Timer ....... 243, 289
Block Diagram of the GATE Function ............... 361
Block Diagram of Up/Down Counters ............... 389
Block Transfer
Block Transfer................................................. 190
Branch Instruction
Branch Instruction with a Delay Slot.................... 52
Branch Instruction without a Delay Slot ............... 55
Operation of Branch Instruction with a Delay Slot
........................................................... 53
Operation of Branch Instruction without a Delay Slot
........................................................... 55
Restrictions on Branch Instructions with a Delay Slot
........................................................... 54
BSD0
Data Register for Detecting 0 (BSD0) ................ 224
BSD1
Data Register for Detecting 1 (BSD1) ................ 224
BSDC
Data Register for Detecting a Change Point (BSDC)
......................................................... 225
BSRR
Detection Result Register (BSRR) ..................... 225
Built-in Peripheral
Built-in Peripheral Request ............................... 178
Burst
Burst Two-cycle Transfer ................................. 179
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
INDEX
MB91345 Series
Burst Transfer
Burst Transfer.................................................. 191
Bus Error
Bus Error Operation ......................................... 565
Condition of Bus Error Generation .................... 565
Bus Mode
Bus Mode.......................................................... 72
Byte Ordering
Byte Ordering .................................................... 48
C
C Pin
About C Pin....................................................... 26
CCR
Bit Configuration of Counter Control Register
(CCR) ................................................ 396
Change Point
Data Register for Detecting a Change Point
(BSDC).............................................. 225
For Detecting a Change Point............................ 227
Channel
Channel Selection and Control .......................... 188
Chip Erase
Erasing Data (Chip Erase)................................. 628
CLKB
CPU Clock (CLKB) ........................................... 88
CLKP
Peripheral Clock (CLKP).................................... 88
CLKR
Clock Source Control Register (CLKR) ............. 102
Clock
About Clocks..................................................... 25
Clock Dividing .................................................. 89
Clock Generation Control ................................... 84
Count Clock Selection ...................................... 341
CPU Clock (CLKB) ........................................... 88
External Clock................................................. 451
Internal Clock Operations ................................. 237
Oscillation Clock Frequency ............................. 656
Peripheral Clock (CLKP).................................... 88
Program Example for Smooth Activation and Stop of
the Clock............................................ 115
Selected External Count Clock .................. 275, 317
Smooth Activation and Stop of the Clock ........... 114
Source Clock ..................................................... 84
The Reload Value and Baud Rate for Each Peripheral
Clock Frequency ......................... 449, 567
Clock Dividing
Clock Dividing .................................................. 89
Clock Generation Control
Clock Generation Control ................................... 84
Clock Source Control Register
Clock Source Control Register (CLKR) ............. 102
CM71-10132-3E
Clock Synchronization Serial Interface
Select the CSIO (Clock Synchronization Serial
Interface) Baud Rate. ...........................502
Clock Synchronous Serial Interface
Function of CSIO (Clock Synchronous Serial
Interface) ............................................460
List of the CSIO (Clock Synchronous Serial Interface)
Registers.............................................461
Operation of CSIO (Clock Synchronous Serial
Interface) ............................................490
Command Sequence
Command Sequence .........................................616
Compare Clear Register
Compare Clear Register (CPCLRB/CPCLR)
..................................................251, 296
Compare Control Register
Compare Control Register,High-order Byte
(OCSH1,OCSH3) ................................258
Compare Control Register,High-order Byte
(OCSH45,OCSH67).............................303
Compare Control Register,Low-order Byte
(OCSL0,OCSL2) .................................260
Compare Control Register,Low-order Byte
(OCSL45,OCSL67) .............................305
Compare Detection Flag
Compare Detection Flag....................................407
Compare Time
Setting Example of the Compare/Sampling time ..603
Compare Timer
Block Diagram of the Compare Timer
..................................................243, 289
Compare Timer Operation .........................272, 314
Configuration of the Compare Timer ..........242, 288
Connection
Inter-CPU Connection.......................452, 454, 506
Continuous Mode
Continuous Mode .............................................602
Control Status Register
Bit Configuration of the Control Status Register
(TMCSR)............................................232
Control/Status Register
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 Control/Status
Register A...........................................161
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 Control/Status
Register B ...........................................166
Co-processor
Co-processor Error Trap......................................71
Co-processor Non Existence Trap ........................70
Count Clear/Gate Function
Count Clear/Gate Function ................................406
Count Clock
Count Clock Selection.......................................341
Count Direction Change Flag
Count Direction Change Flag.............................407
FUJITSU SEMICONDUCTOR LIMITED
683
INDEX
MB91345 Series
Count Direction Flag
Count Direction Flag ........................................ 407
Count Mode
Selecting the Count Mode ................................. 400
Counter Control Register
Bit Configuration of Counter Control Register
(CCR) ................................................ 396
Counter Status Register
Bit Configuration of Counter Status Register
(CSR)................................................. 394
CPCLR
Compare Clear Register (CPCLRB/CPCLR)
.................................................. 251, 296
CPCLRB
Compare Clear Register (CPCLRB/CPCLR)
.................................................. 251, 296
CPU
CPU Control .................................................... 184
Inter-CPU Connection ...................... 452, 454, 506
CPU Clock
CPU Clock (CLKB) ........................................... 88
CPU Control
CPU Control .................................................... 184
CPU Mode
Configuration of Flash Control Status Register
(FLCR) (CPU Mode) ........................... 611
Crystal Oscillator Circuit
Handling of Crystal Oscillator Circuit .................. 24
CSIO
CSIO interrupt ................................................. 483
Function of CSIO (Clock Synchronous Serial
Interface) ............................................ 460
List of the CSIO (Clock Synchronous Serial Interface)
Registers ............................................ 461
Operation of CSIO (Clock Synchronous Serial
Interface) ............................................ 490
Select the CSIO (Clock Synchronization Serial
Interface) Baud Rate. ........................... 502
CSR
Bit Configuration of Counter Status Register
(CSR)................................................. 394
CTBR
Time-Base Counter Clear Register (CTBR) ........ 101
D
Data Access
Data Access ....................................................... 49
Data Direction Bit
Data Direction Bit ............................................ 562
Data Direction Register
Configuration of the Data Direction Register
(DDR0 to DDRE)................................ 135
684
Data Polling Flag (DQ7)
Restrictions on Data Polling Flag (DQ7) ............ 629
Data Register
Data Register (ADCR0,ADCR1) ....................... 594
Data Register for Detecting 0 (BSD0) ................ 224
Data Register for Detecting 1 (BSD1) ................ 224
Data Register for Detecting a Change Point (BSDC)
......................................................... 225
Data Type
Data Type ....................................................... 183
Data Writing
Data Writing.................................................... 626
DDR
Configuration of the Data Direction Register
(DDR0 to DDRE) ............................... 135
Delay Slot
Branch Instruction with a Delay Slot.................... 52
Branch Instruction without a Delay Slot ............... 55
Caution for a Delay Slot ..................................... 71
Operation of Branch Instruction with a Delay Slot
........................................................... 53
Operation of Branch Instruction without a Delay Slot
........................................................... 55
Restrictions on Branch Instructions with a Delay Slot
........................................................... 54
Delayed Interrupt Module
Block Diagram of Delayed Interrupt Module
......................................................... 219
Overview of Delayed Interrupt Module .............. 218
Register List of Delayed Interrupt Module.......... 219
Delayed Interrupt Module Register
Delayed Interrupt Module Register (DICR) ........ 220
Destination Address
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 Transfer Source/
Destination Address Setting Register
......................................................... 172
Detecting
Data Register for Detecting a Change Point
(BSDC).............................................. 225
For Detecting a Change Point............................ 227
Detecting 0
Data Register for Detecting 0 (BSD0) ................ 224
For Detecting 0................................................ 226
Detecting 1
Data Register for Detecting 1 (BSD1) ................ 224
For Detecting 1................................................ 226
Detection Result Register
Detection Result Register (BSRR) ..................... 225
Device
Device Status................................................... 119
Device Status and Various Transitions ............... 120
Reset (Initialization of the Device) ...................... 75
Device Status
Device Status................................................... 119
FUJITSU SEMICONDUCTOR LIMITED
CM71-10132-3E
INDEX
MB91345 Series
Device Status and Various Transitions ............... 120
DICR
Delayed Interrupt Module Register (DICR) ........ 220
DLYI Bit of DICR ........................................... 221
Direct Addressing
Direct Addressing Area ...................................... 32
Direct Transfer Command
Direct Transfer Command................................. 649
Division Ratio Control Register
Division Ratio Control Register (PDIVR0)......... 339
DIVR
Base Clock Dividing Setting Register
(DIVR0)............................................. 106
Base Clock Dividing Setting Register 1
(DIVR1)............................................. 109
DLYI Bit
DLYI Bit of DICR ........................................... 221
DMA
DMA Transfer in Sleep Mode ........................... 188
Peripheral Interrupt Clear by DMA.................... 185
DMA Controller
Block Diagram of DMA Controller
(DMAC) ............................................ 160
DMA Controller (DMAC) Register List ............. 159
DMAC (DMA Controller) .................................... 2
DMAC
Block Diagram of DMA Controller
(DMAC) ............................................ 160
DMA Controller (DMAC) Register List ............. 159
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 Control/Status
Register A .......................................... 161
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 Control/Status
Register B .......................................... 166
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 DMAC All-channel
Control Register.................................. 174
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 Transfer Source/
Destination Address Setting Register
.......................................................... 172
DMAC (DMA Controller) .................................... 2
DMAC Interrupt Control .................................. 187
DMAC All-channel Control Register
DMAC - ch.0,ch.1,ch.2,ch.3,ch.4 DMAC All-channel
Control Register.................................. 174
DQ7
Restrictions on Data Polling Flag (DQ7) ............ 629
Duty
Duty Change ................................................... 374
E
EIRR
Bit Configuration of External Interrupt Factor Register
(EIRR0 to EIRR2)............................... 211
EIT
EIT (Exception,Interrupt,Trap) ............................ 56
CM71-10132-3E
EIT Factors ........................................................56
EIT Vector Table................................................62
Interrupt Level of EIT .........................................57
Operation of EIT ................................................68
Priority of EIT Factor Acceptance ........................66
Return from EIT .................................................56
ELVR
Bit Configuration of External Interrupt Request Level
Setting Register (ELVR0 to ELVR2)
..........................................................212
Emulator
Note when not Using Emulator ............................26
Enable Interrupts Register
Bit Configuration of Enable Interrupts Register
(ENIR0 to ENIR2)...............................210
ENIR
Bit Configuration of Enable Interrupts Register
(ENIR0 to ENIR2)...............................210
Erase
Data Writing/Erase ...........................................624
Sector Erase Restart ..........................................632
Temporary Sector Erase Stop.............................631
Erasing Data
Erasing Data (Chip Erase) .................................628
Error
Condition of Bus Error Generation .....................565
Co-processor Error Trap......................................71
Stop Due to Error .............................................187
ESCR
Bit Configuration of Extended Communication
Control Register (ESCR0 to ESCRA)
..................................................421, 469
Exception
EIT (Exception,Interrupt,Trap) ............................56
Operation of Undefined Instruction Exception
............................................................70
Existence
Co-processor Non Existence Trap ........................70
Extended Communication Control Register
Bit Configuration of Extended Communication
Control Register (ESCR0 to ESCRA)
..................................................421, 469
External Clock
External Clock .................................................451
External Count Clock
Selected External Count Clock...................275, 317
External Interrupt
External Interrupt Request Level ........................215
Inte