The information given in this document shall in no event be regarded as a guarantee of conditions or
characteristics. 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 non-infringement of intellectual property rights
of any third party.
Information
For further information on technology, delivery terms and conditions and prices, please contact the 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 the nearest Infineon Technologies Office.
Infineon Technologies components may be used in life-support devices or systems only 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.
8-Bit
XC886/888CLM
8-Bit Single Chip Microcontroller
Data Sheet
V1.2 2009-07
Microcontrollers
XC886/888CLM
XC886/888 Data Sheet
Revision History: V1.2 2009-07
Previous Versions: V1.0, V1.1
PageSubjects (major changes since last revision)
Changes from V1.1 2009-01 to V1.2 2009-07
89Note on LIN baud rate detection is added.
92RXD slave line in SSC block diagram is updated.
108Electrical parameters are now valid for all variants, previous note on
exclusion of ROM variants is removed.
116Symbol for ADC error parameters are updated.
120Power supply current parameters for ROM variants are updated.
128Test condition for the on-chip oscillator short term deviation is updated.
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:
• 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
– 12 Kbytes of Boot ROM
– 256 bytes of RAM
– 1.5 Kbytes of XRAM
– 24/32 Kbytes of Flash; or
24/32 Kbytes of ROM, with additional 4 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 or ROM
24K/32K x 8
Boot ROM
12K x 8
XRAM
1.5K x 8
RAM
256 x 8
1) All ROM devices come with an additional 4K x 8 Flash
1)
Timer 0
16-bit
On-Chip Debug Support
XC800 Core
Timer 1
16-bit
Timer 2
16-bit
Timer 21
16-bit
UART
Capture/Compare Unit
Compare Unit
Watchdog
Timer
UART1
SSC
16-bit
16-bit
ADC
10-bit
8-channel
8-bit Digital I/O
Port 0
Port 1
Port 2
Port 3
Port 4Port 5MDUCORDICMultiCAN
8-bit Digital I/O
8-bit Digital I/O
8-bit Digital/
Analog Input
8-bit Digital I/O
8-bit Digital I/O
.
Figure 1XC886/888 Functional Units
Data Sheet1V1.2, 2009-07
XC886/888CLM
Summary of Features
Features: (continued)
•Power-on reset generation
•Brownout detection for core logic supply
•On-chip OSC and PLL for clock generation
– PLL loss-of-lock 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)
•Six ports
– Up to 48 pins as digital I/O
– 8 pins as digital/analog 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)
•Software libraries to support floating point and MDU calculations
•CORDIC Coprocessor for computation of trigonometric, hyperbolic and linear
functions
•MultiCAN with 2 nodes, 32 message objects
•Capture/compare unit for PWM signal generation (CCU6)
•Two full-duplex serial interfaces (UART and UART1)
•Synchronous serial channel (SSC)
•On-chip debug support
– 1 Kbyte of monitor ROM (part of the 12-Kbyte Boot ROM)
– 64 bytes of monitor RAM
•Packages:
– PG-TQFP-48
– PG-TQFP-64
T
•Temperature range
– SAF (-40 to 85 °C)
– SAK (-40 to 125 °C)
:
A
Data Sheet2V1.2, 2009-07
XC886/888CLM
Summary of Features
XC886/888 Variant Devices
The XC886/888 product family features devices with different configurations, program
memory sizes, package options, power supply voltage, temperature and quality profiles
(Automotive or Industrial), to offer cost-effective solutions for different application
requirements.
The list of XC886/888 device configurations are summarized in Table 1. For each
configuration, 2 types of packages are available:
•PG-TQFP-48, which is denoted by XC886 and;
•PG-TQFP-64, which is denoted by XC888.
Table 1Device Configuration
Device NameCAN
Module
LIN BSL
Support
MDU
Module
XC886/888NoNoNo
XC886/888CYesNoNo
XC886/888CMYesNoYes
XC886/888LMNoYesYes
XC886/888CLMYesYesYes
Note: For variants with LIN BSL support, only LIN BSL is available regardless of the
availability of the CAN module.
From these 10 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 profile
(Automotive or Industrial), as shown in Table 2.
Table 2Device Profile
Sales TypeDevice
Type
Program
Memory
(Kbytes)
Power
Supply
(V)
Temperature
(°C)
Quality
Profile
SAK-XC886*/888*-8FFA 5VFlash325.0-40 to 125Automotive
SAK-XC886*/888*-6FFA 5VFlash245.0-40 to 125Automotive
SAF-XC886*/888*-8FFA 5VFlash325.0-40 to 85Automotive
SAF-XC886*/888*-6FFA 5VFlash245.0-40 to 85Automotive
SAF-XC886*/888*-8FFI 5VFlash325.0-40 to 85Industrial
SAF-XC886*/888*-6FFI 5VFlash245.0-40 to 85Industrial
Data Sheet3V1.2, 2009-07
Table 2Device Profile (cont’d)
XC886/888CLM
Summary of Features
Sales TypeDevice
Type
Program
Memory
(Kbytes)
Power
Supply
(V)
Temperature
(°C)
Quality
Profile
SAK-XC886*/888*-8FFA 3V3 Flash323.3-40 to 125Automotive
SAK-XC886*/888*-6FFA 3V3 Flash243.3-40 to 125Automotive
SAF-XC886*/888*-8FFA 3V3 Flash323.3-40 to 85Automotive
SAF-XC886*/888*-6FFA 3V3 Flash243.3-40 to 85Automotive
SAF-XC886*/888*-8FFI 3V3Flash323.3-40 to 85Industrial
SAF-XC886*/888*-6FFI 3V3Flash243.3-40 to 85Industrial
Note: The asterisk (*) above denotes the device configuration letters from Table 1.
Corresponding ROM derivatives will be available on request.
Note: For variants with LIN BSL support, only LIN BSL is available regardless of the
availability of the CAN module.
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 XC886/888
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 XC886/888, please refer to your responsible
sales representative or your local distributor.
Note: The ordering codes for the Mask-ROM versions are defined for each product after
verification of the respective ROM code.
Data Sheet4V1.2, 2009-07
XC886/888CLM
General Device Information
2General Device Information
Chapter 2 contains the block diagram, pin configurations, definitions and functions of the
XC886/888.
2.1Block Diagram
The block diagram of the XC886/888 is shown in Figure 2.
TMS
MBC
RESET
V
DDP
V
SSP
V
DDC
V
SSC
XTAL1
XTAL2
XC886/888
12-Kbyte
Boot ROM
256-byte RAM
64-byte monitor
1.5-Kbyte XRAM
24/32-Kbyte
Flash or ROM
Clock Generator
9.6 MHz
On-chip OSC
1)
+
RAM
PLL
Internal Bus
XC800 Core
T0 & T1UART
UART1CORDIC
SSCMDU
2)
WDT
OCDS
Timer 2
Timer 21
CCU6
MultiCAN
Port 0Port 1Port 2Port 3
ADC
Port 4Port 5
P0.0 - P0.7
P1.0 - P1.7
P2.0 - P2.7
V
AREF
V
AGND
P3.0 - P3.7
P4.0 - P4.7
1) Includes 1-Kbyte monitor ROM
P5.0 - P5.7
2) The 24/32-Kbyte ROM has an additional 4-Kbyte Flash
Figure 2XC886/888 Block Diagram
Data Sheet5V1.2, 2009-07
General Device Information
t
t
t
t
t
t
2.2Logic Symbol
The logic symbols of the XC886/888 are shown in Figure 3.
XC886/888CLM
V
AREF
V
AGND
RESET
MBC
TMS
XTAL1
XTAL2
V
V
DDP
XC886
DDC
V
SSP
V
DDP
V
SSP
Port 0 8-Bi
V
Port 0 7-Bit
Port 1 8-Bit
Port 2 8-Bit
Port 3 8-Bit
Port 4 3-Bit
V
SSC
AREF
V
AGND
RESET
MBC
TMS
XTAL1
XTAL2
V
DDC
XC888
Port 1 8-Bi
Port 2 8-Bi
Port 3 8-Bi
Port 4 8-Bi
Port 5 8-Bi
V
SSC
Figure 3XC886/888 Logic Symbol
Data Sheet6V1.2, 2009-07
XC886/888CLM
General Device Information
2.3Pin Configuration
The pin configuration of the XC886, which is based on the PG-TQFP-48 package, is
shown in
package, is shown in Figure 5.
Figure 4, while that of the XC888, which is based on the PG-TQFP-64
The functions and default states of the XC886/888 external pins are provided in Table 3.
Table 3Pin Definitions and Functions
Symbol Pin Number
(TQFP-48/64)
Type Reset
State
Function
P0I/OPort 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, Timer
Timer
P0.011/17Hi-ZTCK_0
T12HR_1
CC61_1
CLKOUT_0
RXDO_1
P0.113/21Hi-ZTDI_0
T13HR_1
RXD_1
RXDC1_0
COUT61_1
EXF2_1
2,
21, MultiCAN and SSC.
JTAG Clock Input
CCU6 Timer 12 Hardware Run
Input
Input/Output of
Capture/Compare channel 1
Clock Output
UART Transmit Data Output
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
P0.212/18PUCTRAP_2
TDO_0
TXD_1
CCU6 Trap Input
JTAG Serial Data Output
UART Transmit Data
Output/Clock Output
TXDC1_0
MultiCAN Node 1 Transmitter
Output
P0.348/63Hi-ZSCK_1
COUT63_1
SSC Clock Input/Output
Output of Capture/Compare
channel 3
RXDO1_0
Data Sheet9V1.2, 2009-07
UART1 Transmit Data Output
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
P0.41/64Hi-ZMTSR_1
Type Reset
State
Function
SSC Master Transmit Output/
Slave Receive Input
CC62_1
Input/Output of
Capture/Compare channel 2
TXD1_0
UART1 Transmit Data
Output/Clock Output
P0.52/1Hi-ZMRST_1
SSC Master Receive Input/Slave
Transmit Output
EXINT0_0
T2EX1_1
RXD1_0
COUT62_1
External Interrupt Input 0
Timer 21 External Trigger Input
UART1 Receive Data Input
Output of Capture/Compare
channel 2
P0.6–/2PUGPIO
P0.747/62PUCLKOUT_1Clock Output
Data Sheet10V1.2, 2009-07
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
Type Reset
State
Function
P1I/OPort 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,
Timer 2, Timer 21, MultiCAN and SSC.
P1.026/34PURXD_0
T2EX
RXDC0_0
P1.127/35PUEXINT3
T0_1
TDO_1
TXD_0
UART Receive Data Input
Timer 2 External Trigger Input
MultiCAN Node 0 Receiver Input
External Interrupt Input 3
Timer 0 Input
JTAG Serial Data Output
UART Transmit Data
Output/Clock Output
TXDC0_0
MultiCAN Node 0 Transmitter
Output
P1.228/36PUSCK_0SSC Clock Input/Output
P1.329/37PUMTSR_0
TXDC1_3
P1.430/38PUMRST_0
EXINT0_1
RXDC1_3
P1.531/39PUCCPOS0_1
EXINT5
T1_1
EXF2_0
RXDO_0
SSC Master Transmit
Output/Slave Receive Input
MultiCAN Node 1 Transmitter
Output
SSC Master Receive Input/
Slave Transmit Output
External Interrupt Input 0
MultiCAN Node 1 Receiver Input
CCU6 Hall Input 0
External Interrupt Input 5
Timer 1 Input
Timer 2 External Flag Output
UART Transmit Data Output
Data Sheet11V1.2, 2009-07
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
Type Reset
State
Function
P1.68/10PUCCPOS1_1
T12HR_0
EXINT6_0
RXDC0_2
T21_1
P1.79/11PUCCPOS2_1
T13HR_0
T2_1
TXDC0_2
P1.5 and P1.6 can be used as a software chip
select output for the SSC.
CCU6 Hall Input 1
CCU6 Timer 12 Hardware Run
Input
External Interrupt Input 6
MultiCAN Node 0 Receiver Input
Timer 21 Input
CCU6 Hall Input 2
CCU6 Timer 13 Hardware Run
Input
Timer 2 Input
MultiCAN Node 0 Transmitter
Output
Data Sheet12V1.2, 2009-07
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
Type Reset
State
Function
P2IPort 2
Port 2 is an 8-bit general purpose input-only
port. It can be used as alternate functions for
the digital inputs of the JTAG and CCU6. It is
also used as the analog inputs for the ADC.
P2.014/22Hi-ZCCPOS0_0
EXINT1_0
T12HR_2
TCK_1
CC61_3
AN0
P2.115/23Hi-ZCCPOS1_0
EXINT2_0
T13HR_2
TDI_1
CC62_3
AN1
CCU6 Hall Input 0
External Interrupt Input 1
CCU6 Timer 12 Hardware Run
Input
JTAG Clock Input
Input of Capture/Compare
channel 1
Analog Input 0
CCU6 Hall Input 1
External Interrupt Input 2
CCU6 Timer 13 Hardware Run
Input
JTAG Serial Data Input
Input of Capture/Compare
channel 2
Analog Input 1
P2.216/24Hi-ZCCPOS2_0
CTRAP_1
CC60_3
CCU6 Hall Input 2
CCU6 Trap Input
Input of Capture/Compare
channel 0
AN2
Analog Input 2
P2.319/27Hi-ZAN3Analog Input 3
P2.420/28Hi-ZAN4Analog Input 4
P2.521/29Hi-ZAN5Analog Input 5
P2.622/30Hi-ZAN6Analog Input 6
P2.725/33Hi-ZAN7Analog Input 7
Data Sheet13V1.2, 2009-07
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
Type Reset
State
Function
P3I/OPort 3
Port 3 is an 8-bit bidirectional general purpose
I/O port. It can be used as alternate functions
for CCU6, UART1, Timer 21 and MultiCAN.
P3.035/43Hi-ZCCPOS1_2
CC60_0
RXDO1_1
P3.136/44Hi-ZCCPOS0_2
CC61_2
COUT60_0
TXD1_1
P3.237/49Hi-ZCCPOS2_2
RXDC1_1
RXD1_1
CC61_0
CCU6 Hall Input 1
Input/Output of
Capture/Compare channel 0
UART1 Transmit Data Output
CCU6 Hall Input 0
Input/Output of
Capture/Compare channel 1
Output of Capture/Compare
channel 0
UART1 Transmit Data
Output/Clock Output
CCU6 Hall Input 2
MultiCAN Node 1 Receiver Input
UART1 Receive Data Input
Input/Output of
Capture/Compare channel 1
P3.338/50Hi-ZCOUT61_0
Output of Capture/Compare
channel 1
TXDC1_1
MultiCAN Node 1 Transmitter
Output
P3.439/51Hi-ZCC62_0
Input/Output of
Capture/Compare channel 2
RXDC0_1
T2EX1_0
P3.540/52Hi-ZCOUT62_0
MultiCAN Node 0 Receiver Input
Timer 21 External Trigger Input
Output of Capture/Compare
channel 2
EXF21_0
TXDC0_1
Timer 21 External Flag Output
MultiCAN Node 0 Transmitter
Output
P3.633/41PDCTRAP_0CCU6 Trap Input
Data Sheet14V1.2, 2009-07
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
Type Reset
State
Function
P3.734/42Hi-ZEXINT4
COUT63_0
External Interrupt Input 4
Output of Capture/Compare
channel 3
Data Sheet15V1.2, 2009-07
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
Type Reset
State
Function
P4I/OPort 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, Timer 21 and
MultiCAN.
P4.045/59Hi-ZRXDC0_3
CC60_1
P4.146/60Hi-ZTXDC0_3
COUT60_1
P4.2–/61PUEXINT6_1
T21_0
P4.332/40Hi-ZEXF21_1
COUT63_2
MultiCAN Node 0 Receiver Input
Output of Capture/Compare
channel 0
MultiCAN Node 0 Transmitter
Output
Output of Capture/Compare
channel 0
External Interrupt Input 6
Timer 21 Input
Timer 21 External Flag Output
Output of Capture/Compare
channel 3
P4.4–/45Hi-ZCCPOS0_3
T0_0
CC61_4
P4.5–/46Hi-ZCCPOS1_3
T1_0
COUT61_2
P4.6–/47Hi-ZCCPOS2_3
T2_0
CC62_2
P4.7–/48Hi-ZCTRAP_3
COUT62_2
CCU6 Hall Input 0
Timer 0 Input
Output of Capture/Compare
channel 1
CCU6 Hall Input 1
Timer 1 Input
Output of Capture/Compare
channel 1
CCU6 Hall Input 2
Timer 2 Input
Output of Capture/Compare
channel 2
CCU6 Trap Input
Output of Capture/Compare
channel 2
Data Sheet16V1.2, 2009-07
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
Type Reset
State
Function
P5I/OPort 5
Port 5 is an 8-bit bidirectional general purpose
I/O port. It can be used as alternate functions
for UART, UART1 and JTAG.
P5.0–/8PUEXINT1_1External Interrupt Input 1
P5.1–/9PUEXINT2_1External Interrupt Input 2
P5.2–/12PURXD_2UART Receive Data Input
P5.3–/13PUTXD_2UART Transmit Data
Output/Clock Output
P5.4–/14PURXDO_2UART Transmit Data Output
P5.5–/15PUTDO_2
TXD1_2
JTAG Serial Data Output
UART1 Transmit Data Output/
Clock Output
P5.6–/19PUTCK_2
RXDO1_2
JTAG Clock Input
UART1 Transmit Data Output
P5.7–/20PUTDI_2
RXD1_2
JTAG Serial Data Input
UART1 Receive Data Input
Data Sheet17V1.2, 2009-07
Table 3Pin Definitions and Functions (cont’d)
XC886/888CLM
General Device Information
Symbol Pin Number
(TQFP-48/64)
V
DDP
7, 17, 43/
7, 25, 55
Type Reset
Function
State
––I/O Port Supply (3.3 or 5.0 V)
Also used by EVR and analog modules. All
pins must be connected.
V
SSP
18, 42/26, 54––I/O Port Ground
All pins must be connected.
V
V
V
V
DDC
SSC
AREF
AGND
6/6––Core Supply Monitor (2.5 V)
5/5––Core Supply Ground
24/32––ADC Reference Voltage
23/31––ADC Reference Ground
XTAL14/4IHi-ZExternal Oscillator Input
(backup for on-chip OSC, normally NC)
XTAL23/3OHi-ZExternal Oscillator Output
(backup for on-chip OSC, normally NC)
TMS10/16IPDTest Mode Select
RESET41/53IPUReset Input
1)
MBC
44/58IPUMonitor & BootStrap Loader Control
NC–/56, 57––No Connection
1) An external pull-up device in the range of 4.7 kΩ to 100 kΩ. is required to enter user mode. Alternatively MBC
can be tied to high if alternate functions (for debugging) of the pin are not utilized.
Data Sheet18V1.2, 2009-07
XC886/888CLM
Functional Description
3Functional Description
Chapter 3 provides an overview of the XC886/888 functional description.
3.1Processor Architecture
The XC886/888 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 XC886/888 CPU uses a 2-clock
machine cycle. This allows fast access to ROM or RAM memories without wait state.
Access to the Flash memory, however, requires an additional wait state (one machine
cycle). The instruction set consists of 45% one-byte, 41% two-byte and 14% three-byte
instructions.
The XC886/888 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 6 shows the CPU functional blocks.
Core SFRs
External Data
Memory
16-bit R egisters &
Memory Interface
Program Memory
f
CCLK
Memory Wait
Reset
Opcode &
Immediate
Registers
Opcode D ecoder
State Machine &
Power Saving
Internal Data
Memory
Register Interface
External SFRs
ALU
Multiplier / Divider
Timer 0 / Timer 1
UART
Legacy External Interrupts (IEN0, IEN1)
External Interrupts
Non-Maskable Interrupt
Interrupt
Controller
Figure 6CPU Block Diagram
Data Sheet19V1.2, 2009-07
XC886/888CLM
Functional Description
3.2Memory Organization
The XC886/888 CPU operates in the following five address spaces:
•12 Kbytes of Boot ROM program memory
•256 bytes of internal RAM data memory
•1.5 Kbytes of XRAM memory
(XRAM can be read/written as program memory or external data memory)
•A 128-byte Special Function Register area
•24/32 Kbytes of Flash program memory (Flash devices); or
24/32 Kbytes of ROM program memory, with additional 4 Kbytes of Flash
(ROM devices)
Figure 7 illustrates the memory address spaces of the 32-Kbyte Flash devices. For the
24-Kbyte Flash devices, the shaded banks are not available.
XRAM
1.5 Kby tes
Boot ROM
12 Kby tes
D-Fl ash B ank 1
4 Kby tes
D-Fl ash B ank 0
4 Kby tes
D-Fl ash B ank 0
4 Kby tes
D-Fl ash B ank 1
4 Kby tes
P-Flas h Bank s 4 and 5
2 x 4 K bytes
P-Flas h Bank s 2 and 3
2 x 4 K bytes
P-Flas h Bank s 0 and 1
2 x 4 K bytes
1)
FFFF
F600
F000
C000
B000
A000
8000
7000
6000
5000
4000
2000
0000
H
H
H
H
H
H
H
H
H
H
H
H
H
XRAM
1.5 Kby tes
FFFF
F600
F000
0000
H
H
H
H
1)
Indirect
Addr ess
Internal RAM
7F
H
00
H
In 24-K byte Flash dev ic es, the upper 2Kby te of Bank s 4 and 5 ar e not avai labl e.
Direct
Addr ess
Special Function
Registers
Internal RA M
FF
H
80
H
Program Spac eEx ternal Data Spac eInternal Data Spac e
Figure 7Memory Map of XC886/888 Flash Device
For both 24-Kbyte and 32-Kbyte ROM devices, the last four bytes of the ROM from
7FFC
Data Sheet20V1.2, 2009-07
to 7FFFH are reserved for the ROM signature and cannot be used to store user
H
XC886/888CLM
Functional Description
code or data. Therefore, even though the ROM device contains either a 24-Kbyte or 32Kbyte ROM, the maximum size of code that can be placed in the ROM is the given size
less four bytes.
3.2.1Memory Protection Strategy
The XC886/888 memory protection strategy includes:
•Read-out protection: The user is able to protect the contents in the Flash (for Flash
devices) and ROM (for ROM devices) memory from being read
– Flash protection is enabled by programming a valid password (8-bit non-zero
value) via BSL mode 6.
– ROM protection is fixed with the ROM mask and is always enabled.
•Flash program and erase protection: This feature is available only for Flash devices.
3.2.1.1Flash 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 4Flash Protection Modes
Flash Protection Without hardware
protection
Hardware
Protection Mode
ActivationProgram a valid password via BSL mode 6
SelectionBit 4 of password = 0 Bit 4 of password = 1
-01
With hardware protection
Bit 4 of password = 1
MSB of password = 0
MSB of password = 1
P-Flash
contents can be
read by
External access
to P-Flash
Data Sheet21V1.2, 2009-07
Read instructions in
any program memory
Not possibleNot possibleNot possible
Read instructions in
the P-Flash
Read instructions in
the P-Flash or DFlash
Table 4Flash Protection Modes (cont’d)
XC886/888CLM
Functional Description
Flash Protection Without hardware
With hardware protection
protection
P-Flash program
PossibleNot possibleNot possible
and erase
D-Flash
contents can be
Read instructions in
any program memory
Read instructions in
any program memory
read by
External access
Not possibleNot possibleNot possible
to D-Flash
D-Flash
PossiblePossibleNot possible
program
D-Flash erasePossiblePossible, on
condition that bit
DFLASHEN in
register MISC_CON
is set to 1 prior to
each erase operation
Read instructions in
the P-Flash or DFlash
Not possible
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. A
password match triggers an automatic erase of the protected P-Flash and D-Flash
contents, including the programmed password. The Flash protection is then disabled
upon the next reset.
For the ROM device, the ROM is protected at all times and BSL mode 6 is used only to
block external access to the device. However, unlike the Flash device, it is not possible
to disable the memory protection of the ROM device. Here, entering BSL mode 6 will
result in a protection error.
Note: If ROM read-out protection is enabled, only read instructions in the ROM memory
can target the ROM contents.
Although no protection scheme can be considered infallible, the XC886/888 memory
protection strategy provides a very high level of protection for a general purpose
microcontroller.
Data Sheet22V1.2, 2009-07
XC886/888CLM
Functional Description
3.2.2Special Function Register
The Special Function Registers (SFRs) occupy direct internal data memory space in the
range 80
to FFH. All registers, except the program counter, reside in the SFR area. The
H
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.1Address 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 80
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 8F
. To access SFRs in the mapped area, bit RMAP in SFR
H
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.
to FFH, bringing the number of
H
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 Sheet23V1.2, 2009-07
Loading...
+ 114 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.