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

Save this PDF as:

Size: px
Start display at page:

Transcription

1 AVR314: DTMF Generator Features Generation of Sine Waves Using PWM (Pulse-Width Modulation) Combine Different Sine Waves to DTMF Signal Assembler and C High-level Language Code STK500 Top-Module Design 260 Bytes Code Size/128 Bytes Constants Table Size Use of Lookup Tables Introduction This application note describes how DTMF (Dual-Tone Multiple Frequencies) signaling can be implemented using any AVR microcontroller with PWM and SRAM. Applications such as phones are using DTMF signals for transmitting dialing information. There are two frequencies added together to generate a valid DTMF signal, a low frequency (f b ) and a high frequency (f a ). Table 1 shows how the different frequencies are mixed to form DTMF tones. 8-bit Microcontroller Application Note Figure 1. DTMF Generator V CC V CC PD5 AVR AT90S4414 PB7 PB A B C * 0 # D PB4 PB5 PB6 PB7 XTAL1 XTAL2 PB0 PB1 PB2 PB3 22 pf 8 MHz 22 pf Rev. 1

2 Table 1. DTMF Tone Matrix fb/fa 1209 Hz 1336 Hz 1477 Hz 1633 Hz 697 Hz A 770 Hz B 852 Hz C 941 Hz * 0 # D The rows of the matrix shown in Table 1 represent the low frequencies while the columns represent the high frequency values. For example, this matrix shows that digit 5 is represented by a low frequency of f b = 770 Hz and a high frequency of f a = 1336 Hz. The two frequencies are transformed to a DTMF signal using equation 1: f () t = A a sin( 2π f a t ) + A b sin( 2π f b t) ) ( 1) where the ratio between the two amplitudes should be: A b A a = K 07, < K < 09, ( 2) Theory of Operation Generating Sine Waves Starting from a general overview about the usage of the PWM, it will be shown how the PWM allows to generate Sine Waves. In the next step, an introduction is given in how frequencies that are different from the ground frequency of the PWM can be generated. After closing the theoretical introduction with the DTMF signal itself, the implementation will be described. According to the relation between high level and low level at the output pin of the PWM, the average voltage at this pin varies. Keeping the relation between both levels constant generates a constant voltage level. Figure 2 shows the PWM output signal. Figure 2. Generation of a Constant Voltage Level V V H V AV V L x y t 2 AVR314

3 AVR314 While equation 3 shows how to calculate the voltage level: xv H + yv L V AV = ( 3) x+ y A sine wave can be generated if the average voltage generated by the PWM is changed every PWM cycle. The relation between high and low level has to be adjusted according to the voltage level of the sine wave at the respective time. Figure 3 visualizes this scheme. The values for adjusting the PWM can be calculated every PWM cycle or stored in a lookup table (LUT). Figure 3 also shows the dependency between frequency of the ground sine wave and the amount of samples. The more samples (Nc) are used, the more accurate the output signal gets. At the same time the frequency sinks. Equation 4 shows this correlation: f f l f CK 510 = = ( 4) Nc Nc f: Sine wave frequency (1/T) f L PWM frequency (f CK / 510) T: Period of ground sine wave f CK : Timer Clock Nc: Number of samples (12 in Figure 3) The PWM frequency is dependent on the PWM resolution. For an 8-bit resolution, the Timer TOP value is 0xFF (255). Because the timer counts up and down this value has to be doubled. In dividing the Timer Clock f CK by 510 the PWM frequency can be calculated. According to this coherence a Timer Clock of 8 MHz generates a PWM frequency of 15.6 khz. Modifying the Frequency of the Sine Wave Figure 3. Generating a Sine Wave with PWM V t 1/fl T 3

