ChipFind - документация

Электронный компонент: SAF-C164CM-4EF

Скачать:  PDF   ZIP

Document Outline

N e v e r s t o p t h i n k i n g .
M i c r o c o n t r o l l e r s
D a t a S h e e t , V 1 . 0 , M a y 2 0 0 1
C 1 6 4 C M / S M
1 6 - B i t S i n g l e - C h i p M i c r o c o n t r o l l e r
Edition 2001-05
Published by Infineon Technologies AG,
St.-Martin-Strasse 53,
D-81541 Mnchen, Germany
Infineon Technologies AG 2001.
All Rights Reserved.
Attention please!
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.
M i c r o c o n t r o l l e r s
D a t a S h e e t , V 1 . 0 , M a y 2 0 0 1
N e v e r s t o p t h i n k i n g .
C 1 6 4 C M / S M
1 6 - B i t S i n g l e - C h i p M i c r o c o n t r o l l e r
Controller Area Network (CAN): License of Robert Bosch GmbH
C164CM

Revision History:
2001-05
V1.0
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:
mcdocu.comments@infineon.com
Data Sheet
1
V1.0, 2001-05
C164CM
16-Bit Single-Chip Microcontroller
C166 Family
C164CM, C164SM
High Performance 16-bit CPU with 4-Stage Pipeline
80 ns Instruction Cycle Time at 25 MHz CPU Clock
400 ns Multiplication (16
16 bit), 800 ns Division (32 / 16 bit)
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 32 Sources, Sample-Rate down to 40 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 Memory Modules
2 KBytes On-Chip Internal RAM (IRAM)
32 KBytes On-Chip Program Mask ROM or OTP Memory
On-Chip Peripheral Modules
8-Channel 10-bit A/D Converter with Programmable Conversion Time
down to 7.8
s
12-Channel General Purpose Capture/Compare Unit (CAPCOM2)
Capture/Compare Unit for flexible PWM Signal Generation (CAPCOM6)
(3/6 Capture/Compare Channels and 1 Compare Channel)
Multi-Functional General Purpose Timer Unit with 3 Timers
Two Serial Channels (Synchronous/Asynchronous and High-Speed-Synchronous)
On-Chip CAN Interface (Rev. 2.0B active) with 15 Message Objects
(Full CAN/Basic CAN)
On-Chip Real Time Clock
Up to 64 KBytes External Address Space for Code and Data
Programmable External Bus Characteristics for Different Address Ranges
Multiplexed External Address/Data Bus with
- 8-Bit Data Bus Width (2 KBytes Address Space, A10 ... A0, Serial Interfaces)
- 16-Bit Data Bus Width (64 KBytes Address Space, A15 ... A0)
Idle, Sleep, and Power Down Modes with Flexible Power Management
Programmable Watchdog Timer and Oscillator Watchdog
Up to 50 General Purpose I/O Lines
C164CM
C164SM
Data Sheet
2
V1.0, 2001-05
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
64-Pin TQFP Package, 0.5 mm pitch
This document describes several derivatives of the C164 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.
For simplicity all versions are referred to by the term C164CM throughout this document.
Table 1
C164CM Derivative Synopsis
Derivative
1)
1)
This Data Sheet is valid for ROM(less) devices starting with and including design step AA, and for OTP devices
starting with and including design step AA.
Program
Memory
CAPCOM6
CAN Interf.
Operating
Frequency
SAK-C164CM-4RF
SAF-C164CM-4RF
32 KByte ROM
Full function
CAN1
20 MHz
SAK-C164CM-4R25F
SAF-C164CM-4R25F
32 KByte ROM
Full function
CAN1
25 MHz
SAK-C164SM-4RF
SAF-C164SM-4RF
32 KByte ROM
Full function
---
20 MHz
SAK-C164SM-4R25F
SAF-C164SM-4R25F
32 KByte ROM
Full function
---
25 MHz
SAK-C164CM-4EF
SAF-C164CM-4EF
32 KByte OTP
Full function
CAN1
20 MHz
C164CM
C164SM
Data Sheet
3
V1.0, 2001-05
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 C164CM please refer to the "Product Catalog
Microcontrollers"
, 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 C164CM derivatives of the Infineon C166 Family of full featured single-chip CMOS
microcontrollers are especially suited for cost sensitive applications. They combine high
CPU performance (up to 12.5 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 or OTP, internal RAM, and
extension RAM.
Figure 1
Logic Symbol
MCL04954
V
DD
V
SS
XTAL1
XTAL2
Port 0
16 Bit
Port 1
16 Bit
Port 8
4 Bit
Port 5
8 Bit
RSTIN
NMI
V
AREF
V
AGND
Port 20
6 Bit
C164CM
C164CM
C164SM
Data Sheet
4
V1.0, 2001-05
Pin Configuration
(top view)
Figure 2
*) The marked pins of Port 8 can have CAN interface lines assigned to them.
Table 2
on
the pages below lists the possible assignments.
MCP04955
XTAL2
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
P5.7/AN7/T4IN (TRSEL)
V
S
S
P5.6/AN6/T2IN
P5.5/AN5/T4EUD
P5.4/AN4/T2EUD
P5.3/AN3/T3IN
P0.13/AD13/MRST
P0.14/AD14/MTSR
P0.15/AD15/SCLK
V
SS
P0.8/AD8
P0.9/AD9
P0.10/AD10
P0.11/AD11/TxD0
P0.12/AD12/RxD0
V
DD
V
DD
P0.7/AD7
P0.6/AD6
P0.5/AD5
P0.4/AD4
P0.3/AD3
P0.2/AD2
P0.1/AD1
P0.0/AD0
NMI
RSTIN
P20.0/RD
P20.1/W
R
P20.4/ALE
P20.5/EA/Vpp
V
D
D
P20.12/RSTOUT
P1.0/CC60
P1.1/COUT60
P1.2/CC61
P1.3/COUT61
P1.4/CC62
P1.5/COUT62
P1.6/COUT63
P1.7/CTRAP
P1.8/CC6POS0/EX0IN/CC28IO
P1.9/CC6POS1/EX1IN/CC29IO
P1.10/CC6POS2/EX2IN/CC30IO
P1.11/EX3IN/T7IN/CC31IO
V
DD
P20.8/CLKOUT/FOUT
V
SS
XTAL1
V
S
S
P1.12/CC24IO
P1.13/CC25IO
P1.14/CC26IO
P1.15/CC27IO
P8.0/CC16IO/CAN_RxD
P8.1/CC17IO/CAN_TxD
P8.2/CC18IO/CAN_RxD
P8.3/CC19IO/CAN_TxD
P5.0/AN0
P5.1/AN1
P5.2/AN2/T3EUD
V
A
G
N
D
V
A
R
E
F
C164CM
C164CM
C164SM
Data Sheet
5
V1.0, 2001-05
Table 2
Pin Definitions and Functions
Symbol Pin
No.
Input
Outp.
Function
PORT0
P0H.7
P0H.6
P0H.5
P0H.4
P0H.3
P0H.2
P0H.1
P0H.0
P0L.7
P0L.6
P0L.5
P0L.4
P0L.3
P0L.2
P0L.1
P0L.0
8
9
10
11
12
13
14
15
18
19
20
21
22
23
24
25
IO
(I)/O
I/O
(I)/O
I/O
(I)/O
I/O
(I)/O
I/O
(I)/O
O
(I)/O
(I)/O
(I)/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
PORT0 consists of the two 8-bit bidirectional I/O ports P0L
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.
A(D)15
Most Significant Address(/Data) Line
SCLK
SSC Master Clock Output / Slave Clock Input.
A(D)14
Address(/Data) Line
MTSR
SSC Master-Transmit/Slave-Receive Outp./Inp.
A(D)13
Address(/Data) Line
MRST
SSC Master-Receive/Slave-Transmit Inp./Outp.
A(D)12
Address(/Data) Line
RxD0
ASC0 Data Input (Async.) or Inp./Outp. (Sync.)
A(D)11
Address(/Data) Line
TxD0
ASC0 Clock/Data Output (Async./Sync.)
A(D)10
Address(/Data) Line
A(D)9
Address(/Data) Line
A(D)8
Address(/Data) Line
AD7
Address/Data Line
AD6
Address/Data Line
AD5
Address/Data Line
AD4
Address/Data Line
AD3
Address/Data Line
AD2
Address/Data Line
AD1
Address/Data Line
AD0
Least Significant Address/Data Line
NMI
26
I
Non-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 C164CM 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 should be pulled high externally.
C164CM
C164SM
Data Sheet
6
V1.0, 2001-05
RSTIN
27
I/O
Reset Input with Schmitt-Trigger characteristics. A low level
at this pin while the oscillator is running resets the C164CM.
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.
Table 2
Pin Definitions and Functions (cont'd)
Symbol Pin
No.
Input
Outp.
Function
C164CM
C164SM
Data Sheet
7
V1.0, 2001-05
P20
P20.0
P20.1
P20.4
P20.5
P20.8
P20.12
28
29
30
31
34
35
IO
O
O
O
I
O
O
O
Port 20 is a 6-bit bidirectional I/O port (no P20.5 output driver
in the OTP versions). 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.
The following Port 20 pins also serve for alternate functions:
RD
External Memory Read Strobe, activated for
every external instruction or data read access.
WR
External Memory Write Strobe, activated for
every external data write access.
ALE
Address Latch Enable Output.
Can be used for latching the address into external memory
or an address latch in the multiplexed bus modes.
EA
External Access Enable pin.
A low level at this pin during and after Reset forces the
C164CM to latch the configuration from PORT0 and pin RD,
and to begin instruction execution out of external memory.
A high level forces the C164CM to latch the configuration
from pins RD, ALE, and WR, and to begin instruction
execution out of the internal program memory.
"ROMless" versions must have this pin tied to `0'.
V
PP
OTP Programming voltage
The OTP versions of the C164CM receive the programming
voltage via this pin. (No output driver for P20.5 in this case!)
CLKOUT
System Clock Output (= CPU Clock),
FOUT
Programmable Frequency Output
RSTOUT
Internal 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.
Table 2
Pin Definitions and Functions (cont'd)
Symbol Pin
No.
Input
Outp.
Function
C164CM
C164SM
Data Sheet
8
V1.0, 2001-05
PORT1
P1L.0
P1L.1
P1L.2
P1L.3
P1L.4
P1L.5
P1L.6
P1L.7
P1H.0
P1H.1
P1H.2
P1H.3
P1H.4
P1H.5
P1H.6
P1H.7
36
37
38
39
40
41
42
43
44
45
46
47
52
53
54
55
IO
I/O
O
I/O
O
I/O
O
O
I
I
I
I/O
I
I
I/O
I
I
I/O
I
I
I/O
I/O
I/O
I/O
I/O
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.
The following PORT1 pins also serve for alt. functions:
CC60
CAPCOM6: Input / Output of Channel 0
COUT60
CAPCOM6: Output of Channel 0
CC61
CAPCOM6: Input / Output of Channel 1
COUT61
CAPCOM6: Output of Channel 1
CC62
CAPCOM6: Input / Output of Channel 2
COUT62
CAPCOM6: Output of Channel 2
COUT63
Output of 10-bit Compare Channel
CTRAP
CAPCOM6: Trap Input
CTRAP is an input pin with an internal pullup resistor. A low
level on this pin switches the CAPCOM6 compare outputs to
the logic level defined by software (if enabled).
CC6POS0 CAPCOM6: Position 0 Input,
EX0IN
Fast External Interrupt 0 Input,
CC28IO
CAPCOM2: CC28 Capture Inp./Compare Outp.
CC6POS1 CAPCOM6: Position 1 Input,
EX1IN
Fast External Interrupt 1 Input,
CC29IO
CAPCOM2: CC29 Capture Inp./Compare Outp.
CC6POS2 CAPCOM6: Position 2 Input,
EX2IN
Fast External Interrupt 2 Input,
CC30IO
CAPCOM2: CC30 Capture Inp./Compare Outp.
EX3IN
Fast External Interrupt 3 Input,
T7IN
CAPCOM2: Timer T7 Count Input,
CC31IO
CAPCOM2: CC31 Capture Inp./Compare Outp.
CC24IO
CAPCOM2: CC24 Capture Inp./Compare Outp.
CC25IO
CAPCOM2: CC25 Capture Inp./Compare Outp.
CC26IO
CAPCOM2: CC26 Capture Inp./Compare Outp.
CC27IO
CAPCOM2: CC27 Capture Inp./Compare Outp.
XTAL2
XTAL1
49
50
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.
Table 2
Pin Definitions and Functions (cont'd)
Symbol Pin
No.
Input
Outp.
Function
C164CM
C164SM
Data Sheet
9
V1.0, 2001-05
P8
P8.0
P8.1
P8.2
P8.3
56
57
58
59
IO
I/O
I
I/O
O
I/O
I
I/O
O
Port 8 is a 4-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 high-
impedance state. Port 8 outputs can be configured as push/
pull or open drain drivers.
The following Port 8 pins also serve for alternate functions:
CC16IO
CAPCOM2: CC16 Capture Inp./Compare Outp.,
CAN1_RxD CAN1 Receive Data Input
CC17IO
CAPCOM2: CC17 Capture Inp./Compare Outp.,
CAN1_TxD CAN1 Transmit Data Output
CC18IO
CAPCOM2: CC18 Capture Inp./Compare Outp.,
CAN1_RxD CAN1 Receive Data Input
CC19IO
CAPCOM2: CC19 Capture Inp./Compare Outp.,
CAN1_TxD CAN1 Transmit Data Output
Note: The CAN interface lines are only available in the
C164CM.
P5
P5.0
P5.1
P5.2
P5.3
P5.4
P5.5
P5.6
P5.7
62
63
64
1
2
3
4
5
I
I
I
I
I
I
I
I
I
Port 5 is an 8-bit input-only port with Schmitt-Trigger
characteristic.
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,
T3EUD GPT1 Timer T3 Ext. Up/Down Ctrl. Inp.
AN3,
T3IN
GPT1 Timer T3 Count Input
AN4,
T2EUD GPT1 Timer T5 Ext. Up/Down Ctrl. Inp.
AN5,
T4EUD GPT1 Timer T4 Ext. Up/Down Ctrl. Inp.
AN6,
T2IN
GPT1 Timer T2 Count Input
AN7,
T4IN
GPT1 Timer T4 Count Input
V
AGND
60
Reference ground for the A/D converter.
V
AREF
61
Reference voltage for the A/D converter.
V
DD
7, 16,
32, 48
Digital Supply Voltage:
+5 V during normal operation and idle mode.
2.5 V during power down mode.
V
SS
6, 17,
33, 51
Digital Ground.
Table 2
Pin Definitions and Functions (cont'd)
Symbol Pin
No.
Input
Outp.
Function
C164CM
C164SM
Data Sheet
10
V1.0, 2001-05
Note: The following behavior 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 as if it were a hardware reset. In particular, 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.
C164CM
C164SM
Data Sheet
11
V1.0, 2001-05
Functional Description
The architecture of the C164CM 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.
The following block diagram gives an overview of the different on-chip components and
of the advanced, high bandwidth internal bus structure of the C164CM.
Note: All time specifications refer to a CPU clock of 25 MHz
(see definition in the AC Characteristics section).
Figure 3
Block 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 resoures, the X-Peripherals (see
Figure 3
).
The XBUS resources (CAN) of the C164CM can be enabled or disabled during
initialization by setting the general X-Peripheral enable bit XPEN (SYSCON.2). Modules
that are disabled consume neither address space nor port pins.
C166-Core
CPU
Interrupt Bus
XTAL
MCB04323_4cm
Osc / PLL
RTC
WDT
32
16
Interrupt Controller 16-Level
Priority
PEC
External Instr. / Data
GPT1
T2
T3
T4
SSC
BRGen
(SPI)
ASC0
BRGen
(USART)
ADC
10-Bit
8
Channels
CCOM2
T7
T8
CCOM6
T12
T13
EBC
XBUS Control
External Bus
Control
IRAM
D
u
a
l P
o
rt
Internal
RAM
2 KByte
ProgMem
ROM / OTP
32 KByte
Data
Data
16
16
16
CAN
Rev 2.0B active
Instr. / Data
Port 0
6
16
8
Port 5
Port 1
P
o
rt 2
0
O
n
-C
h
ip
X
B
U
S
(1
6
-B
it D
e
m
u
x
)
Peripheral Data Bus
16
16
P
o
rt 8
4
C164CM
C164SM
Data Sheet
12
V1.0, 2001-05
Memory Organization
The memory space of the C164CM 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 C164CM incorporates 32 KBytes of on-chip OTP memory or on-chip mask-
programmable ROM (not in the ROM-less derivative, of course) for code or constant
data. The on-chip ROM/OTP can be mapped either to segment 0 or segment 1.
The OTP memory can be programmed by the CPU itself (in system, e.g. during booting)
or directly via an external interface (e.g. before assembly). The programming time is
approx. 100
s per word. An external programming voltage
V
PP
= 11.5 V must be
supplied for this purpose (via pin EA/
V
PP
).
2 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
512 bytes) of the address space are reserved for the Special Function
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.
In order to meet the needs of designs where more memory is required than is provided
on chip, up to 64 KBytes of external RAM and/or ROM can be connected to the
microcontroller.
C164CM
C164SM
Data Sheet
13
V1.0, 2001-05
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 two different external memory access modes, which are
as follows:
16-bit Addresses, 16-bit Data, Multiplexed
11-bit Addresses, 8-bit Data, Multiplexed
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.
Note: The programmable bus features and the window mechanism are standard
features of the C166 architecture. Due to the C164CM's limited external address
space, however, they can be utilized only to a small extend.
The C164CM will preferably be used in single-chip mode. Applications which require
access to external resources such as peripherals or small memories, will use the 8-bit
data bus with 11-bit address bus in most cases. In this case the upper pins of PORT0
can be used for the serial interfaces. If a wider address or a 16-bit data bus is required
the serial interfaces cannot be used.
C164CM
C164SM
Data Sheet
14
V1.0, 2001-05
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 C164CM's instructions can be
executed in just one machine cycle which requires 2 CPU clocks (4 TCL). 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', reduces the execution time of
repeatedly performed jumps in a loop from 2 cycles to 1 cycle.
Figure 4
CPU Block Diagram
MCB02147
CPU
SP
STKOV
STKUN
Instr. Reg.
Instr. Ptr.
Exec. Unit
4-Stage
Pipeline
MDH
MDL
PSW
SYSCON
Context Ptr.
Mul/Div-HW
R15
R0
General
Purpose
Registers
Bit-Mask Gen
Barrel - Shifter
ALU
(16-bit)
Data Page Ptr.
Code Seg. Ptr.
Internal
RAM
R15
R0
ROM
16
16
32
BUSCON 0
BUSCON 1
BUSCON 2
BUSCON 3
BUSCON 4
ADDRSEL 4
ADDRSEL 3
ADDRSEL 2
ADDRSEL 1
C164CM
C164SM
Data Sheet
15
V1.0, 2001-05
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 C164CM 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.
C164CM
C164SM
Data Sheet
16
V1.0, 2001-05
Interrupt System
With an interrupt response time within a range from just 5 to 12 CPU clocks (in case of
internal program execution), the C164CM is capable of reacting very fast to the
occurrence of non-deterministic events.
The architecture of the C164CM 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 implicity 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 C164CM 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 C164CM 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).
C164CM
C164SM
Data Sheet
17
V1.0, 2001-05
Table 3
C164CM Interrupt Nodes
Source of Interrupt or
PEC Service Request
Request
Flag
Enable
Flag
Interrupt
Vector
Vector
Location
Trap
Number
Fast External Interrupt 0
CC8IR
CC8IE
CC8INT
00'0060
H
18
H
Fast External Interrupt 1
CC9IR
CC9IE
CC9INT
00'0064
H
19
H
Fast External Interrupt 2
CC10IR
CC10IE
CC10INT
00'0068
H
1A
H
Fast External Interrupt 3
CC11IR
CC11IE
CC11INT
00'006C
H
1B
H
GPT1 Timer 2
T2IR
T2IE
T2INT
00'0088
H
22
H
GPT1 Timer 3
T3IR
T3IE
T3INT
00'008C
H
23
H
GPT1 Timer 4
T4IR
T4IE
T4INT
00'0090
H
24
H
A/D Conversion
Complete
ADCIR
ADCIE
ADCINT
00'00A0
H
28
H
A/D Overrun Error
ADEIR
ADEIE
ADEINT
00'00A4
H
29
H
ASC0 Transmit
S0TIR
S0TIE
S0TINT
00'00A8
H
2A
H
ASC0 Transmit Buffer
S0TBIR
S0TBIE
S0TBINT
00'011C
H
47
H
ASC0 Receive
S0RIR
S0RIE
S0RINT
00'00AC
H
2B
H
ASC0 Error
S0EIR
S0EIE
S0EINT
00'00B0
H
2C
H
SSC Transmit
SCTIR
SCTIE
SCTINT
00'00B4
H
2D
H
SSC Receive
SCRIR
SCRIE
SCRINT
00'00B8
H
2E
H
SSC Error
SCEIR
SCEIE
SCEINT
00'00BC
H
2F
H
CAPCOM Register 16
CC16IR
CC16IE
CC16INT
00'00C0
H
30
H
CAPCOM Register 17
CC17IR
CC17IE
CC17INT
00'00C4
H
31
H
CAPCOM Register 18
CC18IR
CC18IE
CC18INT
00'00C8
H
32
H
CAPCOM Register 19
CC19IR
CC19IE
CC19INT
00'00CC
H
33
H
CAPCOM Register 24
CC24IR
CC24IE
CC24INT
00'00E0
H
38
H
CAPCOM Register 25
CC25IR
CC25IE
CC25INT
00'00E4
H
39
H
CAPCOM Register 26
CC26IR
CC26IE
CC26INT
00'00E8
H
3A
H
CAPCOM Register 27
CC27IR
CC27IE
CC27INT
00'00EC
H
3B
H
CAPCOM Timer 7
T7IR
T7IE
T7INT
00'00F4
H
3D
H
CAPCOM Timer 8
T8IR
T8IE
T8INT
00'00F8
H
3E
H
CAPCOM6 Interrupt
CC6IR
CC6IE
CC6INT
00'00FC
H
3F
H
CAN Interface 1
XP0IR
XP0IE
XP0INT
00'0100
H
40
H
PLL/OWD and RTC
XP3IR
XP3IE
XP3INT
00'010C
H
43
H
C164CM
C164SM
Data Sheet
18
V1.0, 2001-05
CAPCOM 6 Timer 12
T12IR
T12IE
T12INT
00'0134
H
4D
H
CAPCOM 6 Timer 13
T13IR
T13IE
T13INT
00'0138
H
4E
H
CAPCOM 6 Emergency
CC6EIR
CC6EIE
CC6EINT
00'013C
H
4F
H
Table 3
C164CM Interrupt Nodes (cont'd)
Source of Interrupt or
PEC Service Request
Request
Flag
Enable
Flag
Interrupt
Vector
Vector
Location
Trap
Number
C164CM
C164SM
Data Sheet
19
V1.0, 2001-05
The C164CM also provides an excellent mechanism to identify and to process
exceptions or error conditions that arise during run-time, so-called `Hardware Traps'.
Hardware traps cause immediate non-maskable system reaction which is similar to a
standard interrupt service (branching to a dedicated vector table location). The
occurrence of a hardware trap is additionally signified by an individual bit in the trap flag
register (TFR). Except when another higher prioritized trap service is in progress, a
hardware trap will interrupt any actual program execution. In turn, hardware trap services
can normally not be interrupted by standard or PEC interrupts.
Table 4
shows all of the possible exceptions or error conditions that can arise during run-
time:
Table 4
Hardware Trap Summary
Exception Condition
Trap
Flag
Trap
Vector
Vector
Location
Trap
Number
Trap
Priority
Reset Functions:
Hardware Reset
Software Reset
W-dog Timer Overflow
RESET
RESET
RESET
00'0000
H
00'0000
H
00'0000
H
00
H
00
H
00
H
III
III
III
Class A Hardware Traps:
Non-Maskable Interrupt
Stack Overflow
Stack Underflow
NMI
STKOF
STKUF
NMITRAP
STOTRAP
STUTRAP
00'0008
H
00'0010
H
00'0018
H
02
H
04
H
06
H
II
II
II
Class B Hardware Traps:
Undefined Opcode
Protected Instruction
Fault
Illegal Word Operand
Access
Illegal Instruction
Access
Illegal External Bus
Access
UNDOPC
PRTFLT
ILLOPA
ILLINA
ILLBUS
BTRAP
BTRAP
BTRAP
BTRAP
BTRAP
00'0028
H
00'0028
H
00'0028
H
00'0028
H
00'0028
H
0A
H
0A
H
0A
H
0A
H
0A
H
I
I
I
I
I
Reserved
[2C
H
3C
H
]
[0B
H
0F
H
]
Software Traps
TRAP Instruction
Any
[00'0000
H
00'01FC
H
]
in steps
of 4
H
Any
[00
H
7F
H
]
Current
CPU
Priority
C164CM
C164SM
Data Sheet
20
V1.0, 2001-05
The Capture/Compare Unit CAPCOM2
The general purpose CAPCOM2 unit supports generation and control of timing
sequences on up to 12 channels with a maximum resolution of 16 TCL. The CAPCOM
units are typically used to handle high speed I/O tasks such as pulse and waveform
generation, pulse width modulation (PMW), Digital to Analog (D/A) conversion, software
timing, or time recording relative to external events.
Two 16-bit timers (T7/T8) with reload registers provide two independent time bases for
the capture/compare register array.
Each dual purpose capture/compare register, which may be individually allocated to
either CAPCOM timer and programmed for capture or compare function, has one port
pin associated with it which serves as an input pin for triggering the capture function, or
as an output pin to indicate the occurrence of a compare event.
When a capture/compare register has been selected for capture mode, the current
contents of the allocated timer will be latched (`capture'd) into the capture/compare
register in response to an external event at the port pin which is associated with this
register. In addition, a specific interrupt request for this capture/compare register is
generated. Either a positive, a negative, or both a positive and a negative external signal
transition at the pin can be selected as the triggering event. The contents of all registers
which have been selected for one of the five compare modes are continuously compared
with the contents of the allocated timers. When a match occurs between the timer value
and the value in a capture/compare register, specific actions will be taken based on the
selected compare mode.
Table 5
Compare Modes (CAPCOM)
Compare Modes
Function
Mode 0
Interrupt-only compare mode;
several compare interrupts per timer period are possible
Mode 1
Pin toggles on each compare match;
several compare events per timer period are possible
Mode 2
Interrupt-only compare mode;
only one compare interrupt per timer period is generated
Mode 3
Pin set `1' on match; pin reset `0' on compare time overflow;
only one compare event per timer period is generated
Double
Register Mode
Two registers operate on one pin; pin toggles on each compare
match;
several compare events per timer period are possible.
Registers CC16 & CC24
pin CC16IO
Registers CC17 & CC25
pin CC17IO
Registers CC18 & CC26
pin CC18IO
Registers CC19 & CC27
pin CC19IO
C164CM
C164SM
Data Sheet
21
V1.0, 2001-05
The Capture/Compare Unit CAPCOM6
The CAPCOM6 unit supports generation and control of timing sequences on up to three
16-bit capture/compare channels plus one 10-bit compare channel.
In compare mode the CAPCOM6 unit provides two output signals per channel which
have inverted polarity and non-overlapping pulse transitions. The compare channel can
generate a single PWM output signal and is further used to modulate the capture/
compare output signals.
In capture mode the contents of compare timer 12 is stored in the capture registers upon
a signal transition at pins CCx.
Compare timers T12 (16-bit) and T13 (10-bit) are free running timers which are clocked
by the prescaled CPU clock.
Figure 5
CAPCOM6 Block Diagram
For motor control applications both subunits may generate versatile multichannel PWM
signals which are basically either controlled by compare timer 12 or by a typical hall
sensor pattern at the interrupt inputs (block commutation).
Control
CC Channel 0
CC60
CC Channel 1
CC61
CC Channel 2
CC62
MCB04109
Prescaler
Offset Register
T12OF
Compare
Timer T12
16-Bit
Period Register
T12P
Mode
Select Register
CC6MSEL
Trap Register
Port
Control
Logic
Control Register
CTCON
Compare Register
CMP13
Prescaler
Compare
Timer T13
10-Bit
Period Register
T13P
Block
Commutation
Control
CC6MCON.H
CC60
COUT60
CC61
COUT61
CC62
COUT62
CTRAP
CC6POS0
CC6POS1
CC6POS2
f
CPU
f
CPU
COUT63
The timer registers (T12, T13) are not directly accessible.
The period and offset registers are loading a value into the timer registers.
C164CM
C164SM
Data Sheet
22
V1.0, 2001-05
General Purpose Timer (GPT) Unit
The GPT unit represents a very flexible multifunctional timer/counter structure which
may be used for many different time related tasks such as event timing and counting,
pulse width and duty cycle measurements, pulse generation, or pulse multiplication.
The GPT unit incorporates three 16-bit timers. Each timer may operate independently in
a number of different modes, or may be concatenated with another timer.
Each of the three timers T2, T3, T4 of module GPT1 can be configured individually for
one of four basic modes of operation, which are Timer, Gated Timer, Counter, and
Incremental Interface Mode. In Timer Mode, the input clock for a timer is derived from
the CPU clock, divided by a programmable prescaler, while Counter Mode allows a timer
to be clocked in reference to external events.
Pulse width or duty cycle measurement is supported in Gated Timer Mode, where the
operation of a timer is controlled by the `gate' level on an external input pin. For these
purposes, each timer has one associated port pin (TxIN) which serves as gate or clock
input. The maximum resolution of the timers in module GPT1 is 16 TCL.
The count direction (up/down) for each timer is programmable by software or may
additionally be altered dynamically by an external signal on a port pin (TxEUD) to
facilitate e.g. position tracking.
In Incremental Interface Mode the GPT1 timers (T2, T3, T4) can be directly connected
to the incremental position sensor signals A and B via their respective inputs TxIN and
TxEUD. Direction and count signals are internally derived from these two input signals,
so the contents of the respective timer Tx corresponds to the sensor position. The third
position sensor signal TOP0 can be connected to an interrupt input.
Timer T3 has an output toggle latch (T3OTL) which changes its state on each timer over-
flow/underflow. The state of this latch may be used internally to clock timers T2 and T4
for measuring long time periods with high resolution.
In addition to their basic operating modes, timers T2 and T4 may be configured as reload
or capture registers for timer T3. When used as capture or reload registers, timers T2
and T4 are stopped. The contents of timer T3 is captured into T2 or T4 in response to a
signal at their associated input pins (TxIN). Timer T3 is reloaded with the contents of T2
or T4 triggered either by an external signal or by a selectable state transition of its toggle
latch T3OTL.
C164CM
C164SM
Data Sheet
23
V1.0, 2001-05
Figure 6
Block Diagram of GPT1
T3
Mode
Control
2
n
: 1
f
CPU
2
n
: 1
f
CPU
T2
Mode
Control
GPT1 Timer T2
Reload
Capture
2
n
: 1
f
CPU
T4
Mode
Control
GPT1 Timer T4
Reload
Capture
GPT1 Timer T3
T3OTL
U/D
T2EUD
T2IN
T3IN
T3EUD
T4IN
T4EUD
Toggle FF
U/D
U/D
Interrupt
Request
(T2IR)
Interrupt
Request
(T3IR)
Interrupt
Request
(T4IR)
Other
Timers
Mct04825_4.vsd
n = 3 ... 10
C164CM
C164SM
Data Sheet
24
V1.0, 2001-05
Real Time Clock
The Real Time Clock (RTC) module of the C164CM consists of a chain of 3 divider
blocks, a fixed 8:1 divider, the reloadable 16-bit timer T14, and the 32-bit RTC timer
(accessible via registers RTCH and RTCL). The RTC module is directly clocked with the
on-chip oscillator frequency divided by 32 via a separate clock driver (
f
RTC
=
f
OSC
/32)
and is therefore independent from the selected clock generation mode of the C164CM.
All timers count up.
The RTC module can be used for different purposes:
System clock to determine the current time and date
Cyclic time based interrupt
48-bit timer for long term measurements
Figure 7
RTC Block Diagram
Note: The registers associated with the RTC are not affected by a reset in order to
maintain the correct system time even when intermediate resets are executed.
MCD04432
T14REL
T14
8:1
RTC
f
RTCL
RTCH
Interrupt
Request
Reload
C164CM
C164SM
Data Sheet
25
V1.0, 2001-05
A/D Converter
For analog signal measurement, a 10-bit A/D converter with 8 multiplexed input channels
and a sample and hold circuit has been integrated on-chip. It uses the method of
successive approximation. The sample time (for loading the capacitors) and the
conversion time is programmable and can so be adjusted to the external circuitry.
Overrun error detection/protection is provided for the conversion result register
(ADDAT): either an interrupt request will be generated when the result of a previous
conversion has not been read from the result register at the time the next conversion is
complete, or the next conversion is suspended in such a case until the previous result
has been read.
For applications which require less than 8 analog input channels, the remaining channel
inputs can be used as digital input port pins.
The A/D converter of the C164CM supports four different conversion modes. In the
standard Single Channel conversion mode, the analog level on a specified channel is
sampled once and converted to a digital result. In the Single Channel Continuous mode,
the analog level on a specified channel is repeatedly sampled and converted without
software intervention. In the Auto Scan mode, the analog levels on a prespecified
number of channels (standard or extension) are sequentially sampled and converted. In
the Auto Scan Continuous mode, the number of prespecified channels is repeatedly
sampled and converted. In addition, the conversion of a specific channel can be inserted
(injected) into a running sequence without disturbing this sequence. This is called
Channel Injection Mode.
The Peripheral Event Controller (PEC) may be used to automatically store the
conversion results into a table in memory for later evaluation, without requiring the
overhead of entering and exiting interrupt routines for each data transfer.
After each reset and also during normal operation the ADC automatically performs
calibration cycles. This automatic self-calibration constantly adjusts the converter to
changing operating conditions (e.g. temperature) and compensates process variations.
These calibration cycles are part of the conversion cycle, so they do not affect the normal
operation of the A/D converter.
In order to decouple analog inputs from digital noise and to avoid input trigger noise
those pins used for analog input can be disconnected from the digital IO or input stages
under software control. This can be selected for each pin separately via register P5DIDIS
(Port 5 Digital Input Disable).
C164CM
C164SM
Data Sheet
26
V1.0, 2001-05
Serial Channels
Serial communication with other microcontrollers, processors, terminals or external
peripheral components is provided by two serial interfaces with different functionality, an
Asynchronous/Synchronous Serial Channel (ASC0) and a High-Speed Synchronous
Serial Channel (SSC).
The ASC0 is upward compatible with the serial ports of the Infineon 8-bit microcontroller
families and supports full-duplex asynchronous communication at up to 781 Kbit/s and
half-duplex synchronous communication at up to 3.1 Mbit/s (@ 25 MHz CPU clock).
A dedicated baud rate generator allows to set up all standard baud rates without
oscillator tuning. For transmission, reception and error handling 4 separate interrupt
vectors are provided. In asynchronous mode, 8- or 9-bit data frames are transmitted or
received, preceded by a start bit and terminated by one or two stop bits. For
multiprocessor communication, a mechanism to distinguish address from data bytes has
been included (8-bit data plus wake up bit mode).
In synchronous mode, the ASC0 transmits or receives bytes (8 bits) synchronously to a
shift clock which is generated by the ASC0. The ASC0 always shifts the LSB first. A loop
back option is available for testing purposes.
A number of optional hardware error detection capabilities has been included to increase
the reliability of data transfers. A parity bit can automatically be generated on
transmission or be checked on reception. Framing error detection allows to recognize
data frames with missing stop bits. An overrun error will be generated, if the last
character received has not been read out of the receive buffer register at the time the
reception of a new character is complete.
The SSC supports full-duplex synchronous communication at up to 6.25 Mbit/s
(@ 25 MHz CPU clock). It may be configured so it interfaces with serially linked
peripheral components. A dedicated baud rate generator allows to set up all standard
baud rates without oscillator tuning. For transmission, reception and error handling
3 separate interrupt vectors are provided.
The SSC transmits or receives characters of 2 ... 16 bits length synchronously to a shift
clock which can be generated by the SSC (master mode) or by an external master (slave
mode). The SSC can start shifting with the LSB or with the MSB and allows the selection
of shifting and latching clock edges as well as the clock polarity.
A number of optional hardware error detection capabilities has been included to increase
the reliability of data transfers. Transmit and receive error supervise the correct handling
of the data buffer. Phase and baudrate error detect incorrect serial data.
C164CM
C164SM
Data Sheet
27
V1.0, 2001-05
CAN-Module
The integrated CAN-Module handles the completely autonomous transmission and
reception of CAN frames in accordance with the CAN specification V2.0 part B (active),
i.e. the on-chip CAN-Modules can receive and transmit standard frames with 11-bit
identifiers as well as extended frames with 29-bit identifiers.
The module provides Full CAN functionality on up to 15 message objects. Message
object 15 may be configured for Basic CAN functionality. Both modes provide separate
masks for acceptance filtering which allows to accept a number of identifiers in Full CAN
mode and also allows to disregard a number of identifiers in Basic CAN mode. All
message objects can be updated independent from the other objects and are equipped
for the maximum message length of 8 bytes.
The bit timing is derived from the XCLK and is programmable up to a data rate of 1 Mbit/
s. Each CAN-Module uses two pins of Port 4 or Port 8 to interface to an external bus
transceiver. The interface pins are assigned via software.
Note: When the CAN interface is assigned to Port 8, the respective CAPCOM IO lines
on Port 8 cannot be used.
Watchdog Timer
The Watchdog Timer represents one of the fail-safe mechanisms which have been
implemented to prevent the controller from malfunctioning for longer periods of time.
The Watchdog Timer is always enabled after a reset of the chip, and can only be
disabled in the time interval until the EINIT (end of initialization) instruction has been
executed. Thus, the chip's start-up procedure is always monitored. The software has to
be designed to service the Watchdog Timer before it overflows. If, due to hardware or
software related failures, the software fails to do so, the Watchdog Timer overflows and
generates an internal hardware reset and pulls the RSTOUT pin low in order to allow
external hardware components to be reset.
The Watchdog Timer is a 16-bit timer, clocked with the system clock divided by 2/4/128/
256. The high byte of the Watchdog Timer register can be set to a prespecified reload
value (stored in WDTREL) in order to allow further variation of the monitored time
interval. Each time it is serviced by the application software, the high byte of the
Watchdog Timer is reloaded. Thus, time intervals between 20
s and 336 ms can be
monitored (@ 25 MHz).
The default Watchdog Timer interval after reset is 5.24 ms (@ 25 MHz).
C164CM
C164SM
Data Sheet
28
V1.0, 2001-05
Parallel Ports
The C164CM provides up to 50 I/O lines which are organized into four input/output ports
and one input port. All port lines are bit-addressable, and all input/output lines are
individually (bit-wise) programmable as inputs or outputs via direction registers. The I/O
ports are true bidirectional ports which are switched to high impedance state when
configured as inputs. The output drivers of Port 8 can be configured (pin by pin) for push/
pull operation or open-drain operation via a control register. During the internal reset, all
port pins are configured as inputs.
All port lines have programmable alternate input or output functions associated with
them. All port lines that are not used for these alternate functions may be used as general
purpose IO lines.
PORT0 may be used as address and data lines when accessing external memory. Also
the serial interfaces ASC0 and SSC use the upper pins of P0H.
Ports P1L, P1H, and P8 are associated with the capture inputs or compare outputs of
the CAPCOM units and/or serve as external interrupt inputs.
Port 5 is used for the analog input channels to the A/D converter or timer control signals.
Port 20 includes the bus control signals RD, WR, ALE, the configuration input EA, the
the system control output RSTOUT, and the system clock output CLKOUT (or the
programmable frequency output FOUT).
The edge characteristics (transition time) and driver characteristics (output current) of
the C164CM's port drivers can be selected via the Port Output Control registers
(POCONx).
C164CM
C164SM
Data Sheet
29
V1.0, 2001-05
Oscillator Watchdog
The Oscillator Watchdog (OWD) monitors the clock signal generated by the on-chip
oscillator (either with a crystal or via external clock drive). For this operation the PLL
provides a clock signal which is used to supervise transitions on the oscillator clock. This
PLL clock is independent from the XTAL1 clock. When the expected oscillator clock
transitions are missing the OWD activates the PLL Unlock/OWD interrupt node and
supplies the CPU with the PLL clock signal. Under these circumstances the PLL will
oscillate with its basic frequency.
In direct drive mode the PLL base frequency is used directly (
f
CPU
= 2 ... 5 MHz).
In prescaler mode the PLL base frequency is divided by 2 (
f
CPU
= 1 ... 2.5 MHz).
Note: The CPU clock source is only switched back to the oscillator clock after a
hardware reset.
The oscillator watchdog can be disabled by setting bit OWDDIS in register SYSCON.
In this case (OWDDIS = `1') the PLL remains idle and provides no clock signal, while the
CPU clock signal is derived directly from the oscillator clock or via prescaler or SDD. Also
no interrupt request will be generated in case of a missing oscillator clock.
Note: At the end of a reset bit OWDDIS reflects the inverted level of pin RD at that time.
Thus the oscillator watchdog may also be disabled via hardware by (externally)
pulling the RD line low upon a reset, similar to the standard reset configuration via
PORT0.
C164CM
C164SM
Data Sheet
30
V1.0, 2001-05
Power Management
The C164CM provides several means to control the power it consumes either at a given
time or averaged over a certain timespan. Three mechanisms can be used (partly in
parallel):
Power Saving Modes switch the C164CM into a special operating mode (control via
instructions).
Idle Mode stops the CPU while the peripherals can continue to operate.
Sleep Mode and Power Down Mode stop all clock signals and all operation (RTC may
optionally continue running). Sleep Mode can be terminated by external interrupt
signals.
Clock Generation Management controls the distribution and the frequency of
internal and external clock signals (control via register SYSCON2).
Slow Down Mode lets the C164CM run at a CPU clock frequency of
f
OSC
/1 ... 32 (half
for prescaler operation) which drastically reduces the consumed power. The PLL can
be optionally disabled while operating in Slow Down Mode.
External circuitry can be controlled via the programmable frequency output FOUT.
Peripheral Management permits temporary disabling of peripheral modules (control
via register SYSCON3).
Each peripheral can separately be disabled/enabled. A group control option disables
a major part of the peripheral set by setting one single bit.
The on-chip RTC supports intermittend operation of the C164CM by generating cyclic
wakeup signals. This offers full performance to quickly react on action requests while the
intermittend sleep phases greatly reduce the average power consumption of the system.
C164CM
C164SM
Data Sheet
31
V1.0, 2001-05
Instruction Set Summary
Table 6
lists the instructions of the C164CM in a condensed way.
The various addressing modes that can be used with a specific instruction, the operation
of the instructions, parameters for conditional execution of instructions, and the opcodes
for each instruction can be found in the "C166 Family Instruction Set Manual".
This document also provides a detailed description of each instruction.
Table 6
Instruction Set Summary
Mnemonic
Description
Bytes
ADD(B)
Add word (byte) operands
2 / 4
ADDC(B)
Add word (byte) operands with Carry
2 / 4
SUB(B)
Subtract word (byte) operands
2 / 4
SUBC(B)
Subtract word (byte) operands with Carry
2 / 4
MUL(U)
(Un)Signed multiply direct GPR by direct GPR (16-16-bit)
2
DIV(U)
(Un)Signed divide register MDL by direct GPR (16-/16-bit)
2
DIVL(U)
(Un)Signed long divide reg. MD by direct GPR (32-/16-bit)
2
CPL(B)
Complement direct word (byte) GPR
2
NEG(B)
Negate direct word (byte) GPR
2
AND(B)
Bitwise AND, (word/byte operands)
2 / 4
OR(B)
Bitwise OR, (word/byte operands)
2 / 4
XOR(B)
Bitwise XOR, (word/byte operands)
2 / 4
BCLR
Clear direct bit
2
BSET
Set direct bit
2
BMOV(N)
Move (negated) direct bit to direct bit
4
BAND, BOR,
BXOR
AND/OR/XOR direct bit with direct bit
4
BCMP
Compare direct bit to direct bit
4
BFLDH/L
Bitwise modify masked high/low byte of bit-addressable
direct word memory with immediate data
4
CMP(B)
Compare word (byte) operands
2 / 4
CMPD1/2
Compare word data to GPR and decrement GPR by 1/2
2 / 4
CMPI1/2
Compare word data to GPR and increment GPR by 1/2
2 / 4
PRIOR
Determine number of shift cycles to normalize direct
word GPR and store result in direct word GPR
2
SHL / SHR
Shift left/right direct word GPR
2
ROL / ROR
Rotate left/right direct word GPR
2
ASHR
Arithmetic (sign bit) shift right direct word GPR
2
C164CM
C164SM
Data Sheet
32
V1.0, 2001-05
MOV(B)
Move word (byte) data
2 / 4
MOVBS
Move byte operand to word operand with sign extension
2 / 4
MOVBZ
Move byte operand to word operand with zero extension
2 / 4
JMPA, JMPI,
JMPR
Jump absolute/indirect/relative if condition is met
4
JMPS
Jump absolute to a code segment
4
J(N)B
Jump relative if direct bit is (not) set
4
JBC
Jump relative and clear bit if direct bit is set
4
JNBS
Jump relative and set bit if direct bit is not set
4
CALLA, CALLI,
CALLR
Call absolute/indirect/relative subroutine if condition is met
4
CALLS
Call absolute subroutine in any code segment
4
PCALL
Push direct word register onto system stack and call
absolute subroutine
4
TRAP
Call interrupt service routine via immediate trap number
2
PUSH, POP
Push/pop direct word register onto/from system stack
2
SCXT
Push direct word register onto system stack and update
register with word operand
4
RET
Return from intra-segment subroutine
2
RETS
Return from inter-segment subroutine
2
RETP
Return from intra-segment subroutine and pop direct
word register from system stack
2
RETI
Return from interrupt service subroutine
2
SRST
Software Reset
4
IDLE
Enter Idle Mode
4
PWRDN
Enter Power Down Mode (supposes NMI-pin being low)
4
SRVWDT
Service Watchdog Timer
4
DISWDT
Disable Watchdog Timer
4
EINIT
Signify End-of-Initialization on RSTOUT-pin
4
ATOMIC
Begin ATOMIC sequence
2
EXTR
Begin EXTended Register sequence
2
EXTP(R)
Begin EXTended Page (and Register) sequence
2 / 4
EXTS(R)
Begin EXTended Segment (and Register) sequence
2 / 4
NOP
Null operation
2
Table 6
Instruction Set Summary (cont'd)
Mnemonic
Description
Bytes
C164CM
C164SM
Data Sheet
33
V1.0, 2001-05
Special Function Registers Overview
Table 7
lists all SFRs which are implemented in the C164CM in alphabetical order.
Bit-addressable SFRs are marked with the letter "b" in column "Name". SFRs within the
Extended SFR-Space (ESFRs) are marked with the letter "E" in column "Physical
Address". Registers within on-chip X-peripherals are marked with the letter "X" in column
"Physical Address".
An SFR can be specified via its individual mnemonic name. Depending on the selected
addressing mode, an SFR can be accessed via its physical address (using the Data
Page Pointers), or via its short 8-bit address (without using the Data Page Pointers).
Table 7
C164CM Registers, Ordered by Name
Name
Physical
Address
8-Bit
Addr.
Description
Reset
Value
ADCIC
b FF98
H
CC
H
A/D Converter End of Conversion
Interrupt Control Register
0000
H
ADCON
b FFA0
H
D0
H
A/D Converter Control Register
0000
H
ADDAT
FEA0
H
50
H
A/D Converter Result Register
0000
H
ADDAT2
F0A0
H
E 50
H
A/D Converter 2 Result Register
0000
H
ADDRSEL1
FE18
H
0C
H
Address Select Register 1
0000
H
ADDRSEL2
FE1A
H
0D
H
Address Select Register 2
0000
H
ADDRSEL3
FE1C
H
0E
H
Address Select Register 3
0000
H
ADDRSEL4
FE1E
H
0F
H
Address Select Register 4
0000
H
ADEIC
b FF9A
H
CD
H
A/D Converter Overrun Error Interrupt
Control Register
0000
H
BUSCON0 b FF0C
H
86
H
Bus Configuration Register 0
0000
H
BUSCON1 b FF14
H
8A
H
Bus Configuration Register 1
0000
H
BUSCON2 b FF16
H
8B
H
Bus Configuration Register 2
0000
H
BUSCON3 b FF18
H
8C
H
Bus Configuration Register 3
0000
H
BUSCON4 b FF1A
H
8D
H
Bus Configuration Register 4
0000
H
C1BTR
EF04
H
X ---
CAN1 Bit Timing Register
UUUU
H
C1CSR
EF00
H
X ---
CAN1 Control / Status Register
XX01
H
C1GMS
EF06
H
X ---
CAN1 Global Mask Short
UFUU
H
C1LARn
EFn4
H
X ---
CAN Lower Arbitration Register (msg. n)
UUUU
H
C1LGML
EF0A
H
X ---
CAN Lower Global Mask Long
UUUU
H
C1LMLM
EF0E
H
X ---
CAN Lower Mask of Last Message
UUUU
H
C164CM
C164SM
Data Sheet
34
V1.0, 2001-05
C1MCFGn
EFn6
H
X ---
CAN Message Configuration Register
(msg. n)
UU
H
C1MCRn
EFn0
H
X ---
CAN Message Control Register (msg. n)
UUUU
H
C1PCIR
EF02
H
X ---
CAN1 Port Control / Interrupt Register
XXXX
H
C1UARn
EFn2
H
X ---
CAN Upper Arbitration Register (msg. n)
UUUU
H
C1UGML
EF08
H
X ---
CAN Upper Global Mask Long
UUUU
H
C1UMLM
EF0C
H
X ---
CAN Upper Mask of Last Message
UUUU
H
CC16
FE60
H
30
H
CAPCOM Register 16
0000
H
CC16IC
b F160
H
E B0
H
CAPCOM Reg. 16 Interrupt Ctrl. Reg.
0000
H
CC17
FE62
H
31
H
CAPCOM Register 17
0000
H
CC17IC
b F162
H
E B1
H
CAPCOM Reg. 17 Interrupt Ctrl. Reg.
0000
H
CC18
FE64
H
32
H
CAPCOM Register 18
0000
H
CC18IC
b F164
H
E B2
H
CAPCOM Reg. 18 Interrupt Ctrl. Reg.
0000
H
CC19
FE66
H
33
H
CAPCOM Register 19
0000
H
CC19IC
b F166
H
E B3
H
CAPCOM Reg. 19 Interrupt Ctrl. Reg.
0000
H
CC20
FE68
H
34
H
CAPCOM Register 20
0000
H
CC20IC
b F168
H
E B4
H
CAPCOM Reg. 20 Interrupt Ctrl. Reg.
0000
H
CC21
FE6A
H
35
H
CAPCOM Register 21
0000
H
CC21IC
b F16A
H
E B5
H
CAPCOM Reg. 21 Interrupt Ctrl. Reg.
0000
H
CC22
FE6C
H
36
H
CAPCOM Register 22
0000
H
CC22IC
b F16C
H
E B6
H
CAPCOM Reg. 22 Interrupt Ctrl. Reg.
0000
H
CC23
FE6E
H
37
H
CAPCOM Register 23
0000
H
CC23IC
b F16E
H
E B7
H
CAPCOM Reg. 23 Interrupt Ctrl. Reg.
0000
H
CC24
FE70
H
38
H
CAPCOM Register 24
0000
H
CC24IC
b F170
H
E B8
H
CAPCOM Reg. 24 Interrupt Ctrl. Reg.
0000
H
CC25
FE72
H
39
H
CAPCOM Register 25
0000
H
CC25IC
b F172
H
E B9
H
CAPCOM Reg. 25 Interrupt Ctrl. Reg.
0000
H
CC26
FE74
H
3A
H
CAPCOM Register 26
0000
H
CC26IC
b F174
H
E BA
H
CAPCOM Reg. 26 Interrupt Ctrl. Reg.
0000
H
CC27
FE76
H
3B
H
CAPCOM Register 27
0000
H
Table 7
C164CM Registers, Ordered by Name (cont'd)
Name
Physical
Address
8-Bit
Addr.
Description
Reset
Value
C164CM
C164SM
Data Sheet
35
V1.0, 2001-05
CC27IC
b F176
H
E BB
H
CAPCOM Reg. 27 Interrupt Ctrl. Reg.
0000
H
CC28
FE78
H
3C
H
CAPCOM Register 28
0000
H
CC28IC
b F178
H
E BC
H
CAPCOM Reg. 28 Interrupt Ctrl. Reg.
0000
H
CC29
FE7A
H
3D
H
CAPCOM Register 29
0000
H
CC29IC
b F184
H
E C2
H
CAPCOM Reg. 29 Interrupt Ctrl. Reg.
0000
H
CC30
FE7C
H
3E
H
CAPCOM Register 30
0000
H
CC30IC
b F18C
H
E C6
H
CAPCOM Reg. 30 Interrupt Ctrl. Reg.
0000
H
CC31
FE7E
H
3F
H
CAPCOM Register 31
0000
H
CC31IC
b F194
H
E CA
H
CAPCOM Reg. 31 Interrupt Ctrl. Reg.
0000
H
CC60
FE30
H
18
H
CAPCOM 6 Register 0
0000
H
CC61
FE32
H
19
H
CAPCOM 6 Register 1
0000
H
CC62
FE34
H
1A
H
CAPCOM 6 Register 2
0000
H
CC6EIC
b F188
H
E C4
H
CAPCOM 6 Emergency Interrupt Control
Register
0000
H
CC6CIC
b F17E
H
E BF
H
CAPCOM 6 Interrupt Control Register
0000
H
CC6MCON b FF32
H
99
H
CAPCOM 6 Mode Control Register
00FF
H
CC6MIC
b FF36
H
9B
H
CAPCOM 6 Mode Interrupt Ctrl. Reg.
0000
H
CC6MSEL
F036
H
E 1B
H
CAPCOM 6 Mode Select Register
0000
H
CC8IC
b FF88
H
C4
H
External Interrupt 0 Control Register
0000
H
CC9IC
b FF8A
H
C5
H
External Interrupt 1 Control Register
0000
H
CCM4
b FF22
H
91
H
CAPCOM Mode Control Register 4
0000
H
CCM5
b FF24
H
92
H
CAPCOM Mode Control Register 5
0000
H
CCM6
b FF26
H
93
H
CAPCOM Mode Control Register 6
0000
H
CCM7
b FF28
H
94
H
CAPCOM Mode Control Register 7
0000
H
CMP13
FE36
H
1B
H
CAPCOM 6 Timer 13 Compare Reg.
0000
H
CP
FE10
H
08
H
CPU Context Pointer Register
FC00
H
CSP
FE08
H
04
H
CPU Code Segment Pointer Register
(8 bits, not directly writeable)
0000
H
CTCON
b FF30
H
98
H
CAPCOM 6 Compare Timer Ctrl. Reg.
1010
H
DP0H
b F102
H
E 81
H
P0H Direction Control Register
00
H
Table 7
C164CM Registers, Ordered by Name (cont'd)
Name
Physical
Address
8-Bit
Addr.
Description
Reset
Value
C164CM
C164SM
Data Sheet
36
V1.0, 2001-05
DP0L
b F100
H
E 80
H
P0L Direction Control Register
00
H
DP1H
b F106
H
E 83
H
P1H Direction Control Register
00
H
DP1L
b F104
H
E 82
H
P1L Direction Control Register
00
H
DP20
b FFB6
H
DB
H
Port 20 Direction Control Register
00
H
DP8
b FFD6
H
EB
H
Port 8 Direction Control Register
00
H
DPP0
FE00
H
00
H
CPU Data Page Pointer 0 Reg. (10 bits)
0000
H
DPP1
FE02
H
01
H
CPU Data Page Pointer 1 Reg. (10 bits)
0001
H
DPP2
FE04
H
02
H
CPU Data Page Pointer 2 Reg. (10 bits)
0002
H
DPP3
FE06
H
03
H
CPU Data Page Pointer 3 Reg. (10 bits)
0003
H
EXICON
b F1C0
H
E E0
H
External Interrupt Control Register
0000
H
EXISEL
b F1DA
H
E ED
H
External Interrupt Source Select Reg.
0000
H
FOCON
b FFAA
H
D5
H
Frequency Output Control Register
0000
H
IDCHIP
F07C
H
E 3E
H
Identifier
XXXX
H
IDMANUF
F07E
H
E 3F
H
Identifier
1820
H
IDMEM
F07A
H
E 3D
H
Identifier
X008
H
IDPROG
F078
H
E 3C
H
Identifier
XXXX
H
IDMEM2
F076
H
E 3B
H
Identifier
0000
H
ISNC
b F1DE
H
E EF
H
Interrupt Subnode Control Register
0000
H
MDC
b FF0E
H
87
H
CPU Multiply Divide Control Register
0000
H
MDH
FE0C
H
06
H
CPU Multiply Divide Reg. High Word
0000
H
MDL
FE0E
H
07
H
CPU Multiply Divide Reg. Low Word
0000
H
ODP8
b F1D6
H
E EB
H
Port 8 Open Drain Control Register
00
H
ONES
b FF1E
H
8F
H
Constant Value 1's Register (read only)
FFFF
H
OPAD
EDC2
H
X ---
OTP Progr. Interface Address Register
0000
H
OPCTRL
EDC0
H
X ---
OTP Progr. Interface Control Register
0007
H
OPDAT
EDC4
H
X ---
OTP Progr. Interface Data Register
0000
H
P0H
b FF02
H
81
H
Port 0 High Reg. (Upper half of PORT0)
00
H
P0L
b FF00
H
80
H
Port 0 Low Reg. (Lower half of PORT0)
00
H
P1H
b FF06
H
83
H
Port 1 High Reg. (Upper half of PORT1)
00
H
P1L
b FF04
H
82
H
Port 1 Low Reg. (Lower half of PORT1)
00
H
Table 7
C164CM Registers, Ordered by Name (cont'd)
Name
Physical
Address
8-Bit
Addr.
Description
Reset
Value
C164CM
C164SM
Data Sheet
37
V1.0, 2001-05
P5
b FFA2
H
D1
H
Port 5 Register (read only)
XXXX
H
P5DIDIS
b FFA4
H
D2
H
Port 5 Digital Input Disable Register
0000
H
P20
b FFB4
H
DA
H
Port 20 Register (6 bits)
00
H
P8
b FFD4
H
EA
H
Port 8 Register (4 bits)
00
H
PECC0
FEC0
H
60
H
PEC Channel 0 Control Register
0000
H
PECC1
FEC2
H
61
H
PEC Channel 1 Control Register
0000
H
PECC2
FEC4
H
62
H
PEC Channel 2 Control Register
0000
H
PECC3
FEC6
H
63
H
PEC Channel 3 Control Register
0000
H
PECC4
FEC8
H
64
H
PEC Channel 4 Control Register
0000
H
PECC5
FECA
H
65
H
PEC Channel 5 Control Register
0000
H
PECC6
FECC
H
66
H
PEC Channel 6 Control Register
0000
H
PECC7
FECE
H
67
H
PEC Channel 7 Control Register
0000
H
POCON0H
F082
H
E 41
H
Port P0H Output Control Register
0011
H
POCON0L
F080
H
E 40
H
Port P0L Output Control Register
0011
H
POCON1H
F086
H
E 43
H
Port P1H Output Control Register
0011
H
POCON1L
F084
H
E 42
H
Port P1L Output Control Register
0011
H
POCON20
F0AA
H
E 55
H
Port P20 Output Control Register
0000
H
POCON8
F092
H
E 49
H
Port P8 Output Control Register
0022
H
PSW
b FF10
H
88
H
CPU Program Status Word
0000
H
RP0H
b F108
H
E 84
H
System Startup Config. Reg. (Rd. only)
XX
H
RSTCON
b F1E0
H
m ---
Reset Control Register
00XX
H
RTCH
F0D6
H
E 6B
H
RTC High Register
no
RTCL
F0D4
H
E 6A
H
RTC Low Register
no
S0BG
FEB4
H
5A
H
Serial Channel 0 Baud Rate Generator
Reload Register
0000
H
S0CON
b FFB0
H
D8
H
Serial Channel 0 Control Register
0000
H
S0EIC
b FF70
H
B8
H
Serial Channel 0 Error Interrupt Ctrl.
Reg.
0000
H
S0RBUF
FEB2
H
59
H
Serial Channel 0 Receive Buffer Reg.
(read only)
XXXX
H
Table 7
C164CM Registers, Ordered by Name (cont'd)
Name
Physical
Address
8-Bit
Addr.
Description
Reset
Value
C164CM
C164SM
Data Sheet
38
V1.0, 2001-05
S0RIC
b FF6E
H
B7
H
Serial Channel 0 Receive Interrupt
Control Register
0000
H
S0TBIC
b F19C
H
E CE
H
Serial Channel 0 Transmit Buffer
Interrupt Control Register
0000
H
S0TBUF
FEB0
H
58
H
Serial Channel 0 Transmit Buffer Reg.
(write only)
0000
H
S0TIC
b FF6C
H
B6
H
Serial Channel 0 Transmit Interrupt
Control Register
0000
H
SP
FE12
H
09
H
CPU System Stack Pointer Register
FC00
H
SSCBR
F0B4
H
E 5A
H
SSC Baudrate Register
0000
H
SSCCON
b FFB2
H
D9
H
SSC Control Register
0000
H
SSCEIC
b FF76
H
BB
H
SSC Error Interrupt Control Register
0000
H
SSCRB
F0B2
H
E 59
H
SSC Receive Buffer
XXXX
H
SSCRIC
b FF74
H
BA
H
SSC Receive Interrupt Control Register
0000
H
SSCTB
F0B0
H
E 58
H
SSC Transmit Buffer
0000
H
SSCTIC
b FF72
H
B9
H
SSC Transmit Interrupt Control Register
0000
H
STKOV
FE14
H
0A
H
CPU Stack Overflow Pointer Register
FA00
H
STKUN
FE16
H
0B
H
CPU Stack Underflow Pointer Register
FC00
H
SYSCON
b FF12
H
89
H
CPU System Configuration Register
1)
0xx0
H
SYSCON1 b F1DC
H
E EE
H
CPU System Configuration Register 1
0000
H
SYSCON2 b F1D0
H
E E8
H
CPU System Configuration Register 2
0000
H
SYSCON3 b F1D4
H
E EA
H
CPU System Configuration Register 3
0000
H
T12IC
b F190
H
E C8
H
CAPCOM 6 Timer 12 Interrupt Ctrl. Reg.
0000
H
T12OF
F034
H
E 1A
H
CAPCOM 6 Timer 12 Offset Register
0000
H
T12P
F030
H
E 18
H
CAPCOM 6 Timer 12 Period Register
0000
H
T13IC
b F198
H
E CC
H
CAPCOM 6 Timer 13 Interrupt Ctrl. Reg.
0000
H
T13P
F032
H
E 19
H
CAPCOM 6 Timer 13 Period Register
0000
H
T14
F0D2
H
E 69
H
RTC Timer 14 Register
no
T14REL
F0D0
H
E 68
H
RTC Timer 14 Reload Register
no
T2
FE40
H
20
H
GPT1 Timer 2 Register
0000
H
T2CON
b FF40
H
A0
H
GPT1 Timer 2 Control Register
0000
H
Table 7
C164CM Registers, Ordered by Name (cont'd)
Name
Physical
Address
8-Bit
Addr.
Description
Reset
Value
C164CM
C164SM
Data Sheet
39
V1.0, 2001-05
Note: The three registers of the OTP programming interface are, of course, only
implemented in the OTP versions of the C164CM.
T2IC
b FF60
H
B0
H
GPT1 Timer 2 Interrupt Control Register
0000
H
T3
FE42
H
21
H
GPT1 Timer 3 Register
0000
H
T3CON
b FF42
H
A1
H
GPT1 Timer 3 Control Register
0000
H
T3IC
b FF62
H
B1
H
GPT1 Timer 3 Interrupt Control Register
0000
H
T4
FE44
H
22
H
GPT1 Timer 4 Register
0000
H
T4CON
b FF44
H
A2
H
GPT1 Timer 4 Control Register
0000
H
T4IC
b FF64
H
B2
H
GPT1 Timer 4 Interrupt Control Register
0000
H
T7
F050
H
E 28
H
CAPCOM Timer 7 Register
0000
H
T78CON
b FF20
H
90
H
CAPCOM Timer 7 and 8 Ctrl. Reg.
0000
H
T7IC
b F17A
H
E BD
H
CAPCOM Timer 7 Interrupt Ctrl. Reg.
0000
H
T7REL
F054
H
E 2A
H
CAPCOM Timer 7 Reload Register
0000
H
T8
F052
H
E 29
H
CAPCOM Timer 8 Register
0000
H
T8IC
b F17C
H
E BE
H
CAPCOM Timer 8 Interrupt Ctrl. Reg.
0000
H
T8REL
F056
H
E 2B
H
CAPCOM Timer 8 Reload Register
0000
H
TFR
b FFAC
H
D6
H
Trap Flag Register
0000
H
TRCON
b FF34
H
9A
H
CAPCOM 6 Trap Enable Ctrl. Reg.
00XX
H
WDT
FEAE
H
57
H
Watchdog Timer Register (read only)
0000
H
WDTCON
FFAE
H
D7
H
Watchdog Timer Control Register
2)
00xx
H
XP0IC
b F186
H
E C3
H
CAN1 Module Interrupt Control Register
0000
H
XP1IC
b F18E
H
E C7
H
Unassigned Interrupt Control Reg.
0000
H
XP3IC
b F19E
H
E CF
H
PLL/RTC Interrupt Control Register
0000
H
ZEROS
b FF1C
H
8E
H
Constant Value 0's Register (read only)
0000
H
1)
The system configuration is selected during reset.
2)
The reset value depends on the indicated reset source.
Table 7
C164CM Registers, Ordered by Name (cont'd)
Name
Physical
Address
8-Bit
Addr.
Description
Reset
Value
C164CM
C164SM
Data Sheet
40
V1.0, 2001-05
Absolute Maximum Ratings
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 (
V
IN
>
V
DD
or
V
IN
<
V
SS
) the
voltage on
V
DD
pins with respect to ground (
V
SS
) must not exceed the values
defined by the absolute maximum ratings.
Table 8
Absolute Maximum Rating Parameters
Parameter
Symbol
Limit Values
Unit
Notes
min.
max.
Storage temperature
T
ST
-65
150
C
Junction temperature
T
J
-40
150
C
under bias
Voltage on
V
DD
pins with
respect to ground (
V
SS
)
V
DD
-0.5
6.5
V
Voltage on any pin with
respect to ground (
V
SS
)
V
IN
-0.5
V
DD
+ 0.5 V
Input current on any pin
during overload condition
-10
10
mA
Absolute sum of all input
currents during overload
condition
|100|
mA
Power dissipation
P
DISS
1.5
W
C164CM
C164SM
Data Sheet
41
V1.0, 2001-05
Operating Conditions
The following operating conditions must not be exceeded in order to ensure correct
operation of the C164CM. All parameters specified in the following sections refer to
these operating conditions, unless otherwise noticed.
Table 9
Operating Condition Parameters
Parameter
Symbol
Limit Values
Unit Notes
min.
max.
Digital supply voltage
V
DD
4.5
5.5
V
Active mode,
f
CPUmax
= 25 MHz
2.5
1)
1)
Output voltages and output currents will be reduced when
V
DD
leaves the range defined for active mode.
5.5
V
PowerDown mode
Digital ground voltage
V
SS
0
V
Reference voltage
Overload current
I
OV
5
mA
Per pin
2)3)
2)
Overload conditions occur if the standard operatings conditions are exceeded, i.e. the voltage on any pin
exceeds the specified range (i.e.
V
OV
>
V
DD
+ 0.5 V or
V
OV
<
V
SS
- 0.5 V). The absolute sum of input overload
currents on all pins may not exceed 50 mA. The supply voltage must remain within the specified limits.
Proper operation is not guaranteed if overload conditions occur on functional pins line XTAL1, RD, WR, etc.
3)
Not 100% tested, guaranteed by design and characterization.
Absolute sum of overload
currents
|
I
OV
|
50
mA
3)
External Load
Capacitance
C
L
100
pF
Pin drivers in
default mode
4)
4)
The timing is valid for pin drivers operating in default current mode (selected after reset). Reducing the output
current may lead to increased delays or reduced driving capability (
C
L
).
Ambient temperature
T
A
0
70
C
SAB-C164CM ...
-40
85
C
SAF-C164CM ...
-40
125
C
SAK-C164CM ...
C164CM
C164SM
Data Sheet
42
V1.0, 2001-05
Parameter Interpretation
The parameters listed in the following partly represent the characteristics of the C164CM
and partly its demands on the system. To aid in interpreting the parameters right, when
evaluating them for a design, they are marked in column "Symbol":
CC (Controller Characteristics):
The logic of the C164CM will provide signals with the respective characteristics.
SR (System Requirement):
The external system must provide signals with the respective characteristics to the
C164CM.
DC Characteristics
(Operating Conditions apply)
1)
Parameter
Symbol
Limit Values
Unit Test Conditions
min.
max.
Input low voltage (TTL,
all except XTAL1)
V
IL
SR -0.5
0.2
V
DD
- 0.1
V
Input low voltage XTAL1
V
IL2
SR -0.5
0.3
V
DD
V
Input high voltage (TTL,
all except RSTIN, XTAL1)
V
IH
SR 0.2
V
DD
+ 0.9
V
DD
+
0.5
V
Input high voltage RSTIN
(when operated as input)
V
IH1
SR 0.6
V
DD
V
DD
+
0.5
V
Input high voltage XTAL1
V
IH2
SR 0.7
V
DD
V
DD
+
0.5
V
Output low voltage
2)
V
OL
CC
1.0
V
I
OL
I
OLmax
3)
0.45
V
I
OL
I
OLnom
3)4)
Output high voltage
5)
V
OH
CC
V
DD
-
1.0
V
I
OH
I
OHmax
3)
V
DD
-
0.45
V
I
OH
I
OHnom
3)4)
Input leakage current (Port 5)
I
OZ1
CC
200
nA
0 V <
V
IN
<
V
DD
Input leakage current (all other)
I
OZ2
CC
500
nA
0.45 V <
V
IN
<
V
DD
RSTIN inactive current
6)
I
RSTH
7)
-10
A
V
IN
=
V
IH1
RSTIN active current
6)
I
RSTL
8)
-100
A
V
IN
=
V
IL
RD/WR inact. current
9)
I
RWH
7)
-40
A
V
OUT
= 2.4 V
RD/WR active current
9)
I
RWL
8)
-500
A
V
OUT
=
V
OLmax
C164CM
C164SM
Data Sheet
43
V1.0, 2001-05
ALE inactive current
9)
I
ALEL
7)
40
A
V
OUT
=
V
OLmax
ALE active current
9)
I
ALEH
8)
500
A
V
OUT
= 2.4 V
PORT0 configuration current
10)
I
P0H
7)
-10
A
V
IN
=
V
IHmin
I
P0L
8)
-100
A
V
IN
=
V
ILmax
XTAL1 input current
I
IL
CC
20
A
0 V <
V
IN
<
V
DD
Pin capacitance
11)
(digital inputs/outputs)
C
IO
CC
10
pF
f
= 1 MHz
T
A
= 25
C
1)
Keeping signal levels within the levels specified in this table, ensures operation without overload conditions.
For signal levels outside these specifications also refer to the specification of the overload current
I
OV
.
2)
For pin RSTIN this specification is only valid in bidirectional reset mode.
3)
The maximum deliverable output current of a port driver depends on the selected output driver mode, see
Table 10
,
Current Limits for Port Output Drivers
. The limit for pin groups must be respected.
4)
As a rule, with decreasing output current the output levels approach the respective supply level (
V
OL
V
SS
,
V
OH
V
DD
). However, only the levels for nominal output currents are guaranteed.
5)
This specification is not valid for outputs which are switched to open drain mode. In this case the respective
output will float and the voltage results from the external circuitry.
6)
These parameters describe the RSTIN pullup, which equals a resistance of ca. 50 to 250 k
.
7)
The maximum current may be drawn while the respective signal line remains inactive.
8)
The minimum current must be drawn in order to drive the respective signal line active.
9)
This specification is valid during Reset and during Adapt-mode.
10)
This specification is valid during Reset if required for configuration, and during Adapt-mode.
11)
Not 100% tested, guaranteed by design and characterization.
Table 10
Current Limits for Port Output Drivers
Port Output Driver
Mode
Maximum Output Current
(
I
OLmax
, -
I
OHmax
)
1)
1)
An output current above |
I
OXnom
| may be drawn from up to three pins at the same time.
For any group of 16 neighboring port output pins the total output current in each direction (
I
OL
and
-
I
OH
)
must remain below 50 mA.
Nominal Output Current
(
I
OLnom
, -
I
OHnom
)
Strong driver
10 mA
2.5 mA
Medium driver
4.0 mA
1.0 mA
Weak driver
0.5 mA
0.1 mA
DC Characteristics (cont'd)
(Operating Conditions apply)
1)
Parameter
Symbol
Limit Values
Unit Test Conditions
min.
max.
C164CM
C164SM
Data Sheet
44
V1.0, 2001-05
Power Consumption C164CM (ROM)
(Operating Conditions apply)
Parameter
Symbol
Limit Values
Unit Test
Conditions
min.
max.
Power supply current (active)
with all peripherals active
I
DD
1 +
2.5
f
CPU
mA
RSTIN =
V
IL
f
CPU
in [MHz]
1)
Idle mode supply current
with all peripherals active
I
IDX
1 +
1.1
f
CPU
mA
RSTIN =
V
IH1
f
CPU
in [MHz]
1)
Idle mode supply current
with all peripherals deactivated,
PLL off, SDD factor = 32
I
IDO
2)
500 +
50
f
OSC
A
RSTIN =
V
IH1
f
OSC
in [MHz]
1)
Sleep and Power-down mode
supply current with RTC running
I
PDR
2)
200 +
25
f
OSC
A
V
DD
=
V
DDmax
f
OSC
in [MHz]
3)
Sleep and Power-down mode
supply current with RTC disabled
I
PDO
50
A
V
DD
=
V
DDmax
3)
1)
The supply current is a function of the operating frequency. This dependency is illustrated in
Figure 9
.
These parameters are tested at
V
DDmax
and maximum CPU clock with all outputs disconnected and all inputs
at
V
IL
or
V
IH
.
2)
This parameter is determined mainly by the current consumed by the oscillator (see
Figure 8
). This current,
however, is influenced by the external oscillator circuitry (crystal, capacitors). The values given refer to a typical
circuitry and may change in case of a not optimized external oscillator circuitry.
3)
This parameter is tested including leakage currents. All inputs (including pins configured as inputs) at 0 V to
0.1 V or at
V
DD
- 0.1 V to
V
DD
,
V
REF
= 0 V, all outputs (including pins configured as outputs) disconnected.
Power Consumption C164CM (OTP)
(Operating Conditions apply)
Parameter
Sym-
bol
Limit Values
Unit Test
Conditions
min.
max.
Power supply current (active)
with all peripherals active
I
DD
10 +
3.5
f
CPU
mA
RSTIN =
V
IL
f
CPU
in [MHz]
1)
Idle mode supply current
with all peripherals active
I
IDX
5 +
1.25
f
CPU
mA
RSTIN =
V
IH1
f
CPU
in [MHz]
1)
Idle mode supply current
with all peripherals deactivated,
PLL off, SDD factor = 32
I
IDO
2)
500 +
50
f
OSC
A
RSTIN =
V
IH1
f
OSC
in [MHz]
1)
C164CM
C164SM
Data Sheet
45
V1.0, 2001-05
Figure 8
Idle and Power Down Supply Current as a Function of Oscillator
Frequency
Sleep and Power-down mode
supply current with RTC running
I
PDR
2)
200 +
25
f
OSC
A
V
DD
=
V
DDmax
f
OSC
in [MHz]
3)
Sleep and Power-down mode
supply current with RTC disabled
I
PDO
50
A
V
DD
=
V
DDmax
3)
1)
The supply current is a function of the operating frequency. This dependency is illustrated in
Figure 10
.
These parameters are tested at
V
DDmax
and maximum CPU clock with all outputs disconnected and all inputs
at
V
IL
or
V
IH
.
2)
This parameter is determined mainly by the current consumed by the oscillator (see
Figure 8
). This current,
however, is influenced by the external oscillator circuitry (crystal, capacitors). The values given refer to a typical
circuitry and may change in case of a not optimized external oscillator circuitry.
3)
This parameter is tested including leakage currents. All inputs (including pins configured as inputs) at 0 V to
0.1 V or at
V
DD
- 0.1 V to
V
DD
,
V
REF
= 0 V, all outputs (including pins configured as outputs) disconnected.
Power Consumption C164CM (OTP) (cont'd)
(Operating Conditions apply)
Parameter
Sym-
bol
Limit Values
Unit Test
Conditions
min.
max.
MCD04433
0
f
OSC
PDOmax
I
4
8
12
16
0
250
MHz
A
500
750
1000
1250
1500
PDRmax
I
IDOtyp
I
IDOmax
I
C164CM
C164SM
Data Sheet
46
V1.0, 2001-05
Figure 9
Supply/Idle Current as a Function of Operating Frequency
for ROM Derivatives
I
[mA]
f
CPU
[MHz]
10
15
20
25
I
DD5max
I
DD5typ
I
IDX5max
I
IDX5typ
20
40
60
80
100
C164CM
C164SM
Data Sheet
47
V1.0, 2001-05
Figure 10
Supply/Idle Current as a Function of Operating Frequency
for OTP Derivatives
I
[mA]
f
CPU
[MHz]
10
15
20
25
I
DD5max
I
DD5typ
I
IDX5max
I
IDX5typ
20
40
60
80
100
C164CM
C164SM
Data Sheet
48
V1.0, 2001-05
AC Characteristics
Definition of Internal Timing
The internal operation of the C164CM is controlled by the internal CPU clock
f
CPU
. Both
edges of the CPU clock can trigger internal (e.g. pipeline) or external (e.g. bus cycles)
operations.
The specification of the external timing (AC Characteristics) therefore depends on the
time between two consecutive edges of the CPU clock, called "TCL" (see
Figure 11
).
Figure 11
Generation Mechanisms for the CPU Clock
The CPU clock signal
f
CPU
can be generated from the oscillator clock signal
f
OSC
via
different mechanisms. The duration of TCLs and their variation (and also the derived
external timing) depends on the used mechanism to generate
f
CPU
. This influence must
be regarded when calculating the timings for the C164CM.
Note: The example for PLL operation shown in
Figure 11
refers to a PLL factor of 4.
The used mechanism to generate the basic CPU clock is selected by bitfield CLKCFG
in register RP0H.7-5.
Upon a long hardware reset register RP0H is loaded with the logic levels present on the
upper half of PORT0 (P0H), i.e. bitfield CLKCFG represents the logic levels on pins
MCT04338
f
OSC
f
CPU
Phase Locked Loop Operation
TCL
f
OSC
f
CPU
Direct Clock Drive
f
OSC
f
CPU
Prescaler Operation
TCL
TCL
TCL
TCL
TCL
C164CM
C164SM
Data Sheet
49
V1.0, 2001-05
P0.15-13 (P0H.7-5). Register RP0H can be loaded from the upper half of register
RSTCON under software control.
Table 11
associates the combinations of these three bits with the respective clock
generation mode.
Prescaler Operation
When prescaler operation is configured (CLKCFG = 001
B
) the CPU clock is derived from
the internal oscillator (input clock signal) by a 2:1 prescaler.
The frequency of
f
CPU
is half the frequency of
f
OSC
and the high and low time of
f
CPU
(i.e.
the duration of an individual TCL) is defined by the period of the input clock
f
OSC
.
The timings listed in the AC Characteristics that refer to TCLs therefore can be
calculated using the period of
f
OSC
for any TCL.
Phase Locked Loop
When PLL operation is configured (via CLKCFG) the on-chip phase locked loop is
enabled and provides the CPU clock (see
Table 11
). The PLL multiplies the input
frequency by the factor F which is selected via the combination of pins P0.15-13 (i.e.
f
CPU
=
f
OSC
F). With every F'th transition of
f
OSC
the PLL circuit synchronizes the CPU
clock to the input clock. This synchronization is done smoothly, i.e. the CPU clock
frequency does not change abruptly.
Table 11
C164CM Clock Generation Modes
CLKCFG
1)
(RP0H.7-5)
1)
Please note that pin P0.15 (corresponding to RP0H.7) is inverted in emulation mode, and thus also in EHM.
CPU Frequency
f
CPU
=
f
OSC
F
External Clock
Input Range
2)
2)
The external clock input range refers to a CPU clock range of 10 ... 25 MHz.
Notes
1 1 1
f
OSC
4
2.5 to 6.25 MHz
Default configuration
1 1 0
f
OSC
3
3.33 to 8.33 MHz
1 0 1
f
OSC
2
5 to 12.5 MHz
1 0 0
f
OSC
5
2 to 5 MHz
0 1 1
f
OSC
1
1 to 25 MHz
Direct drive
3)
3)
The maximum frequency depends on the duty cycle of the external clock signal.
0 1 0
f
OSC
1.5
6.66 to 16.66 MHz
0 0 1
f
OSC
/ 2
2 to 50 MHz
CPU clock via prescaler
0 0 0
f
OSC
2.5
4 to 10 MHz
C164CM
C164SM
Data Sheet
50
V1.0, 2001-05
Due to this adaptation to the input clock the frequency of
f
CPU
is constantly adjusted so
it is locked to
f
OSC
. The slight variation causes a jitter of
f
CPU
which also effects the
duration of individual TCLs.
The timings listed in the AC Characteristics that refer to TCLs therefore must be
calculated using the minimum TCL that is possible under the respective circumstances.
The actual minimum value for TCL depends on the jitter of the PLL. As the PLL is
constantly adjusting its output frequency so it corresponds to the applied input frequency
(crystal or oscillator) the relative deviation for periods of more than one TCL is lower than
for one single TCL (see formula and
Figure 12
).
For a period of
N
TCL the minimum value is computed using the corresponding
deviation D
N
:
(
N
TCL)
min
=
N
TCL
NOM
- D
N
; D
N
[ns] =
(13.3 +
N
6.3)/
f
CPU
[MHz],
where
N
= number of consecutive TCLs and 1
N
40.
So for a period of 3 TCLs @ 25 MHz (i.e.
N
= 3): D
3
= (13.3 +
3
6.3)/25 = 1.288 ns,
and (3TCL)
min
= 3TCL
NOM
- 1.288 ns = 58.7 ns (@
f
CPU
= 25 MHz).
This is especially important for bus cycles using waitstates and e.g. for the operation of
timers, serial interfaces, etc. For all slower operations and longer periods (e.g. pulse train
generation or measurement, lower baudrates, etc.) the deviation caused by the PLL jitter
is neglectible.
Note: For all periods longer than 40 TCL the N = 40 value can be used (see
Figure 12
).
Figure 12
Approximated Maximum Accumulated PLL Jitter
MCD04455
N
Max. jitter
D
N
1
10
20
30
ns
26.5
1
10
20
40
This approximated formula is valid for
1
N
40 and 10 MHz f
CPU
25 MHz.
10 MHz
16 MHz
20 MHz
25 MHz
30
<
<
<
<
C164CM
C164SM
Data Sheet
51
V1.0, 2001-05
Direct Drive
When direct drive is configured (CLKCFG = 011
B
) the on-chip phase locked loop is
disabled and the CPU clock is directly driven from the internal oscillator with the input
clock signal.
The frequency of
f
CPU
directly follows the frequency of
f
OSC
so the high and low time of
f
CPU
(i.e. the duration of an individual TCL) is defined by the duty cycle of the input clock
f
OSC
.
The timings listed below that refer to TCLs therefore must be calculated using the
minimum TCL that is possible under the respective circumstances. This minimum value
can be calculated via the following formula:
TCL
min
= 1/
f
OSC
DC
min
(DC = duty cycle)
For two consecutive TCLs the deviation caused by the duty cycle of
f
OSC
is compensated
so the duration of 2TCL is always 1/
f
OSC
. The minimum value TCL
min
therefore has to
be used only once for timings that require an odd number of TCLs (1, 3, ...). Timings that
require an even number of TCLs (2, 4, ...) may use the formula 2TCL = 1/
f
OSC
.
C164CM
C164SM
Data Sheet
52
V1.0, 2001-05
AC Characteristics
External Clock Drive XTAL1
(Operating Conditions apply)
Figure 13
External Clock Drive XTAL1
Note: If the on-chip oscillator is used together with a crystal, the oscillator frequency is
limited to a range of 4 MHz to 16 MHz.
It is strongly recommended to measure the oscillation allowance (or margin) in the
final target system (layout) to determine the optimum parameters for the oscillator
operation. Please refer to the limits specified by the crystal supplier.
When driven by an external clock signal it will accept the specified frequency
range. Operation at lower input frequencies is possible but is guaranteed by
design only (not 100% tested).
Table 12
External Clock Drive Characteristics
Parameter
Symbol
Direct Drive
1:1
Prescaler
2:1
PLL
1:N
Unit
min.
max.
min.
max.
min.
max.
Oscillator period
t
OSC
SR 40
20
60
1)
1)
The minimum and maximum oscillator periods for PLL operation depend on the selected CPU clock generation
mode. Please see respective table above.
500
1)
ns
High time
2)
2)
The clock input signal must reach the defined levels
V
IL2
and
V
IH2
.
t
1
SR 20
3)
3)
The minimum high and low time refers to a duty cycle of 50%. The maximum operating frequency (
f
CPU
) in
direct drive mode depends on the duty cycle of the clock input signal.
6
10
ns
Low time
2)
t
2
SR 20
3)
6
10
ns
Rise time
2)
t
3
SR
8
5
10
ns
Fall time
2)
t
4
SR
8
5
10
ns
MCT02534
3
t
4
t
V
IH2
V
IL
V
DD
0.5
1
t
2
t
OSC
t
C164CM
C164SM
Data Sheet
53
V1.0, 2001-05
A/D Converter Characteristics
(Operating Conditions apply)
Table 13
A/D Converter Characteristics
Parameter
Symbol
Limit Values
Unit Test
Conditions
min.
max.
Analog reference supply
V
AREF
SR 4.0
V
DD
+ 0.1 V
1)
1)
TUE is tested at
V
AREF
= 5.0 V,
V
AGND
= 0 V,
V
DD
= 4.9 V. It is guaranteed by design for all other voltages
within the defined voltage range.
If the analog reference supply voltage exceeds the power supply voltage by up to 0.2 V
(i.e.
V
AREF
=
V
DD
= +0.2 V) the maximum TUE is increased to
3 LSB. This range is not 100% tested.
The specified TUE is guaranteed only if the absolute sum of input overload currents on Port 5 pins (see
I
OV
specification) does not exceed 10 mA.
During the reset calibration sequence the maximum TUE may be
4 LSB.
Analog reference ground
V
AGND
SR
V
SS
- 0.1
V
SS
+ 0.2 V
Analog input voltage range
V
AIN
SR
V
AGND
V
AREF
V
2)
2)
V
AIN
may exceed
V
AGND
or
V
AREF
up to the absolute maximum ratings. However, the conversion result in
these cases will be X000
H
or X3FF
H
, respectively.
Basic clock frequency
f
BC
0.5
6.25
MHz
3)
3)
The limit values for
f
BC
must not be exceeded when selecting the CPU frequency and the ADCTC setting.
Conversion time
t
C
CC
40
t
BC
+
t
S
+ 2
t
CPU
4)
t
CPU
= 1 /
f
CPU
4)
This parameter includes the sample time
t
S
, the time for determining the digital result and the time to load the
result register with the conversion result.
Values for the basic clock
t
BC
depend on programming and can be taken from
Table 14
.
This parameter depends on the ADC control logic. It is not a real maximum value, but rather a fixum.
Calibration time after reset
t
CAL
CC
3328
t
BC
5)
5)
During the reset calibration conversions can be executed (with the current accuracy). The time required for
these conversions is added to the total reset calibration time.
Total unadjusted error
TUE
CC
2
LSB
1)
Internal resistance of
reference voltage source
R
AREF
SR
t
BC
/ 60
- 0.25
k
t
BC
in [ns]
6)7)
6)
During the conversion the ADC's capacitance must be repeatedly charged or discharged. The internal
resistance of the reference voltage source must allow the capacitance to reach its respective voltage level
within each conversion step. The maximum internal resistance results from the programmed conversion
timing.
7)
Not 100% tested, guaranteed by design and characterization.
Internal resistance of analog
source
R
ASRC
SR
t
S
/ 450
- 0.25
k
t
S
in [ns]
7)8)
ADC input capacitance
C
AIN
CC
33
pF
7)
C164CM
C164SM
Data Sheet
54
V1.0, 2001-05
Sample time and conversion time of the C164CM's A/D Converter are programmable.
Table 14
should be used to calculate the above timings.
The limit values for
f
BC
must not be exceeded when selecting ADCTC.
Converter Timing Example:
Assumptions:
f
CPU
= 25 MHz (i.e.
t
CPU
= 40 ns), ADCTC = `00', ADSTC = `00'.
Basic clock
f
BC
=
f
CPU
/4 = 6.25 MHz, i.e.
t
BC
= 160 ns.
Sample time
t
S
=
t
BC
8 = 1280 ns.
Conversion time
t
C
=
t
S
+ 40
t
BC
+ 2
t
CPU
= (1280 + 6400 + 80) ns = 7.8
s.
8)
During the sample time the input capacitance
C
AIN
can be charged/discharged by the external source. The
internal resistance of the analog source must allow the capacitance to reach its final voltage level within
t
S
.
After the end of the sample time
t
S
, changes of the analog input voltage have no effect on the conversion result.
Values for the sample time
t
S
depend on programming and can be taken from
Table 14
.
Table 14
A/D Converter Computation Table
ADCON.15|14
(ADCTC)
A/D Converter
Basic Clock
f
BC
ADCON.13|12
(ADSTC)
Sample time
t
S
00
f
CPU
/ 4
00
t
BC
8
01
f
CPU
/ 2
01
t
BC
16
10
f
CPU
/ 16
10
t
BC
32
11
f
CPU
/ 8
11
t
BC
64
C164CM
C164SM
Data Sheet
55
V1.0, 2001-05
Testing Waveforms
Figure 14
Input Output Waveforms
Figure 15
Float Waveforms
MCA04414
2.4 V
0.45 V
1.8 V
0.8 V
1.8 V
0.8 V
Test Points
AC inputs during testing are driven at 2.4 V for a logic '1' and 0.45 V for a logic '0'.
Timing measurements are made at
IH
V
min for a logic '1' and
V
IL
max for a logic '0'.
MCA00763
- 0.1 V
+ 0.1 V
+ 0.1 V
- 0.1 V
Reference
For timing purposes a port pin is no longer floating when a 100 mV change from load voltage occurs,
but begins to float when a 100 mV change from the loaded
OH
V
Timing
Points
Load
V
V
Load
OH
V
V
OL
/
V
OL
level occurs (
I
OH
OL
I
/
= 20 mA).
C164CM
C164SM
Data Sheet
56
V1.0, 2001-05
Memory Cycle Variables
The timing tables below use three variables which are derived from the BUSCONx
registers and represent the special characteristics of the programmed memory cycle.
The following table describes, how these variables are to be computed.
Note: Please respect the maximum operating frequency of the respective derivative.
AC Characteristics
Table 15
Memory Cycle Variables
Description
Symbol
Values
ALE Extension
t
A
TCL
<ALECTL>
Memory Cycle Time Waitstates
t
C
2TCL
(15 - <MCTC>)
Memory Tristate Time
t
F
2TCL
(1 - <MTTC>)
Multiplexed Bus
(Operating Conditions apply)
ALE cycle time = 6 TCL + 2
t
A
+
t
C
+
t
F
(120 ns at 25 MHz CPU clock without waitstates)
Parameter
Symbol
Max. CPU Clock
= 25 MHz
Variable CPU Clock
1 / 2TCL = 1 to 25 MHz
Unit
min.
max.
min.
max.
ALE high time
t
5
CC
10 +
t
A
TCL - 10
+
t
A
ns
Address setup to ALE
t
6
CC
4 +
t
A
TCL - 16
+
t
A
ns
Address hold after ALE
t
7
CC
10 +
t
A
TCL - 10
+
t
A
ns
ALE falling edge to RD,
WR (with RW-delay)
t
8
CC
10 +
t
A
TCL - 10
+
t
A
ns
ALE falling edge to RD,
WR (no RW-delay)
t
9
CC
-10 +
t
A
-10 +
t
A
ns
Address float after RD,
WR (with RW-delay)
t
10
CC
6
6
ns
Address float after RD,
WR (no RW-delay)
t
11
CC
26
TCL + 6
ns
RD, WR low time
(with RW-delay)
t
12
CC
30 +
t
C
2TCL - 10
+
t
C
ns
C164CM
C164SM
Data Sheet
57
V1.0, 2001-05
RD, WR low time
(no RW-delay)
t
13
CC
50 +
t
C
3TCL - 10
+
t
C
ns
RD to valid data in
(with RW-delay)
t
14
SR
20 +
t
C
2TCL - 20
+
t
C
ns
RD to valid data in
(no RW-delay)
t
15
SR
40 +
t
C
3TCL - 20
+
t
C
ns
ALE low to valid data in
t
16
SR
40 +
t
A
+
t
C
3TCL - 20
+
t
A
+
t
C
ns
Address to valid data in
t
17
SR
50 + 2
t
A
+
t
C
4TCL - 30
+
2
t
A
+
t
C
ns
Data hold after RD
rising edge
t
18
SR
0
0
ns
Data float after RD
t
19
SR
26 +
t
F
2TCL - 14
+
t
F
ns
Data valid to WR
t
22
CC
20 +
t
C
2TCL - 20
+
t
C
ns
Data hold after WR
t
23
CC
26 +
t
F
2TCL - 14
+
t
F
ns
ALE rising edge after RD,
WR
t
25
CC
26 +
t
F
2TCL - 14
+
t
F
ns
Address hold after RD,
WR
t
27
CC
26 +
t
F
2TCL - 14
+
t
F
ns
Multiplexed Bus (cont'd)
(Operating Conditions apply)
ALE cycle time = 6 TCL + 2
t
A
+
t
C
+
t
F
(120 ns at 25 MHz CPU clock without waitstates)
Parameter
Symbol
Max. CPU Clock
= 25 MHz
Variable CPU Clock
1 / 2TCL = 1 to 25 MHz
Unit
min.
max.
min.
max.
C164CM
C164SM
Data Sheet
58
V1.0, 2001-05
Figure 16
External Memory Cycle:
Multiplexed Bus, With Read/Write Delay, Normal ALE
(A10-A8)
Data In
Data Out
Address
Address
t
10
Address
ALE
BUS
Read Cycle
RD
BUS
Write Cycle
WR
t
5
t
16
t
17
t
6
t
7
t
25
t
27
t
18
t
19
t
14
t
12
t
10
t
22
t
23
t
12
t
8
t
8
C164CM
C164SM
Data Sheet
59
V1.0, 2001-05
Figure 17
External Memory Cycle:
Multiplexed Bus, With Read/Write Delay, Extended ALE
Data Out
Address
Data In
Address
t
10
Address
ALE
(A10-A8)
BUS
Read Cycle
RD
BUS
Write Cycle
WR
t
5
t
16
t
17
t
6
t
7
t
25
t
27
t
18
t
19
t
14
t
12
t
10
t
22
t
23
t
12
t
8
t
8
C164CM
C164SM
Data Sheet
60
V1.0, 2001-05
Figure 18
External Memory Cycle:
Multiplexed Bus, No Read/Write Delay, Normal ALE
Data Out
Address
Address
Data In
Address
ALE
(A10-A8)
BUS
Read Cycle
RD
BUS
Write Cycle
WR
t
5
t
16
t
17
t
6
t
7
t
25
t
27
t
18
t
19
t
15
t
13
t
22
t
23
t
13
t
9
t
9
t
11
t
11
C164CM
C164SM
Data Sheet
61
V1.0, 2001-05
Figure 19
External Memory Cycle:
Multiplexed Bus, No Read/Write Delay, Extended ALE
Data Out
Address
Data In
Address
Address
ALE
(A10-A8)
BUS
Read Cycle
RD
BUS
Write Cycle
WR
t
5
t
16
t
17
t
6
t
7
t
25
t
27
t
18
t
19
t
15
t
13
t
22
t
23
t
13
t
9
t
9
t
11
t
11
C164CM
C164SM
Data Sheet
62
V1.0, 2001-05
AC Characteristics
Figure 20
CLKOUT Timing
Notes
1)
Cycle as programmed, including MCTC waitstates (Example shows 0 MCTC WS).
2)
The leading edge of the respective command depends on RW-delay.
3)
Multiplexed bus modes have a MUX waitstate added after a bus cycle, and an additional MTTC waitstate may
be inserted here.
For a multiplexed bus with MTTC waitstate this delay is 2 CLKOUT cycles.
4)
The next external bus cycle may start here.
CLKOUT
(Operating Conditions apply)
Parameter
Symbol
Max. CPU Clock
= 25 MHz
Variable CPU Clock
1 / 2TCL = 1 to 25 MHz
Unit
min.
max.
min.
max.
CLKOUT cycle time
t
29
CC
40
40
2TCL
2TCL
ns
CLKOUT high time
t
30
CC
14
TCL - 6
ns
CLKOUT low time
t
31
CC
10
TCL - 10
ns
CLKOUT rise time
t
32
CC
4
4
ns
CLKOUT fall time
t
33
CC
4
4
ns
CLKOUT rising edge to
ALE falling edge
t
34
CC
0 +
t
A
10 +
t
A
0 +
t
A
10 +
t
A
ns
CLKOUT
ALE
t
30
t
34
MUX/Tristate
3)
t
32
t
33
t
29
Running cycle
1)
t
31
Command
RD, WR
2)
4)
C164CM
C164SM
Data Sheet
63
V1.0, 2001-05
Package Outlines
P-TQFP-64-4
(Plastic Metric Quad Flat Package)
GP
P
092
97
Sorts of Packing
Package outlines for tubes, trays etc. are contained in our
Data Book "Package Information".
Dimensions in mm
SMD = Surface Mounted Device
h t t p : / / w w w . i n f i n e o n . c o m
Published by Infineon Technologies AG
Infineon goes for Business Excellence
"Business excellence means intelligent approaches and clearly
defined processes, which are both constantly under review and
ultimately lead to good operating results.
Better operating results and business excellence mean less
idleness and wastefulness for all of us, more professional
success, more accurate information, a better overview and,
thereby, less frustration and more satisfaction."
Dr. Ulrich Schumacher