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



Similar documents
AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.

8-bit Microcontroller. Application Note. AVR400: Low Cost A/D Converter

General Porting Considerations. Memory EEPROM XRAM

AVR106: C functions for reading and writing to Flash memory. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR305: Half Duplex Compact Software UART. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Step Motor Controller. Application Note. AVR360: Step Motor Controller. Theory of Operation. Features. Introduction

8-bit Microcontroller. Application Note. AVR415: RC5 IR Remote Control Transmitter. Features. Introduction. Figure 1.

8-bit Microcontroller. Application Note. AVR105: Power Efficient High Endurance Parameter Storage in Flash Memory

AVR317: Using the Master SPI Mode of the USART module. 8-bit Microcontrollers. Application Note. Features. Introduction

8-bit Microcontroller. Application Note. AVR222: 8-point Moving Average Filter

AT89C5131A Starter Kit... Software User Guide

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory

AVR055: Using a 32kHz XTAL for run-time calibration of the internal RC. 8-bit Microcontrollers. Application Note. Features.

8-bit RISC Microcontroller. Application Note. AVR182: Zero Cross Detector

8-bit Microcontroller. Application Note. AVR314: DTMF Generator

256K (32K x 8) OTP EPROM AT27C256R 256K EPROM. Features. Description. Pin Configurations

AVR033: Getting Started with the CodeVisionAVR C Compiler. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Tag Tuning/RFID. Application Note. Tag Tuning. Introduction. Antenna Equivalent Circuit

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR. 8-bit Microcontroller. Application Note. Features.

How to Calculate the Capacitor of the Reset Input of a C51 Microcontroller 80C51. Application Note. Microcontrollers. Introduction

AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note.

AT91 ARM Thumb Microcontrollers. Application Note. Interfacing a PC Card to an AT91RM9200-DK. Introduction. Hardware Interface

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

AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR241: Direct driving of LCD display using general IO. 8-bit Microcontrollers. Application Note. Features. Introduction AVR

8-bit Microcontroller. Application. Note. AVR204: BCD Arithmetics. Features. Introduction. 16-bit Binary to 5-digit BCD Conversion bin2bcd16

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration

USB Test Environment ATUSBTEST- SS7400. Summary

AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

ATF1500AS Device Family. Application Note. In-System Programming of Atmel ATF1500AS Devices on the HP3070. Introduction.

2-wire Serial EEPROM AT24C512

AVR353: Voltage Reference Calibration and Voltage ADC Usage. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Using CryptoMemory in Full I 2 C Compliant Mode. Using CryptoMemory in Full I 2 C Compliant Mode AT88SC0104CA AT88SC0204CA AT88SC0404CA AT88SC0808CA

AVR Timer/Counter. Prof Prabhat Ranjan DA-IICT, Gandhinagar

Real-Time Clock. * Real-Time Computing, edited by Duncan A. Mellichamp, Van Nostrand Reinhold

AVR1600: Using the XMEGA Quadrature Decoder. 8-bit Microcontrollers. Application Note. Features. 1 Introduction. Sensors

AVR1003: Using the XMEGA Clock System. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AN974 APPLICATION NOTE

AVR115: Data Logging with Atmel File System on ATmega32U4. Microcontrollers. Application Note. 1 Introduction. Atmel

8-bit. Application Note. Microcontrollers. AVR282: USB Firmware Upgrade for AT90USB

AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR. 8-bit Microcontrollers. Application Note. Features.

Application Note. 8-bit Microcontrollers. AVR091: Replacing AT90S2313 by ATtiny2313. Features. Introduction

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Software Real Time Clock Implementation on MC9S08LG32

AVR32110: Using the AVR32 Timer/Counter. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Quick Start Guide. CAN Microcontrollers. ATADAPCAN01 - STK501 CAN Extension. Requirements

AVR1900: Getting started with ATxmega128A1 on STK bit Microcontrollers. Application Note. 1 Introduction

ATF15xx Product Family Conversion. Application Note. ATF15xx Product Family Conversion. Introduction

Application Note. USB Mass Storage Device Implementation. USB Microcontrollers. References. Abbreviations. Supported Controllers

AVR131: Using the AVR s High-speed PWM. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

