The information herein is given to describe certain components and shall not be considered as warranted
characteristics.
Terms of delivery and rights to technical change reserved.
We hereby disclaim any and all warranties, including but not limited to warranties of non-infringement, regarding
circuits, descriptions and charts stated herein.
Infineon Technologies is an approved CECC manufacturer.
Information
For further information on technology, delivery terms and conditions and prices please contact your nearest
Infineon Technologies Office in Germany or our Infineon Technologies Representatives worldwide.
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.
New package due to new assembly line. MQFP-144-1 for current deliveries only, will be discontinued.
, t43, t44, t46, t47 changed
42
Controller Area Network (CAN): License of Robert Bosch GmbH
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:
mcdocu.comments@infineon.com
C167CS16-Bit Single-Chip Microcontroller
C166 Family
C167CS-4R, C167CS-L
• High Performance 16-bit CPU with 4-Stage Pipeline
– 80/60/50 ns Instruction Cycle Time at 25/33/40 MHz CPU Clock
– 400/303/250 ns Multiplication (16
– Enhanced Boolean Bit Manipulation Facilities
– Additional Instructions to Support HLL and Operating Systems
– Register-Based Design with Multiple Variable Register Banks
– Single-Cycle Context Switching Support
– 16 MBytes Total Linear Address Space for Code and Data
– 1024 Bytes On-Chip Special Function Register Area
• 16-Priority-Level Interrupt System with 56 Sources, Sample-Rate down to 40/30/25 ns
• 8-Channel Interrupt-Driven Single-Cycle Data Transfer Facilities via
Peripheral Event Controller (PEC)
• Clock Generation via on-chip PLL (factors 1:1.5/2/2.5/3/4/5),
via prescaler or via direct clock input
• On-Chip Peripheral Modules
– 24-Channel 10-bit A/D Converter with Programmable Conversion Time
down to 7.8
– Two 16-Channel Capture/Compare Units
– 4-Channel PWM Unit
– Two Multi-Functional General Purpose Timer Units with 5 Timers
– Two Serial Channels (Synchronous/Asynchronous and High-Speed-Synchronous)
– Two On-Chip CAN Interfaces (Rev. 2.0B active) with 2
(Full CAN/Basic CAN), can work on one bus with 30 objects
– On-Chip Real Time Clock
• Up to 16 MBytes External Address Space for Code and Data
– Programmable External Bus Characteristics for Different Address Ranges
– Multiplexed or Demultiplexed External Address/Data Buses with 8-Bit or 16-Bit
Data Bus Width
– Five Programmable Chip-Select Signals
– Hold- and Hold-Acknowledge Bus Arbitration Support
• Idle, Sleep, and Power Down Modes with Flexible Power Management
• Programmable Watchdog Timer and Oscillator Watchdog
• Up to 111 General Purpose I/O Lines,
partly with Selectable Input Thresholds and Hysteresis
µs
× 16 bit), 800/606/500 ns Division (32-/16-bit)
× 15 Message Objects
Data Sheet1V2.2, 2001-08
C167CS-4R
C167CS-L
• Supported by a Large Range of Development Tools like C-Compilers,
Macro-Assembler Packages, Emulators, Evaluation Boards, HLL-Debuggers,
Simulators, Logic Analyzer Disassemblers, Programming Boards
• On-Chip Bootstrap Loader
• 144-Pin MQFP Package
This document describes several derivatives of the C167 group. Table 1 enumerates
these derivatives and summarizes the differences. As this document refers to all of these
derivatives, some descriptions may not apply to a specific product.
Table 1C167CS Derivative Synopsis
Derivative
1)
Program MemoryOperating Frequency
SAK-C167CS-LM
---25 MHz
SAB-C167CS-LM
SAK-C167CS-L33M
---33 MHz
SAB-C167CS-L33M
SAK-C167CS-L40M
---40 MHz
SAB-C167CS-L40M
SAK-C167CS-4RM
32 KByte ROM25 MHz
SAB-C167CS-4RM
SAK-C167CS-4R33M
32 KByte ROM33 MHz
SAB-C167CS-4R33M
SAK-C167CS-4R40M
32 KByte ROM40 MHz
SAB-C167CS-4R40M
1)
This Data Sheet is valid for devices starting with and including design step BA.
For simplicity all versions are referred to by the term C167CS throughout this document.
Data Sheet2V2.2, 2001-08
C167CS-4R
C167CS-L
Ordering Information
The ordering code for Infineon 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 C167CS please refer to the “Product CatalogMicrocontrollers”, which summarizes all available microcontroller variants.
Note: The ordering codes for Mask-ROM versions are defined for each product after
verification of the respective ROM code.
Introduction
The C167CS derivatives are high performance derivatives of the Infineon C166 Family
of full featured single-chip CMOS microcontrollers. They combine high CPU
performance (up to 20 million instructions per second) with high peripheral functionality
and enhanced IO-capabilities. They also provide clock generation via PLL and various
on-chip memory modules such as program ROM, internal RAM, and extension RAM.
*) The marked pins of Port 4 and Port 8 can have CAN interface lines assigned to them.
Table 2 on the pages below lists the possible assignments.
Data Sheet4V2.2, 2001-08
Table 2Pin Definitions and Functions
C167CS-4R
C167CS-L
Symbol Pin
Num.
P6
P6.0
P6.1
P6.2
P6.3
P6.4
P6.5
P6.6
P6.7
1
2
3
4
5
6
7
8
P8
P8.0
P8.1
P8.2
P8.3
P8.4
P8.5
P8.6
P8.7
9
10
11
12
13
14
15
16
Input
Outp.
IO
O
O
O
O
O
I
I/O
O
IO
I/O
I
I
I/O
O
O
I/O
I
I
I/O
I
I
I/O
I/O
I/O
I/O
Function
Port 6 is an 8-bit bidirectional I/O port. It is bit-wise
programmable for input or output via direction bits. For a pin
configured as input, the output driver is put into highimpedance state. Port 6 outputs can be configured as push/
pull or open drain drivers.
The Port 6 pins also serve for alternate functions:
CS0
CS1
CS2
CS3
CS4
HOLD
HLDA
Port 8 is an 8-bit bidirectional I/O port. It is bit-wise
programmable for input or output via direction bits. For a pin
configured as input, the output driver is put into highimpedance state. Port 8 outputs can be configured as push/
pull or open drain drivers. The input threshold of Port 8 is
selectable (TTL or special). Port 8 pins provide inputs/
outputs for CAPCOM2 and serial interface lines.
1)
CC16IOCAPCOM2: CC16 Capture Inp./Compare Outp.,
CAN1_RxD CAN 1 Receive Data Input,
CAN2_RxD CAN 2 Receive Data Input
CC17IOCAPCOM2: CC17 Capture Inp./Compare Outp.,
CAN1_TxD CAN 1 Transmit Data Output,
CAN2_TxD CAN 2 Transmit Data Output
CC18IOCAPCOM2: CC18 Capture Inp./Compare Outp.,
CAN1_RxD CAN 1 Receive Data Input,
CAN2_RxD CAN 2 Receive Data Input
CC19IOCAPCOM2: CC19 Capture Inp./Compare Outp.,
CAN1_TxD CAN 1 Transmit Data Output,
CAN2_TxD CAN 2 Transmit Data Output
CC20IOCAPCOM2: CC20 Capture Inp./Compare Outp.
CC21IOCAPCOM2: CC21 Capture Inp./Compare Outp.
CC22IOCAPCOM2: CC22 Capture Inp./Compare Outp.
CC23IOCAPCOM2: CC23 Capture Inp./Compare Outp.
Port 7 is an 8-bit bidirectional I/O port. It is bit-wise
programmable for input or output via direction bits. For a pin
configured as input, the output driver is put into highimpedance state. Port 7 outputs can be configured as push/
pull or open drain drivers. The input threshold of Port 7 is
selectable (TTL or special).
The following Port 7 pins also serve for alternate functions:
POUT0PWM Channel 0 Output
POUT1PWM Channel 1 Output
POUT2PWM Channel 2 Output
POUT3PWM Channel 3 Output
CC28IOCAPCOM2: CC28 Capture Inp./Compare Outp.
CC29IOCAPCOM2: CC29 Capture Inp./Compare Outp.
CC30IOCAPCOM2: CC30 Capture Inp./Compare Outp.
CC31IOCAPCOM2: CC31 Capture Inp./Compare Outp.
Port 5 is a 16-bit input-only port with Schmitt-Trigger char.
The pins of Port 5 also serve as analog input channels for the
A/D converter, or they serve as timer inputs:
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
AN8
AN9
AN10,T6EUDGPT2 Timer T6 Ext. Up/Down Ctrl. Inp.
AN11,T5EUDGPT2 Timer T5 Ext. Up/Down Ctrl. Inp.
AN12,T6INGPT2 Timer T6 Count Inp.
AN13,T5INGPT2 Timer T5 Count Inp.
AN14,T4EUDGPT1 Timer T4 Ext. Up/Down Ctrl. Inp.
AN15,T2EUDGPT1 Timer T2 Ext. Up/Down Ctrl. Inp.
Data Sheet6V2.2, 2001-08
Table 2Pin Definitions and Functions (cont’d)
C167CS-4R
C167CS-L
Symbol Pin
Num.
P2
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
P2.8
P2.9
P2.10
P2.11
P2.12
P2.13
P2.14
P2.15
47
48
49
50
51
52
53
54
57
58
59
60
61
62
63
64
Input
Outp.
IO
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I
I/O
I
I/O
I
I/O
I
I/O
I
I/O
I
I/O
I
I/O
I
I
Function
Port 2 is a 16-bit bidirectional I/O port. It is bit-wise
programmable for input or output via direction bits. For a pin
configured as input, the output driver is put into highimpedance state. Port 2 outputs can be configured as push/
pull or open drain drivers. The input threshold of Port 2 is
selectable (TTL or special).
The following Port 2 pins also serve for alternate functions:
CC0IOCAPCOM1: CC0 Capture Inp./Compare Output
CC1IOCAPCOM1: CC1 Capture Inp./Compare Output
CC2IOCAPCOM1: CC2 Capture Inp./Compare Output
CC3IOCAPCOM1: CC3 Capture Inp./Compare Output
CC4IOCAPCOM1: CC4 Capture Inp./Compare Output
CC5IOCAPCOM1: CC5 Capture Inp./Compare Output
CC6IOCAPCOM1: CC6 Capture Inp./Compare Output
CC7IOCAPCOM1: CC7 Capture Inp./Compare Output
CC8IOCAPCOM1: CC8 Capture Inp./Compare Output,
EX0INFast External Interrupt 0 Input
CC9IOCAPCOM1: CC9 Capture Inp./Compare Output,
EX1INFast External Interrupt 1 Input
CC10IOCAPCOM1: CC10 Capture Inp./Compare Outp.,
EX2INFast External Interrupt 2 Input
CC11IOCAPCOM1: CC11 Capture Inp./Compare Outp.,
EX3INFast External Interrupt 3 Input
CC12IOCAPCOM1: CC12 Capture Inp./Compare Outp.,
EX4INFast External Interrupt 4 Input
CC13IOCAPCOM1: CC13 Capture Inp./Compare Outp.,
EX5INFast External Interrupt 5 Input
CC14IOCAPCOM1: CC14 Capture Inp./Compare Outp.,
EX6INFast External Interrupt 6 Input
CC15IOCAPCOM1: CC15 Capture Inp./Compare Outp.,
EX7INFast External Interrupt 7 Input,
T7INCAPCOM2: Timer T7 Count Input
Note: During Sleep Mode a spike filter on the EXnIN
interrupt inputs suppresses input pulses <10 ns.
Input pulses >100 ns safely pass the filter.
Port 3 is a 15-bit bidirectional I/O port. It is bit-wise
programmable for input or output via direction bits. For a pin
configured as input, the output driver is put into highimpedance state. Port 3 outputs can be configured as push/
pull or open drain drivers. The input threshold of Port 3 is
selectable (TTL or special).
The following Port 3 pins also serve for alternate functions:
T0INCAPCOM1 Timer T0 Count Input
T6OUTGPT2 Timer T6 Toggle Latch Output
CAPINGPT2 Register CAPREL Capture Input
T3OUTGPT1 Timer T3 Toggle Latch Output
T3EUDGPT1 Timer T3 External Up/Down Control Input
T4INGPT1 Timer T4 Count/Gate/Reload/Capture Inp
T3INGPT1 Timer T3 Count/Gate Input
T2INGPT1 Timer T2 Count/Gate/Reload/Capture Inp
MRSTSSC Master-Receive/Slave-Transmit Inp./Outp.
MTSRSSC Master-Transmit/Slave-Receive Outp./Inp.
T
×D0ASC0 Clock/Data Output (Async./Sync.)
R
×D0ASC0 Data Input (Async.) or Inp./Outp. (Sync.)
BHE
WRH
SCLKSSC Master Clock Output / Slave Clock Input.
CLKOUTSystem Clock Output (= CPU Clock)
FOUTProgrammable Frequency Output
External Memory High Byte Enable Signal,
External Memory High Byte Write Strobe
N.C.84–This pin is not connected in the C167CS.
No connection to the PCB is required.
Data Sheet8V2.2, 2001-08
Table 2Pin Definitions and Functions (cont’d)
C167CS-4R
C167CS-L
Symbol Pin
Num.
P4
P4.0
P4.1
P4.2
P4.3
P4.4
P4.5
P4.6
P4.7
85
86
87
88
89
90
91
92
Input
Outp.
IO
O
O
O
O
O
I
O
I
O
O
O
O
I
O
I
Function
Port 4 is an 8-bit bidirectional I/O port. It is bit-wise
programmable for input or output via direction bits. For a pin
configured as input, the output driver is put into highimpedance state. The Port 4 outputs can be configured as
push/pull or open drain drivers. The input threshold of Port 4
is selectable (TTL or special).
Port 4 can be used to output the segment address lines and
for serial interface lines:
1)
A16Least Significant Segment Address Line
A17Segment Address Line
A18Segment Address Line
A19Segment Address Line
A20Segment Address Line,
CAN2_RxD CAN 2 Receive Data Input
A21Segment Address Line,
CAN1_RxD CAN 1 Receive Data Input
A22Segment Address Line,
CAN1_TxD CAN 1 Transmit Data Output,
CAN2_TxD CAN 2 Transmit Data Output
A23Most Significant Segment Address Line,
CAN1_RxD CAN 1 Receive Data Input,
CAN2_TxD CAN 2 Transmit Data Output,
CAN2_RxD CAN 2 Receive Data Input
RD
95OExternal Memory Read Strobe. RD is activated for every
external instruction or data read access.
WR
/
WRL
96OExternal Memory Write Strobe. In WR-mode this pin is
activated for every external data write access. In WRL
-mode
this pin is activated for low byte data write accesses on a
16-bit bus, and for every data write access on an 8-bit bus.
See WRCFG in register SYSCON for mode selection.
READY 97IReady Input. When the Ready function is enabled, a high
level at this pin during an external memory access will force
the insertion of memory cycle time waitstates until the pin
returns to a low level.
An internal pullup device will hold this pin high when nothing
is driving it.
Data Sheet9V2.2, 2001-08
Table 2Pin Definitions and Functions (cont’d)
C167CS-4R
C167CS-L
Symbol Pin
Num.
ALE98OAddress Latch Enable Output. Can be used for latching the
EA
PORT0
P0L.0-7
P0H.0-7
99IExternal Access Enable pin. A low level at this pin during and
100107
108,
111117
Input
Outp.
IOPORT0 consists of the two 8-bit bidirectional I/O ports P0L
Function
address into external memory or an address latch in the
multiplexed bus modes.
after Reset forces the C167CS to begin instruction execution
out of external memory. A high level forces execution out of
the internal program memory.
“ROMless” versions must have this pin tied to ‘0’.
and P0H. It is bit-wise programmable for input or output via
direction bits. For a pin configured as input, the output driver
is put into high-impedance state.
In case of an external bus configuration, PORT0 serves as
the address (A) and address/data (AD) bus in multiplexed
bus modes and as the data (D) bus in demultiplexed bus
modes.
PORT1 consists of the two 8-bit bidirectional I/O ports P1L
and P1H. It is bit-wise programmable for input or output via
direction bits. For a pin configured as input, the output driver
is put into high-impedance state. PORT1 is used as the
16-bit address bus (A) in demultiplexed bus modes and also
after switching from a demultiplexed bus mode to a
multiplexed bus mode.
The following PORT1 pins also serve for alternate functions:
AN16Analog Input Channel 16
AN17Analog Input Channel 17
AN18Analog Input Channel 18
AN19Analog Input Channel 19
AN20Analog Input Channel 20
AN21Analog Input Channel 21
AN22Analog Input Channel 22
AN23Analog Input Channel 23
CC24IOCAPCOM2: CC24 Capture Inp./Compare Outp.
CC25IOCAPCOM2: CC25 Capture Inp./Compare Outp.
CC26IOCAPCOM2: CC26 Capture Inp./Compare Outp.
CC27IOCAPCOM2: CC27 Capture Inp./Compare Outp.
XTAL2
XTAL1
137
138
O
I
XTAL2:Output of the oscillator amplifier circuit.
XTAL1:Input to the oscillator amplifier and input to
the internal clock generator
To clock the device from an external source, drive XTAL1,
while leaving XTAL2 unconnected. Minimum and maximum
high/low and rise/fall times specified in the AC
Characteristics must be observed.
Data Sheet11V2.2, 2001-08
Table 2Pin Definitions and Functions (cont’d)
C167CS-4R
C167CS-L
Symbol Pin
Num.
Input
Outp.
Function
RSTIN140I/OReset Input with Schmitt-Trigger characteristics. A low level
at this pin while the oscillator is running resets the C167CS.
An internal pullup resistor permits power-on reset using only
a capacitor connected to
V
SS
.
A spike filter suppresses input pulses <10 ns. Input pulses
>100 ns safely pass the filter. The minimum duration for a
safe recognition should be 100 ns + 2 CPU clock cycles.
In bidirectional reset mode (enabled by setting bit BDRSTEN
in register SYSCON) the RSTIN
line is internally pulled low
for the duration of the internal reset sequence upon any reset
(HW, SW, WDT). See note below this table.
Note: To let the reset configuration of PORT0 settle and to
let the PLL lock a reset duration of ca. 1 ms is
recommended.
RST
OUT
141OInternal Reset Indication Output. This pin is set to a low level
when the part is executing either a hardware-, a software- or
a watchdog timer reset. RSTOUT
remains low until the EINIT
(end of initialization) instruction is executed.
NMI
V
AREF
V
AGND
142INon-Maskable Interrupt Input. A high to low transition at this
pin causes the CPU to vector to the NMI trap routine. When
the PWRDN (power down) instruction is executed, the NMI
pin must be low in order to force the C167CS to go into power
down mode. If NMI
is high, when PWRDN is executed, the
part will continue to run in normal mode.
If not used, pin NMI
The CAN interface lines are assigned to ports P4 and P8 under software control. Within the CAN module
several assignments can be selected.
Note: The following behaviour differences must be observed when the bidirectional reset
is active:
• Bit BDRSTEN in register SYSCON cannot be changed after EINIT and is cleared
automatically after a reset.
• The reset indication flags always indicate a long hardware reset.
• The PORT0 configuration is treated like on a hardware reset. Especially the bootstrap
loader may be activated when P0L.4 is low.
• Pin RSTIN
may only be connected to external reset devices with an open drain output
driver.
• A short hardware reset is extended to the duration of the internal reset sequence.
Data Sheet13V2.2, 2001-08
C167CS-4R
C167CS-L
Functional Description
The architecture of the C167CS combines advantages of both RISC and CISC
processors and of advanced peripheral subsystems in a very well-balanced way. In
addition the on-chip memory blocks allow the design of compact systems with maximum
performance.
Figure 3 gives an overview of the different on-chip components and of the advanced,
high bandwidth internal bus structure of the C167CS.
Note: All time specifications refer to a CPU clock of 40 MHz
(see definition in the AC Characteristics section).
8
8
ProgMem
ROM
32 KByte
XRAM
6+2 KByte
CAN2
Rev 2.0B active
CAN1
Rev 2.0B active
XBUS Control
Port 4
External Bus
Control
Port 6
Port 0
16
EBC
Instr. / Data
)
x
u
m
e
it D
-B
6
(1
S
U
B
X
ip
h
-C
n
O
Port 1
32
16
16
16
External Instr. / Data
Interrupt Controller
ADC
10-Bit
16+8
Channels
ASC0
(USART)
BRGen
Port 5Port 3
16
C166-Core
CPU
SSC
(SPI)
BRGen
PEC
16-Level
Priority
15
Interrupt Bus
GPT
T2
T3
T4
T5
T6
Data
Data
16
16
IRAM
Internal
Dual Port
3 KByte
RAM
Osc / PLL
RTCWDT
16
Peripheral Data Bus
PWMCCOM1
Port 7
CCOM2
8
T7
T8
T0
T1
Port 8
8
MCB04323_7CS
XTAL
16
Port 2
Figure 3Block Diagram
The program memory, the internal RAM (IRAM) and the set of generic peripherals are
connected to the CPU via separate buses. A fourth bus, the XBUS, connects external
resources as well as additional on-chip resources, the X-Peripherals (see Figure 3).
The XBUS resources (XRAM, CAN) of the C167CS can be individually enabled or
disabled during initialization. Register XPERCON selects the required modules which
are then enabled by setting the general X-Peripheral enable bit XPEN (SYSCON.2).
Modules that are disabled consume neither address space nor port pins.
Note: The default value of register XPERCON after reset selects 2 KByte XRAM and
module CAN1, so the default XBUS resources are compatible with the C167CR.
Data Sheet14V2.2, 2001-08
C167CS-4R
C167CS-L
Memory Organization
The memory space of the C167CS is configured in a Von Neumann architecture which
means that code memory, data memory, registers and I/O ports are organized within the
same linear address space which includes 16 MBytes. The entire memory space can be
accessed bytewise or wordwise. Particular portions of the on-chip memory have
additionally been made directly bitaddressable.
The C167CS incorporates 32 KBytes of on-chip mask-programmable ROM (not in the
ROM-less derivative, of course) for code or constant data. The 32 KBytes of the on-chip
ROM can be mapped either to segment 0 or segment 1.
3 KBytes of on-chip Internal RAM (IRAM) are provided as a storage for user defined
variables, for the system stack, general purpose register banks and even for code. A
register bank can consist of up to 16 wordwide (R0 to R15) and/or bytewide (RL0, RH0,
…, RL7, RH7) so-called General Purpose Registers (GPRs).
1024 bytes (2
Register areas (SFR space and ESFR space). SFRs are wordwide registers which are
used for controlling and monitoring functions of the different on-chip units. Unused SFR
addresses are reserved for future members of the C166 Family.
8 KBytes of on-chip Extension RAM (XRAM), organized as two blocks of 2 KByte and
6 KByte, respectively, are provided to store user data, user stacks, or code. The XRAM
is accessed like external memory and therefore cannot be used for the system stack or
for register banks and is not bitaddressable. The XRAM permits 16-bit accesses with
maximum speed.
In order to meet the needs of designs where more memory is required than is provided
on chip, up to 16 MBytes of external RAM and/or ROM can be connected to the
microcontroller.
× 512 bytes) of the address space are reserved for the Special Function
Data Sheet15V2.2, 2001-08
C167CS-4R
C167CS-L
External Bus Controller
All of the external memory accesses are performed by a particular on-chip External Bus
Controller (EBC). It can be programmed either to Single Chip Mode when no external
memory is required, or to one of four different external memory access modes, which are
as follows:
In the demultiplexed bus modes, addresses are output on PORT1 and data is input/
output on PORT0 or P0L, respectively. In the multiplexed bus modes both addresses
and data use PORT0 for input/output.
Important timing characteristics of the external bus interface (Memory Cycle Time,
Memory Tri-State Time, Length of ALE and Read Write Delay) have been made
programmable to allow the user the adaption of a wide range of different types of
memories and external peripherals.
In addition, up to 4 independent address windows may be defined (via register pairs
ADDRSELx / BUSCONx) which control the access to different resources with different
bus characteristics. These address windows are arranged hierarchically where
BUSCON4 overrides BUSCON3 and BUSCON2 overrides BUSCON1. All accesses to
locations not covered by these 4 address windows are controlled by BUSCON0.
Up to 5 external CS
external glue logic. The C167CS offers the possibility to switch the CS
unlatched mode. In this mode the internal filter logic is switched off and the CS
are directly generated from the address. The unlatched CS
CSCFG (SYSCON.6).
Access to very slow memories or memories with varying access times is supported via
a particular ‘Ready’ function.
A HOLD
resources with other bus masters. The bus arbitration is enabled by setting bit HLDEN
in register PSW. After setting HLDEN once, pins P6.7 … P6.5 (BREQ
are automatically controlled by the EBC. In Master Mode (default after reset) the HLDA
pin is an output. By setting bit DP6.7 to ‘1’ the Slave Mode is selected where pin HLDA
is switched to input. This allows to directly connect the slave controller to another master
controller without glue logic.
For applications which require less than 16 MBytes of external memory space, this
address space can be restricted to 1 MByte, 256 KByte, or to 64 KByte. In this case
Port 4 outputs four, two, or no address lines at all. It outputs all 8 address lines, if an
address space of 16 MBytes is used.
/HLDA protocol is available for bus arbitration and allows to share external
signals (4 windows plus default) can be generated in order to save
outputs to an
signals
mode is enabled by setting
, HLDA, HOLD)
Data Sheet16V2.2, 2001-08
C167CS-4R
C167CS-L
Note: When one or both of the on-chip CAN Modules are used with the interface lines
assigned to Port 4, the CAN lines override the segment address lines and the
segment address output on Port 4 is therefore limited to 6/4 bits i.e. address lines
A21/A19 … A16. CS
addressable external memory.
Central Processing Unit (CPU)
The main core of the CPU consists of a 4-stage instruction pipeline, a 16-bit arithmetic
and logic unit (ALU) and dedicated SFRs. Additional hardware has been spent for a
separate multiply and divide unit, a bit-mask generator and a barrel shifter.
Based on these hardware provisions, most of the C167CS’s instructions can be
executed in just one machine cycle which requires 50 ns at 40 MHz CPU clock. For
example, shift and rotate instructions are always processed during one machine cycle
independent of the number of bits to be shifted. All multiple-cycle instructions have been
optimized so that they can be executed very fast as well: branches in 2 cycles, a 16
16 bit multiplication in 5 cycles and a 32-/16-bit division in 10 cycles. Another pipeline
optimization, the so-called ‘Jump Cache’, allows reducing the execution time of
repeatedly performed jumps in a loop from 2 cycles to 1 cycle.
The CPU has a register context consisting of up to 16 wordwide GPRs at its disposal.
These 16 GPRs are physically allocated within the on-chip RAM area. A Context Pointer
(CP) register determines the base address of the active register bank to be accessed by
the CPU at any time. The number of register banks is only restricted by the available
internal RAM space. For easy parameter passing, a register bank may overlap others.
A system stack of up to 1024 words is provided as a storage for temporary data. The
system stack is allocated in the on-chip RAM area, and it is accessed by the CPU via the
stack pointer (SP) register. Two separate SFRs, STKOV and STKUN, are implicitly
compared against the stack pointer value upon each stack access for the detection of a
stack overflow or underflow.
The high performance offered by the hardware implementation of the CPU can efficiently
be utilized by a programmer via the highly efficient C167CS instruction set which
includes the following instruction classes:
– Arithmetic Instructions
– Logical Instructions
– Boolean Bit Manipulation Instructions
– Compare and Loop Control Instructions
– Shift and Rotate Instructions
– Prioritize Instruction
– Data Movement Instructions
– System Stack Instructions
– Jump and Call Instructions
– Return Instructions
– System Control Instructions
– Miscellaneous Instructions
The basic instruction length is either 2 or 4 bytes. Possible operand types are bits, bytes
and words. A variety of direct, indirect or immediate addressing modes are provided to
specify the required operands.
Data Sheet18V2.2, 2001-08
C167CS-4R
C167CS-L
Interrupt System
With an interrupt response time within a range from just 5 to 12 CPU clocks (in case of
internal program execution), the C167CS is capable of reacting very fast to the
occurrence of non-deterministic events.
The architecture of the C167CS supports several mechanisms for fast and flexible
response to service requests that can be generated from various sources internal or
external to the microcontroller. Any of these interrupt requests can be programmed to
being serviced by the Interrupt Controller or by the Peripheral Event Controller (PEC).
In contrast to a standard interrupt service where the current program execution is
suspended and a branch to the interrupt vector table is performed, just one cycle is
‘stolen’ from the current CPU activity to perform a PEC service. A PEC service implies a
single byte or word data transfer between any two memory locations with an additional
increment of either the PEC source or the destination pointer. An individual PEC transfer
counter is implicitly decremented for each PEC service except when performing in the
continuous transfer mode. When this counter reaches zero, a standard interrupt is
performed to the corresponding source related vector location. PEC services are very
well suited, for example, for supporting the transmission or reception of blocks of data.
The C167CS has 8 PEC channels each of which offers such fast interrupt-driven data
transfer capabilities.
A separate control register which contains an interrupt request flag, an interrupt enable
flag and an interrupt priority bitfield exists for each of the possible interrupt sources. Via
its related register, each source can be programmed to one of sixteen interrupt priority
levels. Once having been accepted by the CPU, an interrupt service can only be
interrupted by a higher prioritized service request. For the standard interrupt processing,
each of the possible interrupt sources has a dedicated vector location.
Fast external interrupt inputs are provided to service external interrupts with high
precision requirements. These fast interrupt inputs feature programmable edge
detection (rising edge, falling edge or both edges).
Software interrupts are supported by means of the ‘TRAP’ instruction in combination with
an individual trap (interrupt) number.
Table 3 shows all of the possible C167CS interrupt sources and the corresponding
hardware-related interrupt flags, vectors, vector locations and trap (interrupt) numbers.
Note: Interrupt nodes which are not used by associated peripherals, may be used to
generate software controlled interrupt requests by setting the respective interrupt
request bit (xIR).
Data Sheet19V2.2, 2001-08
Table 3C167CS Interrupt Nodes
C167CS-4R
C167CS-L
Source of Interrupt or
PEC Service Request
Request
Flag
Enable
Flag
Interrupt
Vector
Vector
Location
CAPCOM Register 0CC0IRCC0IECC0INT00’0040
CAPCOM Register 1CC1IRCC1IECC1INT00’0044
CAPCOM Register 2CC2IRCC2IECC2INT00’0048
CAPCOM Register 3CC3IRCC3IECC3INT00’004C
CAPCOM Register 4CC4IRCC4IECC4INT00’0050
CAPCOM Register 5CC5IRCC5IECC5INT00’0054
CAPCOM Register 6CC6IRCC6IECC6INT00’0058
CAPCOM Register 7CC7IRCC7IECC7INT00’005C
CAPCOM Register 8CC8IRCC8IECC8INT00’0060
CAPCOM Register 9CC9IRCC9IECC9INT00’0064
CAPCOM Register 10CC10IRCC10IECC10INT00’0068
CAPCOM Register 11CC11IRCC11IECC11INT00’006C
CAPCOM Register 12CC12IRCC12IECC12INT00’0070
H
H
H
H
H
H
H
H
H
H
H
H
H
Trap
Number
10
H
11
H
12
H
13
H
14
H
15
H
16
H
17
H
18
H
19
H
1A
H
1B
H
1C
H
CAPCOM Register 13CC13IRCC13IECC13INT00’0074
CAPCOM Register 14CC14IRCC14IECC14INT00’0078
CAPCOM Register 15CC15IRCC15IECC15INT00’007C
CAPCOM Register 16CC16IRCC16IECC16INT00’00C0
CAPCOM Register 17CC17IRCC17IECC17INT00’00C4
CAPCOM Register 18CC18IRCC18IECC18INT00’00C8
CAPCOM Register 19CC19IRCC19IECC19INT00’00CC
CAPCOM Register 20CC20IRCC20IECC20INT00’00D0
CAPCOM Register 21CC21IRCC21IECC21INT00’00D4
CAPCOM Register 22CC22IRCC22IECC22INT00’00D8
CAPCOM Register 23CC23IRCC23IECC23INT00’00DC
CAPCOM Register 24CC24IRCC24IECC24INT00’00E0
CAPCOM Register 25CC25IRCC25IECC25INT00’00E4
CAPCOM Register 26CC26IRCC26IECC26INT00’00E8
CAPCOM Register 27CC27IRCC27IECC27INT00’00EC
1D
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
1E
1F
30
31
32
33
34
35
36
37
38
39
3A
3B
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
CAPCOM Register 28CC28IRCC28IECC28INT00’00E0
CAPCOM Register 29CC29IRCC29IECC29INT00’0110
Data Sheet20V2.2, 2001-08
3C
H
H
44
H
H
Table 3C167CS Interrupt Nodes (cont’d)
C167CS-4R
C167CS-L
Source of Interrupt or
PEC Service Request
Request
Flag
Enable
Flag
Interrupt
Vector
Vector
Location
CAPCOM Register 30CC30IRCC30IECC30INT00’0114
CAPCOM Register 31CC31IRCC31IECC31INT00’0118
CAPCOM Timer 0T0IRT0IET0INT00’0080
CAPCOM Timer 1T1IRT1IET1INT00’0084
CAPCOM Timer 7T7IRT7IET7INT00’00F4
CAPCOM Timer 8T8IRT8IET8INT00’00F8
GPT1 Timer 2T2IRT2IET2INT00’0088
GPT1 Timer 3T3IRT3IET3INT00’008C
GPT1 Timer 4T4IRT4IET4INT00’0090
GPT2 Timer 5T5IRT5IET5INT00’0094
GPT2 Timer 6T6IRT6IET6INT00’0098
GPT2 CAPREL Reg.CRIRCRIECRINT00’009C
A/D Conversion
ADCIRADCIEADCINT00’00A0
Complete
H
H
H
H
H
H
H
H
H
H
H
H
H
Trap
Number
45
H
46
H
20
H
21
H
3D
H
3E
H
22
H
23
H
24
H
25
H
26
H
27
H
28
H
A/D Overrun ErrorADEIRADEIEADEINT00’00A4
ASC0 TransmitS0TIRS0TIES0TINT00’00A8
ASC0 Transmit BufferS0TBIRS0TBIES0TBINT00’011C
ASC0 ReceiveS0RIRS0RIES0RINT00’00AC
ASC0 ErrorS0EIRS0EIES0EINT00’00B0
SSC TransmitSCTIRSCTIESCTINT00’00B4
SSC ReceiveSCRIRSCRIESCRINT00’00B8
SSC ErrorSCEIRSCEIESCEINT00’00BC
PWM Channel 0 … 3PWMIRPWMIEPWMINT00’00FC
CAN Interface 1XP0IRXP0IEXP0INT00’0100
CAN Interface 2XP1IRXP1IEXP1INT00’0104
Unassigned nodeXP2IRXP2IEXP2INT00’0108
PLL/OWD and RTCXP3IRXP3IEXP3INT00’010C
29
H
H
H
H
H
H
H
H
H
H
H
H
H
2A
47
2B
2C
2D
2E
2F
3F
40
41
42
43
H
H
H
H
H
H
H
H
H
H
H
H
H
Data Sheet21V2.2, 2001-08
Loading...
+ 56 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.