4 Let s assume that the sinusoid samples for adjusting the PWM are not read in a sequentially manner from the lookup table but just every second value. At the same sample frequency an output signal with twice the frequency is generated (see Figure 4). Figure 4. Doubling the Output Frequency (X SW = 2) V t 1/fl T/2 T In using not every second sample but every third, fourth, fifth... it is possible to generate Nc different frequencies in the range from [1/T Hz.. 0 Hz]. Note: for high frequencies it will not be a sine wave anymore. The step-width between samples is specified by X SW. Equation 5 describes this relation: X SW f Nc fnc510 = = ( 5) f l F CK How to calculate the actual value with which the PWM has to be adjusted every PWM cycle (Timer overflow) is shown in equation 6. Based on the value of the previous cycle (X' LUT ) the new value (X LUT ) is calculated in adding the step-width (X SW ). X LUT = X LUT + X SW ( 6) X' LUT : X LUT : old position in lookup table new position in lookup table Adding the Two Different Frequencies to a DTMF Signal A DTMF signal has to be generated according to equations (1) and (2). Since this is easy to obtain with simple shift register operations a K-Factor of K = 3/4 has been chosen. By using equation (6) the lookup table position of the next value for adjusting the PWM can be calculated as follows: 3 f ( X LUT ) = f ( X LUTa ) + -- f ( X 4 LUTb ) ( 7) with X LUTa = X LUTa + X SWa X LUTb = X LUTb + X SWb 3 f ( X LUT ) = f ( X LUTa + X SWa ) + -- f ( X 4 LUTb + X SWb ) ( 8) 4 AVR314

5 AVR314 Implementation of the DTMF Generator In this application a DTMF tone generator is built using one of the 8-bit PWM outputs (OC1A) and a sinusoid table with Nc = 128 samples each with n = 7 bits. The following equations show this dependency and shows how the elements of the LUT are calculated: 2Π x f( x) = sin x [ 0 127] ( 9) The advantage in using 7 bits is that the sum of the high and low frequency signals fits in one byte. To support the whole DTMF tone set, we have to calculate eight X SW values, one for each DTMF frequency, and place them in a table. To achieve a higher accuracy, the following solution has been implemented: The X SW values calculated after equation 5 need only five bytes. To use all eight bytes to have a lower rounding error, this value is multiplied by eight. The pointer to the lookup table is saved in the same manner. But here two bytes are needed to store the actual value times eight. This means that three right shifts and a module operation with Nc have to be executed before using them as pointers to the sine values in the lookup table. Equation 10 shows the complete dependencies: X LUTa b, ROUND X 8 Nc f 510 = LUTa, bext ( 10) F CK X LUTa,b : Current position of element in LUT (actual format) X LUTa,bExt : Previous position of element in LUT (extended format) Figure 5. Schematics of the STK500 Top-Module AUXI0 CT7 CT5 CT3 CT1 NC RST PE1 VTG PC7 PC5 PC3 PC1 PA7 PA5 PA3 PA1 AUXO0 CT6 CT4 CT2 BSEL2 REF PE2 PE0 VTG PC6 PC4 PC2 PC0 PA6 PA4 PA2 PA A B C * 0 # D PB3 PB2 PB1 PB0 PB4 PB5 PB6 PB7 AUXI1 DATA7 DATA5 DATA3 DATA1 SI SCK XT1 VTG PB7 PB5 PB3 PB1 PD7 PD5 PD3 PD1 AUXO1 DATA6 DATA4 DATA2 DATA0 SO CS XT2 VTG PB6 PB4 PB2 PB0 PD6 PD4 PD2 PD0 J700 (Expand2) J701 (Expand1) The PWM signal is put out on the OC1A pin (PD5). An additional output filter will help to achieve a good sinusoid. If the PWM frequency is decreased, it can be necessary to implement a steeper filter to obtain a good result. 5

6 The connection with the keypad is shown in Figure 1. The functionality of the keypad determines how the pressed key has to be evaluated. It has to be done in two steps: 1. Determination of the row of the pressed key - define low nibble of PORTB as output/zero value - define high nibble of PORTB as input/pull up - low bit in high nibble determines row 2. Determination of the column of the pressed key - define high nibble of PORTB as output/zero value - define low nibble of PORTB as input/pull up - low bit in low nibble determines column Note: On the STK200 there are serial resistors between the PORTB header pins and the pins BP5, PB6 and PB7 of the part itself (please see the schematics of the STK200 for more details). This will cause problems if the keypad is connected to the PORTB header. Figure 6 visualizes the functionality of the routine to detect a pressed key. Dependent on which key is pressed it determines the step width value. The interrupt routine uses this values to calculate the PWM settings for the two Sine Waves of the DTMF tone. The interrupt routine is shown in Figure 7 and Figure 8. The interrupt routine calculates the output compare value for the next PWM cycle. The interrupt routine first calculates the position of the next sample value in the LUT and read the value stored there. The position of the sample in the LUT is determined by the step-width. The step-width itself is determined by the frequency which is to be generated. Combining the sample values of the both DTMF frequencies using formula 7 gives the final output compare value of the PWM. Figure 6. Main Function Main Check Keypad Key Pressed? No Step-width a,b = 0 Yes Set Step-width a,b According the Pressed Key 6 AVR314

7 AVR314 Figure 7. Interrupt Service Routine Timer Overflow ISR Timer1_OVF X LUTaEXT = X LUTaEXT ' + X SW OCR_RelVal a = GetSample (X LUTaEXT ) X LUTbEXT = X LUTbEXT ' + X SW OCR_RelVal b = GetSample (X LUTbEXT ) OCR = OCR_RelVal a + 3/4 OCR_RelVal b Return Figure 8. Function GetSample GetSample X LUTa,b = (X LUTa,bExt + 4) / 8 X LUTa,b < 128 OCR_RelVal = f(x LUTa,b ) Return 7

8 Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA TEL 1(408) FAX 1(408) Europe Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 Fribourg Switzerland TEL (41) FAX (41) Asia Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) FAX (852) Japan 9F, Tonetsu Shinkawa Bldg Shinkawa Chuo-ku, Tokyo Japan TEL (81) FAX (81) Atmel Operations Memory 2325 Orchard Parkway San Jose, CA TEL 1(408) FAX 1(408) Microcontrollers 2325 Orchard Parkway San Jose, CA TEL 1(408) FAX 1(408) La Chantrerie BP Nantes Cedex 3, France TEL (33) FAX (33) ASIC/ASSP/Smart Cards Zone Industrielle Rousset Cedex, France TEL (33) FAX (33) East Cheyenne Mtn. Blvd. Colorado Springs, CO TEL 1(719) FAX 1(719) Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Scotland TEL (44) FAX (44) RF/Automotive Theresienstrasse 2 Postfach Heilbronn, Germany TEL (49) FAX (49) East Cheyenne Mtn. Blvd. Colorado Springs, CO TEL 1(719) FAX 1(719) Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom Avenue de Rochepleine BP Saint-Egreve Cedex, France TEL (33) FAX (33) Web Site Atmel Corporation 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. 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 AVR are the registered trademarks of Atmel. Other terms and product names may be the trademarks of others. Printed on recycled paper. 0M

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

