AT91 ARM Thumb Microcontrollers. Application Note. AT91M55800A Clock Switching Considerations using Advanced Power Management Controller.

Similar documents
8-bit RISC Microcontroller. Application Note. AVR 305: Half Duplex Compact Software UART

TSC695. Application Note. Annulled Cycle Management on the TSC695. References

8051 Microcontrollers. Application Note. Migration from AT89C5131 & AT89C5131A-L to AT89C5131A-M

AT17 Series FPGA. Configuration Memory. Application Note. In-System Programming Circuits for AT17 Series Configurators with Atmel and Xilinx FPGAs

FPGA Configuration EEPROM Memory. Application Note. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction.

8-bit Microcontroller. Application Note. AVR031: Getting Started with ImageCraft C for AVR

AVR32 UC3 Software Framework... User Manual

AT89C5131 Starter Kit... Software User Guide

Section 1 ATAVRAUTOEK1 Getting Started

MP3 Player Reference Design Based on AT89C51SND1 Microcontroller... User Guide

AT91 ARM Thumb Microcontrollers. Application Note. AT91 Host Flash Loader. 1. Package Contents. 2. Definition of Terms. 3.

CAN Microcontrollers. Application Note. Migrating from T89C51CC01 to AT89C51CC03. Feature Comparison

8-bit Microcontroller. Application Note. AVR030: Getting Started with C for AVR

Application Note Microcontrollers. C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers

MARC4. Application Note. Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers

FPGA Configurator Programming Kit (Enhanced) ATDH2200E. Features. Description

AT17(A) Series FPGA Configuration Memory. Application Note

Rad Hard FPGA. AT40KEL-DK Design Kit Content. Description. Kit Content. Reference Material. Support

CAN, 80C51, AVR, Microcontroller. Application Note

AT94K Series Field Programmable System Level Integrated Circuit. Application Note. FPSLIC Baud Rate Generator

Programmable SLI AT40K AT40KAL AT94K. Application Note. Implementing a Single-coefficient Multiplier

AT89STK-09 Starter Kit for AT83C26... User Guide

AT89ISP Programmer Cable Introduction AT89ISP Programmer Cable Parallel Port Settings Application Note AT89ISP Software AT89ISP Cable polarized

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description

8-bit Microcontroller. Application Note. AVR320: Software SPI Master

AT17F Series. Application Note. Programming Circuits for AT17F Series Configurators with Xilinx FPGAs. 1. Introduction

Migration From AT89C51SND1C to AT83C51SDN1C. Application Note. MP3 Microcontrollers

Application Note. Microcontrollers. Using Keil FlashMon Emulator with AT89C51CC01/03 AT89C51CC01/ Summary. 2. Background overview

Interfacing the internal serial EEPROM

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description

Two-wire Serial EEPROM Smart Card Modules 128K (16,384 x 8) 256 (32,768 x 8) AT24C128SC AT24C256SC. Features. Description VCC NC

DatasheetDirect.com. Visit to get your free datasheets. This datasheet has been downloaded by

ATAVRAUTO User Guide

hex file. The example described in this application note is written for the AT94K using the FPSLIC Starter Kit. Creating a New Project

ATAVRAUTO User Guide

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler

2-wire Serial EEPROM Smart Card Modules AT24C32SC AT24C64SC

Two-wire Serial EEPROM Smart Card Modules 1K (128 x 8) 2K (256 x 8) 4K (512 x 8) 8K (1024 x 8) 16K (2048 x 8)

Trusted Platform Module AT97SC3203S. SMBus Two-Wire Interface. Summary

AVR501: Replacing ATtiny15 with ATtiny25. 8-bit Microcontrollers. Application Note PRELIMINARY. Features. 1 Introduction

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler

UART. Embedded RISC Microcontroller Core Peripheral

80C51 MCUs T89C51AC2. Errata Sheet

ARM7TDMI - based Microcontroller AT91RM3400. Errata Sheet

256 (32K x 8) High-speed Parallel EEPROM AT28HC256N. Features. Description. Pin Configurations

3-Wire Serial EEPROM AT93C46C

2-Wire Serial EEPROM AT24C01. Features. Description. Pin Configurations. 1K (128 x 8)

Bluetooth General Information White Paper

When is Data Susceptible to Corruption

