SAK-C164CM-4R25F [INFINEON]

16-Bit Single-Chip Microcontrol ler; 16位单芯片单片机在LER
SAK-C164CM-4R25F
型号: SAK-C164CM-4R25F
厂家: Infineon    Infineon
描述:

16-Bit Single-Chip Microcontrol ler
16位单芯片单片机在LER

文件: 总68页 (文件大小:1068K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
Data Sheet, V1.0, May 2001  
C164CM/SM  
16-Bit Single-Chip Microcontroller  
Microcontrollers  
N e v e r s t o p t h i n k i n g .  
Edition 2001-05  
Published by Infineon Technologies AG,  
St.-Martin-Strasse 53,  
D-81541 München, 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.  
Data Sheet, V1.0, May 2001  
C164CM/SM  
16-Bit Single-Chip Microcontroller  
Microcontrollers  
N e v e r s t o p t h i n k i n g .  
C164CM  
Revision History:  
2001-05  
V1.0  
Previous Version:  
---  
Page  
Subjects (major changes since last revision)  
Controller Area Network (CAN): License of Robert Bosch GmbH  
We Listen to Your Comments  
Any information within this document that you feel is wrong, unclear or missing at all?  
Your feedback will help us to continuously improve the quality of this document.  
Please send your proposal (including a reference to this document) to:  
mcdocu.comments@infineon.com  
16-Bit Single-Chip Microcontroller  
C166 Family  
C164CM  
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  
Data Sheet  
1
V1.0, 2001-05  
C164CM  
C164SM  
• 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.  
Table 1  
C164CM Derivative Synopsis  
Derivative1)  
Program  
Memory  
CAPCOM6 CAN Interf. Operating  
Frequency  
SAK-C164CM-4RF  
SAF-C164CM-4RF  
32 KByte ROM Full function CAN1  
20 MHz  
25 MHz  
20 MHz  
25 MHz  
20 MHz  
SAK-C164CM-4R25F  
SAF-C164CM-4R25F  
32 KByte ROM Full function CAN1  
32 KByte ROM Full function ---  
32 KByte ROM Full function ---  
32 KByte OTP Full function CAN1  
SAK-C164SM-4RF  
SAF-C164SM-4RF  
SAK-C164SM-4R25F  
SAF-C164SM-4R25F  
SAK-C164CM-4EF  
SAF-C164CM-4EF  
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.  
For simplicity all versions are referred to by the term C164CM throughout this document.  
Data Sheet  
2
V1.0, 2001-05  
C164CM  
C164SM  
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.  
VAREF VAGND VDD VSS  
XTAL1  
Port 0  
16 Bit  
XTAL2  
Port 1  
16 Bit  
C164CM  
RSTIN  
Port 8  
4 Bit  
NMI  
Port 5  
8 Bit  
Port 20  
6 Bit  
MCL04954  
Figure 1  
Logic Symbol  
Data Sheet  
3
V1.0, 2001-05  
C164CM  
C164SM  
Pin Configuration  
(top view)  
64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49  
48  
VDD  
P5.3/AN3/T3IN  
P5.4/AN4/T2EUD  
P5.5/AN5/T4EUD  
P5.6/AN6/T2IN  
P5.7/AN7/T4IN (TRSEL)  
VSS  
1
2
3
4
5
6
7
8
P1.11/EX3IN/T7IN/CC31IO  
P1.10/CC6POS2/EX2IN/CC30IO  
P1.9/CC6POS1/EX1IN/CC29IO  
P1.8/CC6POS0/EX0IN/CC28IO  
P1.7/CTRAP  
P1.6/COUT63  
P1.5/COUT62  
P1.4/CC62  
P1.3/COUT61  
P1.2/CC61  
P1.1/COUT60  
P1.0/CC60  
P20.12/RSTOUT  
P20.8/CLKOUT/FOUT  
VSS  
47  
46  
45  
44  
43  
42  
41  
40  
39  
38  
37  
36  
35  
34  
33  
VDD  
P0.15/AD15/SCLK  
P0.14/AD14/MTSR  
P0.13/AD13/MRST  
P0.12/AD12/RxD0  
P0.11/AD11/TxD0  
P0.10/AD10  
C164CM  
9
10  
11  
12  
13  
14  
15  
16  
P0.9/AD9  
P0.8/AD8  
VDD  
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32  
MCP04955  
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.  
Data Sheet  
4
V1.0, 2001-05  
C164CM  
C164SM  
Table 2  
Pin Definitions and Functions  
Symbol Pin  
No.  
Input Function  
Outp.  
PORT0  
IO  
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.  
P0H.7  
P0H.6  
8
9
(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  
A(D)15  
SCLK  
A(D)14  
MTSR  
A(D)13  
MRST  
A(D)12  
RxD0  
A(D)11  
TxD0  
A(D)10  
A(D)9  
A(D)8  
AD7  
AD6  
AD5  
AD4  
AD3  
AD2  
AD1  
AD0  
Most Significant Address(/Data) Line  
SSC Master Clock Output / Slave Clock Input.  
Address(/Data) Line  
SSC Master-Transmit/Slave-Receive Outp./Inp.  
Address(/Data) Line  
SSC Master-Receive/Slave-Transmit Inp./Outp.  
Address(/Data) Line  
ASC0 Data Input (Async.) or Inp./Outp. (Sync.)  
Address(/Data) Line  
ASC0 Clock/Data Output (Async./Sync.)  
Address(/Data) Line  
Address(/Data) Line  
Address(/Data) Line  
Address/Data Line  
Address/Data Line  
Address/Data Line  
Address/Data Line  
Address/Data Line  
Address/Data Line  
Address/Data Line  
Least Significant Address/Data Line  
P0H.5 10  
P0H.4 11  
P0H.3 12  
P0H.2 13  
P0H.1 14  
P0H.0 15  
P0L.7  
P0L.6  
P0L.5  
P0L.4  
P0L.3  
P0L.2  
P0L.1  
P0L.0  
18  
19  
20  
21  
22  
23  
24  
25  
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.  
Data Sheet  
5
V1.0, 2001-05  
C164CM  
C164SM  
Table 2  
Pin Definitions and Functions (contd)  
Symbol Pin  
No.  
Input Function  
Outp.  
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 VSS.  
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.  
Data Sheet  
6
V1.0, 2001-05  
C164CM  
C164SM  
Table 2  
Pin Definitions and Functions (contd)  
Symbol Pin  
No.  
Input Function  
Outp.  
P20  
IO  
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:  
P20.0  
P20.1  
P20.4  
28  
29  
30  
O
O
O
RD  
External Memory Read Strobe, activated for  
every external instruction or data read access.  
External Memory Write Strobe, activated for  
every external data write access.  
WR  
ALE  
Address Latch Enable Output.  
Can be used for latching the address into external memory  
or an address latch in the multiplexed bus modes.  
P20.5  
31  
I
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.  
ROMlessversions must have this pin tied to 0.  
VPP  
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),  
P20.8  
34  
O
O
O
FOUT  
Programmable Frequency Output  
P20.12 35  
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.  
Data Sheet  
7
V1.0, 2001-05  
C164CM  
C164SM  
Table 2  
Pin Definitions and Functions (contd)  
Symbol Pin  
No.  
Input Function  
Outp.  
PORT1  
IO  
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:  
P1L.0  
P1L.1  
P1L.2  
P1L.3  
P1L.4  
P1L.5  
P1L.6  
P1L.7  
36  
37  
38  
39  
40  
41  
42  
43  
I/O  
O
I/O  
O
I/O  
O
O
CC60  
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  
CAPCOM6: Input / Output of Channel 0  
COUT62 CAPCOM6: Output of Channel 2  
COUT63 Output of 10-bit Compare Channel  
I
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).  
P1H.0 44  
P1H.1 45  
P1H.2 46  
P1H.3 47  
I
I
CC6POS0 CAPCOM6: Position 0 Input,  
EX0IN  
Fast External Interrupt 0 Input,  
I/O  
I
I
I/O  
I
I
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,  
I/O  
I
CC30IO  
EX3IN  
CAPCOM2: CC30 Capture Inp./Compare Outp.  
Fast External Interrupt 3 Input,  
I
T7IN  
CAPCOM2: Timer T7 Count Input,  
I/O  
I/O  
I/O  
I/O  
I/O  
CC31IO  
CC24IO  
CC25IO  
CC26IO  
CC27IO  
CAPCOM2: CC31 Capture Inp./Compare Outp.  
CAPCOM2: CC24 Capture Inp./Compare Outp.  
CAPCOM2: CC25 Capture Inp./Compare Outp.  
CAPCOM2: CC26 Capture Inp./Compare Outp.  
CAPCOM2: CC27 Capture Inp./Compare Outp.  
P1H.4 52  
P1H.5 53  
P1H.6 54  
P1H.7 55  
XTAL2 49  
XTAL1 50  
O
I
XTAL2:  
XTAL1:  
Output of the oscillator amplifier circuit.  
Input to the oscillator amplifier and input to  
the internal clock generator  
To clock the device from an external source, drive XTAL1,  
while leaving XTAL2 unconnected. Minimum and maximum  
high/low and rise/fall times specified in the AC  
Characteristics must be observed.  
Data Sheet  
8
V1.0, 2001-05  
C164CM  
C164SM  
Table 2  
Pin Definitions and Functions (contd)  
Symbol Pin  
No.  
Input Function  
Outp.  
P8  
IO  
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:  
P8.0  
P8.1  
P8.2  
P8.3  
56  
57  
58  
59  
I/O  
I
I/O  
O
I/O  
I
I/O  
O
CC16IO  
CAPCOM2: CC16 Capture Inp./Compare Outp.,  
CAN1_RxD CAN1 Receive Data Input  
CC17IO  
CAN1_TxD CAN1 Transmit Data Output  
CC18IO  
CAN1_RxD CAN1 Receive Data Input  
CC19IO  
CAN1_TxD CAN1 Transmit Data Output  
CAPCOM2: CC17 Capture Inp./Compare Outp.,  
CAPCOM2: CC18 Capture Inp./Compare Outp.,  
CAPCOM2: CC19 Capture Inp./Compare Outp.,  
Note: The CAN interface lines are only available in the  
C164CM.  
P5  
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:  
P5.0  
P5.1  
P5.2  
P5.3  
P5.4  
P5.5  
P5.6  
P5.7  
62  
63  
64  
1
2
3
I
I
I
I
I
I
I
I
AN0  
AN1  
AN2,  
AN3,  
AN4,  
AN5,  
AN6,  
AN7,  
T3EUD GPT1 Timer T3 Ext. Up/Down Ctrl. Inp.  
T3IN GPT1 Timer T3 Count Input  
T2EUD GPT1 Timer T5 Ext. Up/Down Ctrl. Inp.  
T4EUD GPT1 Timer T4 Ext. Up/Down Ctrl. Inp.  
4
5
T2IN  
T4IN  
GPT1 Timer T2 Count Input  
GPT1 Timer T4 Count Input  
VAGND 60  
VAREF 61  
Reference ground for the A/D converter.  
Reference voltage for the A/D converter.  
VDD  
7, 16,  
Digital Supply Voltage:  
32, 48  
+5 V during normal operation and idle mode.  
2.5 V during power down mode.  
VSS  
6, 17,  
Digital Ground.  
33, 51  
Data Sheet  
9
V1.0, 2001-05  
C164CM  
C164SM  
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.  
Data Sheet  
10  
V1.0, 2001-05  
C164CM  
C164SM  
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).  
C166-Core  
ProgMem  
IRAM  
Internal  
RAM  
16  
16  
Data  
Data  
32  
16  
ROM / OTP  
32 KByte  
Instr. / Data  
CPU  
2 KByte  
Osc / PLL  
XTAL  
PEC  
External Instr. / Data  
16-Level  
Priority  
Interrupt Controller  
RTC WDT  
16  
Interrupt Bus  
Peripheral Data Bus  
16  
CAN  
Rev 2.0B active  
ADC ASC0 SSC GPT1  
CCOM2CCOM6  
10-Bit  
(USART)  
(SPI)  
T2  
T3  
T4  
T7  
T12  
8
T8  
T13  
EBC  
Channels  
4
XBUS Control  
External Bus  
Control  
6
BRGen  
BRGen  
Port 0  
16  
Port 5  
Port 1  
16  
8
MCB04323_4cm  
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.  
Data Sheet  
11  
V1.0, 2001-05  
C164CM  
C164SM  
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 VPP = 11.5 V must be  
supplied for this purpose (via pin EA/VPP).  
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.  
Data Sheet  
12  
V1.0, 2001-05  
C164CM  
C164SM  
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.  
Data Sheet  
13  
V1.0, 2001-05  
C164CM  
C164SM  
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 C164CMs 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.  
CPU  
16  
Internal  
RAM  
SP  
STKOV  
STKUN  
MDH  
MDL  
R15  
Exec. Unit  
Instr. Ptr.  
Instr. Reg.  
Mul/Div-HW  
Bit-Mask Gen  
General  
Purpose  
Registers  
R15  
ALU  
32  
4-Stage  
Pipeline  
(16-bit)  
ROM  
Barrel - Shifter  
Context Ptr.  
R0  
PSW  
SYSCON  
BUSCON 0  
BUSCON 1  
BUSCON 2  
BUSCON 3  
BUSCON 4  
16  
R0  
ADDRSEL 1  
ADDRSEL 2  
ADDRSEL 3  
ADDRSEL 4  
Data Page Ptr.  
Code Seg. Ptr.  
MCB02147  
Figure 4  
CPU Block Diagram  
Data Sheet  
14  
V1.0, 2001-05  
C164CM  
C164SM  
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.  
Data Sheet  
15  
V1.0, 2001-05  
C164CM  
C164SM  
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  
stolenfrom 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 TRAPinstruction 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).  
Data Sheet  
16  
V1.0, 2001-05  
C164CM  
C164SM  
Table 3  
Source of Interrupt or Request  
PEC Service Request Flag  
C164CM Interrupt Nodes  
Enable  
Flag  
Interrupt  
Vector  
Vector  
Location Number  
Trap  
Fast External Interrupt 0 CC8IR  
Fast External Interrupt 1 CC9IR  
Fast External Interrupt 2 CC10IR  
Fast External Interrupt 3 CC11IR  
CC8IE  
CC9IE  
CC10IE  
CC11IE  
T2IE  
CC8INT  
CC9INT  
000060  
000064  
18  
19  
H
H
H
H
H
CC10INT 000068  
1A  
1B  
H
H
H
H
H
H
CC11INT 00006C  
H
H
H
GPT1 Timer 2  
GPT1 Timer 3  
GPT1 Timer 4  
T2IR  
T2INT  
T3INT  
T4INT  
ADCINT  
000088  
22  
23  
24  
28  
H
T3IR  
T3IE  
00008C  
000090  
T4IR  
T4IE  
H
A/D Conversion  
Complete  
ADCIR  
ADCIE  
0000A0  
A/D Overrun Error  
ASC0 Transmit  
ADEIR  
S0TIR  
ADEIE  
S0TIE  
ADEINT  
S0TINT  
S0TBINT  
S0RINT  
S0EINT  
SCTINT  
SCRINT  
SCEINT  
0000A4  
0000A8  
29  
H
H
H
2A  
H
ASC0 Transmit Buffer  
ASC0 Receive  
S0TBIR  
S0RIR  
S0EIR  
SCTIR  
SCRIR  
SCEIR  
CC16IR  
CC17IR  
CC18IR  
CC19IR  
CC24IR  
CC25IR  
CC26IR  
CC27IR  
T7IR  
S0TBIE  
S0RIE  
S0EIE  
SCTIE  
SCRIE  
SCEIE  
CC16IE  
CC17IE  
CC18IE  
CC19IE  
CC24IE  
CC25IE  
CC26IE  
CC27IE  
T7IE  
00011C  
47  
H
H
0000AC  
2B  
H
H
ASC0 Error  
0000B0  
0000B4  
0000B8  
2C  
2D  
H
H
H
H
H
H
H
H
H
H
H
SSC Transmit  
H
H
SSC Receive  
2E  
2F  
SSC Error  
0000BC  
H
H
H
H
CAPCOM Register 16  
CAPCOM Register 17  
CAPCOM Register 18  
CAPCOM Register 19  
CAPCOM Register 24  
CAPCOM Register 25  
CAPCOM Register 26  
CAPCOM Register 27  
CAPCOM Timer 7  
CAPCOM Timer 8  
CAPCOM6 Interrupt  
CAN Interface 1  
CC16INT 0000C0  
CC17INT 0000C4  
CC18INT 0000C8  
30  
31  
32  
33  
38  
39  
CC19INT 0000CC  
H
CC24INT 0000E0  
CC25INT 0000E4  
CC26INT 0000E8  
H
H
H
3A  
3B  
H
H
CC27INT 0000EC  
H
T7INT  
0000F4  
0000F8  
3D  
H
H
H
H
H
H
T8IR  
T8IE  
T8INT  
3E  
H
CC6IR  
XP0IR  
XP3IR  
CC6IE  
XP0IE  
XP3IE  
CC6INT  
XP0INT  
XP3INT  
0000FC  
3F  
H
000100  
40  
43  
H
PLL/OWD and RTC  
00010C  
H
Data Sheet  
17  
V1.0, 2001-05  
C164CM  
C164SM  
Table 3  
C164CM Interrupt Nodes (contd)  
Source of Interrupt or Request  
Enable  
Flag  
Interrupt  
Vector  
Vector  
Location Number  
Trap  
PEC Service Request  
CAPCOM 6 Timer 12  
CAPCOM 6 Timer 13  
Flag  
T12IR  
T13IR  
T12IE  
T12INT  
T13INT  
000134  
000138  
4D  
H
H
H
H
H
T13IE  
4E  
4F  
CAPCOM 6 Emergency CC6EIR  
CC6EIE  
CC6EINT 00013C  
H
Data Sheet  
18  
V1.0, 2001-05  
C164CM  
C164SM  
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  
000000  
000000  
000000  
00  
00  
00  
III  
III  
III  
H
H
H
H
H
H
Class A Hardware Traps:  
Non-Maskable Interrupt NMI  
NMITRAP 000008  
STOTRAP 000010  
STUTRAP 000018  
02  
04  
06  
II  
II  
II  
H
H
H
H
H
H
Stack Overflow  
Stack Underflow  
STKOF  
STKUF  
Class B Hardware Traps:  
Undefined Opcode  
Protected Instruction  
Fault  
UNDOPC BTRAP  
PRTFLT BTRAP  
000028  
000028  
0A  
0A  
I
I
H
H
H
H
Illegal Word Operand  
Access  
Illegal Instruction  
Access  
Illegal External Bus  
Access  
ILLOPA  
ILLINA  
ILLBUS  
BTRAP  
BTRAP  
BTRAP  
000028  
000028  
000028  
0A  
0A  
0A  
I
I
I
H
H
H
H
H
H
Reserved  
[2C –  
[0B –  
H
H
3C ]  
0F ]  
H
H
Software Traps  
TRAP Instruction  
Any  
Any  
Current  
CPU  
[000000 [00 –  
H H  
0001FC ] 7F ]  
Priority  
H
H
in steps  
of 4  
H
Data Sheet  
19  
V1.0, 2001-05  
C164CM  
C164SM  
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 (captured) 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  
Mode 2  
Mode 3  
Pin toggles on each compare match;  
several compare events per timer period are possible  
Interrupt-only compare mode;  
only one compare interrupt per timer period is generated  
Pin set 1on match; pin reset 0on 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  
Data Sheet  
20  
V1.0, 2001-05  
C164CM  
C164SM  
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.  
Mode  
Select Register  
CC6MSEL  
Period Register  
Trap Register  
CTRAP  
T12P  
CC60  
COUT60  
Offset Register  
T12OF  
CC Channel 0  
CC60  
fCPU  
CC61  
COUT61  
CC Channel 1  
CC61  
Port  
Control  
Logic  
Compare  
Timer T12  
16-Bit  
CC62  
COUT62  
CC Channel 2  
CC62  
Control Register  
CTCON  
Compare  
Timer T13  
10-Bit  
fCPU  
Compare Register  
CMP13  
COUT63  
Block  
CC6POS0  
CC6POS1  
CC6POS2  
Commutation  
Control  
Period Register  
T13P  
CC6MCON.H  
MCB04109  
The timer registers (T12, T13) are not directly accessible.  
The period and offset registers are loading a value into the timer registers.  
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).  
Data Sheet  
21  
V1.0, 2001-05  
C164CM  
C164SM  
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 gatelevel 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.  
Data Sheet  
22  
V1.0, 2001-05  
C164CM  
C164SM  
T2EUD  
fCPU  
T2IN  
U/D  
Interrupt  
Request  
(T2IR)  
2n : 1  
GPT1 Timer T2  
T2  
Mode  
Control  
Reload  
Capture  
Interrupt  
Request  
(T3IR)  
fCPU  
2n : 1  
Toggle FF  
T3OTL  
T3  
Mode  
Control  
T3IN  
GPT1 Timer T3  
U/D  
T3EUD  
Other  
Timers  
Capture  
Reload  
T4IN  
T4  
Mode  
Control  
Interrupt  
Request  
(T4IR)  
2n : 1  
GPT1 Timer T4  
U/D  
fCPU  
T4EUD  
Mct04825_4.vsd  
n = 3 10  
Figure 6  
Block Diagram of GPT1  
Data Sheet  
23  
V1.0, 2001-05  
C164CM  
C164SM  
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 (fRTC = fOSC/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  
T14REL  
Reload  
fRTC  
T14  
8:1  
Interrupt  
Request  
RTCH  
RTCL  
MCD04432  
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.  
Data Sheet  
24  
V1.0, 2001-05  
C164CM  
C164SM  
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).  
Data Sheet  
25  
V1.0, 2001-05  
C164CM  
C164SM  
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.  
Data Sheet  
26  
V1.0, 2001-05  
C164CM  
C164SM  
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 chips 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).  
Data Sheet  
27  
V1.0, 2001-05  
C164CM  
C164SM  
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 C164CMs port drivers can be selected via the Port Output Control registers  
(POCONx).  
Data Sheet  
28  
V1.0, 2001-05  
C164CM  
C164SM  
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 (fCPU = 2 5 MHz).  
In prescaler mode the PLL base frequency is divided by 2 (fCPU = 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.  
Data Sheet  
29  
V1.0, 2001-05  
C164CM  
C164SM  
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 fOSC/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.  
Data Sheet  
30  
V1.0, 2001-05  
C164CM  
C164SM  
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  
Mnemonic  
ADD(B)  
ADDC(B)  
SUB(B)  
SUBC(B)  
MUL(U)  
DIV(U)  
Instruction Set Summary  
Description  
Bytes  
2 / 4  
2 / 4  
2 / 4  
2 / 4  
2
Add word (byte) operands  
Add word (byte) operands with Carry  
Subtract word (byte) operands  
Subtract word (byte) operands with Carry  
(Un)Signed multiply direct GPR by direct GPR (16-16-bit)  
(Un)Signed divide register MDL by direct GPR (16-/16-bit)  
(Un)Signed long divide reg. MD by direct GPR (32-/16-bit)  
Complement direct word (byte) GPR  
Negate direct word (byte) GPR  
2
DIVL(U)  
CPL(B)  
NEG(B)  
AND(B)  
OR(B)  
2
2
2
Bitwise AND, (word/byte operands)  
Bitwise OR, (word/byte operands)  
Bitwise XOR, (word/byte operands)  
Clear direct bit  
2 / 4  
2 / 4  
2 / 4  
2
XOR(B)  
BCLR  
BSET  
Set direct bit  
2
BMOV(N)  
Move (negated) direct bit to direct bit  
AND/OR/XOR direct bit with direct bit  
4
BAND, BOR,  
BXOR  
4
BCMP  
Compare direct bit to direct bit  
4
4
BFLDH/L  
Bitwise modify masked high/low byte of bit-addressable  
direct word memory with immediate data  
CMP(B)  
CMPD1/2  
CMPI1/2  
PRIOR  
Compare word (byte) operands  
2 / 4  
2 / 4  
2 / 4  
2
Compare word data to GPR and decrement GPR by 1/2  
Compare word data to GPR and increment GPR by 1/2  
Determine number of shift cycles to normalize direct  
word GPR and store result in direct word GPR  
SHL / SHR  
ROL / ROR  
ASHR  
Shift left/right direct word GPR  
2
2
2
Rotate left/right direct word GPR  
Arithmetic (sign bit) shift right direct word GPR  
Data Sheet  
31  
V1.0, 2001-05  
C164CM  
C164SM  
Table 6  
Instruction Set Summary (cont’d)  
Mnemonic  
MOV(B)  
MOVBS  
MOVBZ  
Description  
Bytes  
2 / 4  
2 / 4  
2 / 4  
4
Move word (byte) data  
Move byte operand to word operand with sign extension  
Move byte operand to word operand with zero extension  
Jump absolute/indirect/relative if condition is met  
JMPA, JMPI,  
JMPR  
JMPS  
J(N)B  
JBC  
Jump absolute to a code segment  
4
4
4
4
4
Jump relative if direct bit is (not) set  
Jump relative and clear bit if direct bit is set  
Jump relative and set bit if direct bit is not set  
JNBS  
CALLA, CALLI, Call absolute/indirect/relative subroutine if condition is met  
CALLR  
CALLS  
PCALL  
Call absolute subroutine in any code segment  
4
4
Push direct word register onto system stack and call  
absolute subroutine  
TRAP  
Call interrupt service routine via immediate trap number  
Push/pop direct word register onto/from system stack  
2
2
4
PUSH, POP  
SCXT  
Push direct word register onto system stack and update  
register with word operand  
RET  
Return from intra-segment subroutine  
Return from inter-segment subroutine  
2
2
2
RETS  
RETP  
Return from intra-segment subroutine and pop direct  
word register from system stack  
RETI  
Return from interrupt service subroutine  
Software Reset  
2
SRST  
4
IDLE  
Enter Idle Mode  
4
PWRDN  
SRVWDT  
DISWDT  
EINIT  
Enter Power Down Mode (supposes NMI-pin being low)  
Service Watchdog Timer  
4
4
Disable Watchdog Timer  
4
Signify End-of-Initialization on RSTOUT-pin  
Begin ATOMIC sequence  
4
ATOMIC  
EXTR  
2
Begin EXTended Register sequence  
Begin EXTended Page (and Register) sequence  
Begin EXTended Segment (and Register) sequence  
Null operation  
2
EXTP(R)  
EXTS(R)  
NOP  
2 / 4  
2 / 4  
2
Data Sheet  
32  
V1.0, 2001-05  
C164CM  
C164SM  
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 bin column Name. SFRs within the  
Extended SFR-Space (ESFRs) are marked with the letter Ein column Physical  
Address. Registers within on-chip X-peripherals are marked with the letter Xin 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  
Name  
C164CM Registers, Ordered by Name  
Physical 8-Bit Description  
Reset  
Value  
Address  
Addr.  
ADCIC  
b FF98  
CC  
A/D Converter End of Conversion  
Interrupt Control Register  
0000  
H
H
H
ADCON  
b FFA0  
D0  
A/D Converter Control Register  
A/D Converter Result Register  
A/D Converter 2 Result Register  
Address Select Register 1  
Address Select Register 2  
Address Select Register 3  
Address Select Register 4  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
H
H
H
H
H
H
H
H
H
H
ADDAT  
FEA0  
50  
H
H
H
H
ADDAT2  
F0A0  
FE18  
E 50  
H
ADDRSEL1  
ADDRSEL2  
ADDRSEL3  
ADDRSEL4  
ADEIC  
0C  
0D  
H
H
H
H
FE1A  
H
FE1C  
0E  
0F  
H
H
H
FE1E  
b FF9A  
CD  
A/D Converter Overrun Error Interrupt  
Control Register  
H
BUSCON0 b FF0C  
86  
Bus Configuration Register 0  
Bus Configuration Register 1  
Bus Configuration Register 2  
Bus Configuration Register 3  
Bus Configuration Register 4  
CAN1 Bit Timing Register  
CAN1 Control / Status Register  
CAN1 Global Mask Short  
0000  
0000  
H
H
H
H
H
H
H
H
H
H
H
H
H
BUSCON1 b FF14  
BUSCON2 b FF16  
BUSCON3 b FF18  
8A  
8B  
H
H
0000  
H
H
H
8C  
8D  
0000  
H
H
BUSCON4 b FF1A  
0000  
H
H
H
H
H
C1BTR  
EF04  
EF00  
EF06  
EFn4  
X ---  
X ---  
X ---  
X ---  
X ---  
X ---  
UUUU  
XX01  
UFUU  
C1CSR  
C1GMS  
C1LARn  
C1LGML  
C1LMLM  
CAN Lower Arbitration Register (msg. n) UUUU  
EF0A  
EF0E  
CAN Lower Global Mask Long  
UUUU  
UUUU  
H
H
CAN Lower Mask of Last Message  
Data Sheet  
33  
V1.0, 2001-05  
C164CM  
C164SM  
Table 7  
Name  
C164CM Registers, Ordered by Name (contd)  
Physical 8-Bit Description  
Reset  
Value  
Address  
Addr.  
C1MCFGn  
EFn6  
X ---  
CAN Message Configuration Register  
UU  
H
H
(msg. n)  
C1MCRn  
C1PCIR  
C1UARn  
C1UGML  
C1UMLM  
CC16  
EFn0  
EF02  
EFn2  
EF08  
X ---  
X ---  
X ---  
X ---  
X ---  
30  
CAN Message Control Register (msg. n) UUUU  
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
CAN1 Port Control / Interrupt Register  
XXXX  
CAN Upper Arbitration Register (msg. n) UUUU  
CAN Upper Global Mask Long  
CAN Upper Mask of Last Message  
CAPCOM Register 16  
UUUU  
UUUU  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
EF0C  
H
FE60  
H
H
CC16IC  
CC17  
b F160  
E B0  
CAPCOM Reg. 16 Interrupt Ctrl. Reg.  
CAPCOM Register 17  
H
H
H
FE62  
31  
H
H
CC17IC  
CC18  
b F162  
E B1  
CAPCOM Reg. 17 Interrupt Ctrl. Reg.  
CAPCOM Register 18  
H
FE64  
32  
H
H
H
CC18IC  
CC19  
b F164  
E B2  
CAPCOM Reg. 18 Interrupt Ctrl. Reg.  
CAPCOM Register 19  
H
FE66  
33  
H
H
H
CC19IC  
CC20  
b F166  
E B3  
CAPCOM Reg. 19 Interrupt Ctrl. Reg.  
CAPCOM Register 20  
H
FE68  
34  
H
H
H
CC20IC  
CC21  
b F168  
E B4  
CAPCOM Reg. 20 Interrupt Ctrl. Reg.  
CAPCOM Register 21  
H
FE6A  
35  
H
H
CC21IC  
CC22  
b F16A  
E B5  
CAPCOM Reg. 21 Interrupt Ctrl. Reg.  
CAPCOM Register 22  
H
H
FE6C  
36  
H
H
CC22IC  
CC23  
b F16C  
FE6E  
E B6  
CAPCOM Reg. 22 Interrupt Ctrl. Reg.  
CAPCOM Register 23  
H
H
37  
H
H
H
H
H
CC23IC  
CC24  
b F16E  
E B7  
CAPCOM Reg. 23 Interrupt Ctrl. Reg.  
CAPCOM Register 24  
H
FE70  
38  
H
CC24IC  
CC25  
b F170  
E B8  
CAPCOM Reg. 24 Interrupt Ctrl. Reg.  
CAPCOM Register 25  
H
FE72  
39  
H
H
H
CC25IC  
CC26  
b F172  
E B9  
CAPCOM Reg. 25 Interrupt Ctrl. Reg.  
CAPCOM Register 26  
H
H
FE74  
3A  
H
H
CC26IC  
CC27  
b F174  
E BA  
CAPCOM Reg. 26 Interrupt Ctrl. Reg.  
CAPCOM Register 27  
H
H
FE76  
3B  
H
Data Sheet  
34  
V1.0, 2001-05  
C164CM  
C164SM  
Table 7  
Name  
C164CM Registers, Ordered by Name (contd)  
Physical 8-Bit Description  
Reset  
Value  
Address  
Addr.  
CC27IC  
CC28  
b F176  
E BB  
CAPCOM Reg. 27 Interrupt Ctrl. Reg.  
CAPCOM Register 28  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
FE78  
3C  
H
CC28IC  
CC29  
b F178  
E BC  
CAPCOM Reg. 28 Interrupt Ctrl. Reg.  
CAPCOM Register 29  
H
H
H
H
H
FE7A  
3D  
H
CC29IC  
CC30  
b F184  
E C2  
CAPCOM Reg. 29 Interrupt Ctrl. Reg.  
CAPCOM Register 30  
H
FE7C  
3E  
H
H
CC30IC  
CC31  
b F18C  
FE7E  
E C6  
CAPCOM Reg. 30 Interrupt Ctrl. Reg.  
CAPCOM Register 31  
H
H
3F  
H
CC31IC  
CC60  
b F194  
E CA  
CAPCOM Reg. 31 Interrupt Ctrl. Reg.  
CAPCOM 6 Register 0  
H
H
FE30  
FE32  
FE34  
18  
19  
H
H
H
H
H
CC61  
CAPCOM 6 Register 1  
H
CC62  
1A  
CAPCOM 6 Register 2  
H
CC6EIC  
b F188  
E C4  
CAPCOM 6 Emergency InterruptControl  
Register  
H
CC6CIC  
b F17E  
E BF  
CAPCOM 6 Interrupt Control Register  
CAPCOM 6 Mode Control Register  
CAPCOM 6 Mode Interrupt Ctrl. Reg.  
CAPCOM 6 Mode Select Register  
External Interrupt 0 Control Register  
External Interrupt 1 Control Register  
CAPCOM Mode Control Register 4  
CAPCOM Mode Control Register 5  
CAPCOM Mode Control Register 6  
CAPCOM Mode Control Register 7  
CAPCOM 6 Timer 13 Compare Reg.  
CPU Context Pointer Register  
0000  
00FF  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
FC00  
0000  
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
CC6MCON b FF32  
99  
H
CC6MIC  
CC6MSEL  
CC8IC  
CC9IC  
CCM4  
CCM5  
CCM6  
CCM7  
CMP13  
CP  
b FF36  
9B  
H
H
F036  
b FF88  
E 1B  
C4  
C5  
H
H
H
b FF8A  
H
H
H
H
H
b FF22  
b FF24  
b FF26  
b FF28  
91  
92  
93  
94  
H
H
H
H
FE36  
FE10  
FE08  
1B  
H
H
H
H
H
H
08  
04  
CSP  
CPU Code Segment Pointer Register  
(8 bits, not directly writeable)  
CTCON  
DP0H  
b FF30  
98  
CAPCOM 6 Compare Timer Ctrl. Reg.  
P0H Direction Control Register  
1010  
00  
H
H
H
H
H
b F102  
E 81  
H
Data Sheet  
35  
V1.0, 2001-05  
C164CM  
C164SM  
Table 7  
Name  
C164CM Registers, Ordered by Name (contd)  
Physical 8-Bit Description  
Reset  
Value  
Address  
Addr.  
DP0L  
b F100  
E 80  
P0L Direction Control Register  
P1H Direction Control Register  
P1L Direction Control Register  
Port 20 Direction Control Register  
Port 8 Direction Control Register  
CPU Data Page Pointer 0 Reg. (10 bits)  
CPU Data Page Pointer 1 Reg. (10 bits)  
CPU Data Page Pointer 2 Reg. (10 bits)  
CPU Data Page Pointer 3 Reg. (10 bits)  
External Interrupt Control Register  
External Interrupt Source Select Reg.  
Frequency Output Control Register  
Identifier  
00  
00  
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
DP1H  
DP1L  
b F106  
b F104  
E 83  
E 82  
00  
DP20  
b FFB6  
DB  
00  
H
H
DP8  
b FFD6  
EB  
00  
H
H
H
H
H
H
DPP0  
DPP1  
DPP2  
DPP3  
EXICON  
EXISEL  
FOCON  
IDCHIP  
IDMANUF  
IDMEM  
IDPROG  
IDMEM2  
ISNC  
FE00  
FE02  
FE04  
FE06  
00  
01  
02  
03  
0000  
0001  
0002  
0003  
0000  
0000  
0000  
XXXX  
1820  
X008  
XXXX  
0000  
0000  
0000  
0000  
0000  
00  
H
H
H
H
b F1C0  
E E0  
H
H
b F1DA  
b FFAA  
E ED  
H
H
H
H
H
H
H
H
H
H
H
D5  
F07C  
E 3E  
E 3F  
F07E  
F07A  
Identifier  
E 3D  
E 3C  
Identifier  
H
H
H
F078  
F076  
Identifier  
E 3B  
E EF  
Identifier  
b F1DE  
Interrupt Subnode Control Register  
CPU Multiply Divide Control Register  
CPU Multiply Divide Reg. High Word  
CPU Multiply Divide Reg. Low Word  
Port 8 Open Drain Control Register  
Constant Value 1s Register (read only)  
OTP Progr. Interface Address Register  
OTP Progr. Interface Control Register  
OTP Progr. Interface Data Register  
Port 0 High Reg. (Upper half of PORT0)  
Port 0 Low Reg. (Lower half of PORT0)  
Port 1 High Reg. (Upper half of PORT1)  
Port 1 Low Reg. (Lower half of PORT1)  
H
H
MDC  
b FF0E  
87  
06  
07  
H
H
MDH  
FE0C  
H
H
H
H
H
H
MDL  
FE0E  
ODP8  
ONES  
OPAD  
OPCTRL  
OPDAT  
P0H  
b F1D6  
b FF1E  
E EB  
H
8F  
X ---  
X ---  
X ---  
FFFF  
0000  
0007  
0000  
00  
H
EDC2  
EDC0  
EDC4  
H
H
H
b FF02  
b FF00  
b FF06  
b FF04  
81  
80  
83  
82  
H
H
H
H
H
P0L  
00  
H
H
H
P1H  
00  
P1L  
00  
Data Sheet  
36  
V1.0, 2001-05  
C164CM  
C164SM  
Table 7  
Name  
C164CM Registers, Ordered by Name (contd)  
Physical 8-Bit Description  
Reset  
Value  
Address  
Addr.  
P5  
b FFA2  
D1  
D2  
Port 5 Register (read only)  
XXXX  
0000  
00  
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
P5DIDIS  
P20  
b FFA4  
b FFB4  
Port 5 Digital Input Disable Register  
Port 20 Register (6 bits)  
DA  
H
H
P8  
b FFD4  
EA  
Port 8 Register (4 bits)  
00  
H
PECC0  
PECC1  
PECC2  
PECC3  
PECC4  
PECC5  
PECC6  
PECC7  
POCON0H  
POCON0L  
POCON1H  
POCON1L  
POCON20  
POCON8  
PSW  
FEC0  
FEC2  
FEC4  
FEC6  
FEC8  
60  
61  
PEC Channel 0 Control Register  
PEC Channel 1 Control Register  
PEC Channel 2 Control Register  
PEC Channel 3 Control Register  
PEC Channel 4 Control Register  
PEC Channel 5 Control Register  
PEC Channel 6 Control Register  
PEC Channel 7 Control Register  
Port P0H Output Control Register  
Port P0L Output Control Register  
Port P1H Output Control Register  
Port P1L Output Control Register  
Port P20 Output Control Register  
Port P8 Output Control Register  
CPU Program Status Word  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0011  
0011  
0011  
0011  
0000  
0022  
0000  
XX  
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
62  
63  
64  
FECA  
65  
H
FECC  
66  
H
H
FECE  
67  
F082  
F080  
F086  
F084  
E 41  
E 40  
E 43  
E 42  
E 55  
E 49  
88  
H
H
H
H
F0AA  
H
F092  
H
b FF10  
H
RP0H  
b F108  
E 84  
m ---  
System Startup Config. Reg. (Rd. only)  
Reset Control Register  
H
RSTCON b F1E0  
00XX  
H
RTCH  
RTCL  
S0BG  
F0D6  
E 6B  
E 6A  
5A  
RTC High Register  
no  
no  
H
H
H
H
H
F0D4  
FEB4  
RTC Low Register  
Serial Channel 0 Baud Rate Generator  
Reload Register  
0000  
H
H
S0CON  
S0EIC  
b FFB0  
D8  
Serial Channel 0 Control Register  
0000  
0000  
H
H
H
H
b FF70  
B8  
Serial Channel 0 Error Interrupt Ctrl.  
Reg.  
H
H
S0RBUF  
FEB2  
59  
Serial Channel 0 Receive Buffer Reg.  
(read only)  
XXXX  
H
H
H
Data Sheet  
37  
V1.0, 2001-05  
C164CM  
C164SM  
Table 7  
Name  
C164CM Registers, Ordered by Name (contd)  
Physical 8-Bit Description  
Reset  
Value  
Address  
Addr.  
S0RIC  
b FF6E  
B7  
Serial Channel 0 Receive Interrupt  
Control Register  
0000  
0000  
0000  
0000  
H
H
H
H
H
H
S0TBIC  
S0TBUF  
S0TIC  
b F19C  
E CE  
Serial Channel 0 Transmit Buffer  
Interrupt Control Register  
H
H
FEB0  
58  
Serial Channel 0 Transmit Buffer Reg.  
(write only)  
H
H
H
b FF6C  
B6  
Serial Channel 0 Transmit Interrupt  
Control Register  
H
SP  
FE12  
F0B4  
09  
CPU System Stack Pointer Register  
SSC Baudrate Register  
FC00  
0000  
0000  
0000  
XXXX  
0000  
0000  
0000  
FA00  
FC00  
H
H
H
H
H
H
H
H
H
H
H
H
SSCBR  
E 5A  
H
H
SSCCON b FFB2  
D9  
SSC Control Register  
H
H
H
SSCEIC  
SSCRB  
SSCRIC  
SSCTB  
SSCTIC  
STKOV  
STKUN  
b FF76  
BB  
SSC Error Interrupt Control Register  
SSC Receive Buffer  
H
H
F0B2  
E 59  
H
H
H
b FF74  
BA  
E 58  
SSC Receive Interrupt Control Register  
SSC Transmit Buffer  
F0B0  
H
H
H
b FF72  
B9  
0A  
0B  
SSC Transmit Interrupt Control Register  
CPU Stack Overflow Pointer Register  
CPU Stack Underflow Pointer Register  
CPU System Configuration Register  
CPU System Configuration Register 1  
CPU System Configuration Register 2  
CPU System Configuration Register 3  
CAPCOM 6 Timer 12 Interrupt Ctrl. Reg.  
CAPCOM 6 Timer 12 Offset Register  
CAPCOM 6 Timer 12 Period Register  
CAPCOM 6 Timer 13 Interrupt Ctrl. Reg.  
CAPCOM 6 Timer 13 Period Register  
RTC Timer 14 Register  
H
H
H
H
FE14  
FE16  
H
H
H
1)  
SYSCON b FF12  
89  
0xx0  
H
SYSCON1 b F1DC  
E EE  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
H
H
H
H
H
H
H
H
H
H
SYSCON2 b F1D0  
SYSCON3 b F1D4  
E E8  
H
H
H
E EA  
H
H
H
H
T12IC  
T12OF  
T12P  
T13IC  
T13P  
T14  
b F190  
F034  
E C8  
H
E 1A  
H
H
H
H
F030  
E 18  
b F198  
F032  
E CC  
H
E 19  
E 69  
E 68  
20  
H
F0D2  
F0D0  
no  
no  
H
H
H
H
H
H
H
T14REL  
T2  
RTC Timer 14 Reload Register  
GPT1 Timer 2 Register  
FE40  
0000  
H
H
T2CON  
b FF40  
A0  
GPT1 Timer 2 Control Register  
0000  
H
Data Sheet  
38  
V1.0, 2001-05  
C164CM  
C164SM  
Table 7  
Name  
C164CM Registers, Ordered by Name (contd)  
Physical 8-Bit Description  
Reset  
Value  
Address  
Addr.  
T2IC  
b FF60  
B0  
GPT1 Timer 2 Interrupt Control Register  
GPT1 Timer 3 Register  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
0000  
00XX  
0000  
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
T3  
FE42  
21  
H
H
H
T3CON  
T3IC  
b FF42  
b FF62  
A1  
B1  
GPT1 Timer 3 Control Register  
GPT1 Timer 3 Interrupt Control Register  
GPT1 Timer 4 Register  
H
H
H
T4  
FE44  
22  
H
H
H
H
T4CON  
T4IC  
b FF44  
b FF64  
A2  
B2  
GPT1 Timer 4 Control Register  
GPT1 Timer 4 Interrupt Control Register  
CAPCOM Timer 7 Register  
H
H
H
H
T7  
F050  
b FF20  
E 28  
T78CON  
T7IC  
90  
CAPCOM Timer 7 and 8 Ctrl. Reg.  
CAPCOM Timer 7 Interrupt Ctrl. Reg.  
CAPCOM Timer 7 Reload Register  
CAPCOM Timer 8 Register  
H
b F17A  
E BD  
H
H
H
H
T7REL  
T8  
F054  
F052  
E 2A  
H
E 29  
H
T8IC  
b F17C  
E BE  
CAPCOM Timer 8 Interrupt Ctrl. Reg.  
CAPCOM Timer 8 Reload Register  
Trap Flag Register  
H
H
H
T8REL  
TFR  
F056  
E 2B  
D6  
H
b FFAC  
H
H
H
H
TRCON  
WDT  
b FF34  
9A  
CAPCOM 6 Trap Enable Ctrl. Reg.  
Watchdog Timer Register (read only)  
Watchdog Timer Control Register  
CAN1 Module Interrupt Control Register  
Unassigned Interrupt Control Reg.  
PLL/RTC Interrupt Control Register  
Constant Value 0s Register (read only)  
H
FEAE  
57  
H
H
2)  
WDTCON  
XP0IC  
XP1IC  
XP3IC  
FFAE  
b F186  
D7  
E C3  
E C7  
00xx  
H
H
H
H
0000  
0000  
0000  
0000  
H
H
H
H
H
b F18E  
b F19E  
H
E CF  
H
H
H
ZEROS  
b FF1C  
8E  
H
1)  
The system configuration is selected during reset.  
2)  
The reset value depends on the indicated reset source.  
Note: The three registers of the OTP programming interface are, of course, only  
implemented in the OTP versions of the C164CM.  
Data Sheet  
39  
V1.0, 2001-05  
C164CM  
C164SM  
Absolute Maximum Ratings  
Table 8  
Absolute Maximum Rating Parameters  
Parameter  
Symbol  
Limit Values  
min. max.  
Unit  
Notes  
Storage temperature  
Junction temperature  
TST  
TJ  
-65  
-40  
-0.5  
150  
150  
6.5  
°C  
°C  
V
under bias  
Voltage on VDD pins with VDD  
respect to ground (VSS)  
Voltage on any pin with  
respect to ground (VSS)  
VIN  
-0.5  
-10  
VDD + 0.5 V  
Input current on any pin  
during overload condition  
10  
mA  
Absolute sum of all input  
currents during overload  
condition  
|100|  
mA  
W
Power dissipation  
PDISS  
1.5  
Note: Stresses above those listed under Absolute Maximum Ratingsmay cause  
permanent damage to the device. This is a stress rating only and functional  
operation of the device at these or any other conditions above those indicated in  
the operational sections of this specification is not implied. Exposure to absolute  
maximum rating conditions for extended periods may affect device reliability.  
During absolute maximum rating overload conditions (VIN > VDD or VIN < VSS) the  
voltage on VDD pins with respect to ground (VSS) must not exceed the values  
defined by the absolute maximum ratings.  
Data Sheet  
40  
V1.0, 2001-05  
C164CM  
C164SM  
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  
VDD  
4.5  
5.5  
V
Active mode,  
fCPUmax = 25 MHz  
1)  
2.5  
5.5  
V
V
PowerDown mode  
Digital ground voltage  
Overload current  
VSS  
IOV  
0
Reference voltage  
2)3)  
5
mA Per pin  
3)  
Absolute sum of overload Σ|IOV|  
currents  
50  
mA  
External Load  
Capacitance  
CL  
TA  
100  
pF  
Pin drivers in  
default mode  
4)  
Ambient temperature  
0
70  
°C  
°C  
°C  
SAB-C164CM …  
SAF-C164CM …  
SAK-C164CM …  
-40  
-40  
85  
125  
1)  
Output voltages and output currents will be reduced when VDD leaves the range defined for active mode.  
2)  
Overload conditions occur if the standard operatings conditions are exceeded, i.e. the voltage on any pin  
exceeds the specified range (i.e. VOV > VDD + 0.5 V or VOV < VSS - 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)  
4)  
Not 100% tested, guaranteed by design and characterization.  
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 (CL).  
Data Sheet  
41  
V1.0, 2001-05  
C164CM  
C164SM  
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)  
VIL SR -0.5  
0.2 VDD  
- 0.1  
V
Input low voltage XTAL1  
VIL2 SR -0.5  
0.3 VDD  
V
V
Input high voltage (TTL,  
all except RSTIN, XTAL1)  
VIH SR 0.2 VDD VDD  
+ 0.9 0.5  
+
+
+
Input high voltage RSTIN  
(when operated as input)  
VIH1 SR 0.6 VDD VDD  
V
V
0.5  
Input high voltage XTAL1  
VIH2 SR 0.7 VDD VDD  
0.5  
2)  
3)  
Output low voltage  
VOL CC –  
1.0  
0.45  
V
V
V
IOL IOLmax  
3)4)  
3)  
IOL IOLnom  
5)  
Output high voltage  
VOH CC VDD  
-
-
IOH IOHmax  
1.0  
3)4)  
VDD  
0.45  
V
IOH IOHnom  
Input leakage current (Port 5)  
IOZ1 CC –  
200  
500  
nA 0 V < VIN < VDD  
Input leakage current (all other) IOZ2 CC –  
nA 0.45 V < VIN <  
VDD  
6)  
7)  
RSTIN inactive current  
IRSTH  
-10  
µA VIN = VIH1  
6)  
8)  
RSTIN active current  
IRSTL  
-100  
µA VIN = VIL  
9)  
7)  
RD/WR inact. current  
IRWH  
-40  
µA VOUT = 2.4 V  
µA VOUT = VOLmax  
9)  
8)  
RD/WR active current  
Data Sheet  
IRWL  
-500  
42  
V1.0, 2001-05  
C164CM  
C164SM  
DC Characteristics (contd)  
(Operating Conditions apply)  
1)  
Parameter  
Symbol  
Limit Values  
Unit Test Conditions  
min.  
max.  
40  
9)  
7)  
ALE inactive current  
IALEL  
µA VOUT = VOLmax  
µA VOUT = 2.4 V  
µA VIN = VIHmin  
µA VIN = VILmax  
µA 0 V < VIN < VDD  
9)  
8)  
ALE active current  
IALEH  
500  
10)  
7)  
PORT0 configuration current  
IP0H  
-10  
8)  
IP0L  
-100  
XTAL1 input current  
IIL CC –  
CIO CC –  
20  
10  
11)  
Pin capacitance  
pF  
f = 1 MHz  
(digital inputs/outputs)  
TA = 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 IOV  
.
2)  
3)  
For pin RSTIN this specification is only valid in bidirectional reset mode.  
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)  
5)  
As a rule, with decreasing output current the output levels approach the respective supply level (VOL VSS  
VOH VDD). However, only the levels for nominal output currents are guaranteed.  
,
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.  
The maximum current may be drawn while the respective signal line remains inactive.  
The minimum current must be drawn in order to drive the respective signal line active.  
This specification is valid during Reset and during Adapt-mode.  
7)  
8)  
9)  
10)  
11)  
This specification is valid during Reset if required for configuration, and during Adapt-mode.  
Not 100% tested, guaranteed by design and characterization.  
Table 10  
Current Limits for Port Output Drivers  
Port Output Driver  
Mode  
Maximum Output Current  
Nominal Output Current  
1)  
(IOLmax, -IOHmax  
)
(IOLnom, -IOHnom  
)
Strong driver  
Medium driver  
10 mA  
4.0 mA  
0.5 mA  
2.5 mA  
1.0 mA  
Weak driver  
0.1 mA  
1)  
An output current above |IOXnom| 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 (ΣIOL and Σ-IOH  
)
must remain below 50 mA.  
Data Sheet  
43  
V1.0, 2001-05  
C164CM  
C164SM  
Power Consumption C164CM (ROM)  
(Operating Conditions apply)  
Parameter  
Symbol  
Limit Values  
min. max.  
Unit Test  
Conditions  
Power supply current (active)  
with all peripherals active  
IDD  
IIDX  
IIDO  
1 +  
2.5 × fCPU  
mA RSTIN = VIL  
fCPU in [MHz]  
1)  
Idle mode supply current  
with all peripherals active  
1 +  
1.1 × fCPU  
mA RSTIN = VIH1  
1)  
fCPU in [MHz]  
2)  
Idle mode supply current  
with all peripherals deactivated,  
PLL off, SDD factor = 32  
500 +  
50 × fOSC  
µA RSTIN = VIH1  
1)  
fOSC in [MHz]  
2)  
Sleep and Power-down mode  
supply current with RTC running  
IPDR  
200 +  
25 × fOSC  
µA VDD = VDDmax  
3)  
fOSC in [MHz]  
3)  
Sleep and Power-down mode  
supply current with RTC disabled  
IPDO  
50  
µA VDD = VDDmax  
1)  
The supply current is a function of the operating frequency. This dependency is illustrated in Figure 9.  
These parameters are tested at VDDmax and maximum CPU clock with all outputs disconnected and all inputs  
at VIL or VIH.  
2)  
3)  
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.  
This parameter is tested including leakage currents. All inputs (including pins configured as inputs) at 0 V to  
0.1 V or at VDD - 0.1 V to VDD, VREF = 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  
IDD  
10 +  
3.5 × fCPU  
mA RSTIN = VIL  
fCPU in [MHz]  
1)  
Idle mode supply current  
with all peripherals active  
IIDX  
5 +  
1.25 × fCPU  
mA RSTIN = VIH1  
1)  
fCPU in [MHz]  
2)  
Idle mode supply current  
with all peripherals deactivated,  
PLL off, SDD factor = 32  
IIDO  
500 +  
50 × fOSC  
µA RSTIN = VIH1  
1)  
fOSC in [MHz]  
Data Sheet  
44  
V1.0, 2001-05  
C164CM  
C164SM  
Power Consumption C164CM (OTP) (contd)  
(Operating Conditions apply)  
Parameter  
Sym-  
bol  
Limit Values  
Unit Test  
Conditions  
min.  
max.  
2)  
Sleep and Power-down mode  
supply current with RTC running  
IPDR  
200 +  
25 × fOSC  
µA VDD = VDDmax  
3)  
fOSC in [MHz]  
3)  
Sleep and Power-down mode  
supply current with RTC disabled  
IPDO  
50  
µA VDD = VDDmax  
1)  
The supply current is a function of the operating frequency. This dependency is illustrated in Figure 10.  
These parameters are tested at VDDmax and maximum CPU clock with all outputs disconnected and all inputs  
at VIL or VIH.  
2)  
3)  
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.  
This parameter is tested including leakage currents. All inputs (including pins configured as inputs) at 0 V to  
0.1 V or at VDD - 0.1 V to VDD, VREF = 0 V, all outputs (including pins configured as outputs) disconnected.  
Ι
µA  
1500  
1250  
IIDOmax  
1000  
IIDOtyp  
750  
500  
250  
0
IPDRmax  
IPDOmax  
12  
fOSC  
0
4
8
16  
MHz  
MCD04433  
Figure 8  
Idle and Power Down Supply Current as a Function of Oscillator  
Frequency  
Data Sheet  
45  
V1.0, 2001-05  
C164CM  
C164SM  
I [mA]  
100  
80  
60  
40  
20  
IDD5max  
IDD5typ  
IIDX5max  
IIDX5typ  
10  
15  
20  
25  
fCPU [MHz]  
Figure 9  
Supply/Idle Current as a Function of Operating Frequency  
for ROM Derivatives  
Data Sheet  
46  
V1.0, 2001-05  
C164CM  
C164SM  
I [mA]  
IDD5max  
100  
IDD5typ  
80  
60  
40  
20  
IIDX5max  
IIDX5typ  
10  
15  
20  
25  
fCPU [MHz]  
Figure 10  
Supply/Idle Current as a Function of Operating Frequency  
for OTP Derivatives  
Data Sheet  
47  
V1.0, 2001-05  
C164CM  
C164SM  
AC Characteristics  
Definition of Internal Timing  
The internal operation of the C164CM is controlled by the internal CPU clock fCPU. 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).  
Phase Locked Loop Operation  
fOSC  
TCL  
fCPU  
TCL  
Direct Clock Drive  
fOSC  
TCL  
fCPU  
TCL  
Prescaler Operation  
fOSC  
TCL  
fCPU  
MCT04338  
TCL  
Figure 11  
Generation Mechanisms for the CPU Clock  
The CPU clock signal fCPU can be generated from the oscillator clock signal fOSC via  
different mechanisms. The duration of TCLs and their variation (and also the derived  
external timing) depends on the used mechanism to generate fCPU. 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  
Data Sheet  
48  
V1.0, 2001-05  
C164CM  
C164SM  
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.  
Table 11  
CLKCFG  
(RP0H.7-5) fCPU = fOSC × F  
C164CM Clock Generation Modes  
1)  
CPU Frequency External Clock  
Notes  
2)  
Input Range  
2.5 to 6.25 MHz  
3.33 to 8.33 MHz  
5 to 12.5 MHz  
2 to 5 MHz  
1 1 1  
1 1 0  
1 0 1  
1 0 0  
0 1 1  
0 1 0  
0 0 1  
0 0 0  
fOSC × 4  
fOSC × 3  
fOSC × 2  
fOSC × 5  
fOSC × 1  
fOSC × 1.5  
fOSC / 2  
Default configuration  
3)  
1 to 25 MHz  
Direct drive  
6.66 to 16.66 MHz  
2 to 50 MHz  
CPU clock via prescaler  
fOSC × 2.5  
4 to 10 MHz  
1)  
2)  
3)  
Please note that pin P0.15 (corresponding to RP0H.7) is inverted in emulation mode, and thus also in EHM.  
The external clock input range refers to a CPU clock range of 10 25 MHz.  
The maximum frequency depends on the duty cycle of the external clock signal.  
Prescaler Operation  
When prescaler operation is configured (CLKCFG = 001 ) the CPU clock is derived from  
B
the internal oscillator (input clock signal) by a 2:1 prescaler.  
The frequency of fCPU is half the frequency of fOSC and the high and low time of fCPU (i.e.  
the duration of an individual TCL) is defined by the period of the input clock fOSC  
.
The timings listed in the AC Characteristics that refer to TCLs therefore can be  
calculated using the period of fOSC 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.  
fCPU = fOSC × F). With every Fth transition of fOSC 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.  
Data Sheet  
49  
V1.0, 2001-05  
C164CM  
C164SM  
Due to this adaptation to the input clock the frequency of fCPU is constantly adjusted so  
it is locked to fOSC. The slight variation causes a jitter of fCPU 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)  
= N × TCL  
- D ; D [ns] = (13.3 + N × 6.3)/fCPU [MHz],  
NOM  
N N  
min  
where N = number of consecutive TCLs and 1 N 40.  
So for a period of 3 TCLs @ 25 MHz (i.e. N = 3): D = (13.3 + 3 × 6.3)/25 = 1.288 ns,  
3
and (3TCL)  
= 3TCL  
- 1.288 ns = 58.7 ns (@ fCPU = 25 MHz).  
min  
NOM  
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).  
Max. jitter DN  
ns  
This approximated formula is valid for  
30  
<
<
<
<
25 MHz.  
CPU  
1
N
40 and 10 MHz  
f
10 MHz  
16 MHz  
26.5  
20  
20 MHz  
25 MHz  
10  
1
N
1
10  
20  
30  
40  
MCD04455  
Figure 12  
Approximated Maximum Accumulated PLL Jitter  
Data Sheet  
50  
V1.0, 2001-05  
C164CM  
C164SM  
Direct Drive  
When direct drive is configured (CLKCFG = 011 ) the on-chip phase locked loop is  
B
disabled and the CPU clock is directly driven from the internal oscillator with the input  
clock signal.  
The frequency of fCPU directly follows the frequency of fOSC so the high and low time of  
fCPU (i.e. the duration of an individual TCL) is defined by the duty cycle of the input clock  
fOSC  
.
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  
= 1/fOSC × DC  
(DC = duty cycle)  
min  
min  
For two consecutive TCLs the deviation caused by the duty cycle of fOSC is compensated  
so the duration of 2TCL is always 1/fOSC. The minimum value TCL therefore has to  
min  
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/fOSC  
.
Data Sheet  
51  
V1.0, 2001-05  
C164CM  
C164SM  
AC Characteristics  
External Clock Drive XTAL1  
(Operating Conditions apply)  
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.  
1)  
1)  
Oscillator period tOSC SR 40  
20  
6
5
5
60  
10  
10  
500  
ns  
ns  
ns  
ns  
ns  
2)  
3)  
3)  
High time  
t1  
t2  
t3  
t4  
SR 20  
SR 20  
SR –  
8
8
2)  
Low time  
Rise time  
6
2)  
10  
10  
2)  
Fall time  
SR –  
1)  
The minimum and maximum oscillator periods for PLL operation depend on the selected CPU clock generation  
mode. Please see respective table above.  
2)  
3)  
The clock input signal must reach the defined levels VIL2 and VIH2  
.
The minimum high and low time refers to a duty cycle of 50%. The maximum operating frequency (fCPU) in  
direct drive mode depends on the duty cycle of the clock input signal.  
t1  
t3  
t4  
VIH2  
VIL  
0.5 VDD  
t2  
tOSC  
MCT02534  
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).  
Data Sheet  
52  
V1.0, 2001-05  
C164CM  
C164SM  
A/D Converter Characteristics  
(Operating Conditions apply)  
Table 13  
A/D Converter Characteristics  
Parameter  
Symbol  
Limit Values  
Unit Test  
Conditions  
min.  
max.  
1)  
Analog reference supply  
Analog reference ground  
VAREF SR 4.0  
VDD + 0.1 V  
VAGNDSR VSS - 0.1 VSS + 0.2 V  
2)  
Analog input voltage range VAIN SR VAGND  
VAREF  
6.25  
V
3)  
4)  
Basic clock frequency  
Conversion time  
fBC  
tC  
0.5  
CC –  
MHz  
40 tBC  
+
tS + 2tCPU  
3328 tBC  
2
tCPU = 1 / fCPU  
5)  
Calibration time after reset tCAL CC –  
1)  
Total unadjusted error  
TUE CC –  
RAREF SR –  
LSB  
6)7)  
Internal resistance of  
tBC / 60  
- 0.25  
ktBC in [ns]  
reference voltage source  
7)8)  
Internal resistance of analog RASRCSR –  
source  
tS / 450  
- 0.25  
ktS in [ns]  
7)  
ADC input capacitance  
CAIN CC –  
33  
pF  
1)  
TUE is tested at VAREF = 5.0 V, VAGND = 0 V, VDD = 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. VAREF = VDD = +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 IOV  
specification) does not exceed 10 mA.  
During the reset calibration sequence the maximum TUE may be 4 LSB.  
2)  
VAIN may exceed VAGND or VAREF up to the absolute maximum ratings. However, the conversion result in  
these cases will be X000 or X3FF , respectively.  
H
H
3)  
4)  
The limit values for fBC must not be exceeded when selecting the CPU frequency and the ADCTC setting.  
This parameter includes the sample time tS, the time for determining the digital result and the time to load the  
result register with the conversion result.  
Values for the basic clock tBC 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.  
5)  
6)  
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.  
During the conversion the ADCs 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.  
Data Sheet  
53  
V1.0, 2001-05  
C164CM  
C164SM  
8)  
During the sample time the input capacitance CAIN 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 tS.  
After the end of the sample time tS, changes of the analog input voltage have no effect on the conversion result.  
Values for the sample time tS depend on programming and can be taken from Table 14.  
Sample time and conversion time of the C164CMs A/D Converter are programmable.  
Table 14 should be used to calculate the above timings.  
The limit values for fBC must not be exceeded when selecting ADCTC.  
Table 14  
A/D Converter Computation Table  
ADCON.13|12 Sample time  
ADCON.15|14 A/D Converter  
(ADCTC)  
Basic Clock fBC  
(ADSTC)  
tS  
00  
01  
10  
11  
fCPU / 4  
00  
01  
10  
11  
tBC × 8  
tBC × 16  
tBC × 32  
tBC × 64  
fCPU / 2  
fCPU / 16  
fCPU / 8  
Converter Timing Example:  
Assumptions:  
fCPU = 25 MHz (i.e. tCPU = 40 ns), ADCTC = 00, ADSTC = 00.  
Basic clock  
Sample time  
Conversion time tC  
fBC  
tS  
= fCPU/4 = 6.25 MHz, i.e. tBC = 160 ns.  
= tBC × 8 = 1280 ns.  
= tS + 40 tBC + 2 tCPU = (1280 + 6400 + 80) ns = 7.8 µs.  
Data Sheet  
54  
V1.0, 2001-05  
C164CM  
C164SM  
Testing Waveforms  
2.4 V  
1.8 V  
0.8 V  
1.8 V  
0.8 V  
Test Points  
0.45 V  
AC inputs during testing are driven at 2.4 V for a logic 1and 0.45 V for a logic 0.  
Timing measurements are made at IH min for a logic 1and IL max for a logic 0.  
V
V
MCA04414  
Figure 14  
Input Output Waveforms  
VLoad + 0.1 V  
VOH - 0.1 V  
Timing  
Reference  
Points  
VLoad - 0.1 V  
VOL + 0.1 V  
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 VOH  
/
VOL level occurs (IOH  
/
I
OL = 20 mA).  
MCA00763  
Figure 15  
Float Waveforms  
Data Sheet  
55  
V1.0, 2001-05  
C164CM  
C164SM  
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.  
Table 15  
Memory Cycle Variables  
Symbol Values  
Description  
ALE Extension  
tA  
TCL × <ALECTL>  
Memory Cycle Time Waitstates tC  
Memory Tristate Time  
2TCL × (15 - <MCTC>)  
2TCL × (1 - <MTTC>)  
tF  
Note: Please respect the maximum operating frequency of the respective derivative.  
AC Characteristics  
Multiplexed Bus  
(Operating Conditions apply)  
ALE cycle time = 6 TCL + 2tA + tC + tF (120 ns at 25 MHz CPU clock without waitstates)  
Parameter  
Symbol Max. CPU Clock  
= 25 MHz  
Variable CPU Clock Unit  
1 / 2TCL = 1 to 25 MHz  
min.  
max.  
min.  
max.  
ALE high time  
t5 CC 10 + tA  
TCL - 10  
+ tA  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Address setup to ALE  
Address hold after ALE  
t6 CC 4 + tA  
t7 CC 10 + tA  
t8 CC 10 + tA  
t9 CC -10 + tA  
t10 CC –  
TCL - 16  
+ tA  
TCL - 10  
+ tA  
ALE falling edge to RD,  
WR (with RW-delay)  
TCL - 10  
+ tA  
ALE falling edge to RD,  
WR (no RW-delay)  
-10 + tA  
Address float after RD,  
WR (with RW-delay)  
6
6
Address float after RD,  
WR (no RW-delay)  
t11 CC –  
26  
TCL + 6  
RD, WR low time  
(with RW-delay)  
t12 CC 30 + tC  
2TCL - 10 –  
+ tC  
Data Sheet  
56  
V1.0, 2001-05  
C164CM  
C164SM  
Multiplexed Bus (contd)  
(Operating Conditions apply)  
ALE cycle time = 6 TCL + 2tA + tC + tF (120 ns at 25 MHz CPU clock without waitstates)  
Parameter  
Symbol Max. CPU Clock  
= 25 MHz  
Variable CPU Clock Unit  
1 / 2TCL = 1 to 25 MHz  
min.  
max.  
min.  
max.  
RD, WR low time  
(no RW-delay)  
t13 CC 50 + tC  
3TCL - 10 –  
+ tC  
ns  
RD to valid data in  
(with RW-delay)  
t14 SR –  
20 + tC  
40 + tC  
0
2TCL - 20 ns  
+ tC  
RD to valid data in  
(no RW-delay)  
t15 SR –  
3TCL - 20 ns  
+ tC  
ALE low to valid data in  
t16 SR –  
40 + tA  
+ tC  
3TCL - 20 ns  
+ tA + tC  
Address to valid data in  
t17 SR –  
50 + 2tA  
+ tC  
4TCL - 30 ns  
+ 2tA + tC  
Data hold after RD  
rising edge  
t18 SR 0  
ns  
Data float after RD  
Data valid to WR  
Data hold after WR  
t19 SR –  
26 + tF  
2TCL - 14 ns  
+ tF  
t22 CC 20 + tC  
t23 CC 26 + tF  
2TCL - 20 –  
+ tC  
ns  
ns  
ns  
ns  
2TCL - 14 –  
+ tF  
ALE rising edge after RD, t25 CC 26 + tF  
WR  
2TCL - 14 –  
+ tF  
Address hold after RD,  
WR  
t27 CC 26 + tF  
2TCL - 14 –  
+ tF  
Data Sheet  
57  
V1.0, 2001-05  
C164CM  
C164SM  
t5  
t16  
t25  
ALE  
t17  
t27  
(A10-A8)  
Address  
t6  
t7  
t19  
t18  
Read Cycle  
BUS  
Address  
Data In  
t10  
t8  
t14  
t12  
RD  
Write Cycle  
BUS  
t23  
Address  
Data Out  
t10  
t8  
t22  
t12  
WR  
Figure 16  
External Memory Cycle:  
Multiplexed Bus, With Read/Write Delay, Normal ALE  
Data Sheet  
58  
V1.0, 2001-05  
C164CM  
C164SM  
t5  
t16  
t25  
ALE  
t17  
t27  
(A10-A8)  
Address  
t6  
t7  
t19  
t18  
Read Cycle  
BUS  
Address  
Data In  
t10  
t8  
t14  
t12  
RD  
Write Cycle  
BUS  
t23  
Address  
Data Out  
t10  
t8  
t22  
t12  
WR  
Figure 17  
External Memory Cycle:  
Multiplexed Bus, With Read/Write Delay, Extended ALE  
Data Sheet  
59  
V1.0, 2001-05  
C164CM  
C164SM  
t5  
t16  
t25  
ALE  
t17  
t27  
(A10-A8)  
Address  
t6  
t7  
t19  
t18  
Read Cycle  
BUS  
Address  
Data In  
t9  
t11  
t15  
t13  
RD  
Write Cycle  
BUS  
t23  
Address  
Data Out  
t9  
t11  
t22  
t13  
WR  
Figure 18  
External Memory Cycle:  
Multiplexed Bus, No Read/Write Delay, Normal ALE  
Data Sheet  
60  
V1.0, 2001-05  
C164CM  
C164SM  
t5  
t16  
t25  
ALE  
t17  
t27  
(A10-A8)  
Address  
t6  
t7  
t19  
t18  
Read Cycle  
BUS  
Address  
Data In  
t9  
t11  
t15  
t13  
RD  
Write Cycle  
BUS  
t23  
Address  
Data Out  
t9  
t11  
t22  
t13  
WR  
Figure 19  
External Memory Cycle:  
Multiplexed Bus, No Read/Write Delay, Extended ALE  
Data Sheet  
61  
V1.0, 2001-05  
C164CM  
C164SM  
AC Characteristics  
CLKOUT  
(Operating Conditions apply)  
Parameter  
Symbol Max. CPU Clock  
Variable CPU Clock Unit  
1 / 2TCL = 1 to 25 MHz  
= 25 MHz  
min.  
t29 CC 40  
max.  
min.  
2TCL  
TCL - 6  
TCL - 10  
max.  
CLKOUT cycle time  
CLKOUT high time  
CLKOUT low time  
CLKOUT rise time  
CLKOUT fall time  
40  
2TCL  
ns  
ns  
ns  
ns  
ns  
ns  
t30 CC 14  
t31 CC 10  
t32 CC –  
t33 CC –  
4
4
4
4
CLKOUT rising edge to t34 CC 0 + tA  
10 + tA 0 + tA  
10 + tA  
ALE falling edge  
1)  
3)  
Running cycle  
t33  
MUX/Tristate  
t32  
CLKOUT  
ALE  
t30  
t34  
t29  
t31  
4)  
2)  
Command  
RD, WR  
Figure 20  
CLKOUT Timing  
Notes  
1)  
Cycle as programmed, including MCTC waitstates (Example shows 0 MCTC WS).  
The leading edge of the respective command depends on RW-delay.  
2)  
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.  
The next external bus cycle may start here.  
4)  
Data Sheet  
62  
V1.0, 2001-05  
C164CM  
C164SM  
Package Outlines  
P-TQFP-64-4  
(Plastic Metric Quad Flat Package)  
Sorts of Packing  
Package outlines for tubes, trays etc. are contained in our  
Data Book Package Information.  
Dimensions in mm  
V1.0, 2001-05  
SMD = Surface Mounted Device  
Data Sheet  
63  
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  
h t t p : / / w w w . i n f i n e o n . c o m  
Published by Infineon Technologies AG  