AVR222: 8-point Moving Average Filter Features 31-word Subroutine Filters Data Arrays up to 256 Bytes Runable Demo Program Introduction The moving average filter is a simple Low Pass FIR (Finite Impulse

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

AVR415: RC5 IR Remote Control Transmitter Features Utilizes ATtiny28 Special HW Modulator and High Current Drive Pin Size Efficient Code, Leaves Room for Large User Code Low Power Consumption through Intensive

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

AVR400: Low Cost A/D Converter Features Interrupt Driven : 23 Words Low Use of External Components Resolution: 6 Bits Measurement Range: 0-2 V Runs on Any AVR Device with 8-bit Timer/Counter and Analog

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

AVR182: Zero Cross Detector Features Interrupt Driven Modular C Source Code Size Efficient Code Accurate and Fast Detection A Minimum of External Components Introduction One of the many issues with developing

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

AVR236: CRC Check of Program Memory Features CRC Generation and Checking of Program Memory Supports all AVR Controllers with LPM Instruction Compact Code Size, 44 Words (CRC Generation and CRC Checking)

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

AVR305: Half Duplex Compact Software UART Features 32 Words of Code, Only Handles Baud Rates of up to 38.4 kbps with a 1 MHz XTAL Runs on Any AVR Device Only Two Port Pins Required Does Not Use Any Timer

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

Tag Tuning Introduction RFID tags extract all of their power to both operate and communicate from the reader s magnetic field. Coupling between the tag and reader is via the mutual inductance of the two

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

ATADAPCAN01 - STK501 CAN Extension The ATADAPCAN01 - STK501 CAN add-on is an extension to the STK500 and STK501 development boards from Atmel Corporation, adding support for the AVR AT90CAN128 device in

AVR32111: Using the AVR32 PIO Controller. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR32111: Using the AVR32 PIO Controller Features All I/O pins are configurable - PIO controllable - Module controllable Highly flexible - Set/Clear registers - Read status - Module operation - Level change

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

AVR201: Using the AVR Hardware Multiplier Features 8- and 16-bit Implementations Signed and Unsigned Routines Fractional Signed and Unsigned Multiply Executable Example Programs Introduction The megaavr

8-bit Microcntroller. Application Note. AVR243: Matrix Keyboard Decoder. Features. Introduction. ATmega162. * 0 # Alt4. Status LEDs.

AVR243: Matrix Keyboard Decoder Features 64-key Push-button Keyboard in 8 x 8 Matrix No External Components Required Wakes Up from Sleep Mode on Keypress Easily Implemented into Other Applications Low

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

AVR204: BCD Arithmetics Features Conversion 16 Bits 5 Digits, 8 Bits 2 Digits 2-digit Addition and Subtraction Superb Speed and Code Density Runable Example Program Introduction This application note lists

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

How to Calculate the Capacitor of the Reset Input of a C51 Microcontroller This application note explains how the reset of the 80C51 microcontroller works when the RST pin is a pure input pin and when

8-bit. Quick Start Guide. Microcontrollers. Connecting to a target board with the AVR JTAGICE mkii. JTAGICE mkii. Introduction

Connecting to a target board with the AVR JTAGICE mkii Introduction JTAGICE mkii is Atmel s on-chip debugging tool for the AVR microcontroller family. The JTAGICE mkii supports debugging with AVR s traditional

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

Interfacing a PC Card to an AT91RM9200-DK Introduction This Application Note describes the implementation of a PCMCIA interface on an AT91RM9200 Development Kit (DK) using the External Bus Interface (EBI).

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

AVR317: Using the Master SPI Mode of the USART module Features Enables Two SPI buses in one device Hardware buffered SPI communication Polled communication example Interrupt-controlled communication example

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

AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR Features How to open a new workspace and project in IAR Embedded Workbench Description and option settings for compiling the c-code Setting

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

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR Features Passing Variables Between C and Assembly Code Functions Calling Assembly Code Functions from C Calling C Functions from Assembly

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

AVR319: Using the USI module for SPI communication Features C-code driver for SPI master and slave Uses the USI module Supports SPI Mode 0 and 1 Introduction The Serial Peripheral Interface (SPI) allows

AT89C5131A Starter Kit... Software User Guide

AT89C5131A Starter Kit... Software User Guide Table of Contents Section 1 Introduction... 1-1 1.1 Abbreviations...1-1 Section 2 Getting Started... 2-3 2.1 Hardware Requirements...2-3 2.2 Software Requirements...2-3

High Speed USB Design Guidelines. Application Note. AT85C51SND3Bx Microcontrollers. 1. Introduction

High Speed USB Design Guidelines 1. Introduction This document provides guidelines for integrating a AT85C51SND3Bx high speed USB device controller onto a 4-layer PCB. The material covered can be broken

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

AVR245: Code Lock with 4x4 Keypad and I2C LCD Features Application example for code lock - Ideal for low pin count AVRs Uses I/O pins to read 4x4 keypad Uses Timer/Counter to control piezoelectric buzzer

General Porting Considerations. Memory EEPROM XRAM

AVR097: Migration between ATmega128 and ATmega2561 Features General Porting Considerations Memory Clock sources Interrupts Power Management BOD WDT Timers/Counters USART & SPI ADC Analog Comparator ATmega103

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

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

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

AVR106: C functions for reading and writing to Flash memory Features C functions for accessing Flash memory - Byte read - Page read - Byte write - Page write Optional recovery on power failure Functions

Low-voltage Highly Selective IR Receiver IC T2527. Features. Applications. Description

Features No External Components Except P Diode Supply-voltage Range: 2.7 V to 3.6 V Available for Carrier Frequencies in the Range of 30 khz to 56 khz; Adjusted by Zener-diode Fusing Enhanced Bandpass

Flash Microcontrollers. Application Note. Using the STK500 as an AT89C51Rx2 Target Board

Using the STK500 as an AT89C51Rx2 Target Board Features Use of STK 500 as a Development Board for 80C51 Microcontrollers Supports AT89C51Rx2, T89C51AC2, T89C51CC01, and Similar Devices Uses an Additional

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

AVR442: PC Fan Control using ATtiny13 Features Variable speed based on: - Temperature sensor (NTC). - External PWM input. Stall detection with alarm output. Implementation in C code to ease modification.

C51 General Information about Bootloader and In System Programming Overview This document describes the Atmel Bootloaders for 8051 family processors. Abreviations ISP: In-System Programming API : Applications

AVR512: Migration from ATmega48/88/168 to ATmega48P/88P/168P. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR512: Migration from ATmega48/88/168 to ATmega48P/88P/168P Features General Porting Considerations Register and bit names Low-frequency Crystal / Timer/Counter Oscillator 1 Introduction This application

AT84AD001B and ATmega128L AVR. Application Note. Using Atmel s AT84AD001B Dual 8-bit 1 Gsps ADC with Atmel s ATmega128L AVR.

Using Atmel s ATAD00B Dual -bit Gsps ADC with Atmel s ATmegaL AVR Introduction With its "smart" feature (-wire serial interface), Atmel s ATAD00B dual -bit Gsps ADC provides you with digital control over

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

AVR241: Direct driving of LCD display using general IO Features Software driver for displays with one common line Suitable for parts without on-chip hardware for LCD driving Control up to 15 segments using

DataFlash. Application Note. CASON Package Pad Landing Recommendations. Introduction

CASON Package Pad Landing Recommendations Introduction This application note provides PCB designers with a set of guidelines for successful board mounting of Atmel s DataFlash memories housed in the Chip

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

AVR120: Characterization and Calibration of the ADC on an AVR Features Understanding Analog to Digital Converter (ADC) characteristics Measuring parameters describing ADC characteristics Temperature, frequency

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

AVR105: Power Efficient High Endurance Parameter Storage in Flash Memory Features Fast Storage of Parameters High Endurance Flash Storage 350K Write Cycles Power Efficient Parameter Storage Arbitrary Size

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

User Notes 1. Description The CAN bootloader SAM-BA Boot4CAN allows the user to program the different memories and registers of any Atmel AT91SAM product that includes a CAN without removing them from

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

Features Three Selectable Outputs All Outputs Can Be Used Either for Standard (5V) or High Voltage (9V) Maximum Output Current at All Outputs Up to 150 ma On-chip Low-EMI RF Oscillator With Spread-spectrum

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

AVR120: Characterization and Calibration of the ADC on an AVR Features Understanding Analog to Digital Converter (ADC) characteristics Measuring parameters describing ADC characteristics Temperature, frequency

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

AVR32110: Using the AVR32 Timer/Counter Features Three independent 16 bit Timer/Counter Channels Multiple uses: - Waveform generation - Analysis and measurement support: Frequency and interval measurements

Hexadecimal Notation. Least Significant Bit. Most Significant Bit. Analog-to-Digital. Digital-to-Analog. Sampling and Hold. Differential Non Linearity

Analog-to-digital Converter in the AT91M55800A Introduction Analog-to-digital converters translate analog measurements, characteristic of most phenomena in the real world, to digital format, used in information

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

AVR155: Accessing an I 2 C LCD Display using the AVR 2-wire Serial Interface Features Compatible with Philips' I 2 C protocol 2-wire Serial Interface Master Driver for Easy Transmit and Receive Function

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

Features USB 2.0 Full Speed Host/Function Processor Real-time Host/Function Switching Capability Internal USB and System Interface Controllers 32-bit Generic System Processor Interface with DMA Separate

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

AVR32100: Using the AVR32 USART Features Supports character length from 5 to 9 bits Interrupt Generation Parity, Framing and Overrun Error Detection Programmable Baud Rate Generator Line Break Generation

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

AVR410: RC5 IR Remote Control Receiver Features Low-cost Compact Design, Only One External Component Requires Only One Controller Pin, Any AVR Device Can be Used Size-efficient Code Introduction Most audio

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

AVR461: Quick Start Guide for the Embedded Internet Toolkit Introduction Congratulations with your AVR Embedded Internet Toolkit. This Quick-start Guide gives an introduction to using the AVR Embedded

Application Note. Migrating from RS-232 to USB Bridge Specification USB Microcontrollers. Doc Control. References. Abbreviations

Migrating from RS-232 to USB Bridge Specification USB Microcontrollers Doc Control Rev Purpose of Modifications Date 0.0 Creation date 24 Nov 2003 Application Note 1.0 updates 22 Dec 2003 References Universal

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

AVR091: Replacing AT90S2313 by ATtiny2313 Features AT90S2313 Errata Corrected in ATtiny2313 Changes to Bit and Register Names Changes to Interrupt Vector Oscillators and Selecting Start-up Delays Improvements

Two-wire Automotive Temperature Serial EEPROM

Features Standard-voltage Operation 2.7 (V CC = 2.7V to 5.5V) Automotive Temperature Range 40 C to125 C Internally Organized 128 x 8 (1K), 256 x 8 (2K), 512 x 8 (4K), 1024 x 8 (8K) or 2048 x 8 (16K) Two-wire

2-wire Serial EEPROM AT24C1024. Advance Information

Features Low-voltage Operation 2.7(V CC =2.7Vto5.5V) Internally Organized 3,072 x 8 2-wire Serial Interface Schmitt Triggers, Filtered Inputs for Noise Suppression Bi-directional Data Transfer Protocol

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

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,

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

AVR360: Step Motor Controller Features High-Speed Step Motor Controller Interrupt Driven Compact Code (Only 10 Bytes Interrupt Routine) Very High Speed Low Computing Requirement Supports all AVR Devices

2-Wire Serial EEPROM AT24C32 AT24C64. 2-Wire, 32K Serial E 2 PROM. Features. Description. Pin Configurations. 32K (4096 x 8) 64K (8192 x 8)

Features Low-Voltage and Standard-Voltage Operation 2.7 (V CC = 2.7V to 5.5V) 1.8 (V CC = 1.8V to 5.5V) Low-Power Devices (I SB = 2 µa at 5.5V) Available Internally Organized 4096 x 8, 8192 x 8 2-Wire

AVR444: Sensorless control of 3-phase brushless DC motors. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR444: Sensorless control of 3-phase brushless DC motors Features Robust sensorless commutation control. External speed reference. Overcurrent detection/protection. Basic speed controller included. Full

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

Features Medium-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) Internally Organized 128 x 8 (1K), 256 x 8 (2K), 512 x 8 (4K), 1024 x 8 (8K) or 2048 x 8 (16K)

