INFINEON SAF-XC878CM

Data Sheet, V0.1, Apr 2008
XC878CLM
8-Bit Single-Chip Microcontroller
Microcontrollers
Edition 2008-04
Published by
Infineon Technologies AG
81726 München, Germany
© Infineon Technologies AG 2008.
All Rights Reserved.
Legal Disclaimer
The information given in this document shall in no event be regarded as a guarantee of conditions or
characteristics (“Beschaffenheitsgarantie”). With respect to any examples or hints given herein, any typical values
stated herein and/or any information regarding the application of the device, Infineon Technologies hereby
disclaims any and all warranties and liabilities of any kind, including without limitation warranties of noninfringement of intellectual property rights of any third party.
Information
For further information on technology, delivery terms and conditions and prices please contact your nearest
Infineon Technologies Office (www.infineon.com).
Warnings
Due to technical requirements components may contain dangerous substances. For information on the types in
question please contact your nearest Infineon Technologies Office.
Infineon Technologies Components may only be used in life-support devices or systems with the express written
approval of Infineon Technologies, if a failure of such components can reasonably be expected to cause the failure
of that life-support device or system, or to affect the safety or effectiveness of that device or system. Life support
devices or systems are intended to be implanted in the human body, or to support and/or maintain and sustain
and/or protect human life. If they fail, it is reasonable to assume that the health of the user or other persons may
be endangered.
Data Sheet, V0.1, Apr 2008
XC878CLM
8-Bit Single-Chip Microcontroller
Microcontrollers
XC878
Advance Information
Revision History:
2008-04
V0.1
Previous Version:
Page
Subjects (major changes since last revision)
We Listen to Your Comments
Any information within this document that you feel is wrong, unclear or missing at all?
Your feedback will help us to continuously improve the quality of this document.
Please send your proposal (including a reference to this document) to:
[email protected]
XC878CLM
Advance Information
Table of Contents
Table of Contents
1
Summary of Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2
2.1
2.2
2.3
2.4
General Device Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Logic Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pin Definitions and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
6
7
8
3
3.1
3.2
3.2.1
3.2.1.1
3.2.2
3.2.2.1
3.2.2.2
3.2.3
3.2.3.1
3.2.4
3.2.4.1
3.2.4.2
3.2.4.3
3.2.4.4
3.2.4.5
3.2.4.6
3.2.4.7
3.2.4.8
3.2.4.9
3.2.4.10
3.2.4.11
3.2.4.12
3.2.4.13
3.2.4.14
3.2.4.15
3.3
3.3.1
3.4
3.4.1
3.4.2
3.4.3
3.5
3.6
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Processor Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Protection Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flash Memory Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Special Function Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Address Extension by Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Address Extension by Paging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bit Protection Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Password Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XC878 Register Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MDU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CORDIC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WDT Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timer 2 Compare/Capture Unit Registers . . . . . . . . . . . . . . . . . . . . .
Timer 21 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CCU6 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UART1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SSC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MultiCAN Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OCDS Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flash Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flash Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flash Bank Pagination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupt System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupt Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupt Source and Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupt Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parallel Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Supply System with Embedded Voltage Regulator . . . . . . . . . . . .
19
19
20
22
22
24
24
26
30
31
32
32
33
34
35
38
38
41
45
47
48
52
52
53
53
55
56
57
58
58
64
66
67
69
Data Sheet
I-1
V0.1, 2008-04
XC878CLM
Advance Information
Table of Contents
3.7
3.7.1
3.7.2
3.8
3.8.1
3.8.2
3.9
3.10
3.11
3.12
3.13
3.13.1
3.13.2
3.14
3.15
3.15.1
3.16
3.17
3.18
3.19
3.20
3.21
3.22
3.22.1
3.22.2
3.23
3.23.1
3.24
Reset Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Module Reset Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Booting Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Clock Generation Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Recommended External Oscillator Circuits . . . . . . . . . . . . . . . . . . . . . . 74
Clock Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Power Saving Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Multiplication/Division Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
CORDIC Coprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
UART and UART1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Baud-Rate Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Baud Rate Generation using Timer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Normal Divider Mode (8-bit Auto-reload Timer) . . . . . . . . . . . . . . . . . . . . . 88
LIN Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
LIN Header Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
High-Speed Synchronous Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . . 91
Timer 0 and Timer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Timer 2 and Timer 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Timer 2 Capture/Compare Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Capture/Compare Unit 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Controller Area Network (MultiCAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Analog-to-Digital Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
ADC Clocking Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
ADC Conversion Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
On-Chip Debug Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
JTAG ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Chip Identification Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4
4.1
4.1.1
4.1.2
4.1.3
4.2
4.2.1
4.2.2
4.2.3
4.2.3.1
4.2.4
4.3
4.3.1
4.3.2
Electrical Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parameter Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Absolute Maximum Rating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DC Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Input/Output Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supply Threshold Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ADC Conversion Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Supply Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AC Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Testing Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output Rise/Fall Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Sheet
I-2
108
108
108
109
110
111
111
114
115
117
118
122
122
123
V0.1, 2008-04
XC878CLM
Advance Information
4.3.3
4.3.4
4.3.5
4.3.6
4.3.7
5
5.1
5.2
5.3
Data Sheet
Table of Contents
Power-on Reset and PLL Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
On-Chip Oscillator Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . .
External Clock Drive XTAL1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JTAG Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SSC Master Mode Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
124
125
126
127
129
Package and Quality Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Package Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Package Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quality Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
133
133
134
135
I-3
V0.1, 2008-04
Advance Information
8-Bit Single-Chip Microcontroller
1
XC878CLM
Summary of Features
The XC878 has the following features:
• High-performance XC800 Core
– compatible with standard 8051 processor
– two clocks per machine cycle architecture (for memory access without wait state)
– two data pointers
• On-chip memory
– 8 Kbytes of Boot ROM
– 256 bytes of RAM
– 3 Kbytes of XRAM
– 64/52 Kbytes of Flash;
(includes memory protection strategy)
• I/O port supply at 3.3 V or 5.0 V and core logic supply at 2.5 V (generated by
embedded voltage regulator)
(more features on next page)
Flash
52K/64K x 8
On-Chip Debug Support
Boot ROM
8K x 8
UART
SSC
Port 0
8-bit Digital I/O
Capture/Compare Unit
16-bit
Port 1
8-bit Digital I/O
Compare Unit
16-bit
Port 3
8-bit Digital I/O
Timer 2 Capture/
Compare Unit
16-bit
Port 4
8-bit Digital I/O
Port 5
8-bit Digital I/O
XC800 Core
XRAM
3K x 8
RAM
256 x 8
Timer 0
16-bit
Timer 1
16-bit
Timer 21
16-bit
MDU
CORDIC
MultiCAN
Watchdog
Timer
UART1
ADC
10-bit
8-channel
.
8-bit Analog Input
Figure 1
Data Sheet
XC878 Functional Units
1
V0.1, 2008-04
XC878CLM
Advance Information
Summary of Features
Features: (continued)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Power-on reset generation
Brownout detection for core logic supply
On-chip OSC and PLL for clock generation
– Loss-of-Clock detection
Power saving modes
– slow-down mode
– idle mode
– power-down mode with wake-up capability via RXD or EXINT0
– clock gating control to each peripheral
Programmable 16-bit Watchdog Timer (WDT)
Five ports
– Up to 40 pins as digital I/O
– 8 dedicated analog inputs used as A/D converter input
8-channel, 10-bit ADC
Four 16-bit timers
– Timer 0 and Timer 1 (T0 and T1)
– Timer 2 and Timer 21 (T2 and T21)
Multiplication/Division Unit for arithmetic operations (MDU)
CORDIC Coprocessor for computation of trigonometric, hyperbolic and linear
functions
MultiCAN with 2 nodes, 32 message objects
Two Capture/compare units
– Capture/compare unit 6 for PWM signal generation (CCU6)
– Timer 2 Capture/compare unit for vaious digital signal generation (T2CCU)
Two full-duplex serial interfaces (UART and UART1)
Synchronous serial channel (SSC)
On-chip debug support
– 1 Kbyte of monitor ROM (part of the 8-Kbyte Boot ROM)
– 64 bytes of monitor RAM
PG-TQFP-64 pin package
Temperature range TA:
– SAF (-40 to 85 °C)
– SAX (-40 to 105 °C)
Data Sheet
2
V0.1, 2008-04
XC878CLM
Advance Information
Summary of Features
XC878 Variant Devices
The XC878 product family features devices with different configurations, program
memory sizes, power supply voltage, temperature and quality profiles (Automotive or
Industrial), to offer cost-effective solutions for different application requirements.
The list of XC878 device configurations are summarized in Table 1. The type of package
available is the TQFP-64.
Table 1
Device Configuration
Device Name
CAN
Module
LIN BSL
Support
MDU
Module
XC878
No
No
No
XC878C
Yes
No
No
XC878L
No
Yes
No
XC878M
No
No
Yes
XC878CM
Yes
No
Yes
From these 5 different combinations of configuration and package type, each are further
made available in many sales types, which are grouped according to device type,
program memory sizes, power supply voltage, temperature and quality profiles
(Automotive or Industrial), as shown in Table 2.
Table 2
Device Profile
Sales Type
Device Program
Type
Memory
(Kbytes)
Power TempSupply erature
(V)
Profile (°C)
Quality
Profile
SAF-XC878-13FFI 5V
Flash
52
5.0
-40 to 85
Industrial
SAF-XC878M-13FFI 5V
Flash
52
5.0
-40 to 85
Industrial
SAF-XC878CM-13FFI 5V
Flash
52
5.0
-40 to 85
Industrial
SAF-XC878-16FFI 5V
Flash
64
5.0
-40 to 85
Industrial
SAF-XC878M-16FFI 5V
Flash
64
5.0
-40 to 85
Industrial
SAF-XC878CM-16FFI 5V
Flash
64
5.0
-40 to 85
Industrial
SAF-XC878-13FFI 3V3
Flash
52
3.3
-40 to 85
Industrial
SAF-XC878M-13FFI 3V3
Flash
52
3.3
-40 to 85
Industrial
SAF-XC878CM-13FFI 3V3
Flash
52
3.3
-40 to 85
Industrial
SAF-XC878-16FFI 3V3
Flash
64
3.3
-40 to 85
Industrial
SAF-XC878M-16FFI 3V3
Flash
64
3.3
-40 to 85
Industrial
Data Sheet
3
V0.1, 2008-04
XC878CLM
Advance Information
Table 2
Summary of Features
Device Profile (cont’d)
Sales Type
Device Program
Type
Memory
(Kbytes)
Power TempSupply erature
(V)
Profile (°C)
Quality
Profile
SAF-XC878CM-16FFI 3V3
Flash
64
3.3
-40 to 85
Industrial
SAX-XC878-13FFA 5V
Flash
52
5.0
-40 to 105
Automotive
SAX-XC878L-13FFA 5V
Flash
52
5.0
-40 to 105
Automotive
SAX-XC878C-13FFA 5V
Flash
52
5.0
-40 to 105
Automotive
SAX-XC878CM-13FFA 5V
Flash
52
5.0
-40 to 105
Automotive
SAX-XC878-16FFA 5V
Flash
64
5.0
-40 to 105
Automotive
SAX-XC878L-16FFA 5V
Flash
64
5.0
-40 to 105
Automotive
SAX-XC878C-16FFA 5V
Flash
64
5.0
-40 to 105
Automotive
SAX-XC878CM-16FFA 5V
Flash
64
5.0
-40 to 105
Automotive
SAX-XC878-16FFA 3V3
Flash
64
3.3
-40 to 105
Automotive
SAX-XC878L-16FFA 3V3
Flash
64
3.3
-40 to 105
Automotive
As this document refers to all the derivatives, some description may not apply to a
specific product. For simplicity, all versions are referred to by the term XC878 throughout
this document.
Ordering Information
The ordering code for Infineon Technologies microcontrollers provides an exact
reference to the required product. This ordering code identifies:
•
•
The derivative itself, i.e. its function set, the temperature range, and the supply
voltage
The package and the type of delivery
For the available ordering codes for the XC878, please refer to your responsible sales
representative or your local distributor.
Data Sheet
4
V0.1, 2008-04
XC878CLM
Advance Information
2
General Device Information
General Device Information
Chapter 2 contains the block diagram, pin configurations, definitions and functions of the
XC878.
2.1
Block Diagram
The block diagram of the XC878 is shown in Figure 2.
XC878
CORDIC
UART1
MDU
SSC
WDT
CCU6
OCDS
MultiCAN
3-Kbyte XRAM
52/64-Kbyte
Flash
Clock Generator
4 MHz
On-chip OSC
PLL
Timer 2 Capture/
Compare Unit
P ort 0
UART
P ort 1
XTAL1
XTAL2
T0 & T1
P1.0 - P1.7
P ort 3
TMS
MBC
TM
RESET
VDDP
VSSP
VDDC
VSSC
256-byte RAM
+
64-byte monitor
RAM
P3.0 - P3.7
P ort 4
XC800 Core
P0.0 - P0.7
P4.0 - P4.7
P ort 5
Internal Bus
8-Kbyte
Boot ROM 1)
P5.0 - P5.7
AD C
Timer 21
AN0 – AN7
VAREF
VAGND
1) Includes 1-Kbyte monitor ROM
Figure 2
Data Sheet
XC878 Block Diagram
5
V0.1, 2008-04
XC878CLM
Advance Information
2.2
General Device Information
Logic Symbol
The logic symbol of the XC878 is shown in Figure 3.
VSSP
VDDP
Port 0 8-Bit
VAREF
Port 1 8-Bit
VAGND
RESET
MBC
Port 3 8-Bit
XC878
TMS
Port 4 8-Bit
TM
Port 5 8-Bit
XTAL1
XTAL2
AN0 – AN7
VDDC
Figure 3
Data Sheet
VSSC
XC878 Logic Symbol
6
V0.1, 2008-04
XC878CLM
Advance Information
2.3
General Device Information
Pin Configuration
AN7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P4.3
P3.6
P3.7
P3.0
P3.1
P4.4
P4.5
P4.6
P4.7
The pin configuration of the XC878 in Figure 4.
48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33
P3.2
49
32
VAREF
P3.3
50
31
VAGND
P3.4
51
30
AN6
P3.5
52
29
AN5
RESET
53
28
AN4
VSSP
54
27
AN3
V DDP
55
26
VSSP
N.C.
56
25
V DDP
TM
57
24
AN2
MBC
58
23
AN1
P4.0
59
22
AN0
P4.1
60
21
P0.1
P4.2
61
20
P5.7
P0.7
62
19
P5.6
P0.3
63
18
P0.2
P0.4
64
17
P0.0
TMS
P5.5
P5.4
P5.3
P5.0
P5.2
VDDP
9 10 11 12 13 14 15 16
P1.7
8
P1.6
7
P5.1
6
VDDC
XTAL2
4 5
VSSC
3
XTAL1
2
P0.6
Data Sheet
1
P0.5
Figure 4
XC878
XC878 Pin Configuration, PG-TQFP-64 Package (top view)
7
V0.1, 2008-04
XC878CLM
Advance Information
2.4
General Device Information
Pin Definitions and Functions
The functions and default states of the XC878 external pins are provided in Table 3.
Table 3
Pin Definitions and Functions
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
P0
I/O
Port 0
Port 0 is an 8-bit bidirectional general purpose
I/O port. It can be used as alternate functions
for the JTAG, CCU6, UART, UART1, T2CCU,
Timer 21, MultiCAN and SSC.
P0.0
17
Hi-Z
TCK_0
T12HR_1
JTAG Clock Input
CCU6 Timer 12 Hardware Run
Input
CC61_1
Input/Output of
Capture/Compare channel 1
CLKOUT_0 Clock Output
RXDO_1
UART Transmit Data Output
P0.1
21
Hi-Z
TDI_0
T13HR_1
RXD_1
RXDC1_0
COUT61_1
EXF2_1
P0.2
18
PU
CTRAP_2
TDO_0
TXD_1
TXDC1_0
P0.3
63
Hi-Z
SCK_1
COUT63_1
RXDO1_0
Data Sheet
8
JTAG Serial Data Input
CCU6 Timer 13 Hardware Run
Input
UART Receive Data Input
MultiCAN Node 1 Receiver Input
Output of Capture/Compare
channel 1
Timer 2 External Flag Output
CCU6 Trap Input
JTAG Serial Data Output
UART Transmit Data
Output/Clock Output
MultiCAN Node 1 Transmitter
Output
SSC Clock Input/Output
Output of Capture/Compare
channel 3
UART1 Transmit Data Output
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
P0.4
General Device Information
64
Type Reset Function
State
Hi-Z
MTSR_1
CC62_1
TXD1_0
P0.5
1
Hi-Z
MRST_1
EXINT0_0
T2EX1_1
RXD1_0
COUT62_1
SSC Master Transmit Output/
Slave Receive Input
Input/Output of
Capture/Compare channel 2
UART1 Transmit Data
Output/Clock Output
SSC Master Receive Input/Slave
Transmit Output
External Interrupt Input 0
Timer 21 External Trigger Input
UART1 Receive Data Input
Output of Capture/Compare
channel 2
P0.6
2
PU
T2CC4_1
P0.7
62
PU
CLKOUT_1 Clock Output
T2CC5_1
Compare Output Channel 5
Data Sheet
9
Compare Output Channel 4
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
General Device Information
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
P1
I/O
Port 1
Port 1 is an 8-bit bidirectional general purpose
I/O port. It can be used as alternate functions
for the JTAG, CCU6, UART, Timer 0, Timer 1,
T2CCU, Timer 21, MultiCAN and SSC.
P1.0
34
PU
RXD_0
T2EX_0
RXDC0_0
UART Receive Data Input
Timer 2 External Trigger Input
MultiCAN Node 0 Receiver Input
P1.1
35
PU
EXINT3_0
T0_1
TXD_0
External Interrupt Input 3
Timer 0 Input
UART Transmit Data
Output/Clock Output
MultiCAN Node 0 Transmitter
Output
TXDC0_0
P1.2
36
PU
SCK_0
SSC Clock Input/Output
P1.3
37
PU
MTSR_0
SSC Master Transmit
Output/Slave Receive Input
SSC Clock Input/Output
MultiCAN Node 1 Transmitter
Output
SCK_2
TXDC1_3
P1.4
38
PU
MRST_0
EXINT0_1
RXDC1_3
MTSR_2
P1.5
39
PU
CCPOS0_1
EXINT5_0
T1_1
MRST_2
EXF2_0
RXDO_0
Data Sheet
10
SSC Master Receive Input/
Slave Transmit Output
External Interrupt Input 0
MultiCAN Node 1 Receiver Input
SSC Master Transmit
Output/Slave Receive Input
CCU6 Hall Input 0
External Interrupt Input 5
Timer 1 Input
SSC Master Receive Input/
Slave Transmit Output
Timer 2 External Flag Output
UART Transmit Data Output
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
General Device Information
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
P1.6
10
PU
CCPOS1_1 CCU6 Hall Input 1
T12HR_0
CCU6 Timer 12 Hardware Run
Input
EXINT6_0 External Interrupt Input 6
RXDC0_2
MultiCAN Node 0 Receiver Input
T21_1
Timer 21 Input
P1.7
11
PU
CCPOS2_1 CCU6 Hall Input 2
T13HR_0
CCU6 Timer 13 Hardware Run
Input
T2_1
Timer 2 Input
TXDC0_2
MultiCAN Node 0 Transmitter
Output
P1.5 and P1.6 can be used as a software chip
select output for the SSC.
Data Sheet
11
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
General Device Information
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
P3
I/O
Port 3
Port 3 is an 8-bit bidirectional general purpose
I/O port. It can be used as alternate functions
for CCU6, UART1, T2CCU, Timer 21 and
MultiCAN.
P3.0
43
Hi-Z
CCPOS1_2 CCU6 Hall Input 1
CC60_0
Input/Output of
Capture/Compare channel 0
RXDO1_1
UART1 Transmit Data Output
T2CC0_1/
External Interrupt Input 3/T2CCU
EXINT3_2 Capture/Compare Channel 0
P3.1
44
Hi-Z
CCPOS0_2 CCU6 Hall Input 0
CC61_2
Input/Output of
Capture/Compare channel 1
COUT60_0 Output of Capture/Compare
channel 0
TXD1_1
UART1 Transmit Data
Output/Clock Output
P3.2
49
Hi-Z
CCPOS2_2
RXDC1_1
RXD1_1
CC61_0
T2CC1_1/
EXINT4_2
P3.3
50
Hi-Z
COUT61_0
TXDC1_1
T2CC2_1/
EXINT5_2
P3.4
51
Hi-Z
CC62_0
RXDC0_1
T2EX1_0
T2CC3_1/
EXINT6_3
Data Sheet
12
CCU6 Hall Input 2
MultiCAN Node 1 Receiver Input
UART1 Receive Data Input
Input/Output of
Capture/Compare channel 1
External Interrupt Input 4/T2CCU
Capture/Compare Channel 1
Output of Capture/Compare
channel 1
MultiCAN Node 1 Transmitter
Output
External Interrupt Input 5/T2CCU
Capture/Compare Channel 2
Input/Output of
Capture/Compare channel 2
MultiCAN Node 0 Receiver Input
Timer 21 External Trigger Input
External Interrupt Input 6/T2CCU
Capture/Compare Channel 3
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
P3.5
General Device Information
52
Type Reset Function
State
Hi-Z
COUT62_0
EXF21_0
TXDC0_1
Output of Capture/Compare
channel 2
Timer 21 External Flag Output
MultiCAN Node 0 Transmitter
Output
P3.6
41
PU
CTRAP_0
CCU6 Trap Input
P3.7
42
Hi-Z
EXINT4_0
COUT63_0
External Interrupt Input 4
Output of Capture/Compare
channel 3
Data Sheet
13
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
General Device Information
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
P4
I/O
P4.0
59
Port 4
Port 4 is an 8-bit bidirectional general purpose
I/O port. It can be used as alternate functions
for CCU6, Timer 0, Timer 1, T2CCU, Timer 21
and MultiCAN.
Hi-Z
RXDC0_3
CC60_1
T2CC0_0/
EXINT3_1
P4.1
60
Hi-Z
TXDC0_3
MultiCAN Node 0 Receiver Input
Output of Capture/Compare
channel 0
External Interrupt Input 3/T2CCU
Capture/Compare Channel 0
T2CC1_0/
EXINT4_1
MultiCAN Node 0 Transmitter
Output
Output of Capture/Compare
channel 0
External Interrupt Input 4/T2CCU
Capture/Compare Channel 1
COUT60_1
P4.2
61
PU
EXINT6_1
T21_0
External Interrupt Input 6
Timer 21 Input
P4.3
40
Hi-Z
T2EX_1
EXF21_1
COUT63_2
Timer 2 External Trigger Input
Timer 21 External Flag Output
Output of Capture/Compare
channel 3
P4.4
45
Hi-Z
CCPOS0_3 CCU6 Hall Input 0
T0_0
Timer 0 Input
CC61_4
Output of Capture/Compare
channel 1
T2CC2_0/
External Interrupt Input 5/T2CCU
EXINT5_1 Capture/Compare Channel 2
P4.5
46
Hi-Z
CCPOS1_3 CCU6 Hall Input 1
T1_0
Timer 1 Input
COUT61_2 Output of Capture/Compare
channel 1
T2CC3_0/
External Interrupt Input 6/T2CCU
EXINT6_2 Capture/Compare Channel 3
Data Sheet
14
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
General Device Information
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
P4.6
47
Hi-Z
CCPOS2_3 CCU6 Hall Input 2
T2_0
Timer 2 Input
CC62_2
Output of Capture/Compare
channel 2
T2CC4_0
Compare Output Channel 4
P4.7
48
Hi-Z
CTRAP_3
COUT62_2
T2CC5_0
Data Sheet
15
CCU6 Trap Input
Output of Capture/Compare
channel 2
Compare Output Channel 5
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
General Device Information
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
P5
I/O
Port 5
Port 5 is an 8-bit bidirectional general purpose
I/O port. It can be used as alternate functions
for UART, UART1, T2CCU and JTAG.
P5.0
8
PU
EXINT1_1
External Interrupt Input 1
P5.1
9
PU
EXINT2_1
External Interrupt Input 2
P5.2
12
PU
RXD_2
T2CC2_2/
EXINT5_3
UART Receive Data Input
External Interrupt Input 5/T2CCU
Capture/Compare Channel 2
P5.3
13
PU
CCPOS0_0 CCU6 Hall Input 0
EXINT1_0 External Interrupt Input 1
T12HR_2
CCU6 Timer 12 Hardware Run
Input
CC61_3
Input of Capture/Compare
channel 1
TXD_2
UART Transmit Data
Output/Clock Output
T2CC5_2
Compare Output Channel 5
P5.4
14
PU
CCPOS1_0 CCU6 Hall Input 1
EXINT2_0 External Interrupt Input 2
T13HR_2
CCU6 Timer 13 Hardware Run
Input
CC62_3
Input of Capture/Compare
channel 2
RXDO_2
UART Transmit Data Output
T2CC4_2
Compare Output Channel 4
P5.5
15
PU
CCPOS2_0 CCU6 Hall Input 2
CTRAP_1
CCU6 Trap Input
CC60_3
Input of Capture/Compare
channel 0
TDO_1
JTAG Serial Data Output
TXD1_2
UART1 Transmit Data Output/
Clock Output
T2CC0_2/
External Interrupt Input 3/T2CCU
EXINT3_3 Capture/Compare Channel 0
Data Sheet
16
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
General Device Information
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
P5.6
19
PU
TCK_1
RXDO1_2
T2CC1_2/
EXINT4_3
JTAG Clock Input
UART1 Transmit Data Output
External Interrupt Input 4/T2CCU
Capture/Compare Channel 1
P5.7
20
PU
TDI_1
RXD1_2
T2CC3_2/
EXINT6_4
JTAG Serial Data Input
UART1 Receive Data Input
External Interrupt Input 6/T2CCU
Capture/Compare Channel 3
Data Sheet
17
V0.1, 2008-04
XC878CLM
Advance Information
Table 3
General Device Information
Pin Definitions and Functions (cont’d)
Symbol Pin Number
(TQFP-64)
Type Reset Function
State
VDDP
7, 25, 55
–
–
I/O Port Supply (3.3 or 5.0 V)
Also used by EVR and analog modules. All
pins must be connected.
VSSP
26, 54
–
–
I/O Ground
All pins must be connected.
VDDC
VSSC
VAREF
VAGND
6
–
–
Core Supply Monitor (2.5 V)
5
–
–
Core Supply Ground
32
–
–
ADC Reference Voltage
31
–
–
ADC Reference Ground
AN0
22
I
Hi-Z
Analog Input 0
AN1
23
I
Hi-Z
Analog Input 1
AN2
24
I
Hi-Z
Analog Input 2
AN3
27
I
Hi-Z
Analog Input 3
AN4
28
I
Hi-Z
Analog Input 4
AN5
29
I
Hi-Z
Analog Input 5
AN6
30
I
Hi-Z
Analog Input 6
AN7
33
I
Hi-Z
Analog Input 7
XTAL1
4
I
Hi-Z
External Oscillator Input
(feedback resistor required, normally NC)
XTAL2
3
O
Hi-Z
External Oscillator Output
(feedback resistor required, normally NC)
TMS
16
I
PD
JTAG Test Mode Select
RESET 53
I
PU
Reset Input
MBC
58
I
PU
Monitor & BootStrap Loader Control
TM
57
–
–
Test Mode
(External pull down device required)
NC
56
–
–
No Connection
Data Sheet
18
V0.1, 2008-04
XC878CLM
Advance Information
3
Functional Description
Functional Description
Chapter 3 provides an overview of the XC878 functional description.
3.1
Processor Architecture
The XC878 is based on a high-performance 8-bit Central Processing Unit (CPU) that is
compatible with the standard 8051 processor. While the standard 8051 processor is
designed around a 12-clock machine cycle, the XC878 CPU uses a 2-clock machine
cycle. This allows fast access to ROM or RAM memories without wait state. The
instruction set consists of 45% one-byte, 41% two-byte and 14% three-byte instructions.
The XC878 CPU provides a range of debugging features, including basic stop/start,
single-step execution, breakpoint support and read/write access to the data memory,
program memory and Special Function Registers (SFRs).
Figure 5 shows the CPU functional blocks.
Internal Data
Memory
Core SFRs
Register Interface
External Data
Memory
Program Memory
fCCLK
Memory Wait
Reset
Legacy External Interrupts (IEN0, IEN1)
External Interrupts
Non-Maskable Interrupt
Figure 5
Data Sheet
External SFRs
16-bit Registers &
Memory Interface
ALU
Opcode &
Immediate
Registers
Multiplier / Divider
Opcode Decoder
Timer 0 / Timer 1
State Machine &
Power Saving
UART
Interrupt
Controller
CPU Block Diagram
19
V0.1, 2008-04
XC878CLM
Advance Information
3.2
Functional Description
Memory Organization
The XC878 CPU operates in the following address spaces:
•
•
•
8 Kbytes of Boot ROM program memory
256 bytes of internal RAM data memory
3 Kbytes of XRAM memory
(XRAM can be read/written as program memory or external data memory)
A 128-byte Special Function Register area
64/52 Kbytes of Flash program memory (Flash devices)
•
•
Figure 6 and Figure 7 illustrate the memory address spaces of the XC878 with
64Kbytes and 52Kbytes embedded Flash respectively.
Bank F
F' FFFF H
Reserved
Bank E
Bank D
Bank C
Bank B
Bank A
Reserved
Bank 9
Bank 8
Bank 7
Bank 6
Bank 5
Bank 4
Bank 3
External
Reserved
Bank 2
External
XRAM
3 KByte
Reserved
Boot ROM
8 KByte
Reserved
Bank 1
Bank 0
D-Flash
4 KByte
F' 0000H
E' FFFFH
E' 0000H
D' FFFFH
D' 0000H
C' FFFFH
C' 0000H
B' FFFFH
B' 0000H
A' FFFFH
A' 0000H
9' FFFFH
9' 0000H
8' FFFFH
8' 0000H
7' FFFFH
7' 0000H
6' FFFFH
6' 0000H
5' FFFFH
5' 0000H
4' FFFFH
4' 0000H
3' FFFFH
3' 0000H
2' FFFFH
2' FEC0H
2' FE00H
2' FC00H
2' F000H
2' E000H
2' C000H
2' 0000H
1' FFFFH
External
XRAM
3 KByte
External
Reserved
External
F' FFFF H
F' FC00H
F' F000H
F' 0000H
E' FFFFH
E' 0000H
D' FFFFH
D' 0000H
C' FFFFH
C' 0000H
B' FFFFH
B' 0000H
A' FFFFH
A' 0000H
9' FFFFH
9' 0000H
8' FFFFH
8' 0000H
7' FFFFH
7' 0000H
6' FFFFH
6' 0000H
5' FFFFH
5' 0000H
4' FFFFH
4' 0000H
3' FFFFH
3' 0000H
2' FFFFH
2' FEC0H
2' FE00H
2' FC00H
Reserved
External
Reserved
External
1' 0000H
0' FFFFH
2' F000H
2' E000H
Memory Extension
Stack Pointer
(MEXSP)
2' C000H
2' 0000H
1' FFFFH
1' 0000H
0' FFFFH
Direct
Address
Internal RAM
Special Function
Registers
FFH
Extension Stack RAM
80H
0' F000H
Reserved
7FH
P-Flash
60 KByte
Internal RAM
0' 0000H
Code Space
Indirect
Address
0' 0000H
00H
Data Space
Internal Data Space
Memory Map User Mode
Figure 6
Data Sheet
Memory Map of XC878 with 64K Flash Memory in user mode
20
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
F’FFFF H
Reserved
External
1'0000H
FFFFH
FEC0 H
D-Flash
4 KByte
External
Reserved
Reserved
External
XRAM
2 KByte
F’FFFF H
External
FE00H
F800H
F000H
External
XRAM
2 KByte
1'0000H
FFFF H
FEC0 H
FE00H
F800H
F000H
E000H
Reserved
Boot ROM
8 KByte
C000H
P-Flash
48 KByte /
Reserved
C000 H
Reserved /
External
8000H
8000H
Memory Extension
Stack Pointer
(MEXSP)
P-Flash
32 KByte
Indirect
Address
Direct
Address
Internal RAM
Special Function
Registers
FFH
Reserved
Extension Stack RAM
80 H
7FH
Internal RAM
0000H
Code Space
Figure 7
Data Sheet
0000H
00H
Data Space
Internal Data Space
Memory Map User Mode
Memory Map of XC878 with 52K Flash Memory in user mode
21
V0.1, 2008-04
XC878CLM
Advance Information
3.2.1
Functional Description
Memory Protection Strategy
The XC878 memory protection strategy includes:
•
•
•
Basic protection: The user is able to block any external access via the boot option to
any memory
Read-out protection: The user is able to protect the contents in the Flash
Flash program and erase protection
These protection strategies are enabled by programming a valid password (16-bit nonone value) via Bootstrap Loader (BSL) mode 6.
3.2.1.1
Flash Memory Protection
As long as a valid password is available, all external access to the device, including the
Flash, will be blocked.
For additional security, the Flash hardware protection can be enabled to implement a
second layer of read-out protection, as well as to enable program and erase protection.
Flash hardware protection is available only for Flash devices and comes in two modes:
•
•
Mode 0: Only the P-Flash is protected; the D-Flash is unprotected
Mode 1: Both the P-Flash and D-Flash are protected
The selection of each protection mode and the restrictions imposed are summarized in
Table 4.
Table 4
Flash Protection Modes
Flash
Protection
Without hardware
protection
With hardware protection
Hardware
Protection
Mode
-
0
Activation
Program a valid password via BSL mode 6
Selection
Bit 13 of password = 0
Bit 13 of password = 1 Bit 13 of password = 1
MSB of password = 0 MSB of password = 1
P-Flash
contents
can be read
by
Read instructions in
any program memory
Read instructions in
the P-Flash
Read instructions in
the P-Flash or DFlash
Not possible
Not possible
External
Not possible
access to PFlash
Data Sheet
1
22
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Table 4
Flash Protection Modes (cont’d)
Flash
Protection
Without hardware
protection
With hardware protection
P-Flash
program
and erase
Possible
Possible only on the
Possible only on the
condition that MSB - 1 condition that MSB - 1
of password is set to 1 of password is set to 1
D-Flash
contents
can be read
by
Read instructions in
any program memory
Read instructions in
any program memory
Read instructions in
the P-Flash or DFlash
External
Not possible
access to DFlash
Not possible
Not possible
D-Flash
program
Possible
Possible
Possible, on the
condition that MSB - 1
of password is set to 1
D-Flash
erase
Possible
Possible, on these
Possible, on the
conditions:
condition that MSB - 1
• MISC_CON.DFLASH of password is set to 1
EN bit is set to 1
prior to each erase
operation; or
• the MSB - 1 of
password is set to 1
BSL mode 6, which is used for enabling Flash protection, can also be used for disabling
Flash protection. Here, the programmed password must be provided by the user. To
disable the flash protection, a password match is required. A password match triggers
an automatic erase of the protected P-Flash and D-Flash contents, including the
programmed password. With a valid password, the Flash hardware protection is then
enabled or disabled upon next reset. For the other protection strategies, no reset is
necessary.
Although no protection scheme can be considered infallible, the XC878 memory
protection strategy provides a very high level of protection for a general purpose
microcontroller.
Note: If ROM read-out protection is enabled, only read instructions in the ROM memory
can target the ROM contents.
Data Sheet
23
V0.1, 2008-04
XC878CLM
Advance Information
3.2.2
Functional Description
Special Function Register
The Special Function Registers (SFRs) occupy direct internal data memory space in the
range 80H to FFH. All registers, except the program counter, reside in the SFR area. The
SFRs include pointers and registers that provide an interface between the CPU and the
on-chip peripherals. As the 128-SFR range is less than the total number of registers
required, address extension mechanisms are required to increase the number of
addressable SFRs. The address extension mechanisms include:
•
•
Mapping
Paging
3.2.2.1
Address Extension by Mapping
Address extension is performed at the system level by mapping. The SFR area is
extended into two portions: the standard (non-mapped) SFR area and the mapped SFR
area. Each portion supports the same address range 80H to FFH, bringing the number of
addressable SFRs to 256. The extended address range is not directly controlled by the
CPU instruction itself, but is derived from bit RMAP in the system control register
SYSCON0 at address 8FH. To access SFRs in the mapped area, bit RMAP in SFR
SYSCON0 must be set. Alternatively, the SFRs in the standard area can be accessed
by clearing bit RMAP. The SFR area can be selected as shown in Figure 8.
As long as bit RMAP is set, the mapped SFR area can be accessed. This bit is not
cleared automatically by hardware. Thus, before standard/mapped registers are
accessed, bit RMAP must be cleared/set, respectively, by software.
Data Sheet
24
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Standard Area (RMAP = 0)
FF H
Module 1 SFRs
SYSCON0.RMAP
Module 2 SFRs
rw
…...
Module n SFRs
80 H
SFR Data
(to/from CPU)
Mapped Area (RMAP = 1)
FF H
Module (n+1) SFRs
Module (n+2) SFRs
…...
Module m SFRs
80 H
Direct
Internal Data
Memory Address
Figure 8
Data Sheet
Address Extension by Mapping
25
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
SYSCON0
System Control Register 0
7
6
5
Reset Value: 04H
4
3
2
1
0
0
IMODE
0
1
0
RMAP
r
rw
r
r
r
rw
Field
Bits
Type Description
RMAP
0
rw
Interrupt Node XINTR0 Enable
0
The access to the standard SFR area is
enabled
1
The access to the mapped SFR area is
enabled
1
2
r
Reserved
Returns 1 if read; should be written with 1.
0
[7:5],
3,1
r
Reserved
Returns 0 if read; should be written with 0.
Note: The RMAP bit should be cleared/set by ANL or ORL instructions.The rest bits of
SYSCON0 should not be modified.
3.2.2.2
Address Extension by Paging
Address extension is further performed at the module level by paging. With the address
extension by mapping, the XC878 has a 256-SFR address range. However, this is still
less than the total number of SFRs needed by the on-chip peripherals. To meet this
requirement, some peripherals have a built-in local address extension mechanism for
increasing the number of addressable SFRs. The extended address range is not directly
controlled by the CPU instruction itself, but is derived from bit field PAGE in the module
page register MOD_PAGE. Hence, the bit field PAGE must be programmed before
accessing the SFR of the target module. Each module may contain a different number
of pages and a different number of SFRs per page, depending on the specific
requirement. Besides setting the correct RMAP bit value to select the SFR area, the user
must also ensure that a valid PAGE is selected to target the desired SFR. A page inside
the extended address range can be selected as shown in Figure 9.
Data Sheet
26
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
SFR Address
(from CPU)
PAGE 0
MOD_PAGE.PAGE
SFR0
rw
SFR1
…...
SFRx
PAGE 1
SFR0
SFR Data
(to/from CPU)
SFR1
…...
SFRy
…...
PAGE q
SFR0
SFR1
…...
SFRz
Module
Figure 9
Address Extension by Paging
In order to access a register located in a page different from the actual one, the current
page must be exited. This is done by reprogramming the bit field PAGE in the page
register. Only then can the desired access be performed.
If an interrupt routine is initiated between the page register access and the module
register access, and the interrupt needs to access a register located in another page, the
current page setting can be saved, the new one programmed and the old page setting
restored. This is possible with the storage fields STx (x = 0 - 3) for the save and restore
action of the current page setting. By indicating which storage bit field should be used in
parallel with the new page value, a single write operation can:
•
Save the contents of PAGE in STx before overwriting with the new value
(this is done in the beginning of the interrupt routine to save the current page setting
and program the new page number); or
Data Sheet
27
V0.1, 2008-04
XC878CLM
Advance Information
•
Functional Description
Overwrite the contents of PAGE with the contents of STx, ignoring the value written
to the bit positions of PAGE
(this is done at the end of the interrupt routine to restore the previous page setting
before the interrupt occurred)
ST3
ST2
ST1
ST0
STNR
PAGE
value update
from CPU
Figure 10
Storage Elements for Paging
With this mechanism, a certain number of interrupt routines (or other routines) can
perform page changes without reading and storing the previously used page information.
The use of only write operations makes the system simpler and faster. Consequently,
this mechanism significantly improves the performance of short interrupt routines.
The XC878 supports local address extension for:
•
•
•
•
Parallel Ports
Analog-to-Digital Converter (ADC)
Capture/Compare Unit 6 (CCU6)
System Control Registers
Data Sheet
28
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
The page register has the following definition:
MOD_PAGE
Page Register for module MOD
7
6
Reset Value: 00H
5
4
3
2
1
OP
STNR
0
PAGE
w
w
r
rw
0
Field
Bits
Type Description
PAGE
[2:0]
rw
Page Bits
When written, the value indicates the new page.
When read, the value indicates the currently active
page.
STNR
[5:4]
w
Storage Number
This number indicates which storage bit field is the
target of the operation defined by bit field OP.
If OP = 10B,
the contents of PAGE are saved in STx before being
overwritten with the new value.
If OP = 11B,
the contents of PAGE are overwritten by the
contents of STx. The value written to the bit positions
of PAGE is ignored.
00
01
10
11
Data Sheet
ST0 is selected.
ST1 is selected.
ST2 is selected.
ST3 is selected.
29
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Field
Bits
Type Description
OP
[7:6]
w
Operation
0X Manual page mode. The value of STNR is
ignored and PAGE is directly written.
10
New page programming with automatic page
saving. The value written to the bit positions of
PAGE is stored. In parallel, the previous
contents of PAGE are saved in the storage bit
field STx indicated by STNR.
11
Automatic restore page action. The value
written to the bit positions PAGE is ignored
and instead, PAGE is overwritten by the
contents of the storage bit field STx indicated
by STNR.
0
3
r
Reserved
Returns 0 if read; should be written with 0.
3.2.3
Bit Protection Scheme
The bit protection scheme prevents direct software writing of selected bits (i.e., protected
bits) using the PASSWD register. When the bit field MODE is 11B, writing 10011B to the
bit field PASS opens access to writing of all protected bits, and writing 10101B to the bit
field PASS closes access to writing of all protected bits. In both cases, the value of the
bit field MODE is not changed even if PASSWD register is written with 98H or A8H. It can
only be changed when bit field PASS is written with 11000B, for example, writing D0H to
PASSWD register disables the bit protection scheme.
Note that access is opened for maximum 32 CCLKs if the “close access” password is not
written. If “open access” password is written again before the end of 32 CCLK cycles,
there will be a recount of 32 CCLK cycles. The protected bits include the N- and KDivider bits, NDIV and KDIV; the Watchdog Timer enable bit, WDTEN; and the powerdown and slow-down enable bits, PD and SD.
Data Sheet
30
V0.1, 2008-04
XC878CLM
Advance Information
3.2.3.1
Functional Description
Password Register
PASSWD
Password Register
7
6
Reset Value: 07H
5
4
3
2
1
0
PASS
PROTECT
_S
MODE
wh
rh
rw
Field
Bits
Type Description
MODE
[1:0]
rw
Bit Protection Scheme Control Bits
00
Scheme disabled - direct access to the
protected bits is allowed.
11
Scheme enabled - the bit field PASS has to be
written with the passwords to open and close
the access to protected bits. (default)
Others:Scheme Enabled.
These two bits cannot be written directly. To change
the value between 11B and 00B, the bit field PASS
must be written with 11000B; only then, will the
MODE[1:0] be registered.
PROTECT_S
2
rh
Bit Protection Signal Status Bit
This bit shows the status of the protection.
0
Software is able to write to all protected bits.
1
Software is unable to write to any protected
bits.
PASS
[7:3]
wh
Password Bits
The Bit Protection Scheme only recognizes three
patterns.
11000B Enables writing of the bit field MODE.
10011B Opens access to writing of all protected bits.
10101B Closes access to writing of all protected bits
Data Sheet
31
V0.1, 2008-04
XC878CLM
Advance Information
3.2.4
Functional Description
XC878 Register Overview
The SFRs of the XC878 are organized into groups according to their functional units. The
contents (bits) of the SFRs are summarized in Chapter 3.2.4.1 to Chapter 3.2.4.15.
Note: The addresses of the bitaddressable SFRs appear in bold typeface.
3.2.4.1
CPU Registers
The CPU SFRs can be accessed in both the standard and mapped memory areas
(RMAP = 0 or 1).
Table 5
CPU Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
RMAP = 0 or 1
81H
SP
Reset: 07H
Stack Pointer Register
Bit Field
82H
DPL
Reset: 00H
Data Pointer Register Low
Bit Field
DPH
Reset: 00H
Data Pointer Register High
Bit Field
PCON
Reset: 00H
Power Control Register
Bit Field
TCON
Reset: 00H
Timer Control Register
Bit Field
TF1
TR1
TF0
Type
rwh
rw
rwh
TMOD
Reset: 00H
Timer Mode Register
Bit Field
GATE
1
T1S
rw
rw
83H
87H
88H
89H
Type
Type
Type
Type
Type
8AH
8BH
8CH
8DH
94H
95H
96H
SP
rw
DPL7
DPL6
DPL5
DPL4
DPL3
DPL2
DPL1
DPL0
rw
rw
rw
rw
rw
rw
rw
rw
DPH7
DPH6
DPH5
DPH4
DPH3
DPH2
DPH1
DPH0
rw
rw
rw
rw
rw
rw
rw
rw
SMOD
0
GF1
GF0
0
IDLE
rw
r
rw
rw
r
rw
TR0
IE1
IT1
IE0
IT0
rw
rwh
rw
rwh
rw
T1M
GATE
0
T0S
T0M
rw
rw
rw
rw
TL0
Reset: 00H
Timer 0 Register Low
Bit Field
VAL
Type
rwh
TL1
Reset: 00H
Timer 1 Register Low
Bit Field
VAL
Type
rwh
TH0
Reset: 00H
Timer 0 Register High
Bit Field
VAL
Type
rwh
TH1
Reset: 00H
Timer 1 Register High
Bit Field
VAL
Type
rwh
MEX1
Reset: 00H
Memory Extension Register 1
Bit Field
MEX2
Reset: 00H
Memory Extension Register 2
Bit Field
MEX3
Reset: 00H
Memory Extension Register 3
Bit Field
Type
Type
Type
Data Sheet
CB
NB
r
rw
MCM
MCB
IB
rw
rw
rw
MCB1
9
0
MXB1
9
MXM
MXB
rw
rw
rw
rw
rw
32
V0.1, 2008-04
XC878CLM
Advance Information
Table 5
Functional Description
CPU Register Overview (cont’d)
Addr Register Name
Bit
7
97H
MEXSP
Reset: 7FH
Memory Extension Stack
Pointer Register
Bit Field
0
MXSP
Type
r
rwh
SCON
Reset: 00H
Serial Channel Control Register
Bit Field
SBUF
Reset: 00H
Serial Data Buffer Register
Bit Field
VAL
Type
rwh
EO
Reset: 00H
Extended Operation Register
Bit Field
0
TRAP_
EN
0
DPSE
L0
Type
r
rw
r
rw
98H
99H
A2H
A8H
B8H
B9H
D0H
E0H
E8H
F0H
Type
6
5
4
3
2
1
0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
rw
rw
rw
rw
rw
rwh
rwh
rwh
IEN0
Reset: 00H
Interrupt Enable Register 0
Bit Field
EA
0
ET2
ES
ET1
EX1
ET0
EX0
Type
rw
r
rw
rw
rw
rw
rw
rw
IP
Reset: 00H
Interrupt Priority Register
Bit Field
0
PT2
PS
PT1
PX1
PT0
PX0
Type
r
rw
rw
rw
rw
rw
rw
IPH
Reset: 00H
Interrupt Priority High Register
Bit Field
0
PT2H
PSH
PT1H
PX1H
PT0H
PX0H
Type
r
rw
rw
rw
rw
rw
rw
PSW
Reset: 00H
Program Status Word Register
Bit Field
CY
AC
F0
RS1
RS0
OV
F1
P
Type
rwh
rwh
rw
rw
rw
rwh
rw
rh
ACC
Reset: 00H
Accumulator Register
Bit Field
ACC7
ACC6
ACC5
ACC4
ACC3
ACC2
ACC1
ACC0
rw
rw
rw
rw
rw
rw
rw
rw
IEN1
Reset: 00H
Interrupt Enable Register 1
Bit Field
ECCIP
3
ECCIP
2
ECCIP
1
ECCIP
0
EXM
EX2
ESSC
EADC
Type
rw
rw
rw
rw
rw
rw
rw
rw
Bit Field
B7
B6
B5
B4
B3
B2
B1
B0
Type
rw
rw
rw
rw
rw
rw
rw
rw
PCCIP
3
PCCIP
2
PCCIP
1
PCCIP
0
PXM
PX2
PSSC
PADC
B
B Register
Reset: 00H
Type
F8H
IP1
Reset: 00H
Interrupt Priority 1 Register
F9H
IPH1
Reset: 00H Bit Field
Interrupt Priority 1 High Register
Bit Field
Type
Type
3.2.4.2
rw
rw
rw
rw
rw
rw
rw
rw
PCCIP
3H
PCCIP
2H
PCCIP
1H
PCCIP
0H
PXMH
PX2H
PSSC
H
PADC
H
rw
rw
rw
rw
rw
rw
rw
rw
2
1
0
MDU Registers
The MDU SFRs can be accessed in the mapped memory area (RMAP = 1).
Table 6
MDU Register Overview
Addr Register Name
Bit
7
6
5
4
3
RMAP = 1
B0H
MDUSTAT
Reset: 00H
MDU Status Register
Data Sheet
Bit Field
0
BSY
IERR
IRDY
Type
r
rh
rwh
rwh
33
V0.1, 2008-04
XC878CLM
Advance Information
Table 6
Functional Description
MDU Register Overview (cont’d)
Addr Register Name
Bit
7
6
5
4
B1H
Bit Field
IE
IR
RSEL
STAR
T
OPCODE
Type
rw
rw
rw
rwh
rw
MDUCON
Reset: 00H
MDU Control Register
MD0
Reset: 00H
MDU Operand Register 0
Bit Field
B2H
MR0
Reset: 00H
MDU Result Register 0
Bit Field
B3H
MD1
Reset: 00H
MDU Operand Register 1
Bit Field
MR1
Reset: 00H
MDU Result Register 1
Bit Field
MD2
Reset: 00H
MDU Operand Register 2
Bit Field
MR2
Reset: 00H
MDU Result Register 2
Bit Field
MD3
Reset: 00H
MDU Operand Register 3
Bit Field
MR3
Reset: 00H
MDU Result Register 3
Bit Field
MD4
Reset: 00H
MDU Operand Register 4
Bit Field
MR4
Reset: 00H
MDU Result Register 4
Bit Field
MD5
Reset: 00H
MDU Operand Register 5
Bit Field
MR5
Reset: 00H
MDU Result Register 5
Bit Field
B2H
B3H
B4H
B4H
B5H
B5H
B6H
B6H
B7H
B7H
3.2.4.3
3
2
1
0
DATA
Type
rw
DATA
Type
rh
DATA
Type
rw
DATA
Type
rh
DATA
Type
rw
DATA
Type
rh
DATA
Type
rw
DATA
Type
rh
DATA
Type
rw
DATA
Type
rh
DATA
Type
rw
DATA
Type
rh
CORDIC Registers
The CORDIC SFRs can be accessed in the mapped memory area (RMAP = 1).
Table 7
CORDIC Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
RMAP = 1
9AH
9BH
CD_CORDXL
Reset: 00H
CORDIC X Data Low Byte
Bit Field
CD_CORDXH
Reset: 00H
CORDIC X Data High Byte
Bit Field
Data Sheet
DATAL
Type
rw
DATAH
Type
rw
34
V0.1, 2008-04
XC878CLM
Advance Information
Table 7
Functional Description
CORDIC Register Overview (cont’d)
Addr Register Name
Bit
9CH
CD_CORDYL
Reset: 00H
CORDIC Y Data Low Byte
Bit Field
CD_CORDYH
Reset: 00H
CORDIC Y Data High Byte
Bit Field
CD_CORDZL
Reset: 00H
CORDIC Z Data Low Byte
Bit Field
CD_CORDZH
Reset: 00H
CORDIC Z Data High Byte
Bit Field
CD_STATC
Reset: 00H
CORDIC Status and Data
Control Register
Bit Field
CD_CON
Reset: 00H
CORDIC Control Register
Bit Field
9DH
9EH
9FH
A0H
A1H
7
5
4
2
1
0
rw
DATAH
Type
rw
DATAL
Type
rw
DATAH
Type
Type
3
DATAL
Type
rw
KEEP
Z
KEEP
Y
KEEP
X
DMAP
INT_E
N
EOC
ERRO
R
BSY
rw
rw
rw
rw
rw
rwh
rh
rh
MPS
X_USI
GN
ST_M
ODE
ROTV
EC
MODE
ST
rw
rw
rw
rw
rw
rwh
Type
3.2.4.4
6
System Control Registers
The system control SFRs can be accessed in the mapped memory area (RMAP = 0).
Table 8
SCU Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
RMAP = 0 or 1
8FH
SYSCON0
Reset: 04H
System Control Register 0
Bit Field
0
IMOD
E
0
1
0
RMAP
Type
r
rw
r
r
r
rw
RMAP = 0
BFH
SCU_PAGE
Page Register
Reset: 00H
Bit Field
Type
OP
STNR
0
PAGE
w
w
r
rwh
RMAP = 0, PAGE 0
B3H
B4H
B5H
B6H
MODPISEL
Reset: 00H
Peripheral Input Select Register
IRCON0
Reset: 00H
Interrupt Request Register 0
IRCON1
Reset: 00H
Interrupt Request Register 1
IRCON2
Reset: 00H
Interrupt Request Register 2
Data Sheet
Bit Field
0
URRIS
H
JTAGT
DIS
JTAGT
CKS
EXINT
2IS
EXINT
1IS
EXINT
0IS
URRIS
Type
r
rw
rw
rw
rw
rw
rw
rw
Bit Field
0
EXINT
6
EXINT
5
EXINT
4
EXINT
EXINT
2
EXINT
1
EXINT
0
3
Type
r
rwh
rwh
rwh
rwh
rwh
rwh
rwh
Bit Field
0
CANS
RC2
CANS
RC1
ADCS
R1
ADCS
R0
RIR
TIR
EIR
Type
r
rwh
rwh
rwh
rwh
rwh
rwh
rwh
Bit Field
0
CANS
RC3
0
CANS
RC0
Type
r
rwh
r
rwh
35
V0.1, 2008-04
XC878CLM
Advance Information
Table 8
Functional Description
SCU Register Overview (cont’d)
Addr Register Name
Bit
B7H
EXICON0
Reset: F0H
External Interrupt Control
Register 0
Bit Field
EXINT3
EXINT2
EXINT1
EXINT0
Type
rw
rw
rw
rw
EXICON1
Reset: 3FH
External Interrupt Control
Register 1
Bit Field
0
EXINT6
EXINT5
EXINT4
Type
r
rw
rw
rw
NMICON
Reset: 00H
NMI Control Register
Bit Field
0
NMI
ECC
NMI
VDDP
0
NMI
OCDS
NMI
FLASH
NMI
PLL
NMI
WDT
Type
r
rw
rw
r
rw
rw
rw
rw
Bit Field
0
FNMI
ECC
FNMI
VDDP
0
FNMI
OCDS
FNMI
FLASH
FNMI
PLL
FNMI
WDT
Type
r
rwh
rwh
r
rwh
rwh
rwh
rwh
BGSEL
NDOV
EN
BRDIS
BRPRE
R
rw
rw
rw
rw
rw
BAH
BBH
BCH
BDH
NMISR
Reset: 00H
NMI Status Register
BCON
Reset: 20H
Baud Rate Control Register
7
6
Bit Field
Type
BEH
E9H
EAH
EBH
BG
Reset: 00H
Baud Rate Timer/Reload
Register
Bit Field
FDCON
Reset: 00H
Fractional Divider Control
Register
Bit Field
FDSTEP
Reset: 00H
Fractional Divider Reload
Register
Bit Field
FDRES
Reset: 00H
Fractional Divider Result
Register
Bit Field
5
4
3
1
0
BR_VALUE
Type
Type
2
rwh
BGS
SYNE
N
ERRS
YN
EOFS
YN
BRK
NDOV
FDM
FDEN
rw
rw
rwh
rwh
rwh
rwh
rw
rw
STEP
Type
rw
RESULT
Type
rh
RMAP = 0, PAGE 1
B3H
ID
Identity Register
Reset: 49H
Bit Field
B4H
PMCON0
Reset: 80H
Power Mode Control Register 0
Bit Field
B5H
B6H
PMCON1
Reset: 00H
Power Mode Control Register 1
OSC_CON
Reset: XXH
OSC Control Register
Type
PLL_CON
Reset: 18H
PLL Control Register
r
CMCON
Reset: 10H
Clock Control Register
WKRS
WK
SEL
SD
PD
WS
Type
rh
rwh
rwh
rw
rw
rwh
rw
Bit Field
0
CDC_
DIS
CAN_
DIS
MDU_
DIS
T2CC
U_DIS
CCU_
DIS
SSC_
DIS
ADC_
DIS
Type
r
rw
rw
rw
rw
rw
rw
rw
PLLRD
RES
PLLBY
P
PLLPD
0
XPD
OSC
SS
EORD
RES
EXTO
SCR
rwh
rwh
rw
r
rw
rwh
rwh
rh
NDIV
PLLR
PLL_L
OCK
rw
rh
rh
Bit Field
Bit Field
Bit Field
Type
Data Sheet
r
WDT
RST
Type
BAH
VERID
VDDP
WARN
Type
B7H
PRODID
KDIV
0
FCCF
G
CLKREL
rw
r
rw
rw
36
V0.1, 2008-04
XC878CLM
Advance Information
Table 8
Functional Description
SCU Register Overview (cont’d)
Addr Register Name
Bit
BBH
Bit Field
PASSWD
Reset: 07H
Password Register
7
6
Type
BEH
E9H
COCON
Reset: 00H
Clock Output Control Register
Bit Field
MISC_CON
Reset: 00H
Miscellaneous Control Register
Bit Field
EAH
EBH
PLL_CON1
Reset: 20H
PLL Control Register 1
Bit Field
CR_MISC Reset: 00H or 01H
Reset Status Register
Bit Field
3
2
1
0
PASS
PROT
ECT_S
MODE
w
rh
rw
TLEN
0
COREL
rw
rw
r
rw
ADCE
TR0_
MUX
ADCE
TR1_
MUX
0
DFLAS
HEN
rw
rw
r
rwh
Type
Type
4
COUTS
Type
Type
5
NDIV
PDIV
rw
rw
CCCF
G
MDUC
CFG
CCUC
CFG
T2CCF
G
0
HDRS
T
rw
rw
rw
rw
r
rwh
RMAP = 0, PAGE 3
B3H
B4H
B5H
B6H
B7H
BAH
BBH
BDH
BEH
EAH
XADDRH
Reset: F0H
On-chip XRAM Address Higher
Order
Bit Field
IRCON3
Reset: 00H
Interrupt Request Register 3
Bit Field
0
CANS
RC5
CCU6
SR1
0
CANS
RC4
CCU6
SR0
Type
r
rwh
rwh
r
rwh
rwh
Bit Field
0
CANS
RC7
CCU6
SR3
0
CANS
RC6
CCU6
SR2
Type
r
rwh
rwh
r
rwh
rwh
IRCON4
Reset: 00H
Interrupt Request Register 4
ADDRH
Type
rw
MODIEN
Reset: 07H
Peripheral Interrupt Enable
Register
Bit Field
0
CM5E
N
CM4E
N
RIREN
TIREN
EIREN
Type
r
rw
rw
rw
rw
rw
MODPISEL1
Reset: 00H
Peripheral Input Select Register
1
Bit Field
MODPISEL2
Reset: 00H
Peripheral Input Select Register
2
PMCON2
Reset: 00H
Power Mode Control Register 2
MODSUSP
Reset: 01H
Module Suspend Control
Register
EXINT6IS
UR1RIS
T21EX
IS
0
Type
rw
rw
rw
r
Bit Field
0
T2EXI
S
T21IS
T2IS
T1IS
T0IS
Type
r
rw
rw
rw
rw
rw
Bit Field
0
UART
1_DIS
T21_D
IS
Type
r
rw
rw
Bit Field
0
CCTS
USP
T21SU
SP
T2SUS
P
T13SU
SP
T12SU
SP
WDTS
USP
Type
r
rw
rw
rw
rw
rw
rw
MODPISEL3
Reset: 00H
Peripheral Input Select Register
3
Bit Field
0
CIS
SIS
MIS
Type
r
rw
rw
rw
MODPISEL4
Reset: 00H
Peripheral Input Select Register
4
Bit Field
0
EXINT5IS
EXINT4IS
EXINT3IS
Type
r
rw
rw
rw
Data Sheet
37
V0.1, 2008-04
XC878CLM
Advance Information
3.2.4.5
Functional Description
WDT Registers
The WDT SFRs can be accessed in the mapped memory area (RMAP = 1).
Table 9
WDT Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
RMAP = 1
BBH
BCH
BDH
BEH
BFH
WDTCON
Reset: 00H
Watchdog Timer Control
Register
Bit Field
0
WINB
EN
WDTP
R
0
WDTE
N
WDTR
S
WDTI
N
Type
r
rw
rh
r
rw
rwh
rw
WDTREL
Reset: 00H
Watchdog Timer Reload
Register
Bit Field
WDTWINB
Reset: 00H
Watchdog Window-Boundary
Count Register
Bit Field
WDTL
Reset: 00H
Watchdog Timer Register Low
Bit Field
WDTH
Reset: 00H
Watchdog Timer Register High
Bit Field
1
0
3.2.4.6
WDTREL
Type
rw
WDTWINB
Type
rw
WDT
Type
rh
WDT
Type
rh
Port Registers
The Port SFRs can be accessed in the standard memory area (RMAP = 0).
Table 10
Port Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
RMAP = 0
B2H
PORT_PAGE
Page Register
Reset: 00H
Bit Field
Type
OP
STNR
0
PAGE
w
w
r
rwh
RMAP = 0, PAGE 0
80H
86H
90H
91H
92H
93H
P0_DATA
Reset: 00H
P0 Data Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rwh
rwh
rwh
rwh
rwh
rwh
rwh
rwh
P0_DIR
Reset: 00H
P0 Direction Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P1_DATA
Reset: 00H
P1 Data Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rwh
rwh
rwh
rwh
rwh
rwh
rwh
rwh
P1_DIR
Reset: 00H
P1 Direction Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P5_DATA
Reset: 00H
P5 Data Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rwh
rwh
rwh
rwh
rwh
rwh
rwh
rwh
P5_DIR
Reset: 00H
P5 Direction Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
Data Sheet
38
V0.1, 2008-04
XC878CLM
Advance Information
Table 10
Functional Description
Port Register Overview (cont’d)
Addr Register Name
Bit
B0H
P3_DATA
Reset: 00H
P3 Data Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rwh
rwh
rwh
rwh
rwh
rwh
rwh
rwh
P3_DIR
Reset: 00H
P3 Direction Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P4_DATA
Reset: 00H
P4 Data Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rwh
rwh
rwh
rwh
rwh
rwh
rwh
rwh
P4_DIR
Reset: 00H
P4 Direction Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P0_PUDSEL
Reset: FFH
P0 Pull-Up/Pull-Down Select
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P0_PUDEN
Reset: C4H
P0 Pull-Up/Pull-Down Enable
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P1_PUDSEL
Reset: FFH
P1 Pull-Up/Pull-Down Select
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P1_PUDEN
Reset: FFH
P1 Pull-Up/Pull-Down Enable
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P5_PUDSEL
Reset: FFH
P5 Pull-Up/Pull-Down Select
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P5_PUDEN
Reset: FFH
P5 Pull-Up/Pull-Down Enable
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P3_PUDSEL
Reset: BFH
P3 Pull-Up/Pull-Down Select
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P3_PUDEN
Reset: 40H
P3 Pull-Up/Pull-Down Enable
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P4_PUDSEL
Reset: FFH
P4 Pull-Up/Pull-Down Select
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P4_PUDEN
Reset: 04H
P4 Pull-Up/Pull-Down Enable
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P0_ALTSEL0
Reset: 00H
P0 Alternate Select 0 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P0_ALTSEL1
Reset: 00H
P0 Alternate Select 1 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P1_ALTSEL0
Reset: 00H
P1 Alternate Select 0 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
B1H
C8H
C9H
7
6
5
4
3
2
1
0
RMAP = 0, PAGE 1
80H
86H
90H
91H
92H
93H
B0H
B1H
C8H
C9H
RMAP = 0, PAGE 2
80H
86H
90H
Data Sheet
39
V0.1, 2008-04
XC878CLM
Advance Information
Table 10
Functional Description
Port Register Overview (cont’d)
Addr Register Name
Bit
7
6
5
4
3
2
1
0
91H
P1_ALTSEL1
Reset: 00H
P1 Alternate Select 1 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P5_ALTSEL0
Reset: 00H
P5 Alternate Select 0 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P5_ALTSEL1
Reset: 00H
P5 Alternate Select 1 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P3_ALTSEL0
Reset: 00H
P3 Alternate Select 0 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P3_ALTSEL1
Reset: 00H
P3 Alternate Select 1 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P4_ALTSEL0
Reset: 00H
P4 Alternate Select 0 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P4_ALTSEL1
Reset: 00H
P4 Alternate Select 1 Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P0_OD
Reset: 00H
P0 Open Drain Control Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P0_DS
Reset: FFH
P0 Drive Strength Control
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P1_OD
Reset: 00H
P1 Open Drain Control Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P1_DS
Reset: FFH
P1 Drive Strength Control
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P5_OD
Reset: 00H
P5 Open Drain Control Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P5_DS
Reset: FFH
P5 Drive Strength Control
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P3_OD
Reset: 00H
P3 Open Drain Control Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P3_DS
Reset: FFH
P3 Drive Strength Control
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P4_OD
Reset: 00H
P4 Open Drain Control Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
P4_DS
Reset: FFH
P4 Drive Strength Control
Register
Bit Field
P7
P6
P5
P4
P3
P2
P1
P0
Type
rw
rw
rw
rw
rw
rw
rw
rw
92H
93H
B0H
B1H
C8H
C9H
RMAP = 0, PAGE 3
80H
86H
90H
91H
92H
93H
B0H
B1H
C8H
C9H
Data Sheet
40
V0.1, 2008-04
XC878CLM
Advance Information
3.2.4.7
Functional Description
ADC Registers
The ADC SFRs can be accessed in the standard memory area (RMAP = 0).
Table 11
ADC Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
RMAP = 0
D1H
ADC_PAGE
Page Register
Reset: 00H
Bit Field
OP
STNR
0
PAGE
w
w
r
rw
Type
RMAP = 0, PAGE 0
CAH
CBH
CCH
ADC_GLOBCTR Reset: 30H
Global Control Register
Bit Field
ADC_GLOBSTR Reset: 00H
Global Status Register
Bit Field
0
CHNR
0
SAMP
LE
BUSY
Type
r
rh
r
rh
rh
ADC_PRAR
Reset: 00H
Priority and Arbitration Register
Type
Bit Field
Type
CDH
CEH
CFH
ADC_LCBR
Reset: B7H
Limit Check Boundary Register
ANON
DW
CTC
0
rw
rw
rw
r
ASEN
1
ASEN
0
0
ARBM
CSM1
PRIO1
CSM0
PRIO0
rw
rw
r
rw
rw
rw
rw
rw
Bit Field
BOUND1
BOUND0
rw
rw
Type
ADC_INPCR0
Reset: 00H
Input Class 0 Register
Bit Field
ADC_ETRCR
Reset: 00H
External Trigger Control
Register
Bit Field
STC
Type
rw
SYNE
N1
SYNE
N0
ETRSEL1
ETRSEL0
Type
rw
rw
rw
rw
ADC_CHCTR0
Reset: 00H
Channel Control Register 0
Bit Field
0
LCC
0
RESRSEL
Type
r
rw
r
rw
ADC_CHCTR1
Reset: 00H
Channel Control Register 1
Bit Field
0
LCC
0
RESRSEL
Type
r
rw
r
rw
ADC_CHCTR2
Reset: 00H
Channel Control Register 2
Bit Field
0
LCC
0
RESRSEL
Type
r
rw
r
rw
ADC_CHCTR3
Reset: 00H
Channel Control Register 3
Bit Field
0
LCC
0
RESRSEL
Type
r
rw
r
rw
ADC_CHCTR4
Reset: 00H
Channel Control Register 4
Bit Field
0
LCC
0
RESRSEL
Type
r
rw
r
rw
ADC_CHCTR5
Reset: 00H
Channel Control Register 5
Bit Field
0
LCC
0
RESRSEL
Type
r
rw
r
rw
ADC_CHCTR6
Reset: 00H
Channel Control Register 6
Bit Field
0
LCC
0
RESRSEL
Type
r
rw
r
rw
ADC_CHCTR7
Reset: 00H
Channel Control Register 7
Bit Field
0
LCC
0
RESRSEL
Type
r
rw
r
rw
RMAP = 0, PAGE 1
CAH
CBH
CCH
CDH
CEH
CFH
D2H
D3H
Data Sheet
41
V0.1, 2008-04
XC878CLM
Advance Information
Table 11
Functional Description
ADC Register Overview (cont’d)
Addr Register Name
Bit
7
6
5
4
3
2
1
RESULT
0
VF
DRC
CHNR
rh
r
rh
rh
rh
0
RMAP = 0, PAGE 2
ADC_RESR0L
Reset: 00H
Result Register 0 Low
Bit Field
ADC_RESR0H
Reset: 00H
Result Register 0 High
Bit Field
ADC_RESR1L
Reset: 00H
Result Register 1 Low
Bit Field
ADC_RESR1H
Reset: 00H
Result Register 1 High
Bit Field
ADC_RESR2L
Reset: 00H
Result Register 2 Low
Bit Field
CFH
ADC_RESR2H
Reset: 00H
Result Register 2 High
Bit Field
D2H
ADC_RESR3L
Reset: 00H
Result Register 3 Low
Bit Field
ADC_RESR3H
Reset: 00H
Result Register 3 High
Bit Field
CAH
CBH
CCH
CDH
CEH
D3H
Type
RESULT
Type
rh
RESULT
0
VF
DRC
CHNR
rh
r
rh
rh
rh
Type
RESULT
Type
rh
RESULT
0
VF
DRC
CHNR
rh
r
rh
rh
rh
Type
RESULT
Type
rh
RESULT
0
VF
DRC
CHNR
rh
r
rh
rh
rh
Type
RESULT
Type
rh
RMAP = 0, PAGE 3
ADC_RESRA0L Reset: 00H
Result Register 0, View A Low
Bit Field
ADC_RESRA0H Reset: 00H
Result Register 0, View A High
Bit Field
CCH
ADC_RESRA1L Reset: 00H
Result Register 1, View A Low
Bit Field
CDH
ADC_RESRA1H Reset: 00H
Result Register 1, View A High
Bit Field
ADC_RESRA2L Reset: 00H
Result Register 2, View A Low
Bit Field
ADC_RESRA2H Reset: 00H
Result Register 2, View A High
Bit Field
ADC_RESRA3L Reset: 00H
Result Register 3, View A Low
Bit Field
ADC_RESRA3H Reset: 00H
Result Register 3, View A High
Bit Field
CAH
CBH
CEH
CFH
D2H
D3H
RESULT
VF
DRC
CHNR
rh
rh
rh
rh
Type
RESULT
Type
rh
RESULT
VF
DRC
CHNR
rh
rh
rh
rh
Type
RESULT
Type
rh
RESULT
VF
DRC
CHNR
rh
rh
rh
rh
Type
RESULT
Type
rh
RESULT
VF
DRC
CHNR
rh
rh
rh
rh
Type
RESULT
Type
rh
RMAP = 0, PAGE 4
CAH
ADC_RCR0
Reset: 00H
Result Control Register 0
Bit Field
Type
Data Sheet
VFCT
R
WFR
0
IEN
0
DRCT
R
rw
rw
r
rw
r
rw
42
V0.1, 2008-04
XC878CLM
Advance Information
Table 11
Functional Description
ADC Register Overview (cont’d)
Addr Register Name
Bit
CBH
Bit Field
ADC_RCR1
Reset: 00H
Result Control Register 1
Type
CCH
ADC_RCR2
Reset: 00H
Result Control Register 2
Bit Field
Type
CDH
ADC_RCR3
Reset: 00H
Result Control Register 3
Bit Field
Type
CEH
ADC_VFCR
Reset: 00H
Valid Flag Clear Register
7
6
5
4
3
2
1
0
VFCT
R
WFR
0
IEN
0
DRCT
R
rw
rw
r
rw
r
rw
VFCT
R
WFR
0
IEN
0
DRCT
R
rw
rw
r
rw
r
rw
VFCT
R
WFR
0
IEN
0
DRCT
R
rw
rw
r
rw
r
rw
Bit Field
0
VFC3
VFC2
VFC1
VFC0
Type
r
w
w
w
w
RMAP = 0, PAGE 5
CAH
ADC_CHINFR
Reset: 00H
Channel Interrupt Flag Register
Bit Field
Type
CBH
ADC_CHINCR
Reset: 00H
Channel Interrupt Clear Register
Bit Field
Type
CCH
ADC_CHINSR
Reset: 00H
Channel Interrupt Set Register
Bit Field
Type
CDH
CEH
ADC_CHINPR
Reset: 00H
Channel Interrupt Node Pointer
Register
Bit Field
ADC_EVINFR
Reset: 00H
Event Interrupt Flag Register
Bit Field
Type
Type
CFH
D2H
ADC_EVINCR
Reset: 00H
Event Interrupt Clear Flag
Register
Bit Field
Type
ADC_EVINSR
Reset: 00H
Bit Field
Event Interrupt Set Flag Register
Type
D3H
ADC_EVINPR
Reset: 00H
Event Interrupt Node Pointer
Register
Bit Field
Type
CHINF
7
CHINF
6
CHINF
5
CHINF
4
CHINF
3
CHINF
2
CHINF
1
CHINF
0
rh
rh
rh
rh
rh
rh
rh
rh
CHINC
7
CHINC
6
CHINC
5
CHINC
4
CHINC
3
CHINC
2
CHINC
1
CHINC
0
w
w
w
w
w
w
w
w
CHINS
7
CHINS
6
CHINS
5
CHINS
4
CHINS
3
CHINS
2
CHINS
1
CHINS
0
w
w
w
w
w
w
w
w
CHINP
7
CHINP
6
CHINP
5
CHINP
4
CHINP
3
CHINP
2
CHINP
1
CHINP
0
rw
rw
rw
rw
rw
rw
rw
rw
EVINF
7
EVINF
6
EVINF
5
EVINF
4
0
EVINF
1
EVINF
0
rh
rh
rh
rh
r
rh
rh
EVINC
7
EVINC
6
EVINC
5
EVINC
4
0
EVINC
1
EVINC
0
w
w
w
w
r
w
w
EVINS
7
EVINS
6
EVINS
5
EVINS
4
0
EVINS
1
EVINS
0
w
w
w
w
r
w
w
EVINP
7
EVINP
6
EVINP
5
EVINP
4
0
EVINP
1
EVINP
0
rw
rw
rw
rw
r
rw
rw
RMAP = 0, PAGE 6
CAH
CBH
ADC_CRCR1
Reset: 00H
Conversion Request Control
Register 1
Bit Field
CH7
CH6
CH5
CH4
0
Type
rwh
rwh
rwh
rwh
r
ADC_CRPR1
Reset: 00H
Conversion Request Pending
Register 1
Bit Field
CHP7
CHP6
CHP5
CHP4
0
rwh
rwh
rwh
rwh
r
Data Sheet
Type
43
V0.1, 2008-04
XC878CLM
Advance Information
Table 11
Functional Description
ADC Register Overview (cont’d)
Addr Register Name
Bit
CCH
ADC_CRMR1
Reset: 00H
Conversion Request Mode
Register 1
Bit Field
ADC_QMR0
Reset: 00H
Queue Mode Register 0
Bit Field
CDH
Type
Type
CEH
ADC_QSR0
Reset: 20H
Queue Status Register 0
Bit Field
Type
CFH
D2H
D2H
ADC_Q0R0
Reset: 00H
Queue 0 Register 0
Bit Field
ADC_QBUR0
Reset: 00H
Queue Backup Register 0
Bit Field
ADC_QINR0
Reset: 00H
Queue Input Register 0
Bit Field
Data Sheet
Type
Type
Type
7
6
5
4
3
2
1
0
Rsv
LDEV
CLRP
ND
SCAN
ENSI
ENTR
0
ENGT
r
w
w
rw
rw
rw
r
rw
CEV
TREV
FLUS
H
CLRV
0
ENTR
0
ENGT
w
w
w
w
r
rw
r
rw
Rsv
0
EMPT
Y
EV
0
FILL
r
r
rh
rh
r
rh
EXTR
ENSI
RF
V
0
REQCHNR
rh
rh
rh
rh
r
rh
EXTR
ENSI
RF
V
0
REQCHNR
rh
rh
rh
rh
r
rh
EXTR
ENSI
RF
0
REQCHNR
w
w
w
r
w
44
V0.1, 2008-04
XC878CLM
Advance Information
3.2.4.8
Functional Description
Timer 2 Compare/Capture Unit Registers
The Timer 2 Compare/Capture Unit SFRs can be accessed in the standard memory area
(RMAP = 0).
Table 12
T2CCU Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
RMAP = 0
C7H
T2_PAGE
Page Register
Reset: 00H
Bit Field
Type
OP
STNR
0
PAGE
w
w
r
rwh
0
EXEN
2
RMAP = 0, PAGE 0
C0H
T2_T2CON
Reset: 00H
Timer 2 Control Register
Bit Field
C1H
T2_T2MOD
Reset: 00H
Timer 2 Mode Register
Bit Field
Type
Type
C2H
C3H
C4H
C5H
C6H
TF2
EXF2
r
rw
TR2
C/T2
rwh
rw
CP/
RL2
rwh
rwh
T2RE
GS
T2RH
EN
EDGE
SEL
PREN
T2PRE
DCEN
rw
rw
rw
rw
rw
rw
rw
T2_RC2L
Reset: 00H
Timer 2 Reload/Capture
Register Low
Bit Field
RC2
Type
rwh
T2_RC2H
Reset: 00H
Timer 2 Reload/Capture
Register High
Bit Field
RC2
Type
rwh
T2_T2L
Reset: 00H
Timer 2 Register Low
Bit Field
T2_T2H
Reset: 00H
Timer 2 Register High
Bit Field
T2_T2CON1
Reset: 03H
Timer 2 Control Register 1
Bit Field
0
TF2EN
EXF2E
N
Type
r
rw
rw
THL2
Type
rwh
THL2
Type
rwh
RMAP = 0, PAGE 1
C0H
C1H
C2H
C3H
C4H
T2CCU_CCEN
Reset: 00H
T2CCU Capture/Compare
Enable Register
Bit Field
T2CCU_CCTBSELReset: 00H
T2CCU Capture/Compare Time
Base Select Register
Bit Field
CCM3
CCM2
CCM1
CCM0
rw
rw
rw
rw
Type
Type
CASC
CCTT
OV
CCTB
5
CCTB
4
CCTB
3
CCTB
2
CCTB
1
CCTB
0
rw
rwh
rw
rw
rw
rw
rw
rw
T2CCU_CCTRELLReset: 00H
T2CCU Capture/Compare
Timer Reload Register Low
Bit Field
T2CCU_CCTRELHReset: 00H
T2CCU Capture/Compare
Timer Reload Register High
Bit Field
T2CCU_CCTL
Reset: 00H
T2CCU Capture/Compare
Timer Register Low
Bit Field
CCT
Type
rwh
Data Sheet
CCTREL
Type
rw
CCTREL
Type
rw
45
V0.1, 2008-04
XC878CLM
Advance Information
Table 12
Functional Description
T2CCU Register Overview (cont’d)
Addr Register Name
Bit
C5H
T2CCU_CCTH
Reset: 00H
T2CCU Capture/Compare
Timer Register High
Bit Field
CCT
Type
rwh
T2CCU_CCTCON Reset: 00H
T2CCU CaptureCcompare
Timer Control Register
Bit Field
C6H
7
6
3
2
1
0
CCTPRE
CCTO
VF
CCTO
VEN
TIMSY
N
CCTS
T
rw
rwh
rw
rw
rw
Type
5
4
RMAP = 0, PAGE 2
C0H
C1H
C2H
C3H
C4H
C5H
C6H
T2CCU_COSHDWReset: 00H
T2CCU Capture/compare
Enable Register
Bit Field
T2CCU_CC0L
Reset: 00H
T2CCU Capture/Compare
Register 0 Low
Bit Field
T2CCU_CC0H
Reset: 00H
T2CCU Capture/compare
Register 0 High
Bit Field
T2CCU_CC1L
Reset: 00H
T2CCU Capture/compare
Register 1 Low
Bit Field
T2CCU_CC1H
Reset: 00H
T2CCU Capture/compare
Register 1 High
Bit Field
T2CCU_CC2L
Reset: 00H
T2CCU Capture/compare
Register 2 Low
Bit Field
T2CCU_CC2H
Reset: 00H
T2CCU Capture/compare
Register 2 High
Bit Field
Type
ENSH
DW
TXOV
COOU
T5
COOU
T4
COOU
T3
COOU
T2
COOU
T1
COOU
T0
rwh
rwh
rwh
rwh
rwh
rwh
rwh
rwh
CCVALL
Type
rwh
CCVALH
Type
rwh
CCVALL
Type
rwh
CCVALH
Type
rwh
CCVALL
Type
rwh
CCVALH
Type
rwh
RMAP = 0, PAGE 3
C0H
C1H
C2H
C3H
C4H
C5H
C6H
T2CCU_COCON Reset: 00H
T2CCU Compare Control
Register
Bit Field
T2CCU_CC3L
Reset: 00H
T2CCU Capture/compare
Register 3 Low
Bit Field
T2CCU_CC3H
Reset: 00H
T2CCU Capture/compare
Register 3 High
Bit Field
T2CCU_CC4L
Reset: 00H
T2CCU Capture/compare
Register 4 Low
Bit Field
T2CCU_CC4H
Reset: 00H
T2CCU Capture/compare
Register 4 High
Bit Field
T2CCU_CC5L
Reset: 00H
T2CCU Capture/compare
Register 5 Low
Bit Field
T2CCU_CC5H
Reset: 00H
T2CCU Capture/compare
Register 5 High
Bit Field
Data Sheet
Type
CCM5
CCM4
CM5F
CM4F
POLB
POLA
COMOD
rw
rw
rwh
rwh
rw
rw
rw
CCVALL
Type
rwh
CCVALH
Type
rwh
CCVALL
Type
rwh
CCVALH
Type
rwh
CCVALL
Type
rwh
CCVALH
Type
rwh
46
V0.1, 2008-04
XC878CLM
Advance Information
Table 12
Functional Description
T2CCU Register Overview (cont’d)
Addr Register Name
Bit
7
6
5
4
3
2
1
0
RMAP = 0, PAGE 4
C2H
C3H
T2CCU_CCTDTCLReset: 00H
T2CCU Capture/Compare
Timer Dead-Time Control
Register Low
Bit Field
T2CCU_CCTDTCHReset: 00H
T2CCU Capture/Compare
Timer Dead-Time Control
Register High
Bit Field
3.2.4.9
DTM
Type
Type
rw
DTRE
S
DTR2
DTR1
DTR0
DTLEV
DTE2
DTE1
DTE0
rwh
rh
rh
rh
rw
rw
rw
rw
Timer 21 Registers
The Timer 21 SFRs can be accessed in the mapped memory area (RMAP = 1).
Table 13
T21 Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
Bit Field
TF2
EXF2
0
EXEN
2
TR2
C/T2
CP/
RL2
Type
rwh
rwh
r
rw
rwh
rw
rw
T2RE
GS
T2RH
EN
EDGE
SEL
PREN
rw
rw
rw
rw
RMAP = 1
C0H
C1H
T21_T2CON
Reset: 00H
Timer 2 Control Register
T21_T2MOD
Reset: 00H
Timer 2 Mode Register
Bit Field
Type
C2H
C3H
C4H
C5H
C6H
T2PRE
rw
rw
DCEN
rw
rw
T21_RC2L
Reset: 00H
Timer 2 Reload/Capture
Register Low
Bit Field
RC2
Type
rwh
T21_RC2H
Reset: 00H
Timer 2 Reload/Capture
Register High
Bit Field
RC2
Type
rwh
T21_T2L
Reset: 00H
Timer 2 Register Low
Bit Field
T21_T2H
Reset: 00H
Timer 2 Register High
Bit Field
T21_T2CON1
Reset: 03H
Timer 2 Control Register 1
Bit Field
0
TF2EN
EXF2E
N
Type
r
rw
rw
Data Sheet
THL2
Type
rwh
THL2
Type
rwh
47
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
3.2.4.10 CCU6 Registers
The CCU6 SFRs can be accessed in the standard memory area (RMAP = 0).
Table 14
CCU6 Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
RMAP = 0
A3H
CCU6_PAGE
Page Register
Reset: 00H
Bit Field
OP
STNR
0
PAGE
w
w
r
rwh
Type
RMAP = 0, PAGE 0
9AH
9BH
9CH
CCU6_CC63SRL
Reset: 00H
Capture/Compare Shadow Register
for Channel CC63 Low
Bit Field
CCU6_CC63SRH
Reset: 00H
Capture/Compare Shadow Register
for Channel CC63 High
Bit Field
CCU6_TCTR4L
Reset: 00H
Timer Control Register 4 Low
Bit Field
Type
CCU6_TCTR4H
Reset: 00H
Timer Control Register 4 High
rw
CC63SH
Type
Type
9DH
CC63SL
Bit Field
Type
9EH
CCU6_MCMOUTSL
Reset: 00H
Multi-Channel Mode Output Shadow
Register Low
Bit Field
9FH
CCU6_MCMOUTSH
Reset: 00H
Multi-Channel Mode Output Shadow
Register High
Bit Field
CCU6_ISRL
Reset: 00H
Capture/Compare Interrupt Status
Reset Register Low
Bit Field
CCU6_ISRH
Reset: 00H
Capture/Compare Interrupt Status
Reset Register High
Bit Field
T12
STD
T12
STR
0
DT
RES
T12
RES
T12R
S
T12R
R
w
w
r
w
w
w
w
T13
STD
T13
STR
0
T13
RES
T13R
S
T13R
R
w
w
r
w
w
w
STRM
CM
0
MCMPS
w
r
STRH
P
0
CURHS
EXPHS
w
r
rw
rw
RT12
PM
RT12
OM
RCC6
2F
RCC6
2R
RCC6
1F
RCC6
1R
RCC6
0F
RCC6
0R
w
w
w
w
w
w
w
w
RSTR
RIDLE
RWH
E
RCHE
0
RTRP
F
RT13
PM
RT13
CM
Type
w
w
w
w
r
w
w
w
CCU6_CMPMODIFL
Reset: 00H
Compare State Modification Register
Low
Bit Field
0
MCC6
3S
0
MCC6
2S
MCC6
1S
MCC6
0S
Type
r
w
r
w
w
w
A7H
CCU6_CMPMODIFH Reset: 00H
Compare State Modification Register
High
Bit Field
0
MCC6
3R
0
MCC6
2R
MCC6
1R
MCC6
0R
Type
r
w
r
w
w
w
FAH
CCU6_CC60SRL
Reset: 00H
Capture/Compare Shadow Register
for Channel CC60 Low
Bit Field
CCU6_CC60SRH
Reset: 00H
Capture/Compare Shadow Register
for Channel CC60 High
Bit Field
A4H
A5H
A6H
FBH
Data Sheet
Type
rw
Type
Type
rw
CC60SL
Type
rwh
CC60SH
Type
rwh
48
V0.1, 2008-04
XC878CLM
Advance Information
Table 14
Functional Description
CCU6 Register Overview (cont’d)
Addr Register Name
Bit
FCH
CCU6_CC61SRL
Reset: 00H
Capture/Compare Shadow Register
for Channel CC61 Low
Bit Field
CCU6_CC61SRH
Reset: 00H
Capture/Compare Shadow Register
for Channel CC61 High
Bit Field
CCU6_CC62SRL
Reset: 00H
Capture/Compare Shadow Register
for Channel CC62 Low
Bit Field
CCU6_CC62SRH
Reset: 00H
Capture/Compare Shadow Register
for Channel CC62 High
Bit Field
FDH
FEH
FFH
7
6
5
4
3
2
1
0
CC61SL
Type
rwh
CC61SH
Type
rwh
CC62SL
Type
rwh
CC62SH
Type
rwh
RMAP = 0, PAGE 1
9AH
9BH
9CH
9DH
9EH
9FH
A4H
A5H
A6H
CCU6_CC63RL
Reset: 00H
Capture/Compare Register for
Channel CC63 Low
Bit Field
CCU6_CC63RH
Reset: 00H
Capture/Compare Register for
Channel CC63 High
Bit Field
CCU6_T12PRL
Reset: 00H
Timer T12 Period Register Low
Bit Field
CCU6_T12PRH
Reset: 00H
Timer T12 Period Register High
Bit Field
CCU6_T13PRL
Reset: 00H
Timer T13 Period Register Low
Bit Field
CCU6_T13PRH
Reset: 00H
Timer T13 Period Register High
Bit Field
Type
rwh
CCU6_T12DTCL
Reset: 00H
Dead-Time Control Register for
Timer T12 Low
Bit Field
DTM
CCU6_T12DTCH
Reset: 00H
Dead-Time Control Register for
Timer T12 High
Bit Field
0
DTR2
DTR1
DTR0
0
DTE2
DTE1
DTE0
Type
r
rh
rh
rh
r
rw
rw
rw
CCU6_TCTR0L
Reset: 00H
Timer Control Register 0 Low
Bit Field
CTM
CDIR
STE1
2
T12R
T12
PRE
T12CLK
rw
rh
rh
rh
rw
rw
Type
FAH
FBH
FCH
CCU6_TCTR0H
Reset: 00H
Timer Control Register 0 High
CC63VH
rh
T12PVL
Type
rwh
T12PVH
Type
rwh
T13PVL
Type
rwh
T13PVH
Type
rw
Bit Field
0
STE1
3
T13R
T13
PRE
T13CLK
Type
r
rh
rh
rw
rw
CCU6_CC60RL
Reset: 00H
Capture/Compare Register for
Channel CC60 Low
Bit Field
CCU6_CC60RH
Reset: 00H
Capture/Compare Register for
Channel CC60 High
Bit Field
CCU6_CC61RL
Reset: 00H
Capture/Compare Register for
Channel CC61 Low
Bit Field
Data Sheet
rh
Type
Type
A7H
CC63VL
CC60VL
Type
rh
CC60VH
Type
rh
CC61VL
Type
rh
49
V0.1, 2008-04
XC878CLM
Advance Information
Table 14
Functional Description
CCU6 Register Overview (cont’d)
Addr Register Name
Bit
FDH
CCU6_CC61RH
Reset: 00H
Capture/Compare Register for
Channel CC61 High
Bit Field
CCU6_CC62RL
Reset: 00H
Capture/Compare Register for
Channel CC62 Low
Bit Field
CCU6_CC62RH
Reset: 00H
Capture/Compare Register for
Channel CC62 High
Bit Field
FEH
FFH
7
6
5
4
3
2
1
0
CC61VH
Type
rh
CC62VL
Type
rh
CC62VH
Type
rh
RMAP = 0, PAGE 2
CCU6_T12MSELL
Reset: 00H
T12 Capture/Compare Mode Select
Register Low
Bit Field
CCU6_T12MSELH
Reset: 00H
T12 Capture/Compare Mode Select
Register High
Bit Field
9CH
CCU6_IENL
Reset: 00H
Capture/Compare Interrupt Enable
Register Low
Bit Field
9DH
CCU6_IENH
Reset: 00H
Capture/Compare Interrupt Enable
Register High
Bit Field
CCU6_INPL
Reset: 40H
Capture/Compare Interrupt Node
Pointer Register Low
Bit Field
9AH
9BH
9FH
A4H
A5H
A6H
A7H
FAH
FBH
FCH
MSEL60
rw
rw
Type
Type
Type
9EH
MSEL61
Type
DBYP
HSYNC
MSEL62
rw
rw
rw
ENT1
2
PM
ENT1
2
OM
ENCC
62F
ENCC
62R
ENCC
61F
ENCC
61R
ENCC
60F
ENCC
60R
rw
rw
rw
rw
rw
rw
rw
rw
EN
STR
EN
IDLE
EN
WHE
EN
CHE
0
EN
TRPF
ENT1
3PM
ENT1
3CM
rw
rw
rw
rw
r
rw
rw
rw
INPCHE
INPCC62
INPCC61
INPCC60
Type
rw
rw
rw
rw
CCU6_INPH
Reset: 39H
Capture/Compare Interrupt Node
Pointer Register High
Bit Field
0
INPT13
INPT12
INPERR
Type
r
rw
rw
rw
CCU6_ISSL
Reset: 00H
Capture/Compare Interrupt Status
Set Register Low
Bit Field
CCU6_ISSH
Reset: 00H
Capture/Compare Interrupt Status
Set Register High
Bit Field
CCU6_PSLR
Reset: 00H
Passive State Level Register
Bit Field
Type
Type
Type
ST12
PM
ST12
OM
SCC6
2F
SCC6
2R
SCC6
1F
SCC6
1R
SCC6
0F
SCC6
0R
w
w
w
w
w
w
w
w
SSTR
SIDLE
SWHE
SCHE
SWH
C
STRP
F
ST13
PM
ST13
CM
w
w
w
w
w
w
w
w
PSL63
0
PSL
rwh
r
rwh
CCU6_MCMCTR
Reset: 00H Bit Field
Multi-Channel Mode Control Register
Type
CCU6_TCTR2L
Reset: 00H
Timer Control Register 2 Low
CCU6_TCTR2H
Reset: 00H
Timer Control Register 2 High
CCU6_MODCTRL
Reset: 00H
Modulation Control Register Low
SWSYN
0
SWSEL
r
rw
r
rw
Bit Field
0
T13TED
T13TEC
T13
SSC
T12
SSC
Type
r
rw
rw
rw
rw
Bit Field
0
T13RSEL
T12RSEL
Type
r
rw
rw
Bit Field
Type
Data Sheet
0
MCM
EN
0
T12MODEN
rw
r
rw
50
V0.1, 2008-04
XC878CLM
Advance Information
Table 14
Functional Description
CCU6 Register Overview (cont’d)
Addr Register Name
Bit
FDH
Bit Field
CCU6_MODCTRH
Reset: 00H
Modulation Control Register High
Type
FEH
FFH
CCU6_TRPCTRL
Reset: 00H
Trap Control Register Low
CCU6_TRPCTRH
Reset: 00H
Trap Control Register High
7
6
5
4
3
2
ECT1
3O
0
T13MODEN
rw
r
rw
1
0
Bit Field
0
TRPM
2
TRPM
1
TRPM
0
Type
r
rw
rw
rw
Bit Field
TRPP
EN
TRPE
N13
TRPEN
Type
rw
rw
rw
CCU6_MCMOUTL
Reset: 00H
Multi-Channel Mode Output Register
Low
Bit Field
0
R
MCMP
Type
r
rh
rh
CCU6_MCMOUTH
Reset: 00H
Multi-Channel Mode Output Register
High
Bit Field
0
CURH
EXPH
Type
r
rh
rh
CCU6_ISL
Reset: 00H
Capture/Compare Interrupt Status
Register Low
Bit Field
CCU6_ISH
Reset: 00H
Capture/Compare Interrupt Status
Register High
Bit Field
CCU6_PISEL0L
Reset: 00H
Port Input Select Register 0 Low
Bit Field
9FH
CCU6_PISEL0H
Reset: 00H
Port Input Select Register 0 High
Bit Field
A4H
CCU6_PISEL2
Reset: 00H
Port Input Select Register 2
Bit Field
0
IST13HR
Type
r
rw
CCU6_T12L
Reset: 00H
Timer T12 Counter Register Low
Bit Field
CCU6_T12H
Reset: 00H
Timer T12 Counter Register High
Bit Field
CCU6_T13L
Reset: 00H
Timer T13 Counter Register Low
Bit Field
CCU6_T13H
Reset: 00H
Timer T13 Counter Register High
Bit Field
CCU6_CMPSTATL
Reset: 00H
Compare State Register Low
Bit Field
0
CC63
ST
CC
POS2
CC
POS1
CC
POS0
CC62
ST
CC61
ST
CC60
ST
Type
r
rh
rh
rh
rh
rh
rh
rh
T13IM
COUT
63PS
COUT
62PS
CC62
PS
COUT
61PS
CC61
PS
COUT
60PS
CC60
PS
rwh
rwh
rwh
rwh
rwh
rwh
rwh
rwh
RMAP = 0, PAGE 3
9AH
9BH
9CH
9DH
9EH
FAH
FBH
FCH
FDH
FEH
FFH
CCU6_CMPSTATH
Reset: 00H
Compare State Register High
Type
Type
T12
OM
ICC62
F
ICC62
R
ICC61
F
ICC61
R
ICC60
F
ICC60
R
rh
rh
rh
rh
rh
rh
rh
rh
STR
IDLE
WHE
CHE
TRPS
TRPF
T13
PM
T13
CM
rh
rh
rh
rh
rh
rh
rh
rh
ISTRP
ISCC62
ISCC61
ISCC60
rw
rw
rw
rw
IST12HR
ISPOS2
ISPOS1
ISPOS0
rw
rw
rw
Type
Type
rwh
T12CVH
Type
rwh
T13CVL
Type
rwh
T13CVH
Type
Bit Field
rw
T12CVL
Type
Type
Data Sheet
T12
PM
rwh
51
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
3.2.4.11 UART1 Registers
The UART1 SFRs can be accessed in the mapped memory area (RMAP = 1).
Table 15
UART1 Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
rw
rw
rw
rw
rw
rwh
rwh
rwh
RMAP = 1
C8H
C9H
CAH
CBH
CCH
CDH
CEH
CFH
SCON
Reset: 00H
Serial Channel Control Register
Bit Field
SBUF
Reset: 00H
Serial Data Buffer Register
Bit Field
VAL
Type
rwh
BCON
Reset: 00H
Baud Rate Control Register
Bit Field
0
BRPRE
R
Type
r
rw
rw
BG
Reset: 00H
Baud Rate Timer/Reload
Register
Bit Field
FDCON
Reset: 00H
Fractional Divider Control
Register
Bit Field
0
NDOV
FDM
FDEN
Type
r
rwh
rw
rw
FDSTEP
Reset: 00H
Fractional Divider Reload
Register
Bit Field
FDRES
Reset: 00H
Fractional Divider Result
Register
Bit Field
SCON1
Reset: 07H
Serial Channel Control Register
1
Bit Field
0
NDOV
EN
TIEN
RIEN
Type
r
rw
rw
rw
2
1
0
Type
BR_VALUE
Type
rwh
STEP
Type
rw
RESULT
Type
rh
3.2.4.12 SSC Registers
The SSC SFRs can be accessed in the standard memory area (RMAP = 0).
Table 16
SSC Register Overview
Addr Register Name
Bit
7
6
5
4
3
RMAP = 0
A9H
AAH
AAH
ABH
SSC_PISEL
Reset: 00H
Port Input Select Register
Bit Field
0
CIS
SIS
MIS
Type
r
rw
rw
rw
SSC_CONL
Reset: 00H
Control Register Low
Programming Mode
Bit Field
LB
PO
PH
HB
BM
Type
rw
rw
rw
rw
rw
SSC_CONL
Reset: 00H
Control Register Low
Operating Mode
Bit Field
0
BC
Type
r
rh
SSC_CONH
Reset: 00H
Control Register High
Programming Mode
Bit Field
EN
MS
0
AREN
BEN
PEN
REN
TEN
Type
rw
rw
r
rw
rw
rw
rw
rw
Data Sheet
52
V0.1, 2008-04
XC878CLM
Advance Information
Table 16
Functional Description
SSC Register Overview (cont’d)
Addr Register Name
Bit
ABH
SSC_CONH
Reset: 00H
Control Register High
Operating Mode
SSC_TBL
Reset: 00H
Transmitter Buffer Register Low
Bit Field
SSC_RBL
Reset: 00H
Receiver Buffer Register Low
Bit Field
SSC_BRL
Reset: 00H
Baud Rate Timer Reload
Register Low
Bit Field
SSC_BRH
Reset: 00H
Baud Rate Timer Reload
Register High
Bit Field
ACH
ADH
AEH
AFH
7
6
5
4
3
2
1
0
Bit Field
EN
MS
0
BSY
BE
PE
RE
TE
Type
rw
rw
r
rh
rwh
rwh
rwh
rwh
TB_VALUE
Type
rw
RB_VALUE
Type
rh
BR_VALUE
Type
rw
BR_VALUE
Type
rw
3.2.4.13 MultiCAN Registers
The MultiCAN SFRs can be accessed in the standard memory area (RMAP = 0).
Table 17
CAN Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
ADCON
Reset: 00H
CAN Address/Data Control
Register
Bit Field
V3
V2
V1
V0
AUAD
BSY
RWEN
Type
rw
rw
rw
rw
rw
rh
rw
ADL
Reset: 00H
CAN Address Register Low
Bit Field
CA9
CA8
CA7
CA6
CA5
CA4
CA3
CA2
Type
rwh
rwh
rwh
rwh
rwh
rwh
rwh
rwh
DAH
ADH
Reset: 00H
CAN Address Register High
Bit Field
0
CA13
CA12
CA11
CA10
Type
r
DBH
DATA0
Reset: 00H
CAN Data Register 0
Bit Field
CD
rwh
rwh
rwh
rwh
Type
rwh
DATA1
Reset: 00H
CAN Data Register 1
Bit Field
CD
Type
rwh
DATA2
Reset: 00H
CAN Data Register 2
Bit Field
CD
Type
rwh
DATA3
Reset: 00H
CAN Data Register 3
Bit Field
CD
Type
rwh
RMAP = 0
D8H
D9H
DCH
DDH
DEH
3.2.4.14 OCDS Registers
The OCDS SFRs can be accessed in the mapped memory area (RMAP = 1).
Data Sheet
53
V0.1, 2008-04
XC878CLM
Advance Information
Table 18
Functional Description
OCDS Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
STMO
DE
EXBC
DSUS
P
MBCO
N
ALTDI
MMEP
MMOD
E
JENA
rw
rw
rw
rwh
rw
rwh
rh
rh
RMAP = 1
Bit Field
E9H
MMCR2
Reset: 8UH
Monitor Mode Control 2
Register
EAH
MEXTCR
Reset: 0UH
Memory Extension Control
Register
Bit Field
0
BANKBPx
Type
r
rw
MMWR1
Reset: 00H
Monitor Work Register 1
Bit Field
MMWR2
Reset: 00H
Monitor Work Register 2
Bit Field
MMCR
Reset: 00H
Monitor Mode Control Register
Bit Field
EBH
ECH
F1H
Type
Type
MMSR
Reset: 00H
Monitor Mode Status Register
Bit Field
Type
F3H
MMBPCR
Reset: 00H
Breakpoints Control Register
Bit Field
Type
F4H
F5H
F6H
F7H
rw
MMWR2
Type
Type
F2H
MMWR1
rw
MEXIT
_P
MEXIT
0
MSTE
P
MRAM
S_P
MRAM
S
TRF
RRF
w
rwh
r
rw
w
rwh
rh
rh
MBCA
M
MBCIN
EXBF
SWBF
HWB3
F
HWB2
F
HWB1
F
HWB0
F
rw
rwh
rwh
rwh
rwh
rwh
rwh
rwh
SWBC
HWB3C
HWB2C
HWB1
C
HWB0C
rw
rw
rw
rw
rw
MMICR
Reset: 00H
Monitor Mode Interrupt Control
Register
Bit Field
MMDR
Reset: 00H
Monitor Mode Data Transfer
Register
Receive
Bit Field
HWBPSR
Reset: 00H
Hardware Breakpoints Select
Register
Bit Field
0
BPSEL
_P
BPSEL
Type
r
w
rw
HWBPDR
Reset: 00H
Hardware Breakpoints Data
Register
Bit Field
Data Sheet
Type
DVEC
T
DRET
R
COMR
ST
MSTS
EL
MMUI
E_P
MMUI
E
RRIE_
P
RRIE
rwh
rwh
rwh
rh
w
rw
w
rw
MMRR
Type
rh
HWBPxx
Type
rw
54
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
3.2.4.15 Flash Registers
The Flash SFRs can be accessed in the mapped memory area (RMAP = 1).
Table 19
Flash Register Overview
Addr Register Name
Bit
7
6
5
4
3
2
1
0
Bit Field
0
FBSY
YE
1
NVST
R
MAS1
ERAS
E
PROG
Type
r
rh
rwh
r
rw
rw
rw
rw
Bit Field
0
EEBS
Y
YE
1
NVST
R
MAS1
ERAS
E
PROG
Type
r
rh
rwh
r
rw
rw
rw
rw
FCS
Reset: 80H
Flash Control and Status
Register
Bit Field
1
SBEIE
FTEN
0
EEDE
RR
EESE
RR
FDER
R
FSER
R
Type
r
rw
rwh
r
rwh
rwh
rwh
rwh
FEAL
Reset: 00H
Flash Error Address Register,
Low Byte
Bit Field
FEAH
Reset: 00H
Flash Error Address Register,
High Byte
Bit Field
FTVAL
Reset: 78H
Flash Timer Value Register
Bit Field
FCS1
Reset: 00H
Flash Control and Status
Register 1
Bit Field
0
EEAB
ORT
Type
r
rwh
RMAP = 1
D1H
D2H
D3H
D4H
D5H
D6H
DDH
FCON
Reset: 10H
P-Flash Control Register
EECON
Reset: 10H
D-Flash Control Register
Data Sheet
ECCEADDR
Type
rh
ECCEADDR
Type
Type
rh
MODE
OFVAL
rw
rw
55
V0.1, 2008-04
XC878CLM
Advance Information
3.3
Functional Description
Flash Memory
The Flash memory provides an embedded user-programmable non-volatile memory,
allowing fast and reliable storage of user code and data. It is operated from a single 2.5 V
supply from the Embedded Voltage Regulator (EVR) and does not require additional
programming or erasing voltage. The pagination of the Flash memory allows each page
to be erased independently.
Features
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
In-System Programming (ISP) via UART
In-Application Programming (IAP)
Error Correction Code (ECC) for dynamic correction of single-bit errors
Background program and erase operations for CPU load minimization
Support for aborting erase operation
Minimum program width
of 1-byte for D-Flash and 2-bytes for P-Flash
1-page minimum erase width
1-byte read access
Flash is delivered in erased state (read all ones)
Operating supply voltage: 2.5 V ± 7.5 %
Read access time: 1 × tCCLK = 38 ns1)
Program time for 1 wordline: 1.6 ms2)
Page erase time: 20 ms
Mass erase time: 200 ms
1) Values shown here are typical values. fsys = 144 MHz ± 7.5% (fCCLK = 24 MHz ± 7.5 %) is the maximum
frequency range for Flash read access.
2) Values shown here are typical values. fsys = 144 MHz ± 7.5% (fCCLK = 24 MHz ± 7.5 %) is the typical frequency
range for Flash programming and erasing. fsysmin is used for obtaining the worst case timing.
Data Sheet
56
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Table 20 shows the Flash data retention and endurance targets.
Table 20
Flash Data Retention and Endurance (Operating Conditions apply)
Endurance1)
Size
tbd cycles
up to 60 Kbytes
15 years
tbd cycles
4 Kbytes
10 years
tbd cycles
4 Kbytes
5 years
tbd cycles
4 Kbyte
1 years
tbd cycles
4 Kbyte
Retention
Remarks
Program Flash
15 years
Data Flash
1)One cycle refers to a page erase or a mass erase. The Flash endurance data specified in Table 20 is valid only
if the following condition is fulfilled:
- the maximum number of erase cycles per Flash page must not exceed tbd cycles.
3.3.1
Flash Bank Pagination
The XC878 product family offers Flash devices with either 64 Kbytes or 52 Kbytes of
embedded Flash memory. Each Flash device consists of a Program Flash (P-Flash) and
a single Data Flash (D-Flash) bank. P-Flash has 120 pages of 8 wordlines per page with
64 bytes per wordline. D-Flash has 64 pages of 2 wordlines per page with 32 bytes per
wordline. Both types can be used for code and data storage.. The label “Data” neither
implies that the D-Flash is mapped to the data memory region, nor that it can only be
used for data storage. It is used to distinguish the different page width and wordline of
each Flash bank.
The internal structure of each Flash bank represents a page architecture for flexible
erase capability. The minimum erase width is always a complete page. The D-Flash
bank is divided into smaller size for extended erasing and reprogramming capability;
even numbers for each page size are provided to allow greater flexibility and the ability
to adapt to a wide range of application requirements.
Data Sheet
57
V0.1, 2008-04
XC878CLM
Advance Information
3.4
Functional Description
Interrupt System
The XC800 Core supports one non-maskable interrupt (NMI) and 14 maskable interrupt
requests. In addition to the standard interrupt functions supported by the core, e.g.,
configurable interrupt priority and interrupt masking, the XC878 interrupt system
provides extended interrupt support capabilities such as the mapping of each interrupt
vector to several interrupt sources to increase the number of interrupt sources
supported, and additional status registers for detecting and determining the interrupt
source.
3.4.1
Interrupt Source
Figure 11 to Figure 15 give a general overview of the interrupt sources and nodes, and
their corresponding control and status flags.
WDT Overflow
FNMIWDT
NMIISR.0
NMIWDT
NMICON.0
PLL Loss of Clock
FNMIPLL
NMIISR.1
NMIPLL
NMICON.1
Flash Timer Overflow
FNMIFLASH
NMIISR.2
>=1
NMIFLASH
NMICON.2
VDDP Pre-Warning
0073
H
Non
Maskable
Interrupt
FNMIVDDP
NMIISR.5
NMIVDDP
NMICON.5
Flash ECC Error
FNMIECC
NMIISR.6
NMIECC
NMICON.6
Figure 11
Data Sheet
Non-Maskable Interrupt Request Sources
58
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Highest
Timer 0
Overflow
TF0
TCON.5
ET0
000B
H
IEN0.1
Timer 1
Overflow
Lowest
Priority Level
IP.1/
IPH.1
TF1
TCON.7
ET1
001B
H
IEN0.3
UART
Receive
IP.3/
IPH.3
RI
SCON.0
UART
Transmit
>=1
TI
ES
SCON.1
IEN0.4
0023
H
IP.4/
IPH.4
IE0
EINT0
P
o
l
l
i
n
g
TCON.1
IT0
EX0
0003
H
IEN0.0
TCON.0
S
e
q
u
e
n
c
e
IP.0/
IPH.0
EXINT0
EXICON0.0/1
IE1
EINT1
TCON.3
IT1
EX1
0013
H
IEN0.2
TCON.2
EXINT1
IP.2/
IPH.2
EA
EXICON0.2/3
IEN0.7
Bit-addressable
Request flag is cleared by hardware
Figure 12
Data Sheet
Interrupt Request Sources (Part 1)
59
V0.1, 2008-04
XC878CLM
Advance Information
Timer 2
Overflow
Functional Description
TF2
T2_T2CON.7 TF2EN
T2_T2CON1.1
>=1
T2EX
EXEN2
EDGES
EL
T2_T2MOD.5
Highest
EXF2
T2_T2CON.6 EXF2EN
T2_T2CON1.0
T2_T2CON.3
CCT
Overflow
Lowest
Priority Level
CCTOVF
T2CCU_CCTCON.3
CCTOVEN
T2CCU_CCTCON.2 >=1
Normal Divider
Overflow
NDOV
FDCON.2
NDOVEN
BCON.5
End of
Syn Byte
ET2
EOFSYN
FDCON.4
Syn Byte Error
ERRSYN
MultiCAN
Node 0
FDCON.5
002B
H
IEN0.5
SYNEN
FDCON.6
IP.5/
IPH.5
CANSRC0
IRCON2.0
ADC Service
Request 0
ADCSRC0
IRCON1.3
ADC Service
Request 1
ADCSRC1
IRCON1.4
MultiCAN
Node 1
MultiCAN
Node 2
>=1
CANSRC1
EADC
IRCON1.5
0033
H
IEN1.0
CANSRC2
IP1.0/
IPH1.0
P
o
l
l
i
n
g
S
e
q
u
e
n
c
e
EA
IEN0.7
IRCON1.6
Bitaddressable
Request flag is cleared by hardware
Figure 13
Data Sheet
Interrupt Request Sources (Part 2)
60
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
SSC Error
Highest
EIR
IRCON1.0
EIREN
Lowest
Priority Level
MODIEN.0
SSC Transmit
TIR
>=1
IRCON1.1
TIREN
ESSC
MODIEN.1
RIR
SSC Receive
003B
H
IEN1.1
IRCON1.2
IP1.1/
IPH1.1
RIREN
MODIEN.2
P
o
l
l
i
n
g
EXINT2
EINT2
IRCON0.2
EXINT2
EXICON0.4/5
RI
UART1_SCON.0
UART1
RIEN
>=1
UART1_SCON1.0
TI
UART1_SCON.1
TIEN
UART1_SCON1.1
Timer 21
Overflow
TF2
EX2
T21_T2CON.7
TF2EN
>=1
T21_T2CON1.1
0043
H
IEN1.2
IP1.2/
IPH1.2
S
e
q
u
e
n
c
e
>=1
EXF2
T21EX
EXEN2
EDGES
EL
T21_T2MOD.5
T21_T2CON.6
EXF2EN
T21_T2CON.3
T21_T2CON1.0
UART1 Normal
Divider Overflow
NDOV
UART1_FDCON.2
NDOVEN
UART1_SCON1.2
CORDIC
EOC
CDSTATC.2
MDU
Result Ready
MDU Error
IRDY
EA
MDUSTAT.0
IEN0.7
IERR
MDUSTAT.1
Bitaddressable
Request flag is cleared by hardware
Figure 14
Data Sheet
Interrupt Request Sources (Part 3)
61
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Highest
Lowest
Priority Level
T2CC0/
EINT3
EXINT3
IRCON0.3
EXINT3
EXICON0.6/7
T2CC1/
EINT4
P
o
l
l
i
n
g
EXINT4
IRCON0.4
EXINT4
EXICON1.0/1
T2CC2/
EINT5
EXINT5
EXM
IRCON0.5
004B
H
IEN1.3
EXINT5
EXICON1.2/3
>=1
T2CC3/
EINT6
EXINT6
IRCON0.6
IP1.3/
IPH1.3
S
e
q
u
e
n
c
e
EXINT6
EXICON1.4/5
Compare Channel 4
CM4F
T2CCU_COCON.4
CM4EN
MODIEN.3
Compare Channel 5
CM5F
T2CCU_COCON.5
IEN0.7
CM5EN
MODIEN.4
MultiCAN Node 3
CANSRC3
EA
IRCON2.4
Bitaddressable
Request flag is cleared by hardware
Figure 15
Data Sheet
Interrupt Request Sources (Part 4)
62
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Highest
Lowest
CCU6 Interrupt node 0
CCU6SR0
IRCON3.0
MultiCAN Node 4
Priority Level
>=1
CANSRC4
ECCIP0
IRCON3.1
CCU6 Interrupt node 1
IEN1.4
CANSRC5
ECCIP1
IEN1.5
>=1
ECCIP2
CANSRC6
IP1.5/
IPH1.5
0063
H
IP1.6/
IPH1.6
P
o
l
l
i
n
g
S
e
q
u
e
n
c
e
CCU6SRC3
IRCON4.4
MultiCAN Node 7
H
IEN1.6
IRCON4.1
CCU6 Interrupt node 3
005B
CCU6SR2
IRCON4.0
MultiCAN Node 6
IP1.4/
IPH1.4
>=1
IRCON3.5
CCU6 Interrupt node 2
H
CCU6SR1
IRCON3.4
MultiCAN Node 5
0053
>=1
CANSRC7
IRCON4.5
ECCIP3
IEN1.7
006B
H
IP1.7/
IPH1.7
EA
IEN0.7
Bit-addressable
Request flag is cleared by hardware
Figure 16
Data Sheet
Interrupt Request Sources (Part 5)
63
V0.1, 2008-04
XC878CLM
Advance Information
3.4.2
Functional Description
Interrupt Source and Vector
Each interrupt event source has an associated interrupt vector address for the interrupt
node it belongs to. This vector is accessed to service the corresponding interrupt node
request. The interrupt service of each interrupt source can be individually enabled or
disabled via an enable bit. The assignment of the XC878 interrupt sources to the
interrupt vector address and the corresponding interrupt node enable bits are
summarized in Table 21.
Table 21
Interrupt
Source
NMI
Interrupt Vector Addresses
Vector
Address
Assignment for XC878
Enable Bit
SFR
0073H
Watchdog Timer NMI
NMIWDT
NMICON
PLL NMI
NMIPLL
Flash Timer NMI
NMIFLASH
VDDP Prewarning NMI
NMIVDDP
Flash ECC NMI
NMIECC
XINTR0
0003H
External Interrupt 0
EX0
XINTR1
000BH
Timer 0
ET0
XINTR2
0013H
External Interrupt 1
EX1
XINTR3
001BH
Timer 1
ET1
XINTR4
0023H
UART
ES
XINTR5
002BH
T2CCU
ET2
IEN0
UART Fractional Divider
(Normal Divider Overflow)
MultiCAN Node 0
LIN
Data Sheet
64
V0.1, 2008-04
XC878CLM
Advance Information
Table 21
Interrupt
Source
XINTR6
Functional Description
Interrupt Vector Addresses (cont’d)
Vector
Address
Assignment for XC878
Enable Bit
SFR
0033H
MultiCAN Nodes 1 and 2
EADC
IEN1
ADC[1:0]
XINTR7
003BH
SSC
ESSC
XINTR8
0043H
External Interrupt 2
EX2
T21
CORDIC
UART1
UART1 Fractional Divider
(Normal Divider Overflow)
MDU[1:0]
XINTR9
004BH
External Interrupt 3
EXM
External Interrupt 4
External Interrupt 5
External Interrupt 6
T2CCU
MultiCAN Node 3
XINTR10
0053H
CCU6 INP0
ECCIP0
MultiCAN Node 4
XINTR11
005BH
CCU6 INP1
ECCIP1
MultiCAN Node 5
XINTR12
0063H
CCU6 INP2
ECCIP2
MultiCAN Node 6
XINTR13
006BH
CCU6 INP3
ECCIP3
MultiCAN Node 7
Data Sheet
65
V0.1, 2008-04
XC878CLM
Advance Information
3.4.3
Functional Description
Interrupt Priority
An interrupt that is currently being serviced can only be interrupted by a higher-priority
interrupt, but not by another interrupt of the same or lower priority. Hence, an interrupt of
the highest priority cannot be interrupted by any other interrupt request.
If two or more requests of different priority levels are received simultaneously, the
request of the highest priority is serviced first. If requests of the same priority are
received simultaneously, then an internal polling sequence determines which request is
serviced first. Thus, within each priority level, there is a second priority structure
determined by the polling sequence shown in Table 22.
Table 22
Priority Structure within Interrupt Level
Source
Level
Non-Maskable Interrupt (NMI)
(highest)
External Interrupt 0
1
Timer 0 Interrupt
2
External Interrupt 1
3
Timer 1 Interrupt
4
UART Interrupt
5
T2CCU,UART Normal Divider Overflow,
MultiCAN, LIN Interrupt
6
ADC, MultiCAN Interrupt
7
SSC Interrupt
8
External Interrupt 2, Timer 21, UART1, UART1
9
Normal Divider Overflow, MDU, CORDIC Interrupt
External Interrupt [6:3], MultiCAN Interrupt
10
CCU6 Interrupt Node Pointer 0, MultiCAN interrupt 11
CCU6 Interrupt Node Pointer 1, MultiCAN Interrupt 12
CCU6 Interrupt Node Pointer 2, MultiCAN Interrupt 13
CCU6 Interrupt Node Pointer 3, MultiCAN Interrupt 14
Data Sheet
66
V0.1, 2008-04
XC878CLM
Advance Information
3.5
Functional Description
Parallel Ports
The XC878 has 40 port pins organized into five parallel ports: Port 0 (P0), Port 1 (P1),
Port 3 (P3), Port 4 (P4) and Port 5 (P5). Each pin has a pair of internal pull-up and pulldown devices that can be individually enabled or disabled. These ports are bidirectional
and can be used as general purpose input/output (GPIO) or to perform alternate
input/output functions for the on-chip peripherals. When configured as an output, the
open drain mode can be selected.
Bidirectional Port Features
•
•
•
•
•
•
Configurable pin direction
Configurable pull-up/pull-down devices
Configurable open drain mode
Configurable drive strength
Transfer of data through digital inputs and outputs (general purpose I/O)
Alternate input/output for on-chip peripherals
Data Sheet
67
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Figure 17 shows the structure of a bidirectional port pin.
Px_PUDSEL
Pull-up/Pull-down
Select Register
Pull-up/Pull-down
Control Logic
Internal Bus
Px_PUDEN
Pull-up/Pull-down
Enable Register
Px_DS
Drive Strength
Control Register
Px_OD
Open Drain
Control Register
OpenDrain/Output
Control Logic
Px_DIR
Direction Register
Px_ALTSEL0
Alternate Select Register 0
Px_ALTSEL1
Pull
Device
Alternate Select Register 1
AltDataOut 3
Output
Driver
11
AltDataOut 2
AltDataOut1
10
Px_Data
Data Register
01
0
00
1
Out
Pin
Input
Driver
In
Schmitt Trigger
AltDataIn
Pad
Figure 17
Data Sheet
General Structure of Bidirectional Port
68
V0.1, 2008-04
XC878CLM
Advance Information
3.6
Functional Description
Power Supply System with Embedded Voltage Regulator
The XC878 microcontroller requires two different levels of power supply:
•
•
3.3 V or 5.0 V for the Embedded Voltage Regulator (EVR) and Ports
2.5 V for the core, memory, on-chip oscillator, and peripherals
Figure 18 shows the XC878 power supply system. A power supply of 3.3 V or 5.0 V
must be provided from the external power supply pin. The 2.5 V power supply for the
logic is generated by the EVR. The EVR helps to reduce the power consumption of the
whole chip and the complexity of the application board design.
The EVR consists of a main voltage regulator and a low power voltage regulator. In
active mode, both voltage regulators are enabled. In power-down mode, the main
voltage regulator is switched off, while the low power voltage regulator continues to
function and provide power supply to the system with low power consumption.
CPU &
Memory
On-chip
OSC
Peripheral
logic
ADC
VDDC (2.5V)
FLASH
PLL
GPIO Ports
(P0-P5)
XTAL1&
XTAL2
EVR
VDDP (3.3V/5.0V)
VSSP
Figure 18
XC878 Power Supply System
EVR Features
•
•
•
•
•
Input voltage (VDDP): 3.3 V/5.0 V
Output voltage (VDDC): 2.5 V ± 7.5%
Low power voltage regulator provided in power-down mode
VDDP prewarning detection
VDDC brownout detection
Data Sheet
69
V0.1, 2008-04
XC878CLM
Advance Information
3.7
Functional Description
Reset Control
The XC878 has five types of reset: power-on reset, hardware reset, watchdog timer
reset, power-down wake-up reset, and brownout reset.
When the XC878 is first powered up, the status of certain pins (see Table 24) must be
defined to ensure proper start operation of the device. At the end of a reset sequence,
the sampled values are latched to select the desired boot option, which cannot be
modified until the next power-on reset or hardware reset. This guarantees stable
conditions during the normal operation of the device.
The second type of reset in XC878 is the hardware reset. This reset function can be used
during normal operation or when the chip is in power-down mode. A reset input pin
RESET is provided for the hardware reset.
The Watchdog Timer (WDT) module is also capable of resetting the device if it detects
a malfunction in the system.
Another type of reset that needs to be detected is a reset while the device is in
power-down mode (wake-up reset). While the contents of the static RAM are undefined
after a power-on reset, they are well defined after a wake-up reset from power-down
mode.
3.7.1
Module Reset Behavior
Table 23 lists the functions of the XC878 and the various reset types that affect these
functions. The symbol “■” signifies that the particular function is reset to its default state.
Table 23
Effect of Reset on Device Functions
Module/
Function
Wake-Up
Reset
Watchdog
Reset
Hardware
Reset
Power-On
Reset
Brownout
Reset
CPU Core
■
■
■
■
■
Peripherals
■
■
■
■
■
On-Chip
Static RAM
Not affected, Not affected, Not affected, Affected, un- Affected, unReliable
Reliable
Reliable
reliable
reliable
Oscillator,
PLL
■
Not affected ■
■
■
Port Pins
■
■
■
■
EVR
The voltage
regulator is
switched on
Not affected Not affected ■
■
FLASH
■
■
■
■
■
NMI
Disabled
Disabled
■
■
■
Data Sheet
■
70
V0.1, 2008-04
XC878CLM
Advance Information
3.7.2
Functional Description
Booting Scheme
When the XC878 is reset, it must identify the type of configuration with which to start the
different modes once the reset sequence is complete. Thus, boot configuration
information that is required for activation of special modes and conditions needs to be
applied by the external world through input pins. After power-on reset or hardware reset,
the pins MBC, TMS and P0.0 collectively select the different boot options. Table 24
shows the available boot options in the XC878.
Table 24
MBC
TMS
XC878 Boot Selection 1)
P0.0
Type of Mode
PC Start Value
2)
1
0
X
User Mode ; on-chip OSC/PLL non-bypassed 0000H
0
0
X
BSL Mode; (LIN Mode3), UART/ MultiCAN
Mode4)5) and Alternate BSL Mode6)); on-chip
OSC/PLL non-bypassed
0000H
0
1
0
OCDS Mode; on-chip OSC/PLL nonbypassed
0000H
1
1
0
User (JTAG) Mode7); on-chip OSC/PLL nonbypassed (normal)
0000H
1) In addition to the pins MBC, TMS and P0.0, TM pin also requires an external pull down for all the boot options.
2) BSL mode is automatically entered if no valid password is installed and data at memory address 0000H equals
zero.
3) If a device is programmed as LIN, LIN BSL is always used instead of UART/MultiCAN.
4) UART or MultiCAN BSL is decoded by firmware based on the protocol for product variant with MultiCAN. If no
MultiCAN and LIN variant, UART BSL is used.
5) In MultiCAN BSL mode, the clock source is switched to XTAL by firmware, bypassing the on-chip oscillator.
This avoids any frequency invariance with the on-chip oscillator and allows other frequency clock input, thus
ensuring accurate baud rate detection (especially at high bit rates).
6) Alternate BSL Mode is a user defined BSL code programmed in Flash. It is entered if the AltBSLPassword is
valid.
7) Normal user mode with standard JTAG (TCK,TDI,TDO) pins for hot-attach purpose.
Note: The boot options are valid only with the default set of UART and JTAG pins.
Data Sheet
71
V0.1, 2008-04
XC878CLM
Advance Information
3.8
Functional Description
Clock Generation Unit
The Clock Generation Unit (CGU) allows great flexibility in the clock generation for the
XC878. The power consumption is indirectly proportional to the frequency, whereas the
performance of the microcontroller is directly proportional to the frequency. During user
program execution, the frequency can be programmed for an optimal ratio between
performance and power consumption. Therefore the power consumption can be
adapted to the actual application state.
Features
•
•
•
•
•
Phase-Locked Loop (PLL) for multiplying clock source by different factors
PLL Base Mode
Prescaler Mode
PLL Mode
Power-down mode support
The CGU consists of an oscillator circuit and a PLL. In the XC878, the oscillator can be
from either of these two sources: the on-chip oscillator (4 MHz) or the external oscillator
(2 MHz to 20 MHz). The term “oscillator” is used to refer to both on-chip oscillator and
external oscillator, unless otherwise stated. After the reset, the on-chip oscillator will be
used by default.The external oscillator can be selected via software. In addition, the PLL
provides a fail-safe logic to perform oscillator run and loss-of-lock detection. This allows
emergency routines to be executed for system recovery or to perform system shut down.
Data Sheet
72
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
PLL_LOCK
Wrapper
PLL
OSC
fosc
NR:1
External
oscillator
watchdog
lock
detect
fp
fn
PLL
core
EXTOSCR
fvco
OD:1
Switching
circuitry
fSYS
PLLR
NF:1
PLL
watchdog
OSCSS
PDIV
Figure 19
PLLPD
NDIV
KDIV
PLLBYP
CGU Block Diagram
Direct Drive (PLL Bypass Operation)
During PLL bypass operation, the system clock has the same frequency as the external
clock source.
(3.1)
f SYS = f OSC
PLL Mode
The CPU clock is derived from the oscillator clock, divided by the NR factor (PDIV),
multiplied by the NF factor (NDIV), and divided by the OD factor (KDIV). PLL output must
Data Sheet
73
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
not be bypassed for this PLL mode. The PLL mode is used during normal system
operation.
(3.2)
f SYS = f OSC x
NF
NR x OD
System Frequency Selection
For the XC878, the value of NF, NR and OD can be selected by bits NDIV, PDIV and
KDIV respectively for different oscillator inputs inorder to obtain the required fsys. But the
combination of these factors must fulfill the following condition:
•
•
100 MHz < fVCO < 175 MHz
800 KHz < fOSC / (2 * NR) < 8 MHz
Table 25 provides examples on how the typical system frequency of fsys = 144 MHz
and maximum frequency of 160 MHz (CPU clock = 26.67 MHz)can be obtained for the
different oscillator sources.
Table 25
System frequency (fsys = 144 MHz)
Oscillator
fosc
N
P
K
fsys
On-chip
4 MHz
72
2
1
144 MHz
4 MHz
80
2
1
160 MHz
8 MHz
72
4
1
144 MHz
6 MHz
72
3
1
144 MHz
4 MHz
72
2
1
144 MHz
External
3.8.1
Recommended External Oscillator Circuits
The oscillator circuit, a Pierce oscillator, is designed to work with both, an external crystal
oscillator or an external stable clock source. It basically consists of an inverting amplifier
and a feedback element with XTAL1 as input, and XTAL2 as output.
When using a crystal, a proper external oscillator circuitry must be connected to both
pins, XTAL1 and XTAL2. The crystal frequency can be within the range of 2 MHz to
20 MHz. Additionally, it is necessary to have two load capacitances CX1 and CX2, and
depending on the crystal type, a series resistor RX2, to limit the current. A test resistor RQ
may be temporarily inserted to measure the oscillation allowance (negative resistance)
of the oscillator circuitry. RQ values are typically specified by the crystal vendor. The CX1
and CX2 values shown in Figure 20 can be used as starting points for the negative
resistance evaluation and for non-productive systems. The exact values and related
operating range are dependent on the crystal frequency and have to be determined and
Data Sheet
74
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
optimized together with the crystal vendor using the negative resistance method.
Oscillation measurement with the final target system is strongly recommended to verify
the input amplitude at XTAL1 and to determine the actual oscillation allowance (margin
negative resistance) for the oscillator-crystal system.
When using an external clock signal, the signal must be connected to XTAL1. XTAL2 is
left open (unconnected).
The oscillator can also be used in combination with a ceramic resonator. The final
circuitry must also be verified by the resonator vendor. Figure 20 shows the
recommended external oscillator circuitries for both operating modes, external crystal
mode and external input clock mode.
2 - 20
MHz
RQ
fOSC
XTAL1
Rf
RX2
External Clock
Signal
XC878
Oscillator
XTAL2
CX2
Fundamental
Mode Crystal
Figure 20
fOSC
XC878
Oscillator
XTAL2
CX1
XTAL1
VSS
VSS
External Oscillator Circuitry
Note: For crystal operation, it is strongly recommended to measure the negative
resistance in the final target system (layout) to determine the optimum parameters
for the oscillator operation. Please refer to the minimum and maximum values of
the negative resistance specified by the crystal supplier.
Data Sheet
75
V0.1, 2008-04
XC878CLM
Advance Information
3.8.2
Functional Description
Clock Management
The CGU generates all clock signals required within the microcontroller from a single
clock, fsys. During normal system operation, the typical frequencies of the different
modules are as follow:
•
•
•
•
•
•
•
CPU clock: CCLK, SCLK = 24 MHz
MultiCAN clock : MCANCLK = 24 or 48 MHz
MDU clock : MDUCLK = 24 or 48 MHz
CORDIC clock : CORDICCLK = 24 or 48 MHz
CCU6 clock : CCU6CLK = 24 or 48 MHz
T2CCU clock : T2CCUCLK = 24 or 48 MHz
Peripheral clock: PCLK = 24 MHz
In addition, different clock frequencies can be output to pin CLKOUT (P0.0 or P0.7). The
clock output frequency, which is derived from the clock output divider (bit COREL), can
further be divided by 2 using toggle latch (bit TLEN is set to 1). The resulting output
frequency has a 50% duty cycle. Figure 21 shows the clock distribution of the XC878.
Data Sheet
76
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
T2CCFG
CCCFG
T2CCU
CLK
CORDIC
CLK
CORDIC
T2CCU
CCUCCFG
MDUCCFG
MDU
CLK
CCU6
CLK
CCU6
MDU
FCCFG
MCAN
CLK
MultiCAN
CLKREL
SD
1
OSCSS
External
OSC
PCLK
FCLK
SCLK
/2
fosc
PLL
On-chip
OSC
fsys
Peripherals
CCLK
CORE
0
/3
NF,NR,OD
COREL
TLEN
Toggle
Latch
CLKOUT
COUTS
Figure 21
Data Sheet
Clock Generation from fsys
77
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
For power saving purposes, the clocks may be disabled or slowed down according to
Table 26.
Table 26
System frequency (fsys = 96 MHz)
Power Saving Mode
Action
Idle
Clock to the CPU is disabled.
Slow-down
Clocks to the CPU and all the peripherals are divided by a
common programmable factor defined by bit field
CMCON.CLKREL.
Power-down
Oscillator and PLL are switched off.
Data Sheet
78
V0.1, 2008-04
XC878CLM
Advance Information
3.9
Functional Description
Power Saving Modes
The power saving modes of the XC878 provide flexible power consumption through a
combination of techniques, including:
•
•
•
•
Stopping the CPU clock
Stopping the clocks of individual system components
Reducing clock speed of some peripheral components
Power-down of the entire system with fast restart capability
After a reset, the active mode (normal operating mode) is selected by default (see
Figure 22) and the system runs in the main system clock frequency. From active mode,
different power saving modes can be selected by software. They are:
•
•
•
Idle mode
Slow-down mode
Power-down mode
ACTIVE
any interrupt
& SD=0
set PD
bit
set IDLE
bit
set SD
bit
IDLE
EXINT0/RXD pin
& SD=0
clear SD
bit
set IDLE
bit
any interrupt
& SD=1
Figure 22
Data Sheet
POWER-DOWN
set PD
bit
SLOW-DOWN
EXINT0/RXD pin
& SD=1
Transition between Power Saving Modes
79
V0.1, 2008-04
XC878CLM
Advance Information
3.10
Functional Description
Watchdog Timer
The Watchdog Timer (WDT) provides a highly reliable and secure way to detect and
recover from software or hardware failures. The WDT is reset at a regular interval that is
predefined by the user. The CPU must service the WDT within this interval to prevent the
WDT from causing an XC878 system reset. Hence, routine service of the WDT confirms
that the system is functioning properly. This ensures that an accidental malfunction of
the XC878 will be aborted in a user-specified time period.
In debug mode, the WDT is default suspended and stops counting. Therefore, there is
no need to refresh the WDT during debugging.
Features
•
•
•
•
•
16-bit Watchdog Timer
Programmable reload value for upper 8 bits of timer
Programmable window boundary
Selectable input frequency of fPCLK/2 or fPCLK/128
Time-out detection with NMI generation and reset prewarning activation (after which
a system reset will be performed)
The WDT is a 16-bit timer incremented by a count rate of fPCLK/2 or fPCLK/128. This 16-bit
timer is realized as two concatenated 8-bit timers. The upper 8 bits of the WDT can be
preset to a user-programmable value via a watchdog service access in order to modify
the watchdog expire time period. The lower 8 bits are reset on each service access.
Figure 23 shows the block diagram of the WDT unit.
WDT
Control
Clear
1:2
MUX
f PCLK
WDTREL
WDT Low Byte
WDT High Byte
1:128
Overflow/Time-out Control &
Window-boundary control
WDTIN
ENWDT
FNMIWDT
.
WDTRST
Logic
ENWDT_P
Figure 23
Data Sheet
WDTWINB
WDT Block Diagram
80
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
If the WDT is not serviced before the timer overflow, a system malfunction is assumed.
As a result, the WDT NMI is triggered (assert FNMIWDT) and the reset prewarning is
entered. The prewarning period lasts for 30H count, after which the system is reset
(assert WDTRST).
The WDT has a “programmable window boundary” which disallows any refresh during
the WDT’s count-up. A refresh during this window boundary constitutes an invalid
access to the WDT, causing the reset prewarning to be entered but without triggering the
WDT NMI. The system will still be reset after the prewarning period is over. The window
boundary is from 0000H to the value obtained from the concatenation of WDTWINB and
00H.
After being serviced, the WDT continues counting up from the value (<WDTREL> * 28).
The time period for an overflow of the WDT is programmable in two ways:
•
•
The input frequency to the WDT can be selected to be either fPCLK/2 or fPCLK/128
The reload value WDTREL for the high byte of WDT can be programmed in register
WDTREL
The period, PWDT, between servicing the WDT and the next overflow can be determined
by the following formula:
2 ( 1 + WDTIN × 6 ) × ( 2 16 – WDTREL × 2 8 )
P WDT = -----------------------------------------------------------------------------------------------------f PCLK
(3.3)
If the Window-Boundary Refresh feature of the WDT is enabled, the period PWDT
between servicing the WDT and the next overflow is shortened if WDTWINB is greater
than WDTREL, see Figure 24. This period can be calculated using the same formula by
replacing WDTREL with WDTWINB. For this feature to be useful, WDTWINB cannot be
smaller than WDTREL.
Data Sheet
81
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
Count
FFFFH
WDTWINB
WDTREL
time
No refresh
allowed
Figure 24
Refresh allowed
WDT Timing Diagram
Table 27 lists the possible watchdog time ranges that can be achieved using a certain
module clock. Some numbers are rounded to 3 significant digits.
Table 27
Reload value
In WDTREL
Watchdog Time Ranges
Prescaler for fPCLK
2 (WDTIN = 0)
128 (WDTIN = 1)
24 MHz
24 MHz
FFH
21.3 µs
1.37 ms
7FH
2.75 ms
176 ms
00H
5.46 ms
350 ms
Data Sheet
82
V0.1, 2008-04
XC878CLM
Advance Information
3.11
Functional Description
Multiplication/Division Unit
The Multiplication/Division Unit (MDU) provides fast 16-bit multiplication, 16-bit and
32-bit division as well as shift and normalize features. It has been integrated to support
the XC878 Core in real-time control applications, which require fast mathematical
computations.
Features
•
•
•
•
Fast signed/unsigned 16-bit multiplication
Fast signed/unsigned 32-bit divide by 16-bit and 16-bit divide by 16-bit operations
32-bit unsigned normalize operation
32-bit arithmetic/logical shift operations
Table 28 specifies the number of clock cycles used for calculation in various operations.
Table 28
MDU Operation Characteristics
Operation
Result
Remainder
Signed 32-bit/16-bit
32-bit
16-bit
33
Signed 16-bit/16bit
16-bit
16-bit
17
Signed 16-bit x 16-bit
32-bit
-
16
Unsigned 32-bit/16-bit
32-bit
16-bit
32
Unsigned 16-bit/16-bit
16-bit
16-bit
16
Unsigned 16-bit x 16-bit
32-bit
-
16
32-bit normalize
-
-
No. of shifts + 1 (Max. 32)
32-bit shift L/R
-
-
No. of shifts + 1 (Max. 32)
Data Sheet
83
No. of Clock Cycles
used for calculation
V0.1, 2008-04
XC878CLM
Advance Information
3.12
Functional Description
CORDIC Coprocessor
The CORDIC Coprocessor provides CPU with hardware support for the solving of
circular (trigonometric), linear (multiply-add, divide-add) and hyperbolic functions.
Features
•
•
•
•
•
•
•
•
•
•
•
•
•
Modes of operation
– Supports all CORDIC operating modes for solving circular (trigonometric), linear
(multiply-add, divide-add) and hyperbolic functions
– Integrated look-up tables (LUTs) for all operating modes
Circular vectoring mode: Extended support for values of initial X and Y data up to full
range of [-215,(215-1)] for solving angle and magnitude
Circular rotation mode: Extended support for values of initial Z data up to full range
of [-215,(215-1)], representing angles in the range [-π,((215-1)/215)π] for solving
trigonometry
Implementation-dependent operational frequency of up to 80 MHz
Gated clock input to support disabling of module
16-bit accessible data width
– 24-bit kernel data width plus 2 overflow bits for X and Y each
– 20-bit kernel data width plus 1 overflow bit for Z
– With KEEP bit to retain the last value in the kernel register for a new calculation
16 iterations per calculation: Approximately 41 clock-cycles or less, from set of start
(ST) bit to set of end-of-calculation flag, excluding time taken for write and read
access of data bytes.
Twos complement data processing
– Only exception: X result data with user selectable option for unsigned result
X and Y data generally accepted as integer or rational number; X and Y must be of
the same data form
Entries of LUTs are 20-bit signed integers
– Entries of atan and atanh LUTs are integer representations (S19) of angles with
the scaling such that [-215,(215-1)] represents the range [-π,((215-1)/215)π]
– Accessible Z result data for circular and hyperbolic functions is integer in data form
of S15
Emulated LUT for linear function
– Data form is 1 integer bit and 15-bit fractional part (1.15)
– Accessible Z result data for linear function is rational number with fixed data form
of S4.11 (signed 4Q16)
Truncation Error
– The result of a CORDIC calculation may return an approximation due to truncation
of LSBs
– Good accuracy of the CORDIC calculated result data, especially in circular mode
Interrupt
– On completion of a calculation
Data Sheet
84
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
– Interrupt enabling and corresponding flag
3.13
UART and UART1
The XC878 provides two Universal Asynchronous Receiver/Transmitter (UART and
UART1) modules for full-duplex asynchronous reception/transmission. Both are also
receive-buffered, i.e., they can commence reception of a second byte before a
previously received byte has been read from the receive register. However, if the first
byte still has not been read by the time reception of the second byte is complete, one of
the bytes will be lost.
Features
•
•
•
•
Full-duplex asynchronous modes
– 8-bit or 9-bit data frames, LSB first
– Fixed or variable baud rate
Receive buffered
Multiprocessor communication
Interrupt generation on the completion of a data transmission or reception
The UART modules can operate in the four modes shown in Table 29.
Table 29
UART Modes
Operating Mode
Baud Rate
Mode 0: 8-bit shift register
fPCLK/2
Mode 1: 8-bit shift UART
Variable
Mode 2: 9-bit shift UART
fPCLK/32 or fPCLK/641)
Mode 3: 9-bit shift UART
Variable
1) For UART1 module, the baud rate is fixed at fPCLK/64.
There are several ways to generate the baud rate clock for the serial port, depending on
the mode in which it is operating. In mode 0, the baud rate for the transfer is fixed at
fPCLK/2. In mode 2, the baud rate is generated internally based on the UART input clock
and can be configured to eitherfPCLK/32 or fPCLK/64. For UART1 module, only fPCLK/64 is
available. The variable baud rate is set by the underflow rate on the dedicated baud-rate
generator. For UART module, the variable baud rate alternatively can be set by the
overflow rate on Timer 1.
3.13.1
Baud-Rate Generator
Both UART modules have their own dedicated baud-rate generator, which is based on
a programmable 8-bit reload value, and includes divider stages (i.e., prescaler and
Data Sheet
85
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
fractional divider) for generating a wide range of baud rates based on its input clock fPCLK,
see Figure 25.
Fractional Divider
8-Bit Reload Value
FDSTEP
1
FDM
1
FDEN&FDM
0
Adder
fDIV
00
01
0
FDRES
FDEN
fMOD (overflow)
0
1
11
8-Bit Baud Rate Timer
fBR
10
R
fPCLK
Prescaler
fDIV
clk
11
10
NDOV
01
‘0’
Figure 25
00
Baud-rate Generator Circuitry
The baud rate timer is a count-down timer and is clocked by either the output of the
fractional divider (fMOD) if the fractional divider is enabled (FDCON.FDEN = 1), or the
output of the prescaler (fDIV) if the fractional divider is disabled (FDEN = 0). For baud rate
generation, the fractional divider must be configured to fractional divider mode
(FDCON.FDM = 0). This allows the baud rate control run bit BCON.R to be used to start
or stop the baud rate timer. At each timer underflow, the timer is reloaded with the 8-bit
reload value in register BG and one clock pulse is generated for the serial channel.
Enabling the fractional divider in normal divider mode (FDEN = 1 and FDM = 1) stops the
baud rate timer and nullifies the effect of bit BCON.R. See Section 3.14.
The baud rate (fBR) value is dependent on the following parameters:
•
•
•
•
Input clock fPCLK
Prescaling factor (2BRPRE) defined by bit field BRPRE in register BCON
Fractional divider (STEP/256) defined by register FDSTEP
(to be considered only if fractional divider is enabled and operating in fractional
divider mode)
8-bit reload value (BR_VALUE) for the baud rate timer defined by register BG
Data Sheet
86
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
The following formulas calculate the final baud rate without and with the fractional divider
respectively:
f PCLK
- where 2 BRPRE × ( BR_VALUE + 1 ) > 1
baud rate = ---------------------------------------------------------------------------------BRPRE
16 × 2
× ( BR_VALUE + 1 )
(3.4)
f PCLK
STEP
- × --------------baud rate = ---------------------------------------------------------------------------------BRPRE
256
16 × 2
× ( BR_VALUE + 1 )
(3.5)
The maximum baud rate that can be generated is limited to fPCLK/32. Hence, for a module
clock of 24 MHz, the maximum achievable baud rate is 0.75 MBaud.
Standard LIN protocol can support a maximum baud rate of 20 kHz, the baud rate
accuracy is not critical and the fractional divider can be disabled. Only the prescaler is
used for auto baud rate calculation. For LIN fast mode, which supports the baud rate of
20 kHz to 57.6 kHz, the higher baud rates require the use of the fractional divider for
greater accuracy.
Table 30 lists the various commonly used baud rates with their corresponding parameter
settings and deviation errors. The fractional divider is disabled and a module clock of
24 MHz is used.
Table 30
Typical Baud rates for UART with Fractional Divider disabled
Baud rate
Prescaling Factor
(2BRPRE)
Reload Value
(BR_VALUE + 1)
Deviation Error
19.2 kBaud
1 (BRPRE=000B)
78 (4EH)
0.17 %
9600 Baud
1 (BRPRE=000B)
156 (9CH)
0.17 %
4800 Baud
2 (BRPRE=001B)
156 (9CH)
0.17 %
2400 Baud
4 (BRPRE=010B)
156 (9CH)
0.17 %
The fractional divider allows baud rates of higher accuracy (lower deviation error) to be
generated. Table 31 lists the resulting deviation errors from generating a baud rate of
57.6 kHz, using different module clock frequencies. The fractional divider is enabled
(fractional divider mode) and the corresponding parameter settings are shown.
Data Sheet
87
V0.1, 2008-04
XC878CLM
Advance Information
Table 31
fPCLK
Functional Description
Deviation Error for UART with Fractional Divider enabled
Prescaling Factor Reload Value
STEP
(2BRPRE)
(BR_VALUE + 1)
Deviation
Error
24 MHz
1
6 (6H)
59 (3BH)
+0.03 %
12 MHz
1
3 (3H)
59 (3BH)
+0.03 %
8 MHz
1
2 (2H)
59 (3BH)
+0.03 %
6 MHz
1
6 (6H)
236 (ECH)
+0.03 %
3.13.2
Baud Rate Generation using Timer 1
In UART modes 1 and 3 of UART module, Timer 1 can be used for generating the
variable baud rates. In theory, this timer could be used in any of its modes. But in
practice, it should be set into auto-reload mode (Timer 1 mode 2), with its high byte set
to the appropriate value for the required baud rate. The baud rate is determined by the
Timer 1 overflow rate and the value of SMOD as follows:
SMOD
× f PCLK
2
Mode 1, 3 baud rate = ---------------------------------------------------32 × 2 × ( 256 – TH1 )
(3.6)
3.14
Normal Divider Mode (8-bit Auto-reload Timer)
Setting bit FDM in register FDCON to 1 configures the fractional divider to normal divider
mode, while at the same time disables baud rate generation (see Figure 25). Once the
fractional divider is enabled (FDEN = 1), it functions as an 8-bit auto-reload timer (with
no relation to baud rate generation) and counts up from the reload value with each input
clock pulse. Bit field RESULT in register FDRES represents the timer value, while bit
field STEP in register FDSTEP defines the reload value. At each timer overflow, an
overflow flag (FDCON.NDOV) will be set and an interrupt request generated. This gives
an output clock fMOD that is 1/n of the input clock fDIV, where n is defined by 256 - STEP.
The output frequency in normal divider mode is derived as follows:
1
f MOD = f DIV × -----------------------------256 – STEP
(3.7)
Data Sheet
88
V0.1, 2008-04
XC878CLM
Advance Information
3.15
Functional Description
LIN Protocol
The UART module can be used to support the Local Interconnect Network (LIN) protocol
for both master and slave operations. This option is not available with UART1 module.
The LIN baud rate detection feature provides the capability to detect the baud rate within
LIN protocol using Timer 2. This allows the UART to be synchronized to the LIN baud
rate for data transmission and reception.
LIN is a holistic communication concept for local interconnected networks in vehicles.
The communication is based on the SCI (UART) data format, a single-master/multipleslave concept, a clock synchronization for nodes without stabilized time base. An
attractive feature of LIN is self-synchronization of the slave nodes without a crystal or
ceramic resonator, which significantly reduces the cost of hardware platform. Hence, the
baud rate must be calculated and returned with every message frame.
The structure of a LIN frame is shown in Figure 26. The frame consists of the:
•
•
•
•
Header, which comprises a Break (13-bit time low), Synch Byte (55H), and ID field
Response time
Data bytes (according to UART protocol)
Checksum
Frame slot
Frame
Header
Synch
Figure 26
3.15.1
Response
space
Protected
identifier
Response
Data 1
Data 2
Data N
Checksum
Structure of LIN Frame
LIN Header Transmission
LIN header transmission is only applicable in master mode. In the LIN communication,
a master task decides when and which frame is to be transferred on the bus. It also
identifies a slave task to provide the data transported by each frame. The information
needed for the handshaking between the master and slave tasks is provided by the
master task through the header portion of the frame.
Data Sheet
89
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
The header consists of a break and synch pattern followed by an identifier. Among these
three fields, only the break pattern cannot be transmitted as a normal 8-bit UART data.
The break must contain a dominant value of 13 bits or more to ensure proper
synchronization of slave nodes.
In the LIN communication, a slave task is required to be synchronized at the beginning
of the protected identifier field of frame. For this purpose, every frame starts with a
sequence consisting of a break field followed by a synch byte field. This sequence is
unique and provides enough information for any slave task to detect the beginning of a
new frame and be synchronized at the start of the identifier field.
Upon entering LIN communication, a connection is established and the transfer speed
(baud rate) of the serial communication partner (host) is automatically synchronized in
the following steps:
STEP 1: Initialize interface for reception and timer for baud rate measurement
STEP 2: Wait for an incoming LIN frame from host
STEP 3: Synchronize the baud rate to the host
STEP 4: Enter for Master Request Frame or for Slave Response Frame
Note: Re-synchronization and setup of baud rate are always done for every Master
Request Header or Slave Response Header LIN frame.
Data Sheet
90
V0.1, 2008-04
XC878CLM
Advance Information
3.16
Functional Description
High-Speed Synchronous Serial Interface
The High-Speed Synchronous Serial Interface (SSC) supports full-duplex and
half-duplex synchronous communication. The serial clock signal can be generated by
the SSC internally (master mode), using its own 16-bit baud-rate generator, or can be
received from an external master (slave mode). Data width, shift direction, clock polarity
and phase are programmable. This allows communication with SPI-compatible devices
or devices using other synchronous serial interfaces.
Features
•
•
•
•
•
•
Master and slave mode operation
– Full-duplex or half-duplex operation
Transmit and receive buffered
Flexible data format
– Programmable number of data bits: 2 to 8 bits
– Programmable shift direction: LSB or MSB shift first
– Programmable clock polarity: idle low or high state for the shift clock
– Programmable clock/data phase: data shift with leading or trailing edge of the shift
clock
Variable baud rate
Compatible with Serial Peripheral Interface (SPI)
Interrupt generation
– On a transmitter empty condition
– On a receiver full condition
– On an error condition (receive, phase, baud rate, transmit error)
Data is transmitted or received on lines TXD and RXD, which are normally connected to
the pins MTSR (Master Transmit/Slave Receive) and MRST (Master Receive/Slave
Transmit). The clock signal is output via line MS_CLK (Master Serial Shift Clock) or input
via line SS_CLK (Slave Serial Shift Clock). Both lines are normally connected to the pin
SCLK. Transmission and reception of data are double-buffered.
Figure 27 shows the block diagram of the SSC.
Data Sheet
91
V0.1, 2008-04
XC878CLM
Advance Information
PCLK
Functional Description
Baud-rate
Generator
SS_CLK
MS_CLK
Clock
Control
Shift
Clock
RIR
SSC Control Block
Register CON
Status
Receive Int. Request
TIR
Transmit Int. Request
EIR
Error Int. Request
Control
TXD(Master)
Pin
Control
16-Bit Shift
Register
RXD(Slave)
TXD(Slave)
RXD(Master)
Transmit Buffer
Register TB
Receive Buffer
Register RB
Internal Bus
Figure 27
Data Sheet
SSC Block Diagram
92
V0.1, 2008-04
XC878CLM
Advance Information
3.17
Functional Description
Timer 0 and Timer 1
Timer 0 and Timer 1 can function as both timers or counters. When functioning as a
timer, Timer 0 and Timer 1 are incremented every machine cycle, i.e. every 2 input
clocks (or 2 PCLKs). When functioning as a counter, Timer 0 and Timer 1 are
incremented in response to a 1-to-0 transition (falling edge) at their respective external
input pins, T0 or T1.
Timer 0 and 1 are fully compatible and can be configured in four different operating
modes for use in a variety of applications, see Table 32. In modes 0, 1 and 2, the two
timers operate independently, but in mode 3, their functions are specialized.
Table 32
Timer 0 and Timer 1 Modes
Mode
Operation
0
13-bit timer
The timer is essentially an 8-bit counter with a divide-by-32 prescaler.
This mode is included solely for compatibility with Intel 8048 devices.
1
16-bit timer
The timer registers, TLx and THx, are concatenated to form a 16-bit
counter.
2
8-bit timer with auto-reload
The timer register TLx is reloaded with a user-defined 8-bit value in THx
upon overflow.
3
Timer 0 operates as two 8-bit timers
The timer registers, TL0 and TH0, operate as two separate 8-bit counters.
Timer 1 is halted and retains its count even if enabled.
Data Sheet
93
V0.1, 2008-04
XC878CLM
Advance Information
3.18
Functional Description
Timer 2 and Timer 21
Timer 2 and Timer 21 are 16-bit general purpose timers (THL2) that are fully compatible
and have two modes of operation, a 16-bit auto-reload mode and a 16-bit one channel
capture mode, see Table 33. As a timer, the timers count with an input clock of PCLK/12
(if prescaler is disabled). As a counter, they count 1-to-0 transitions on pin T2. In the
counter mode, the maximum resolution for the count is PCLK/24 (if prescaler is
disabled).
Table 33
Timer 2 Modes
Mode
Description
Auto-reload Up/Down Count Disabled
• Count up only
• Start counting from 16-bit reload value, overflow at FFFFH
• Reload event configurable for trigger by overflow condition only, or by
negative/positive edge at input pin T2EX as well
• Programmble reload value in register RC2
• Interrupt is generated with reload event
Up/Down Count Enabled
• Count up or down, direction determined by level at input pin T2EX
• No interrupt is generated
• Count up
– Start counting from 16-bit reload value, overflow at FFFFH
– Reload event triggered by overflow condition
– Programmble reload value in register RC2
• Count down
– Start counting from FFFFH, underflow at value defined in register
RC2
– Reload event triggered by underflow condition
– Reload value fixed at FFFFH
Channel
capture
Data Sheet
•
•
•
•
•
•
•
Count up only
Start counting from 0000H, overflow at FFFFH
Reload event triggered by overflow condition
Reload value fixed at 0000H
Capture event triggered by falling/rising edge at pin T2EX
Captured timer value stored in register RC2
Interrupt is generated with reload or capture event
94
V0.1, 2008-04
XC878CLM
Advance Information
3.19
Functional Description
Timer 2 Capture/Compare Unit
The T2CCU (Timer 2 Capture/Compare Unit) consists of the standard Timer 2 unit and
a Capture/compare unit (CCU). The Capture/Compare Timer (CCT) is part of the CCU.
Control is available in the T2CCU to select individually for each of its 16-bit
capture/compare channel, either the Timer 2 or the Capture/Compare Timer (CCT) as
the time base. Both timers have a resolution of 16 bits.The clock frequency of T2CCU,
fT2CCU, could be set at PCLK frequency or 2 times the PCLK frequency.
The T2CCU can be used for various digital signal generation and event capturing like
pulse generation, pulse width modulation, pulse width measuring etc. Target
applications include various automotive control as well as industrial (frequency
generation, digital-to-analog conversion, process control etc.).
T2CCU Features
•
•
•
•
•
•
•
•
•
•
•
•
•
Option to select individually for each channel, either Timer 2 or Capture/Compare
Timer as time base
Extremely flexible Capture/Compare Timer count rate by cascading with Timer 2
Capture/Compare Timer may be ‘reset’ immediately by triggering overflow event
16-bit resolution
Six compare channels in total
Four capture channels multiplexed with the compare channels, in total
Shadow register for each compare register
– Transfer via software control or on timer overflow.
Compare Mode 0: Compare output signal changes from the inactive level to active
level on compare match. Returns to inactive level on timer overflow.
– Active level can be defined by register bit for channel groups A and B.
– Support of 0% to 100% duty cycle in compare mode 0.
Compare Mode 1: Full control of the software on the compare output signal level, for
the next compare match.
Concurrent Compare Mode with channel 0
Capture Mode 0: Capture on any external event (rising/falling/both edge) at the 4 pins
T2CC0 to T2CC3.
Capture Mode 1: Capture upon writing to the low byte of the corresponding channel
capture register.
Capture mode 0 or 1 can be established independently on the 4 capture channels.
Data Sheet
95
V0.1, 2008-04
XC878CLM
Advance Information
3.20
Functional Description
Capture/Compare Unit 6
The Capture/Compare Unit 6 (CCU6) provides two independent timers (T12, T13), which
can be used for Pulse Width Modulation (PWM) generation, especially for AC-motor
control. The CCU6 also supports special control modes for block commutation and
multi-phase machines.
The timer T12 can function in capture and/or compare mode for its three channels. The
timer T13 can work in compare mode only.
The multi-channel control unit generates output patterns, which can be modulated by
T12 and/or T13. The modulation sources can be selected and combined for the signal
modulation.
Timer T12 Features
•
•
•
•
•
•
•
•
•
Three capture/compare channels, each channel can be used either as a capture or
as a compare channel
Supports generation of a three-phase PWM (six outputs, individual signals for
highside and lowside switches)
16-bit resolution, maximum count frequency = peripheral clock frequency
Dead-time control for each channel to avoid short-circuits in the power stage
Concurrent update of the required T12/13 registers
Generation of center-aligned and edge-aligned PWM
Supports single-shot mode
Supports many interrupt request sources
Hysteresis-like control mode
Timer T13 Features
•
•
•
•
•
One independent compare channel with one output
16-bit resolution, maximum count frequency = peripheral clock frequency
Can be synchronized to T12
Interrupt generation at period-match and compare-match
Supports single-shot mode
Additional Features
•
•
•
•
•
•
•
Implements block commutation for Brushless DC-drives
Position detection via Hall-sensor pattern
Automatic rotational speed measurement for block commutation
Integrated error handling
Fast emergency stop without CPU load via external signal (CTRAP)
Control modes for multi-channel AC-drives
Output levels can be selected and adapted to the power stage
The block diagram of the CCU6 module is shown in Figure 28.
Data Sheet
96
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
module kernel
compare
1
channel 2
1
multichannel
control
compare
channel 3
compare
capture
T13
compare
start
compare
interrupt
control
1
2
3
2
2
trap
control
3
trap input
clock
control
channel 1
deadtime
control
output select
T12
1
Hall input
address
decoder
output select
channel 0
1
CTRAP
CCPOS2
CCPOS1
CCPOS0
CC62
COUT62
CC61
COUT61
CC60
COUT60
COUT63
T13HR
T12HR
input / output control
port control
CCU6_block_diagram
Figure 28
Data Sheet
CCU6 Block Diagram
97
V0.1, 2008-04
XC878CLM
Advance Information
3.21
Functional Description
Controller Area Network (MultiCAN)
The MultiCAN module contains two Full-CAN nodes operating independently or
exchanging data and remote frames via a gateway function. Transmission and reception
of CAN frames is handled in accordance to CAN specification V2.0 B active. Each CAN
node can receive and transmit standard frames with 11-bit identifiers as well as extended
frames with 29-bit identifiers.
Both CAN nodes share a common set of message objects, where each message object
may be individually allocated to one of the CAN nodes. Besides serving as a storage
container for incoming and outgoing frames, message objects may be combined to build
gateways between the CAN nodes or to setup a FIFO buffer.
The message objects are organized in double chained lists, where each CAN node has
it’s own list of message objects. A CAN node stores frames only into message objects
that are allocated to the list of the CAN node. It only transmits messages from objects of
this list. A powerful, command driven list controller performs all list operations.
The bit timings for the CAN nodes are derived from the peripheral clock (fCAN) and are
programmable up to a data rate of 1 MBaud. A pair of receive and transmit pins connects
each CAN node to a bus transceiver.
MultiCAN Module Kernel
CANSRC[7:0]
Interrupt
Controller
fCAN
Clock
Control
Message
Object
Buffer
32
Objects
Address
Decoder &
Data
control
Linked
List
Control
CAN
Node 1
CAN
Node 0
TXDC1
RXDC1
TXDC0
Port
Control
RXDC0
A[13: 2]
D[31:0]
Access Mediator
CAN Control
MultiCAN_XC8_overview
Figure 29
Overview of the MultiCAN
Features
•
Compliant to ISO 11898.
Data Sheet
98
V0.1, 2008-04
XC878CLM
Advance Information
•
•
•
•
•
•
•
•
•
•
Functional Description
CAN functionality according to CAN specification V2.0 B active.
Dedicated control registers are provided for each CAN node.
A data transfer rate up to 1 MBaud is supported.
Flexible and powerful message transfer control and error handling capabilities are
implemented.
Advanced CAN bus bit timing analysis and baud rate detection can be performed for
each CAN node via the frame counter.
Full-CAN functionality: A set of 32 message objects can be individually
– allocated (assigned) to any CAN node
– configured as transmit or receive object
– setup to handle frames with 11-bit or 29-bit identifier
– counted or assigned a timestamp via a frame counter
– configured to remote monitoring mode
Advanced Acceptance Filtering:
– Each message object provides an individual acceptance mask to filter incoming
frames.
– A message object can be configured to accept only standard or only extended
frames or to accept both standard and extended frames.
– Message objects can be grouped into 4 priority classes.
– The selection of the message to be transmitted first can be performed on the basis
of frame identifier, IDE bit and RTR bit according to CAN arbitration rules.
Advanced Message Object Functionality:
– Message Objects can be combined to build FIFO message buffers of arbitrary
size, which is only limited by the total number of message objects.
– Message objects can be linked to form a gateway to automatically transfer frames
between 2 different CAN buses. A single gateway can link any two CAN nodes. An
arbitrary number of gateways may be defined.
Advanced Data Management:
– The Message objects are organized in double chained lists.
– List reorganizations may be performed any time, even during full operation of the
CAN nodes.
– A powerful, command driven list controller manages the organization of the list
structure and ensures consistency of the list.
– Message FIFOs are based on the list structure and can easily be scaled in size
during CAN operation.
– Static Allocation Commands offer compatibility with TwinCAN applications, which
are not list based.
Advanced Interrupt Handling:
– Up to 8 interrupt output lines are available. Most interrupt requests can be
individually routed to one of the 8 interrupt output lines.
– Message postprocessing notifications can be flexibly aggregated into a dedicated
register field of 64 notification bits.
Data Sheet
99
V0.1, 2008-04
XC878CLM
Advance Information
3.22
Functional Description
Analog-to-Digital Converter
The XC878 includes a high-performance 10-bit Analog-to-Digital Converter (ADC) with
eight multiplexed analog input channels. The ADC uses a successive approximation
technique to convert the analog voltage levels from up to eight different sources. The
analog input channels of the ADC are available at AN0 - AN7.
Features
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Successive approximation
8-bit or 10-bit resolution
Eight analog channels
Four independent result registers
Result data protection for slow CPU access
(wait-for-read mode)
Single conversion mode
Autoscan functionality
Limit checking for conversion results
Data reduction filter
(accumulation of up to 2 conversion results)
Two independent conversion request sources with programmable priority
Selectable conversion request trigger
Flexible interrupt generation with configurable service nodes
Programmable sample time
Programmable clock divider
Cancel/restart feature for running conversions
Integrated sample and hold circuitry
Compensation of offset errors
Low power modes
3.22.1
ADC Clocking Scheme
A common module clock fADC generates the various clock signals used by the analog and
digital parts of the ADC module:
•
•
•
fADCA is input clock for the analog part.
fADCI is internal clock for the analog part (defines the time base for conversion length
and the sample time). This clock is generated internally in the analog part, based on
the input clock fADCA to generate a correct duty cycle for the analog components.
fADCD is input clock for the digital part.
The internal clock for the analog part fADCI is limited to a maximum frequency of 10 MHz.
Therefore, the ADC clock prescaler must be programmed to a value that ensures fADCI
does not exceed 10 MHz. The prescaler ratio is selected by bit field CTC in register
GLOBCTR. A prescaling ratio of 32 can be selected when the maximum performance of
the ADC is not required.
Data Sheet
100
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
f ADC = fPCLK
fADCD
arbiter
registers
interrupts
digital part
fADCA
CTC
÷ 32
f ADCI
÷4
MUX
÷3
÷2
clock prescaler
analog
components
analog part
Condition: f ADCI ≤ 10 MHz, where t ADCI =
Figure 30
1
f ADCI
ADC Clocking Scheme
For module clock fADC = 24 MHz, the analog clock fADCI frequency can be selected as
shown in Table 34.
Table 34
fADCI Frequency Selection
Module Clock fADC
CTC
Prescaling Ratio
Analog Clock fADCI
24 MHz
00B
÷2
12 MHz (N.A)
01B
÷3
8 MHz
10B
÷4
6 MHz
11B (default)
÷ 32
750 kHz
As fADCI cannot exceed 10 MHz, bit field CTC should not be set to 00B when fADC is
24 MHz. During slow-down mode where fADC may be reduced to 12 MHz, 6 MHz etc.,
CTC can be set to 00B as long as the divided analog clock fADCI does not exceed 10 MHz.
However, it is important to note that the conversion error could increase due to loss of
charges on the capacitors, if fADC becomes too low during slow-down mode.
Data Sheet
101
V0.1, 2008-04
XC878CLM
Advance Information
3.22.2
Functional Description
ADC Conversion Sequence
The analog-to-digital conversion procedure consists of the following phases:
•
•
•
•
Synchronization phase (tSYN)
Sample phase (tS)
Conversion phase
Write result phase (tWR)
conversion start
trigger
Source
interrupt
Sample Phase
Channel
interrupt
Result
interrupt
Conversion Phase
fADCI
BUSY Bit
SAMPLE Bit
tSYN
tS
Write Result Phase
tCONV
Figure 31
Data Sheet
tWR
ADC Conversion Timing
102
V0.1, 2008-04
XC878CLM
Advance Information
3.23
Functional Description
On-Chip Debug Support
The On-Chip Debug Support (OCDS) provides the basic functionality required for the
software development and debugging of XC800-based systems.
The OCDS design is based on these principles:
•
•
•
•
Use the built-in debug functionality of the XC800 Core
Add a minimum of hardware overhead
Provide support for most of the operations by a Monitor Program
Use standard interfaces to communicate with the Host (a Debugger)
Features
•
•
•
•
•
Set breakpoints on instruction address and on address range within the Program
Memory
Set breakpoints on internal RAM address range
Support unlimited software breakpoints in Flash/RAM code region
Process external breaks via JTAG and upon activating a dedicated pin
Step through the program code
The OCDS functional blocks are shown in Figure 32. The Monitor Mode Control (MMC)
block at the center of OCDS system brings together control signals and supports the
overall functionality. The MMC communicates with the XC800 Core, primarily via the
Debug Interface, and also receives reset and clock signals.
After processing memory address and control signals from the core, the MMC provides
proper access to the dedicated extra-memories: a Monitor ROM (holding the code) and
a Monitor RAM (for work-data and Monitor-stack).
The OCDS system is accessed through the JTAG1), which is an interface dedicated
exclusively for testing and debugging activities and is not normally used in an
application. The dedicated MBC pin is used for external configuration and debugging
control.
Note: All the debug functionality described here can normally be used only after XC878
has been started in OCDS mode.
1) The pins of the JTAG port can be assigned to either the primary port (Port 0) or either of the secondary ports
(Ports 1 and 2/Port 5).
User must set the JTAG pins (TCK and TDI) as input during connection with the OCDS system.
Data Sheet
103
V0.1, 2008-04
XC878CLM
Advance Information
Functional Description
JTAG Module
Debug
Interface
TMS
TCK
TDI
TDO
JTAG
Memory
Control
Unit
TCK
TDI
TDO
Control
User
Program
Memory
Boot/
Monitor
ROM
User
Internal
RAM
Monitor
RAM
Reset
Monitor Mode Control
MBC
Monitor &
Bootstrap loader
Control line
System
Control
Unit
Suspend
Control
Reset
Clock
- parts of
OCDS
Reset Clock Debug PROG PROG Memory
Interface & IRAM Data Control
Addresses
XC800 Core
OCDS_XC886C-Block_Diagram-UM-v0.2
Figure 32
3.23.1
OCDS Block Diagram
JTAG ID Register
This is a read-only register located inside the JTAG module, and is used to recognize the
device(s) connected to the JTAG interface. Its content is shifted out when
INSTRUCTION register contains the IDCODE command (opcode 04H), and the same is
also true immediately after reset.
The JTAG ID register contents for the XC878 Flash devices are given in Table 35.
Table 35
JTAG ID Summary
Device Type
Device Name
JTAG ID
Flash
XC878*-16FF
1018 2083H
XC878*-13FF
1018 3083H
Note: The asterisk (*) above denotes all possible device configurations.
Data Sheet
104
V0.1, 2008-04
XC878CLM
Advance Information
3.24
Functional Description
Chip Identification Number
The XC878 identity (ID) register is located at Page 1 of address B3H. The value of ID
register is 49H. However, for easy identification of product variants, the Chip
Identification Number, which is an unique number assigned to each product variant, is
available. The differentiation is based on the product, variant type and device step
information.
Two methods are provided to read a device’s chip identification number:
•
•
In-application subroutine, GET_CHIP_INFO
Bootstrap loader (BSL) mode A
Table 36 lists the chip identification numbers of available XC878 Flash device variants.
Table 36
Chip Identification Number
Product Variant
Chip Identification Number
AA-Step
Flash Devices
XC878-16FF 5V
49580063H
XC878C-16FF 5V
49580043H
XC878L-16FF 5V
49500063H
XC878M-16FF 5V
49580023H
XC878CM-16FF 5V
49580003H
XC878-13FF 5V
49590463H
XC878C-13FF 5V
49590443H
XC878L-13FF 5V
49510463H
XC878M-13FF 5V
49590423H
XC878CM-13FF 5V
49590403H
XC878-16FF 3V3
49180063H
XC878M-16FF 3V3
49180023H
XC878CM-16FF 3V3
49180003H
XC878-13FF 3V3
49190463H
XC878M-13FF 3V3
49190423H
XC878CM-13FF 3V3
49190403H
Data Sheet
105
V0.1, 2008-04
XC878CLM
Advance Information
4
Electrical Parameters
Electrical Parameters
Chapter 4 provides the characteristics of the electrical parameters which are
implementation-specific for the XC878.
4.1
General Parameters
The general parameters are described here to aid the users in interpreting the
parameters mainly in Section 4.2 and Section 4.3.
4.1.1
Parameter Interpretation
The parameters listed in this section represent partly the characteristics of the XC878
and partly its requirements on the system. To aid interpreting the parameters easily
when evaluating them for a design, they are indicated by the abbreviations in the
“Symbol” column:
•
•
CC
These parameters indicate Controller Characteristics, which are distinctive features
of the XC878 and must be regarded for a system design.
SR
These parameters indicate System Requirements, which must be provided by the
microcontroller system in which the XC878 is designed in.
Data Sheet
108
V0.1, 2008-04
XC878CLM
Advance Information
4.1.2
Electrical Parameters
Absolute Maximum Rating
Maximum ratings are the extreme limits to which the XC878 can be subjected to without
permanent damage.
Table 37
Absolute Maximum Rating Parameters
Parameter
Symbol
TA
Storage temperature
TST
Junction temperature
TJ
Voltage on power supply pin with VDDP
Ambient temperature
Limit Values
Unit Notes
min.
max.
-40
105
°C
-65
150
°C
-40
120
°C
-0.5
6
V
tbd
tbd
mA
–
tbd
mA
under bias
under bias
respect to VSS
Input current on any pin during
overload condition
IIN
Absolute sum of all input currents Σ|IIN|
during overload condition
Note: Stresses above those listed under “Absolute Maximum Ratings” may cause
permanent damage to the device. This is a stress rating only and functional
operation of the device at these or any other conditions above those indicated in
the operational sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect device reliability.
During absolute maximum rating overload conditions (VIN > VDDP or VIN < VSS) the
voltage on VDDP pin with respect to ground (VSS) must not exceed the values
defined by the absolute maximum ratings.
Data Sheet
109
V0.1, 2008-04
XC878CLM
Advance Information
4.1.3
Electrical Parameters
Operating Conditions
The following operating conditions must not be exceeded in order to ensure correct
operation of the XC878. All parameters mentioned in the following table refer to these
operating conditions, unless otherwise noted.
Table 38
Operating Condition Parameters
Parameter
Digital power supply voltage
Digital power supply voltage
Digital ground voltage
CPU Clock Frequency1)
Ambient temperature
Symbol
VDDP
VDDP
VSS
fCCLK
TA
Limit Values
min.
max.
Unit Notes/
Conditions
4.5
5.5
V
5V Device
3.0
3.6
V
3.3V Device
0
V
272)
MHz
-40
85
°C
SAF-XC878
-40
105
°C
SAX-XC878
1) fCCLK is the input frequency to the XC800 core. Please refer to Figure 21 for detailed description.
2)Default setting of fCCLK upon reset is 24 MHz.
Data Sheet
110
V0.1, 2008-04
XC878CLM
Advance Information
4.2
Electrical Parameters
DC Parameters
The electrical characteristics of the DC Parameters are detailed in this section.
4.2.1
Input/Output Characteristics
Table 39 provides the characteristics of the input/output pins of the XC878.
Table 39
Input/Output Characteristics (Operating Conditions apply)
Parameter
Symbol
Limit Values
min.
Unit Test Conditions
max.
VDDP = 5 V Range
IOL = 9 mA (DS = 0)1)
IOL = 12 mA (DS = 1)2)
IOH = -21 mA (DS = 0)1)
IOH = -28 mA (DS = 1)2)
Output low voltage
VOL
CC –
tbd
V
Output high voltage
VOH
CC tbd
–
V
Input low voltage
VIL
VIH
HYS
VILX
SR -0.3
tbd
V
CMOS Mode
SR tbd
VDDP
V
CMOS Mode
CC tbd
–
V
CMOS Mode
SR -0.3
tbd
V
Input high voltage at
XTAL1
VIHX
SR tbd
VDDP
V
Pull-up current
IPU
SR –
tbd
µA
–
µA
tbd
µA
–
µA
CC -1
1
µA
Input current at XTAL1 IILX
CC tbd
tbd
µA
Overload current on
any pin
IOV
SR tbd
tbd
mA
Absolute sum of
overload currents
Σ|IOV|
SR –
tbd
mA
Maximum current per
pin (excluding VDDP
and VSS)
IM SR SR –
tbd
mA
Input high voltage
3)
Input Hysteresis
Input low voltage at
XTAL1
tbd
IPD
Pull-down current
SR –
tbd
Input leakage current
Data Sheet
4)
IOZ1
111
VIH,min
VIL,max
VIL,max
VIH,min
0 < VIN < VDDP,
TA ≤ 105°C
5)
V0.1, 2008-04
XC878CLM
Advance Information
Table 39
Electrical Parameters
Input/Output Characteristics (Operating Conditions apply) (cont’d)
Parameter
Symbol
Limit Values
min.
Unit Test Conditions
max.
Maximum current for
all pins (excluding
VDDP and VSS)
Σ|IM|
SR –
tbd
mA
Maximum current into
IMVDDP SR –
tbd
mA
IMVSS
SR –
tbd
mA
Output low voltage
VOL
CC –
tbd
V
Output high voltage
VOH
CC tbd
–
V
Input low voltage
VIL
VIH
HYS
VILX
SR -0.3
tbd
V
CMOS Mode
SR tbd
VDDP
V
CMOS Mode
CC tbd
–
V
CMOS Mode
SR -0.3
tbd
V
Input high voltage at
XTAL1
VIHX
SR tbd
VDDP
V
Pull-up current
IPU
SR –
tbd
µA
–
µA
tbd
µA
–
µA
VDDP
Maximum current out
of VSS
VDDP = 3.3 V Range
Input high voltage
Input Hysteresis3)
Input low voltage at
XTAL1
tbd
Pull-down current
IPD
SR –
tbd
Input leakage current4) IOZ1
CC -1
1
µA
Input current at XTAL1 IILX
CC tbd
tbd
µA
Overload current on
any pin
IOV
SR tbd
tbd
mA
Absolute sum of
overload currents
Σ|IOV|
SR –
tbd
mA
Maximum current per
pin (excluding VDDP
and VSS)
IM SR SR –
tbd
mA
Data Sheet
112
IOL = 6.2 mA (DS = 0)1)
IOL = 8.5 mA (DS = 1)2)
IOH = -5.6 mA (DS = 0)1)
IOH = -7.5 mA (DS = 1)2)
VIH,min
VIL,max
VIL,max
VIH,min
0 < VIN < VDDP,
TA ≤ 105°C
5)
V0.1, 2008-04
XC878CLM
Advance Information
Table 39
Electrical Parameters
Input/Output Characteristics (Operating Conditions apply) (cont’d)
Parameter
Symbol
Limit Values
min.
Unit Test Conditions
max.
Maximum current for
all pins (excluding
VDDP and VSS)
Σ|IM|
SR –
tbd
mA
Maximum current into
IMVDDP SR –
tbd
mA
IMVSS
tbd
mA
VDDP
Maximum current out
of VSS
SR –
1) DS = 0 refers to the pin having a weak drive strength which is programmable via Px_DS register.
2) DS = 1 refers to the pin having a strong drive strength which is programmable via Px_DS register.
3) Not subjected to production test, verified by design/characterization. Hysteresis is implemented to avoid meta
stable states and switching due to internal ground bounce. It cannot be guaranteed that it suppresses
switching due to external system noise.
4) An additional error current (IINJ) will flow if an overload current flows through an adjacent pin. TMS pin and
RESET pin have internal pull devices and are not included in the input leakage current characteristic.
5) Not subjected to production test, verified by design/characterization.
Data Sheet
113
V0.1, 2008-04
XC878CLM
Advance Information
4.2.2
Electrical Parameters
Supply Threshold Characteristics
Table 40 provides the characteristics of the supply threshold in the XC878.
5.0V
VDDPPW
VDDP
2.5V
V DDCBO
VDDC
VDDCRDR
VDDCPOR
Figure 33
Supply Threshold Parameters
Table 40
Supply Threshold Parameters (Operating Conditions apply)
Parameters
Symbol
Limit Values
min.
typ.
max.
Unit
VDDC brownout voltage in
active mode1)
VDDCBO
CC
tbd
1.8
tbd
V
RAM data retention voltage
VDDCRDR
VDDPPW
VDDCPOR
CC
tbd
1.2
tbd
V
CC
tbd
4.2
tbd
V
CC
tbd
1.8
tbd
V
VDDP prewarning voltage2)
Power-on reset voltage1)3)
1) Detection is enabled in both active and power-down mode.
2) Detection is enabled for 5.0V power supply variant.
Detection is disabled for 3.3V power supply variant.
3) The reset of EVR is extended by 300 µs typically after the VDDC reaches the power-on reset voltage.
Data Sheet
114
V0.1, 2008-04
XC878CLM
Advance Information
4.2.3
Electrical Parameters
ADC Characteristics
The values in the table below are given for an analog power supply between 4.5 V to
5.5 V. The ADC can be used with an analog power supply down to 3 V. But in this case,
the analog parameters may show a reduced performance. All ground pins (VSS) must be
externally connected to one single star point in the system. The voltage difference
between the ground pins must not exceed 200mV.
Table 41
ADC Characteristics (Operating Conditions apply; VDDP = 5V Range)
Parameter
Symbol
Limit Values
min.
typ .
max.
Unit Test Conditions/
Remarks
V
Analog reference
voltage
VAREF
SR VAGND VDDP
+1
VDDP
Analog reference
ground
VAGND
SR VSS 0.05
VAREF V
Analog input
voltage range
VAIN
SR VAGND –
ADC clocks
fADC
fADCI
VSS
+ 0.05
-1
VAREF V
–
24
–
MHz module clock
–
–
10
MHz internal analog clock
See Figure 30
tS
CC (2 + INPCR0.STC) × µs
tC
EADNL
CC See Section 4.2.3.1
µs
CC –
2
–
LSB 10-bit conversion
Integral
Nonlinearity
EAINL
CC –
2
–
LSB 10-bit conversion
Offset
EAOFF CC –
EAGAIN CC –
CAREFSW CC –
±2
–
LSB 10-bit conversion
−2
–
LSB 10-bit conversion
10
14
pF
2)1)
CAINSW
4
5
pF
2)2)
Sample time
Conversion time
Differential
Nonlinearity
Gain
Switched
capacitance at the
reference voltage
input
Switched
capacitance at the
analog voltage
inputs
Data Sheet
tADCI
CC –
115
V0.1, 2008-04
XC878CLM
Advance Information
Table 41
Parameter
Electrical Parameters
ADC Characteristics (Operating Conditions apply; VDDP = 5V Range)
Symbol
Limit Values
min.
typ .
max.
Unit Test Conditions/
Remarks
Input resistance of RAREF
the reference input
CC –
1
tbd
kΩ
2)
Input resistance of RAIN
the selected analog
channel
CC –
1
tbd
kΩ
2)
1) This represents an equivalent switched capacitance. This capacitance is not switched to the reference voltage
at once. Instead of this, smaller capacitances are successively switched to the reference voltage.
2) The sampling capacity of the conversion C-Network is pre-charged to VAREF/2 before connecting the input to
the C-Network. Because of the parasitic elements, the voltage measured at ANx is lower than VAREF/2.
Data Sheet
116
V0.1, 2008-04
XC878CLM
Advance Information
Electrical Parameters
Analog Input Circuitry
REXT
VAIN
RAIN, On
ANx
CEXT
C AINSW
VAGNDx
Reference Voltage Input Circuitry
R AREF, On
VAREFx
VAREF
C AREFSW
VAGNDx
Figure 34
Data Sheet
ADC Input Circuits
117
V0.1, 2008-04
XC878CLM
Advance Information
4.2.3.1
Electrical Parameters
ADC Conversion Timing
Conversion time, tC = tADC × ( 1 + r × (3 + n + STC) ) , where
r = CTC + 2 for CTC = 00B, 01B or 10B,
r = 32 for CTC = 11B,
CTC = Conversion Time Control (GLOBCTR.CTC),
STC = Sample Time Control (INPCR0.STC),
n = 8 or 10 (for 8-bit and 10-bit conversion respectively),
tADC = 1 / fADC
Data Sheet
118
V0.1, 2008-04
XC878CLM
Advance Information
4.2.4
Electrical Parameters
Power Supply Current
Table 42, Table 43, Table 44 and Table 45 provide the characteristics of the power
supply current in the XC878.
Table 42
Power Supply Current Parameters (Operating Conditions apply;
VDDP = 5V range)
Parameter
Symbol
Limit Values
typ.1)
Unit Test Condition
max.2)
VDDP = 5V Range
Active Mode
Idle Mode
Active Mode with slow-down
enabled
Idle Mode with slow-down
enabled
IDDP
IDDP
IDDP
37.5
tbd
mA
3)
29.2
tbd
mA
4)
10
tbd
mA
5)
IDDP
9.2
tbd
mA
6)
1) The typical IDDP values are based on preliminary measurements and are to be used as reference only. These
values are periodically measured at TA = + 25 °C and VDDP = 5.0 V.
2) The maximum IDDP values are measured under worst case conditions (TA = + 105 °C and VDDP = 5.5 V).
3) IDDP (active mode) is measured with: CPU clock and input clock to all peripherals running at 24 MHz with onchip oscillator of 4 MHz, RESET = VDDP; all other pins are disconnected, no load on ports.
4) IDDP (idle mode) is measured with: CPU clock disabled, watchdog timer disabled, input clock to all peripherals
enabled and running at 24 MHz, RESET = VDDP; all other pins are disconnected, no load on ports.
5) IDDP (active mode with slow-down mode) is measured with: CPU clock and input clock to all peripherals
running at 1 MHz by setting CLKREL in CMCON to 1000B, RESET = VDDP; all other pins are disconnected, no
load on ports.
6) IDDP (idle mode with slow-down mode) is measured with: CPU clock disabled, watchdog timer disabled, input
clock to all peripherals enabled and running at 1 MHz by setting CLKREL in CMCON to 1000B, RESET = VDDP;
all other pins are disconnected, no load on ports.
Data Sheet
119
V0.1, 2008-04
XC878CLM
Advance Information
Table 43
Electrical Parameters
Power Down Current (Operating Conditions apply; VDDP = 5V range)
Parameter
Symbol
Limit Values
typ.1)
Unit Test Condition
max.2)
VDDP = 5V Range
Power-Down Mode3)
IPDP
10
tbd
µA
-
tbd
µA
TA = + 25 °C4)
TA = + 85 °C4)5)
1) The typical IPDP values are based on preliminary measurements and are to be used as reference only. These
values are measured at VDDP = 5.0 V.
2) The maximum IPDP values are measured at VDDP = 5.5 V.
3) IPDP has a maximum value of tbd µA at TA = + 105 °C.
4) IPDP is measured with: RESET = VDDP, VAGND= VSS, RXD/INT0 = VDDP; rest of the ports are programmed to be
input with either internal pull devices enabled or driven externally to ensure no floating inputs.
5) Not subject to production test, verified by design/characterization.
Data Sheet
120
V0.1, 2008-04
XC878CLM
Advance Information
Table 44
Electrical Parameters
Power Supply Current Parameters (Operating Conditions apply;
VDDP = 3.3V range)
Parameter
Symbol
Limit Values
typ.1)
max.2)
Unit Test
Condition
VDDP = 3.3V Range
Active Mode
Idle Mode
Active Mode with slow-down
enabled
Idle Mode with slow-down enabled
IDDP
IDDP
IDDP
35.4
tbd
mA
3)
27.6
tbd
mA
4)
8.6
tbd
mA
5)
IDDP
8
tbd
mA
6)
1) The typical IDDP values are based on preliminary measurements and are to be used as reference only. These
values are periodically measured at TA = + 25 °C and VDDP = 3.3 V.
2) The maximum IDDP values are measured under worst case conditions (TA = + 105 °C and VDDP = 3.6 V).
3) IDDP (active mode) is measured with: CPU clock and input clock to all peripherals running at 24 MHz with onchip oscillator of 4 MHz, RESET = VDDP; all other pins are disconnected, no load on ports.
4) IDDP (idle mode) is measured with: CPU clock disabled, watchdog timer disabled, input clock to all peripherals
enabled and running at 24 MHz, RESET = VDDP; all other pins are disconnected, no load on ports.
5) IDDP (active mode with slow-down mode) is measured with: CPU clock and input clock to all peripherals running
at 1 MHz by setting CLKREL in CMCON to 1000B, RESET = VDDP; all other pins are disconnected, no load on
ports.
6) IDDP (idle mode with slow-down mode) is measured with: CPU clock disabled, watchdog timer disabled, input
clock to all peripherals enabled and running at 1 MHz by setting CLKREL in CMCON to 1000B, RESET = VDDP;
all other pins are disconnected, no load on ports.
Data Sheet
121
V0.1, 2008-04
XC878CLM
Advance Information
Table 45
Electrical Parameters
Power Down Current (Operating Conditions apply; VDDP = 3.3V
range)
Parameter
Symbol
Limit Values
typ.1)
Unit Test Condition
max.2)
VDDP = 3.3V Range
Power-Down Mode3)
IPDP
10
tbd
µA
-
tbd
µA
TA = + 25 °C4)
TA = + 85 °C4)5)
1) The typical IPDP values are based on preliminary measurements and are to be used as reference only. These
values are measured at VDDP = 3.3 V.
2) The maximum IPDP values are measured at VDDP = 3.6 V.
3) IPDP has a maximum value of tbd µA at TA = + 105 °C.
4) IPDP is measured with: RESET = VDDP, VAGND= VSS, RXD/INT0 = VDDP; rest of the ports are programmed to be
input with either internal pull devices enabled or driven externally to ensure no floating inputs.
5) Not subject to production test, verified by design/characterization.
Data Sheet
122
V0.1, 2008-04
XC878CLM
Advance Information
4.3
Electrical Parameters
AC Parameters
The electrical characteristics of the AC Parameters are detailed in this section.
4.3.1
Testing Waveforms
The testing waveforms for rise/fall time, output delay and output high impedance are
shown in Figure 35, Figure 36 and Figure 37.
VDDP
90%
10%
10%
VSS
Figure 35
90%
tF
tR
Rise/Fall Time Parameters
VDDP
VDDE / 2
Test Points
VDDE / 2
VSS
Figure 36
Testing Waveform, Output Delay
VLoad + 0.1 V
VLoad - 0.1 V
Figure 37
Data Sheet
Timing
Reference
Points
VOH - 0.1 V
VOL - 0.1 V
Testing Waveform, Output High Impedance
123
V0.1, 2008-04
XC878CLM
Advance Information
4.3.2
Electrical Parameters
Output Rise/Fall Times
Table 46 provides the characteristics of the output rise/fall times in the XC878.
Table 46
Output Rise/Fall Times Parameters (Operating Conditions apply)
Parameter
Symbol
Limit
Values
Unit Test Conditions
min. max.
VDDP = 5V Range
Rise/fall times1) 2)
t R , tF
–
10
ns
20 pF.3)
t R , tF
–
10
ns
20 pF.4)
VDDP = 3.3V Range
Rise/fall times 1) 2)
1) Rise/Fall time measurements are taken with 10% - 90% of pad supply.
2) Not all parameters are 100% tested, but are verified by design/characterization and test correlation.
3) Additional rise/fall time valid for CL = 20pF - 100pF @ 0.125 ns/pF.
4) Additional rise/fall time valid for CL = 20pF - 100pF @ 0.225 ns/pF.
VDDP
90%
90%
VSS
10%
10%
tF
tR
Figure 38
Data Sheet
Rise/Fall Times Parameters
124
V0.1, 2008-04
XC878CLM
Advance Information
4.3.3
Electrical Parameters
Power-on Reset and PLL Timing
Table 50 provides the characteristics of the power-on reset and PLL timing in the
XC878.
Table 47
Power-On Reset and PLL Timing (Operating Conditions apply)
Parameter
Symbol
Limit Values
min. typ.
On-Chip Oscillator
start-up time
tOSCST
tLOCK
PLL accumulated jitter DP
PLL lock-in in time
Unit Test Conditions
max.
CC –
–
500
ns
CC –
–
200
µs
–
–
tbd
ns
1)
1) PLL lock at 144 MHz using a 4 MHz external oscillator. The PLL Divider settings are K = 2, N = 72 and P = 1.
VDDP
VDDC
VPAD
tOSCST
OSC
PLL unlock
PLL
PLL lock
t LOCK
Pads
3)As Programmed
2)Pull/Input
1)
Pad state undefined
I)until EVR is stable
Figure 39
Data Sheet
II)until PLL is locked
III) Reset is released
and start of program
Power-on Reset Timing
125
V0.1, 2008-04
XC878CLM
Advance Information
4.3.4
Electrical Parameters
On-Chip Oscillator Characteristics
Table 48 provides the characteristics of the on-chip oscillator in the XC878.
Table 48
On-chip Oscillator Characteristics (Operating Conditions apply)
Parameter
Symbol
Limit Values
Unit Test Conditions
min. typ. max.
Nominal frequency
fNOM CC
3.88 4
4.12
MHz under nominal
conditions1) after
IFX-backend trimming
CC
tbd
–
tbd
%
with respect to fNOM, over
lifetime and temperature
(-40°C to 105°C), for one
given device after
trimming
Short term frequency ∆fST CC
deviation
tbd
–
tbd
%
with respect to fNOM, within
one LIN message
(<10 ms .... 100 ms)
Long term frequency ∆fLT
deviation2)
1) Nominal condition: VDDC = 2.5 V, TA = + 25°C.
2) Not all parameters are 100% tested, but are verified by design/characterization and test correlation.
Data Sheet
126
V0.1, 2008-04
XC878CLM
Advance Information
4.3.5
Electrical Parameters
External Clock Drive XTAL1
Table 49 shows the parameters that define the external clock supply for XC878. These
timing parameters are based on the direct XTAL1 drive of clock input signals. They are
not applicable if an external crystal or ceramic resonator is considered.
Table 49
External Clock Drive Characteristics (Operating Conditions apply)
Parameter
Symbol
Limit Values
Min.
Oscillator period1)
tosc
t1
t2
t3
t4
High time2)3)
Low time2)3)
Rise time2)3)
Fall time2)3)
Unit
Max.
SR tbd
tbd
ns
SR tbd
-
ns
SR tbd
-
ns
SR -
tbd
ns
SR -
tbd
ns
1) The clock input signals with 45-55% duty cycle are used.
2) The clock input signal must reach the defined levels VILX and VIHX.
3) Not all parameters are 100% tested, but are verified by design/characterization and test correlation.
t1
t3
t4
VIHX
0.5 V DDC
VILX
t2
tOSC
Figure 40
Data Sheet
External Clock Drive XTAL1
127
V0.1, 2008-04
XC878CLM
Advance Information
4.3.6
Electrical Parameters
JTAG Timing
Table 50 provides the characteristics of the JTAG timing in the XC878.
Table 50
TCK Clock Timing (Operating Conditions apply; CL = 50 pF)
Parameter
Symbol
Limits
min
tTCK
t1
t2
t3
t4
TCK clock period
TCK high time
TCK low time
TCK clock rise time
TCK clock fall time
max
SR
50
-
ns
SR
20
−
ns
SR
20
-
ns
SR
-
4
ns
SR
-
4
ns
0.9 V DDP
0.5 V DDP
TCK
0.1 V DDP
t1
t TCK
t2
t4
t3
Figure 41
TCK Clock Timing
Table 51
JTAG Timing (Operating Conditions apply; CL = 50 pF)
Parameter
Unit
Symbol
Limits
min
Unit
max
Test
Conditions
TMS setup to TCK
t1
SR
tbd
-
ns
TMS hold to TCK
t2
SR
tbd
-
ns
TDI setup to TCK
t1
SR
tbd
-
ns
TDI hold to TCK
t2
SR
tbd
-
ns
TDO valid output from TCK
t3
CC
-
tbd
ns
5V Device
-
tbd
ns
3.3V Device
-
tbd
ns
5V Device
-
tbd
ns
3.3V Device
TDO high impedance to valid
output from TCK
Data Sheet
t4
CC
128
V0.1, 2008-04
XC878CLM
Advance Information
Table 51
Electrical Parameters
JTAG Timing (Operating Conditions apply; CL = 50 pF) (cont’d)
Parameter
Symbol
Limits
min
TDO valid output to high
impedance from TCK
t5
CC
Unit
Test
Conditions
max
-
tbd
ns
5V Device
-
tbd
ns
3.3V Device
TCK
t1
t2
t1
t2
TMS
TDI
t4
t3
t5
TDO
Figure 42
Data Sheet
JTAG Timing
129
V0.1, 2008-04
XC878CLM
Advance Information
4.3.7
Electrical Parameters
SSC Master Mode Timing
Table 52 provides the characteristics of the SSC timing in the XC878.
Table 52
SSC Master Mode Timing (Operating Conditions apply; CL = 50 pF)
Parameter
Symbol
Limit Values
min.
max.
Unit
CC
2*TSSC1)
–
ns
MTSR delay from SCLK
t0
t1
CC
0
tbd
ns
MRST setup to SCLK
t2
SR
tbd
–
ns
MRST hold from SCLK
t3
SR
0
–
ns
SCLK clock period
1) TSSCmin = TCPU = 1/fCPU. When fCPU = 24 MHz, t0 = 83.3ns. TCPU is the CPU clock period.
t0
SCLK1)
t1
t1
MTSR1)
t2
t3
Data
valid
MRST1)
t1
1) This timing is based on the following setup: CON.PH = CON.PO = 0.
SSC_Tmg1
Figure 53
Data Sheet
SSC Master Mode Timing
130
V0.1, 2008-04
XC878CLM
Advance Information
5
Package and Quality Declaration
Package and Quality Declaration
Chapter 5 provides the information of the XC878 package and reliability section.
5.1
Package Parameters
Table 1 provides the thermal characteristics of the PG-TQFP-64 package used in
XC878.
Table 1
Parameter
Thermal Characteristics of the Packages
Symbol
Limit Values
Min.
Unit
Notes
Max.
Thermal resistance junction RTJC
case1)
CC -
tbd
K/W
-
Thermal resistance junction RTJL
lead1)
CC -
tbd
K/W
-
1) The thermal resistances between the case and the ambient (RTCA) , the lead and the ambient (RTLA) are to be
combined with the thermal resistances between the junction and the case (RTJC), the junction and the lead
(RTJL) given above, in order to calculate the total thermal resistance between the junction and the ambient
(RTJA). The thermal resistances between the case and the ambient (RTCA), the lead and the ambient (RTLA)
depend on the external system (PCB, case) characteristics, and are under user responsibility.
The junction temperature can be calculated using the following equation: TJ=TA+RTJA × PD, where the RTJA is
the total thermal resistance between the junction and the ambient. This total junction ambient resistance RTJA
can be obtained from the upper four partial thermal resistances, by
a) simply adding only the two thermal resistances (junction lead and lead ambient), or
b) by taking all four resistances into account, depending on the precision needed.
Data Sheet
133
V0.1, 2008-04
XC878CLM
Advance Information
5.2
Package and Quality Declaration
Package Outline
Figure 43 shows the package outlines of the XC878.
Figure 43
Data Sheet
PG-TQFP-64 Package Outline
134
V0.1, 2008-04
XC878CLM
Advance Information
5.3
Package and Quality Declaration
Quality Declaration
Table 2 shows the characteristics of the quality parameters in the XC878.
Table 2
Quality Parameters
Parameter
Symbol Limit Values
Unit
Notes
Min.
Max.
ESD susceptibility
VHBM
according to Human Body
Model (HBM)
-
2000
V
Conforming to
EIA/JESD22A114-B
VCDM
-
500
V
Conforming to
JESD22-C101-C
ESD susceptibility
according to Charged
Device Model (CDM) pins
Data Sheet
135
V0.1, 2008-04
w w w . i n f i n e o n . c o m
Published by Infineon Technologies AG