相关型号:

SAK-C164CM-4RF

16-Bit Single-Chip Microcontrol ler
INFINEON

SAK-C164SI-8R16M3V

RISC Microcontroller, 16-Bit, MROM, C166 CPU, 16MHz, CMOS, PQFP80, 0.65 MM, PLASTIC, MQFP-80
INFINEON

SAK-C164SI-8R25M

16-Bit Single-Chip Microcontroller
INFINEON
INFINEON

SAK-C164SI-8RM

16-Bit Single-Chip Microcontroller
INFINEON

SAK-C164SI-8RMCA+

Microcontroller, CMOS,
INFINEON

SAK-C164SL-6R16M3V

RISC Microcontroller, 16-Bit, MROM, C166 CPU, 16MHz, CMOS, PQFP80, 0.65 MM, PLASTIC, MQFP-80
INFINEON

SAK-C164SL-6R25M

16-Bit Single-Chip Microcontroller
INFINEON

SAK-C164SL-6RM

16-Bit Single-Chip Microcontroller
INFINEON

SAK-C164SL-8R16M3V

RISC Microcontroller, 16-Bit, MROM, C166 CPU, 16MHz, CMOS, PQFP80, 0.65 MM, PLASTIC, MQFP-80
INFINEON

SAK-C164SL-8R25M

16-Bit Single-Chip Microcontroller
INFINEON

SAK-C164SL-8R25MCA+

Microcontroller, CMOS,
INFINEON