USB Test Environment ATUSBTEST- SS7400. Summary

Features Simple Command-driven Host Model Comprehensive Reports by Monitor Protocol Validation by Monitor Comprehensive Test Suite Fully Compliant with USB Forum Checklist Generates and Monitors Packets

Application Note. 8-bit Microcontrollers. AVR307: Half Duplex UART Using the USI Module

AVR307: Half Duplex UART Using the USI Module Features Half Duplex UART Communication Communication Speed Up To 230.4 kbps at 14.75MHz Interrupt Controlled Communication Eight Bit Data, One Stop-bit, No

8-bit Microcontroller. Application Note. AVR180: External Brown-out Protection

AVR180: External Brown-out Protection Features Low-voltage Detector Prevent Register and EEPROM Corruption Two Discrete Solutions Integrated IC Solution Extreme Low-cost Solution Extreme Low-power Solution

main program and assembly modules to control time critical I/O functions. Introduction

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR Features Passing Variables between C and Assembly Code Functions Calling Assembly Code Functions from C Calling C Functions from Assembly

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

AVR032: Linker Command Files for the IAR ICCA90 Compiler Features XLINK Commands Segment Explanation and Location Linker File Examples for: AT90S2313 AT90S8515 AT90S8515 with External RAM and Memory Mapped