AVR245: Code Lock with 4x4 Keypad and I2C LCD. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Lesson-16: Real time clock DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK

AVR442: PC Fan Control using ATtiny13. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

How To Prevent Power Supply Corruption On An 8Bit Microcontroller From Overheating

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

AT91 ARM Thumb Microcontrollers. AT91SAM CAN Bootloader. AT91SAM CAN Bootloader User Notes. 1. Description. 2. Key Features

Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

8-bit RISC Microcontroller. Application Note. AVR910: In-System Programming

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

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series. 32-bit Microcontrollers. Application Note.

8-bit Microcontroller. Application Note. AVR461: Quick Start Guide for the Embedded Internet Toolkit. Introduction. System Requirements

8-bit RISC Microcontroller. Application Note. AVR155: Accessing an I 2 C LCD Display using the AVR 2-wire Serial Interface

AVR120: Characterization and Calibration of the ADC on an AVR. 8-bit Microcontrollers. Application Note. Features. Introduction

Table of Contents. Section 1 Introduction Section 2 Getting Started Section 3 Hardware Description

RENESAS TECHNICAL UPDATE

HANDLING SUSPEND MODE ON A USB MOUSE

Section 29. Real-Time Clock and Calendar (RTCC)

AVR125: ADC of tinyavr in Single Ended Mode. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1510: Xplain training - XMEGA USART. 8-bit Microcontrollers. Application Note. Prerequisites. 1 Introduction

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

AVR32100: Using the AVR32 USART. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Hello, and welcome to this presentation of the STM32L4 reset and clock controller.

USB 2.0 Full-Speed Host/Function Processor AT43USB370. Summary. Features. Overview

Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2. 8-bit Atmel Microcontrollers. Application Note. Features.

Manchester Coding Basics. Application Note. Manchester Coding Basics. 1. Modulation

APPLICATION NOTE Atmel AT02509: In House Unit with Bluetooth Low Energy Module Hardware User Guide 8-bit Atmel Microcontroller Features Description

AN3252 Application note

AVR068: STK500 Communication Protocol. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1922: Xplain Board Controller Firmware. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Keil C51 Cross Compiler

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

AN LPC1700 RTC hardware auto calibration. Document information. RTC, Hardware Auto Calibration, LPC1700, Graphic LCD

AN3265 Application note

Atmel AVR1017: XMEGA - USB Hardware Design Recommendations. 8-bit Atmel Microcontrollers. Application Note. Features.

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary

Two-wire Automotive Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 (1) AT24C16 (2)

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary. Features. Applications. 1. Description

Atmel Norway XMEGA Introduction

AVR2006: Design and characterization of the Radio Controller Board's 2.4GHz PCB Antenna. Application Note. Features.

71M6521 Energy Meter IC. Real Time Clock Compensation. The Challenge. The RTC in the 71M6521D/F. Theory of Operation APPLICATION NOTE

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

Application Note. 8-bit Microcontrollers. AVR272: USB CDC Demonstration UART to USB Bridge

Implementing a Real-Time Clock on the MSP430

Transcription:

AVR134: Real-Time Clock (RTC) using the Asynchronous Timer Features Real-Time Clock with Very Low Power Consumption (4µA @ 3.3V) Very Low Cost Solution Adjustable Prescaler to Adjust Precision Counts Time, Date, Month and ear with Auto Leap ear Configuration ear 2000 Compliant Date Format Can be Used on all AVR Controllers with RTC Module C -Code for ATMega103 Inculded Introduction This application note describes how to implement a real-time clock (RTC) on AVR microcontrollers that features the RTC module. The implementation requires only one discrete component a 32.768 khz watch crystal. The application has very low power consumption because the microcontroller operates in Power Save mode most of the time. In power save mode the AVR controller is sleeping with only a timer running. The timer is clocked by the external crystal. On every timer overflow the time, date, month and year are counted. This RTC implementation is written for the ATmega103, and can easily be ported to other AVRs with RTC Module. The advantages of implementing a RTC in software compared to an external hardware RTC are obvious: Lower cost Few external components Lower power Greater flexibility Theory of Operation The implementation of a RTC utilizes the asynchronous operation of the RTC module. In this mode, Timer/Counter0 runs independently from the CPU clock. Figure 1 shows that the AVR controller operates from the 4 MHz main clock source in normal operation. When low power operation is desired the AVR operates in Power Down mode, with only the asynchronous timer running from an external 32.768 khz crystal. The software real-time clock (RTC) is is implemented using a 8-bit timer/counter with overflow interrupt. The software controls the overflow interrupt to count clock and calendar variables. The Timer Overflow interrupt is used to update the software variables second, minute, hour, date, month and year at the correct intervals. 8-bit Microcontroller Application ote Figure 1. Oscillator connection for Real-Time Clock XTAL1 4.000 MHz AVR R ATmega103 XTAL2 TOSC2 V CC TIMER/COUTER0 TOSC1 32.768 khz Rev. 1259A 12/98 1