SAM Boot Assistant (SAM-BA)... User Guide

CryptoRF EEPROM Memory 8 Kbits

AT89STK-10 Starter Kit... Hardware User Guide

8-bit RISC Microcontroller. Application Note. AVR151: Setup And Use of The SPI

32-bit Secure. AT91SC CT-USB Summary. Microcontrollers. Features

AT89C51CC03 UART Bootloader

1-megabit (64K x 16) 3-volt Only Flash Memory AT49BV1024A AT49LV1024A

1-megabit (64K x 16) 3-volt Only Flash Memory AT49LV1024 AT49LV1025

AT89C51SND1 UART Bootloader

Secure Microcontrollers for Smart Cards. AT90SC Summary

8-bit Microcontroller. Application Note. AVR410: RC5 IR Remote Control Receiver

1-megabit (64K x 16) 5-volt Only Flash Memory AT49F1024 AT49F1025

2-wire Serial EEPROM AT24C21. 2-Wire, 1K Serial EEPROM. Features. Description. Not Recommended for New Designs. Pin Configurations.

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16

256K (32K x 8) 5-volt Only Flash Memory AT29C256

T89C5115 UART Bootloader

8-bit Microcontroller. Application Note. AVR032: Linker Command Files for the IAR ICCA90 Compiler

T89C51AC2 UART Bootloader

2-megabit (256K x 8) 3-volt Only Flash Memory AT29LV020

64K (8K x 8) Parallel EEPROM with Page Write and Software Data Protection AT28C64B. Features. Description. Pin Configurations

Two-Wire Serial EEPROM AT24C164 (1)

256K (32K x 8) 5-volt Only Flash Memory AT29C256

P_D_OUT[31:0] SPI_INT SPI_MOSI_OUT SPI_MOSI_OEN

DIP Top View VCC A12 A14 A13 A6 A5 A4 A3 A2 A1 A0 A8 A9 A11 A10 I/O7 I/O6 I/O0 I/O1 I/O2 I/O5 I/O4 I/O3 GND. TSOP Top View Type 1 A11 A9 A8 A13 A14

512K (64K x 8) 5-volt Only Flash Memory AT29C512

DIP Top View A18 A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND VCC A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3 VCC A18 A17

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

Preparations. Creating a New Project

AT17A Series FPGA Configuration EEPROM Memory. Application Note. FPGAs. AT17A Series Conversions from Altera FPGA Serial Configuration Memories

a Serial Peripheral Interace (SPI). Embedded RISC Microcontroller Core Peripheral

AVR -based Bridge between Full-speed USB and Fast Serial Asynchronous Interfaces AT76C711