16K (2K x 8) Parallel EEPROMs

Features Fast Read Access Time - 150 ns Fast Byte Write - 200 µs or 1 ms Self-Timed Byte Write Cycle Internal Address and Data Latches Internal Control Timer Automatic Clear Before Write Direct Microprocessor

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

AVR033: Getting Started with the CodeVisionAVR C Compiler Features Installing and Configuring CodeVisionAVR to Work with the Atmel STK 500 Starter Kit and AVR Studio Debugger Creating a New Project Using

AVR1001: Getting Started With the XMEGA Event System. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1001: Getting Started With the XMEGA Event System Features Flexible routing of peripheral events - 8 configurable event channels - Signal filtering Ability to control peripherals independent of CPU

AVR351: Runtime calibration and compensation of RC oscillators. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR351: Runtime calibration and compensation of oscillators Features Use of the Oscillator Sampling Interface in calibration. Slow oscillator frequency prediction. Ultra Low Power oscillator frequency

AVR053: Calibration of the internal RC oscillator. 8-bit Microcontrollers. Application Note. Preliminary. Features. Introduction

AVR053: Calibration of the internal RC oscillator Features Calibration using STK500, AVRISP, or JTAGICE Calibration using 3 rd party programmers Adjustable RC frequency with +/-1% accuracy Tune RC oscillator