Because of the amount time for the timer/counter to complete one overflow is always the same, each of these timer variables will be incremented by a fixed number with every timer overflow. The timer overflow interrupt routine is used to perform this task. To reduce power consumption, AVR enters Power Save mode, in which all on-chip modules are disabled except for the RTC. As shown in Table 1, the MCU typically consumes less than 4 µa in this mode. The device will wake up on the Timer Overflow interrupt. The updates of the timer variables are performed during the active period. Then the AVR re-enters the Power Save mode until the next timer overflow occurs. Figure 2 and Figure 3 shows the time the AVR controller operates in Power Save mode versus that Active mode. To calculate the total power consumption, the power consumption in power save mode must be added to the power consumption in active mode. The time it takes to update the timer variables in the interrupt routine is less than 100 cycles, with a 4 MHz main clock this is 25 µs. The power consumption for this period is neglectable. More important is the wake up period for the controller. The wake up time can be programmed to 35ms for use with external crystal, or 1 ms for use with ceramic resonator. An example of a circuit that wake up once every second to update the RTC will show the power consumption for the two types of clock source: Figure 2. Current Figures for Crystal Oscillator,35 ms Startup Time Current 1s 35ms Active Mode Power Save 4µA 6mA Time Total current consumption per second: = (1 sec * 4 µa) + (35 ms * 6 ma) = 4 µas + 210 µas = 214 µas This shows that the dominating part of the current consumption is in active mode Figure 3. Current Figures for Ceramic Resonator, 0.5 ms Startup Time Current 1s 1 ms Active Mode Power Save 4µA 6mA Time Total current consumption per second: = (1 sec * 4 µa) + (1 ms * 6 ma) = 4 µas + 6 µas = 10 µas This shows that by reducing the startup time the current consumption is reduced from 100 µas to 7 µas Table 1. Current Consumption by the AVR Controller in each Mode Mode Typical Max Active 4 MHz, 3.3 V CC 4 ma 6.0 ma Idle 4 MHz, 3.3 V CC 1.8 ma 2.0 ma Power Down 4 MHz, 3.3 V CC <1.0 µa 2.0 µa Power Save 4 MHz, 3.3 V CC <4.0 µa 6.0 µa 2 AVR134