4-megabit (512K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT49BV040 AT49LV040

Interrupt Controlled UART

2-megabit (256K x 8) 5-volt Only Flash Memory AT29C020

2-wire Serial EEPROM AT24C1024. Features. Description. Pin Configurations. 1M (131,072 x 8)

CryptoMemory 64 Kbit AT88SC6416C. Summary. Features. Table 1. Pin Configuration

GemCore Serial Lite PRO AT83C21GC. Summary

AT85DVK-07 Demonstration Firmware... User s Manual

64K (8K x 8) High Speed Parallel EEPROM with Page Write and Software Data Protection AT28HC64BF

2-wire Serial EEPROMs AT24C128 AT24C256

1-megabit (128K x 8) 5-volt Only Flash Memory AT29C010A

Parallel EEPROM Die Products. Die Products. Features. Description. Testing

4-megabit (512K x 8) 5-volt Only 256-byte Sector Flash Memory AT29C040A

Atmel FPGA Integrated Development System (IDS)

4-megabit (512K x 8) 3-volt Only 256-byte Sector Flash Memory AT29LV040A

CryptoMemory 256 Kbit AT88SC25616C. Summary

Product Description. Application Note. AVR360: XmodemCRC Receive Utility for the AVR. Features. Theory of Operation. Introduction

FPGA Configuration EEPROM Memory AT17C65A AT17LV65A AT17C128A AT17LV128A AT17C256A AT17LV256A

OrCAD Support for Atmel PLDs. Application Note. OrCAD Support for Atmel PLDs. Overview

32-bit Embedded Core Peripheral. Advanced Interrupt Controller (AIC)

Transcription:

AT91M55800A Clock Switching Considerations using Advanced Power Management Controller Introduction The AT91M55800A is designed for ultra low-power applications and features an Advanced Power Management Controller peripheral (APMC) allowing optimization of power consumption. The APMC allows the Master Clock (MCK) to be selected between the Slow Clock, the output of the Main Oscillator or the output of the PLL. This Application Note describes the clock switching considerations to safely switch the Master Clock frequency MCK to one of the different clock sources of the AT91M55800A. It also provides a software driver for the clock switching according to these considerations. AT91 ARM Thumb Microcontrollers Application Note Associated Software File The ZIP file clock_switching_driver.zip should be downloaded from the Software section of the AT91 pages on Atmel s web site and unzipped. It gives the software described in this application note. Warranty All source code modules supplied with this Application Note are free of charge and can be copied or modified without authorization. The software is delivered "AS IS" without warranty or condition of any kind, either express, implied or statutory. This includes, without limitation, any warranty or condition with respect to merchantability or fitness for any particular purpose, or against the infringements of intellectual property rights of others. Rev. 1

Terminology This Application Note employs typographic conventions intended to improve its ease of use. Table 1 summarizes this dedicated terminology: Table 1. Typographic Conventions Category Code Description RelatedtoNumeric Base Related to AT91M55800A Clock Source Related to AT91M55800A Internal Registers 0b 0x SLCK MO PLL MOSCEN MUL CSS MOSCS LOCK Binary Number Hexadecimal Number Low Frequency Oscillator (32.768 khz) Main Oscillator Internal Phase Locked Loop APMC_CGMR Field used to enable MO Phase Locked Loop Factor in APMC_CGMR APMC_CGMR Field used to select Clock Source. SeeTable2. Status Bit in APMC_SR concerning MO Status Bit in APMC_SR concerning PLL AT91M55800A Clock Sources The AT91M55800A has two oscillators: 1. The Slow Clock (SLCK) oscillator is a very low power 32 khz oscillator powered by the backup battery voltage supplied on the VDDBU pins. The XIN32 and XOUT32 pins must be connected to a 32.768 khz crystal. The Slow Clock is the only clock considered permanent in an AT91M55800A-based system and is essential in the operations of the APMC. 2. The Main Oscillator (MO) provides a clock that depends on the frequency of the crystal connected between pins XIN and XOUT. The Main Oscillator is designed for a wide frequency range (3 MHz to 20 MHz fundamental crystal). Unlike the Slow Clock, the Main Oscillator may have a transient function, controlled by the bit MOSCEN. By using this field the application programmer is able to manage, under software control, the power supply to the Main Oscillator, for an improved power management in the application. The Main Oscillator frequency drives the Phase Locked Loop (PLL), which multiplies the frequency of its input signal by a number up to 64. This number is programmed in the MUL field of APMC_CGMR and the multiplication ratio is the programmed value plus one (MUL+1). If a null value is programmed into MUL, the PLL is automatically disabled to save power. 2 AT91 ARM Thumb

AT91 ARM Thumb AT91M55800A Advanced Power Management Controller The AT91M55800A features an Advanced Power Management Controller, which optimizes the power consumption of the device and the complete system. The APMC controls the clocking elements such as the oscillators and the PLL, the ARM7TDMI core and the peripheral clocks, and has the capability to control the system power supply. See Figure 1. The APMC is a state machine running from the 32.768 khz clock source, therefore the low frequency oscillator must be running continuously. Figure 1. APMC module WAKEUP NRSTBU Reset Control Shut-down Logic Alarm APMC SHDN XIN32 XOUT32 RTC OSC RTC (1) VDDBU Slow Clock_SLCK XIN XOUT VDDIO/VDDCORE Main OSC PLL Device Clock Control Arm Clock 0 Peripheral Clocks n ARM Interrupt (IRQ and FIQ) SLCKIRQ OSC Timer PLL Timer IRQ Control APMCIRQ Advanced Peripheral Bus The APMC can generate interrupt events in two cases: 1. When the oscillator counter reaches 0. OSCOUNT specifies the number of 32.768 khz divided by 8 clock cycles for the Main Oscillator start-up timer to count before the Main Oscillator is stabilized, after the oscillator has been enabled. The Main Oscillator counter is a down-counter which is pre-loaded with the OSCOUNT value when the MOSCEN bit in the Clock Generator Mode register (CGMR) is set. 2. When the PLL counter reaches 0. PLLCOUNT specifies the number of 32.768 khz clock cycles for the PLL lock timer to count before the PLL is locked, after the PLL is started. The PLL counter is a down-counter which is preloaded with the PLLCOUNT value when the MUL field in the Clock Generator Mode register (CGMR) is modified. The APMC also features the Slow Clock interrupt SLCKIRQ, allowing the user to detect when the Master Clock has actually switched to the Slow Clock. Switching from the Slow Clock to a higher frequency is generally performed safely, as the processor is running slower than the target frequency. However, switching from a high frequency to the Slow Clock implies the high frequency to be valid during the switch time. The Slow Clock interrupt permits the user to know exactly when the switch has been achieved, thus, when the Main Oscillator or the PLL can be disabled. 3

AT91M55800A Master Clock Selection The MCK (Master Clock) can be selected through the CSS field in APMC_CGMR between the Slow Clock, the output of the Main Oscillator or the output of the PLL as shown in Table 2. Table 2. Clock source selection CSS Bit Combination Clock Source Selection 0 0 Low Frequency Clock (SLCK) 0 1 Main Oscillator (MO) 1 0 Phase Locked Loop Output (PLL) 1 1 Reserved Writing CSS to the following values, and under the following conditions is forbidden, and the write operation of APMC_CGMR is not taken into account in these cases: Deselect the Slow Clock if the Main Oscillator is disabled or its output is not stabilized Disable the PLL without having first selected the Slow Clock or the Main Oscillator clock Select the PLL clock and, in the same register write, disable the PLL Select either the Main Oscillator or the PLL clocks and, in the same register write, disable the Main Oscillator Disable the Main Oscillator without having first selected the Slow Clock This clock switch is performed in a certain number of Slow Clock and PLL or Main Oscillator clock cycles as described in the state machine diagram Figure 2. Figure 2. Clock Switching Slow Clock Mode 5 SLCK Cycles 4 SLCK Cycles + 3 PLL Clock Cycles 5 SLCK Cycles 3 SLCK Cycles + 3 Oscillator Clock Cycles PLL Clock Mode 7 SLCK Cycles + 3 PLL Clock Cycles 4 SLCK Cycles + 3 Oscillator Clock Cycles 5 SLCK Cycles + 3 PLL Clock Cycles Oscillator Clock Mode 4 AT91 ARM Thumb

AT91 ARM Thumb Clock Switching Considerations Example The clock switching from one source to another must be achieved by using the dedicated interrupt named SLCKIRQ. The difficulty in clock switching is due to the fact that Advanced Power Management Controller operations are performed at 32 khz in contrast to a faster clock for the software application (driven by a clock derived from the Main Oscillator or PLL output). The SLCKIRQ indicates when the Low Frequency Oscillator is used as the Master Clock. The Main Oscillator is connected to a crystal oscillator of 16 MHz and the PLL is used to reach a frequency of 32 MHz. Considering that the MCK clock is the PLL output at 32 MHz, the user wants to switch the MCK clock to the MO output at 16 MHz in order to reduce the power consumption in the application. To do this, the user sets the CSS field to the corresponding value (defined in Table 2) to select the MO output. Writing the CSS value is done at MCK = 32 MHz. As previously described, the APMC is running at 32 khz. The MCK frequency relative to the speed rate of the APMC state machine, is higher by a factor of 1000. In Figure 3, between (1) and (2), a number of 32.768 khz clock cycles are needed for the APMC to switch the clock source, but related to the Master Clock, in this case 32 MHz, this time is very long. There is no flag informing the user when the APMC switch is finished, therefore the software application does not know when the APMC switch has been achieved. Figure 3. Master Clock switching from PLL output to MO output. PLL Output MCK = 32 MHz Writing to CSS Field of APMC_CGMR by the Processor (1) Transient State from PLL to MO Output Switching Time (c.f. Figure 2) Difficulty to evaluate this time interval (3) in terms of a number of 32 MHz Master Clock Cycles MO Output MCK = 16 MHz (2) Clock Switching Sequence Difficulties in a User Application As described above, the clock source used to supply the internal Master Clock is selected according to the CSS field setting. To switch between the three different clock sources, the user must only write in the CSS field the corresponding choice to the targeted clock (see Table 2). Each switching sequence is performed in a certain number of Slow Clock periods while the processor continues its work. During this period, the processor works at initial clock (see Figure 3, in step (3)). 5

The difficulty arises during this period when: the user wants to decrease the clock frequency and, for power saving considerations, wants to shu tdown the initial clock source as quickly as possible, or the user wants to switch between two high-frequency clock sources. As described in Clock Switching Considerations on page 5, between the MCK clock frequency and the Slow Clock which drives the APMC state machine, it is possible to have a ratio of 1000 (between 32 Mhz and 32 khz for example). Without adequate precautions some problems can occur in the application, namely: the shutdown of the initial clock source can be performed during the step (3) (see Figure 3) while the processor is still working from it, errors in using other peripherals which work from the MCK (USART, Timer/Counter. etc.) Clock Switching Sequence The difficulty described above, when the application requires a clock frequency decreasing and a shutdown of the affected sources, can be easily resolved by using the interrupt called SLCKIRQ. The recommended method is to carry out all switching while the Master Clock runs from the same source clock as the APMC i.e. 32.728 khz. The act of working from the Slow Clock allows the PLL or the Main Oscillator to be shut down safely. In Figure 4 to Figure 9 are defined the different clock switching sequences using the method described above. There are three clock sources and therefore six switching sequences. Note: In all following diagrams, we assume that the OSCOUNT and PLLCOUNT values have been correctly set according to, respectively, the Main Oscillator startup time and the PLL lock time. 6 AT91 ARM Thumb

AT91 ARM Thumb Figure 4. Switch MCK from Slow Clock oscillator output to MO output MCK = SLCK Set MOSCEN Bit to start MO Wait for MOSCS Status Bit to be Set (*) CSS = 0b01 (MO Selected as Clock Source) MCK = MO [3 X SLCK + 3 X MO] Periods => Switching Time (**) (*) The AT91M55800A allows this event to be managed in interrupt mode (see AT91M55800A Datasheet) (**) The processor runs at 32 khz. Four machine code cycles are enough to overlay the necessary delay to achieve the switching. 7

Figure 5. Switch MCK from Slow Clock oscillator output to PLL output MCK = SLCK Set MOSCEN bit to start MO Wait for MOSCS Status Bit to be Set (*) Write MUL Value Wait for LOCK Status Bit to be Set (*) Select PLL by writing CSS = 0b10 [4 X SLCK + 3 X PLL] Periods => Switching Time (**) MCK = PLL (*) The AT91M55800A allows these events to be managed in interrupt mode (see AT91M55800A Datasheet) (**) The processor runs at 32kHz. Five machine code cycles are enough to overlay the necessary delay to achieve the switching. 8 AT91 ARM Thumb

AT91 ARM Thumb Figure 6. Switch MCK from PLL output to Slow Clock oscillator output MCK = PLL SLCKIRQ Service Routine Initialize Variable X = TRUE Enable SLCKIRQ Stop PLL by writing 0b0 in MUL field Select SLCK by writing 0b00 in CSS Clear MOSCEN bit to shut down MO Read X Return from Interrupt Yes No MCK = SLCK The above transition works by using the SLCKIRQ interrupt. This is the reason why there are two sequences: one for the main sequence and other describing the interrupt subroutine. 9

Figure 7. Switch MCK from MO output to PLL output MCK = MO SLCKIRQ Service Routine Initialize Variable Select PLL Source by writing 0b10 in CSS Field [4 X SLCK + 3 X PLL] Periods => Switching Time (**) Enable SLCKIRQ X = TRUE Write MUL Value Return from Interrupt Wait for LOCK Status Bit to be set (*) Select SLCK by writing 0b00 in CSS Read X Yes No MCK = PLL The above transition works by using the SLCKIRQ interrupt. This is the reason why there are two sequences: one for the main sequence and other describing the interrupt subroutine. 10 AT91 ARM Thumb

AT91 ARM Thumb Figure 8. Switch MCK from PLL output to MO output (*) The AT91M55800A allows this event to me managed in interrupt mode (see AT91M55800A Datasheet) (**) In the SLCKIRQ subroutine, the processor runs at 32 khz. In this case, some C code creates the necessary delay to achieve the switching. MCK = PLL SLCKIRQ Service Routine Initialize Variable Select MO Source by Writing 0b01 in CSS [3 X SLCK + 3 X MO] Periods => Switching Time (*) Enable SLCKIRQ X = TRUE Select SLCK by Writing 0b00 in CSS Shut Down PLL Read X Return from Interrupt Yes No MCK = MO The above transition works by using the SLCKIRQ interrupt. This is the reason why there are two sequences: one for the main sequence and other describing the interrupt subroutine. (*) The processor runs at 32 khz. Four machine code cycles are enough to create the necessary delay to achieve the switching. 11

Figure 9. Switch MCK from MO output to Slow Clock oscillator output MCK = MO SLCKIRQ Service Routine Initialize Variable X = TRUE Enable SLCKIRQ Clear MOSCEN to Stop MO Select SLCK by Writing 0b00 in CSS Return from Interrupt Read X Yes No MCK = SLCK The above transition works by using the SLCKIRQ interrupt. This is the reason why there are two sequences: one for the main sequence and other describing the interrupt subroutine. 12 AT91 ARM Thumb

AT91 ARM Thumb Software Driver Following the methods described in previous sections of this document, Atmel has developed a software driver to help the user to switch the Master Clock (MCK) of the AT91M55800A to the clock source selected: Slow Clock oscillator (SLCK), Main Oscillator(MO)orPLL. This software is built around a C source file named clock_switching_driver.c and its corresponding header file, clock_switching_driver.h. The user interface is defined by two functions, mck_clock_speed() and at91_clock_generator_state() defined in the clock_switching_driver.c module. Examples 1. The user wants to select the Main Oscillator output. The required function call is: mck_clock_speed (TO_HF_OSCILLATOR, 0 ) ; where the parameters are: TO_HF_OSCILLATOR: is a constant defined in the header file and used to select the targeted clock source (the MO in this example), 0: The PLL factor. 2. The user wants to select the Low Frequency Oscillator output. The required function call is: mck_clock_speed (TO_LF_OSCILLATOR, 0 ) ; where the parameters are: TO_LF_OSCILLATOR: is a constant defined in the header file and used to select the targeted clock source (the SLCK in this example), 0: The PLL factor. 3. 3) The user wants to select the PLL output. The required function call is: mck_clock_speed (TO_PLL_OSCILLATOR, Frequency_multiplier ) ; where the parameters are: TO_PLL_OSCILLATOR: is a constant defined in the header file and used to select thetargetedclocksource(thepllinthisexample), Frequency_multiplier: ThePLLfactor. 13

Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 487-2600 Europe Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 Fribourg Switzerland TEL (41) 26-426-5555 FAX (41) 26-426-5500 Asia Atmel Asia, Ltd. Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) 2721-9778 FAX (852) 2722-1369 Japan Atmel Japan K.K. 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 Atmel Operations Memory Atmel Corporate 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 Microcontrollers Atmel Corporate 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 Atmel Nantes La Chantrerie BP 70602 44306 Nantes Cedex 3, France TEL (33) 2-40-18-18-18 FAX (33) 2-40-18-19-60 ASIC/ASSP/Smart Cards Atmel Rousset Zone Industrielle 13106 Rousset Cedex, France TEL (33) 4-42-53-60-00 FAX (33) 4-42-53-60-01 Atmel Colorado Springs 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Atmel Smart Card ICs Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Scotland TEL (44) 1355-803-000 FAX (44) 1355-242-743 RF/Automotive Atmel Heilbronn Theresienstrasse 2 Postfach 3535 74025 Heilbronn, Germany TEL (49) 71-31-67-0 FAX (49) 71-31-67-2340 Atmel Colorado Springs 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom Atmel Grenoble Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex, France TEL (33) 4-76-58-30-00 FAX (33) 4-76-58-34-80 e-mail literature@atmel.com Web Site http://www.atmel.com Atmel Corporation 2002. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company s standard warranty whichisdetailedinatmel s Terms and Conditions located on the Company s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel s products are not authorized for use as critical components in life support devices or systems. ATMEL and the Atmel logo are the registered trademarks of Atmel. ARM and Thumb are the registered trademarks of ARM Ltd. ARM7TDMI is a trademark of ARM Ltd. Other terms and product names may be the trademarks of others. Printed on recycled paper. 0M