8-bit RISC Microcontroller. Application Note. AVR335: Digital Sound Recorder with AVR and DataFlash

AVR5: Digital Sound Recorder with AVR and DataFlash Features Digital Voice Recorder 8-bit Sound Recording 8 khz Sampling Rate Sound Frequency up to 4000 Hz Maximum Recording Time 4 /4 Minutes Very Small

Two-wire Serial EEPROM AT24C1024 (1)

Features Low-voltage Operation 2.7 (V CC = 2.7V to 5.5V) Internally Organized 131,072 x 8 Two-wire Serial Interface Schmitt Triggers, Filtered Inputs for Noise Suppression Bidirectional Data Transfer Protocol

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

USB Mass Storage Device Implementation References Universal Serial Bus Specification, revision 2.0 Universal Serial Bus Class Definition for Communication Devices, version 1.1 USB Mass Storage Overview,

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

AVR1318: Using the XMEGA built-in AES accelerator Features Full compliance with AES (FIPS Publication 197, 2002) - Both encryption and decryption procedures 128-bit Key and State memory XOR load option

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

ATF15xx Product Family Conversion Introduction Table 1. Atmel s ATF15xx Family The ATF15xx Complex Programmable Logic Device (CPLD) product family offers high-density and high-performance devices. Atmel

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