AVR134 Calculation Given the frequency of the watch crystal, the user can determine the time for each tick in the Timer/Counter by selecting the desired prescale factor. As shown in Table 2, CS02, CS01, and CS00 in the TCCR0 (Timer/Counter0 Control Register) define the prescaling source of the Table 2. Timer/Counter0 Prescale Select Timer/Counter, where CK is the frequency of the watch crystal. For example, if CK equals 32,768 Hz, the Timer/Counter will tick at a frequency of 256 Hz with a prescaler of CK/128. CS02 CS01 CS00 Description Overflow Period 0 0 0 Timer/Counter0 is stopped - 0 0 1 CK 1/64s 0 1 0 CK/8 1/8s 0 1 1 CK/32 1/4s 1 0 0 CK/64 1/2s 1 0 1 CK/128 1s 1 1 0 CK/256 2s 1 1 1 CK/1024 8s ote: CK = 32,768 Hz Configuration Example As shown in Figure 1, the crystal should be connected directly between pins TOSC1 and TOSC2. o external capacitance is needed. The oscillator is optimized for use with a 32,768 Hz watch crystal, or an external clock signal in the interval of 0 Hz - 256 khz. In this example, the eight LEDs in port B are used to display the RTC. The LED on port B pin 0 will change state every second. The next 6 LEDs represents the minute in binary, and the LED on pin 7 stays on for 1 hour and off for the next. Considerations should be taken when clocking the timer/counter from an asynchronous clock source. A 32.768 khz crystal have a stabilization time up to 1 second after power up. The controller must therefore not enter power save mode less than a second after power up. Care must be taken when changing to asynchronous operation. See the databook for detailed instructions. When updating the timer register the data is transferred to a temporary register and latched after two external clock cycles. The ASynchronous Status Register (ASSR) contains status flags that can be checked to control that the written register is updated. Implementation The software consists of two subroutines. counter is the Timer/Counter overflow service routine, which updates all the timer variables whenever a timer overflow occurs. The other one, not_leap, corrects the date for leap years. The main program sets up all the necessary I/O registers to enable the RTC module and controls the power down sequence. The AS0 bit in the ASSR (Asynchronous Status Register) is set to configure Timer/Counter0 to be clocked from an external clock source. Only this timer can perform asynchronous operations. The start value for the timer is reset and the desired prescaler value is selected. To synchronize with the external clock signal the program wait for the ASSR register to be updated. TOIE0 bit in the TIMSK (Timer/Counter Interrupt Mask Register) is then set to enable Timer/Counter0 Overflow interrupt. The Global Interrupt Enable bit in SREG (Status Register) also has to be set to enable all interrupts. SM1 and SM0 bit in MCUCR (MCU Control Register) are set to select Power Save mode. The SLEEP instruction will then place the controller. in sleep mode. A loop in the main program executes the SLEEP instruction. Counter Overflow Interrupt Routine The interrupt routine is executed every time a timer overflow occurs. It wakes up the MCU to update the timer variables. An interrupt procedure cannot return or accept any variables. A global structure with timer variables are declared to keep track of time: second, minute, hour, date, month and year. Since the time required to complete one timer overflow is known, second will be incremented by a fixed number every time. Once it reaches 60, minute is incremented by 1 and second is set to 0. 3

Figure 4. Flow Chart, CounterInterrupt Routine counter A B ++ second =60? date = 32? minute=minute +1 second = 0 date = 31 & month = 4,6,9,11? minute = 60? date = 30? hour = hour +1 minute = 0 hour = 24? date = 32? date = date +1 hour = 0? Month=2 and ot_leap A B month = month +1 date=1 month = 13? year = year +1 month=1 Return 4 AVR134

AVR134 not_leap Subroutine This routine checks whether or not it is a leap year. It returns true if the year is not leap and false for leap. It is considered a leap year if both of the following conditions are satisfied: 1. The year is divisible by 4. and 2. If the year is divisible by 100, it also has to be divisible by 400. Figure 5. Flow Chart not_leap Accuracy The RTC on the AVR controller maintains high accuracy as long as the watch crystal is accurate. Asynchronous operation allows the timer to run without any delays even when the CPU is under heavy computation. However, a small neglible discrepancy does occur because the timer variables are not updated in parallel. By the time they are finished updating, they deviate from the Timer/Counter very slightly. The largest discrepancy occurs when all the timer variables are overflowed. At this moment, second is 59, minute is 59, hour is 23, and so on. It takes 94 cycles for the MCU to complete the update. At a 4Mhz CPU clock, the error between the RTC and the watch crystal will not exceed 23.5 µs found by 94 / (4 * 10 6 ). A typical error should be 6 µs since 24 cycles are needed to update second. This error does not accumulate since the timer is always synchronous with the watch crystal. Resources Table 3. CPU and Memory Usage ear divisable by 100? return year / 400 return year / 4 Function Code Size (bytes) Cycles Example Register Interrupt Description main 104 - R16 Timer0 Overflow Sets the necessary configuration counter 356 - R16, R17, R30, R31 - Updates the variables not_leap 48 10 (typical) R16, R17, R20, R21 - Checks for leap year Total 508 - - Table 4. Peripheral Usage Peripheral Description Interrupts Enabled TOSC1, TOSC2 connected to external crystal - Timer/counter0 real-time clock Timer/counter0 overflow 8 I/O pins on port B flashing LEDs (example only) - 5