Features Fast Read Access Time 70 ns 5-volt Only Reprogramming Sector Program Operation Single Cycle Reprogram (Erase and Program) 1024 Sectors (256 Bytes/Sector) Internal Address and Data Latches for

Application Note. 8-bit Microcontrollers. AVR280: USB Host CDC Demonstration. 1. Introduction

AVR280: USB Host CDC Demonstration 1. Introduction The RS232 interface has disappeared from the new generation of PCs replaced by the USB interface. To follow this change, applications based on UART interface

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

AVR1309: Using the XMEGA SPI Features Introduction to SPI and the XMEGA SPI module Setup and use of the XMEGA SPI module Implementation of module drivers Polled master Interrupt controlled master Polled

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

AVR353: Voltage Reference Calibration and Voltage ADC Usage Features Voltage reference calibration. - 1.100V +/-1mV (typical) and < 90ppm/ C drift from 10 C to +70 C. Interrupt controlled voltage ADC sampling.

32-megabit 2.7-volt Only DataFlash AT45DB321B. Features. Description. Pin Configurations

Features Single 2.7V - 3.6V Supply Serial Peripheral Interface (SPI) Compatible 20 MHz Max Clock Frequency Page Program Operation Single Cycle Reprogram (Erase and Program) 8192 Pages (528 Bytes/Page)

AT89LP In-System Programming. Application Note. AT89LP In-System Programming Specification. 1. Overview. 2. The Programming Interface

AT89LP In-System Programming Specification 1. Overview The Atmel AT89LP microcontrollers feature 2K bytes to 64K bytes of on-chip Flash program memory. Some devices may also support Flash data memory.

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

AVR32701: AVR32AP7 USB Performance Features Linux USB bulk transfer performance ATSTK1000 (32-bit SDRAM bus width) ATNGW100 (16-bit SDRAM bus width) GadgetFS driver and gadgetfs-test application USB performance

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

AVR282: USB Firmware Upgrade for AT90USB Features Supported by Atmel FLIP program on all Microsoft O/S from Windows 98SE and later FLIP 3.2.1 or greater supports Linux Default on chip USB bootloader In-System

STK 500, AVRISP, AVRISP

AVR053: Calibration of the internal RC oscillator Features Calibration using STK 500, AVRISP, AVRISP mkii, JTAGICE or JTAGICE mkii Calibration using 3 rd party programmers Adjustable RC frequency with

AVR447: Sinusoidal driving of three-phase permanent magnet motor using ATmega48/88/168. 8-bit Microcontrollers. Application Note.

AVR447: Sinusoidal driving of three-phase permanent magnet motor using ATmega48/88/168 Features Three-phase sine waves - 192 steps per electrical revolution - 8-bit amplitude resolution Software dead-time

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

Using CryptoMemory in Full I 2 C Compliant Mode 1. Introduction This application note describes how to communicate with CryptoMemory devices in full I 2 C compliant mode. Full I 2 C compliance permits

Two-wire Serial EEPROM with Permanent Software Write Protect AT34C02

Features Permanent Software Write Protection for the First-half of the Array Software Procedure to Verify Write Protect Status Hardware Write Protection for the Entire Array Low-voltage Operation 1.8 (V

2-wire Serial EEPROM AT24C512

Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V). (V CC =.V to 5.5V). (V CC =.V to.v) Internally Organized 5,5 x -wire Serial Interface Schmitt Triggers, Filtered Inputs for

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

AVR1510: Xplain training - XMEGA USART Prerequisites Required knowledge AVR1500: Xplain training XMEGA Basics AVR1502: Xplain training XMEGA Direct Memory Access Controller Software prerequisites Atmel

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

AVR068: STK500 Communication Protocol Features Interfaces both STK500 and AVRISP Supports STK500 FW 2.XX 1 Introduction This document describes the 2.0 version of the communication protocol between the

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

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series 1 Introduction This application note outlines the steps necessary to optimize analog to digital conversions on AT32UC3A0/1,

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

AVR1301: Using the XMEGA DAC Features 12 bit resolution Up to 1 M conversions per second Continuous drive or sample-and-hold output Built-in offset and gain calibration High drive capabilities Driver source

AVR1900: Getting started with ATxmega128A1 on STK600. 8-bit Microcontrollers. Application Note. 1 Introduction

AVR1900: Getting started with ATxmega128A1 on STK600 1 Introduction This document contains information about how to get started with the ATxmega128A1 on STK 600. The first three sections contain information

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

AVR1600: Using the XMEGA Quadrature Decoder Features Quadrature Decoders 16-bit angular resolution Rotation speed and acceleration 1 Introduction Quadrature encoders are used to determine the position

Application Note. 8-bit Microcontrollers. AVR435: BLDC/BLAC Motor Control Using a Sinus Modulated PWM Algorithm. 1. Features. 2.

AVR45: BLDC/BLAC Motor Control Using a Sinus Modulated PWM Algorithm 1. Features Cost-effective and energy efficient BLDC/BLAC motor drive Implemented on an AT9PWM AVR low cost microcontroller Low memory

AT86RF230 (2450 MHz band) Radio Transceiver... User Guide

ATAVRRZ200 Demonstration Kit AT86RF230 (2450 MHz band) Radio Transceiver... User Guide Section 1 1.1 Organization...1-1 1.2 General Description...1-1 1.3 Demonstration kit features...1-2 1.4 Included

AVR922: Add a Serial Number to your USB Device. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR922: Add a Serial Number to your USB Device Features 20 characters Serial Number Unique ID for your device Enabled/Disabled by software 1 Introduction Adding to the VID (Vendor ID) and the PID (Product

AVR441: Intelligent BLDC Fan Controller with Temperature Sensor and Serial Interface. 8-bit Microcontrollers. Application Note.

AVR441: Intelligent BLDC Fan Controller with Temperature Sensor and Serial Interface Features Application Example for Controlling Brushless DC Motors - Ideal for Use as an Integrated Fan Controller Automatically

All-band AM/FM Receiver and Audio Amplifier IC U2510B

Features Superior Strong Signal Behavior by Using an RF AGC Soft Mute and HCC for Decreasing Interstation Noise in Mode Level Indicator (LED Drive) for and DC Mode Control:, and Tape Wide Supply-voltage

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

AVR055: Using a 32kHz XTAL for run-time calibration of the internal RC Features Calibration using a 32 khz external crystal Adjustable RC frequency with maximum +/-2% accuracy Tune RC oscillator at any

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

AVR270: USB Mouse Demonstration Features Runs with AT90USB Microcontrollers at 8MHz USB Low Power Bus Powered Device (less then 100mA) Supported by any PC running Windows (98SE or later), Linux or Mac

AVR318: Dallas 1-Wire master. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR318: Dallas 1-Wire master Features Supports standard speed Dallas 1-Wire protocol. Compatible with all AVRs. Polled or interrupt-driven implementation. Polled implementation requires no external hardware.

AVR1300: Using the XMEGA ADC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR100: Using the XMEGA ADC Features Up to 12 bit resolution Up to 2M samples per second Signed and unsigned mode Selectable gain Pipelined architecture 4 virtual channels Result comparator Automatic calibration