/**** A V R A P P L I C A T I O OTE 1 3 4 ************************** * * Title: Real-Time Clock * Version: 1.01 * Last Updated: 12.10.98 * Target: ATmega103 (All AVR Devices with secondary external oscillator) * Support E-mail: avr@atmel.com * * Description * This application note shows how to implement a Real-Time Clock utilizing a secondary * external oscilator. Included a test program that performs this function, which keeps * track of time, date, month, and year with auto leap-year configuration. 8 LEDs are used * to display the RTC. The 1st LED flashes every second, the next six represents the * minute, and the 8th LED represents the hour. * ******************************************************************************************/ #include <iom103.h> #include <ina90.h> char not_leap(void); type def struct unsigned char second; //enter the current time, date, month, and year unsigned char minute; unsigned char hour; unsigned char date; unsigned char month; unsigned int year; time; time t; void C_task main(void) int temp0,temp1; //C_task means "main" is never called from another function for(temp0=0;temp0<0x0040;temp0++) for(temp1=0;temp1<0xffff;temp1++); DDRB=0xFF; TIMSK &=~((1<<TOIE0) (1<<OCIE0)); ASSR = (1<<AS0); TCT0 = 0x00; TCCR0 = 0x05; while(assr&0x07); // Wait for external clock crystal to stabilize //Disable TC0 interrupt //set Timer/Counter0 to be asynchronous from the CPU clock //with a second external clock(32,768khz)driving it. //prescale the timer to be clock source / 128 to make it //exactly 1 second for every overflow to occur //Wait until TC0 is updated 6 AVR134

AVR134 TIMSK = (1<<TOIE0); _SEI(); //set 8-bit Timer/Counter0 Overflow Interrupt Enable //set the Global Interrupt Enable Bit while(1) MCUCR = 0x38; _SLEEP(); _OP(); TCCR0=0x05; while(assr&0x07); //entering sleeping mode: power save mode //will wake up from time overflow interrupt // Write dummy value to Control register //Wait until TC0 is updated interrupt [TIMER0_OVF_vect] void counter(void) //overflow interrupt vector if (++t.second==60) //keep track of time, date, month, and year t.second=0; if (++t.minute==60) t.minute=0; if (++t.hour==24) t.hour=0; if (++t.date==32) t.month++; t.date=1; else if (t.date==31) if ((t.month==4) (t.month==6) (t.month==9) (t.month==11)) t.month++; t.date=1; else if (t.date==30) if(t.month==2) t.month++; t.date=1; else if (t.date==29) if((t.month==2) && (not_leap())) 7

t.month++; t.date=1; if (t.month==13) t.month=1; t.year++; PORTB=~(((t.second&0x01) t.minute<<1) t.hour<<7); char not_leap(void) if (!(t.year%100)) return (char)(t.year%400); else return (char)(t.year%4); //check for leap year 8 AVR134

Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA 95131 TEL (408) 441-0311 FAX (408) 487-2600 Europe Atmel U.K., Ltd. Coliseum Business Centre Riverside Way Camberley, Surrey GU15 3L England TEL (44) 1276-686677 FAX (44) 1276-686697 Atmel Operations Atmel Colorado Springs 1150 E. Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL (719) 576-3300 FAX (719) 540-1759 Atmel Rousset Zone Industrielle 13106 Rousset Cedex, France TEL (33) 4 42 53 60 00 FAX (33) 4 42 53 60 01 Asia Atmel Asia, Ltd. Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimshatsui East Kowloon, Hong Kong TEL (852) 27219778 FAX (852) 27221369 Japan Atmel Japan K.K. Tonetsu Shinkawa Bldg., 9F 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 Fax-on-Demand orth America: 1-(800) 292-8635 International: 1-(408) 441-0732 e-mail literature@atmel.com Web Site http://www.atmel.com BBS 1-(408) 436-4309 Atmel Corporation 1998. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company s standard warranty which is detailed in Atmel 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. o 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. Marks bearing and/or are registered trademarks and trademarks of Atmel Corporation. Terms and product names in this document may be trademarks of others. Printed on recycled paper. 1259A 12/98/xM