pdf software description - avr freaks › sites › default › files › applic… · web...

26
ATA6824 and ATmega88 (13 pages, revision A, updated 8/07) DC Motor Control in High Temperature Environment AVR077: Opto Isolated Emulation for the DebugWIRE (9 pages, revision A, updated 1/08) This application note describes how to implement an optoisolated interface for the DebugWIRE. This device could help the debug of applications with non isolated power supply like ballast, motors, vacuum cleaners, refridgerators, etc. AVR137: Writing Software Compatible for AT90PWM2/3 and AT90PWM2B/3B (3 pages, revision A, updated 10/06) Two revisions of AT90PWM2/3 are available. Versions AT90PWM2B and AT90PWM3B are the evolutions of the AT90PWM2 and AT90PWM3. This application note lists the main corrections and differences between the two designs, and showsan example of software that allows to detect which version is currently programmed. AVR191: Anti-Pinch Algorithm for AVR Adaptation Procedure (10 pages, revision A, updated 11/06) The purpose of this document is to explain how to adapt an anti-pinch algorithm to a specified powered window. AVR275: Sensor-based Control of Three Phase Brushless DC Motors Using AT90USB family (10 pages, revision A, updated 09/06) This application note described the control of a BLDC motor with Hall effect position sensors (referred to simply as Hall sensors). The implementation includes both direction and open loop speed control. AVR276: USB Software Library for AT90USBxxx Microcontrollers (27 pages, revision A, updated 01/07) This document describes the AT90USBxxx USB software library and illustrate how to develop a USB device or reduced host applications using this library AVR277: On-The-Go (OTG) add-on to USB Software Library (15 pages, revision A, updated 07/07) This document describes the new features brought by the OTG working group and how they are integrated in the AT90USBxxx USB software library, illustrating how to develop customizable USB OTG applications. AVR280 USB Host CDC Demonstration (14 pages, revision A, updated 09/07) The aim of this document is to describe how to start and implement a Host CDC application using the STK525 or USBKEY starter kit, and finally introduces a simple example of dual USB-UART bridge between two PCs. Fully Integrated BLDC Motor Control from the Signal Generation to the Full BLDC Motor Control Chain The purpose of this document is to explain the theory and application of Atmel’s integrated BLDC driver solution.

Upload: others

Post on 27-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

ATA6824 and ATmega88(13 pages, revision A, updated 8/07)

DC Motor Control in High Temperature Environment

AVR077: Opto Isolated Emulation for the DebugWIRE

(9 pages, revision A, updated 1/08)

This application note describes how to implement an optoisolated interface for the DebugWIRE. This device could help the debug of applications with non isolated power supply like ballast, motors,

vacuum cleaners, refridgerators, etc.AVR137: Writing Software

Compatible for AT90PWM2/3 and AT90PWM2B/3B

(3 pages, revision A, updated 10/06)

Two revisions of AT90PWM2/3 are available. Versions AT90PWM2B and AT90PWM3B are the evolutions of the

AT90PWM2 and AT90PWM3. This application note lists the main corrections and differences between the two designs, and showsan

example of software that allows to detect which version is currently programmed.

AVR191: Anti-Pinch Algorithm for AVR Adaptation Procedure

(10 pages, revision A, updated 11/06)

The purpose of this document is to explain how to adapt an anti-pinch algorithm to a specified powered window.

AVR275: Sensor-based Control of Three Phase Brushless DC Motors

Using AT90USB family(10 pages, revision A, updated

09/06)

This application note described the control of a BLDC motor with Hall effect position sensors (referred to simply as Hall sensors). The

implementation includes both direction and open loop speed control.

AVR276: USB Software Library for AT90USBxxx Microcontrollers(27 pages, revision A, updated

01/07)

This document describes the AT90USBxxx USB software library and illustrate how to develop a USB device or reduced host

applications using this library

AVR277: On-The-Go(OTG) add-on to USB Software

Library(15 pages, revision A, updated

07/07)

This document describes the new features brought by the OTG working group and how they are integrated in the AT90USBxxx USB software library, illustrating how to develop customizable

USB OTG applications.

AVR280 USB Host CDC Demonstration

(14 pages, revision A, updated 09/07)

The aim of this document is to describe how to start and implement a Host CDC application using the STK525 or USBKEY starter kit, and finally introduces a simple example of dual USB-UART bridge

between two PCs.Fully Integrated BLDC Motor

Control from the Signal Generation to the Full BLDC Motor Control

Chain(17 pages, revision A, updated 3/07)

The purpose of this document is to explain the theory and application of Atmel’s integrated BLDC driver solution.

USB PC Drivers Based on Generic HID Class

(6 pages, revision A, updated 04/06)

This document gives information on integrating the Atmel USB HID DLL functions. Simple code examples that demonstrate

different types of implementation are given.AVR181: Automotive Grade0 -

PCB and Assembly Recommendations

(8 pages, revision A, updated 09/07)

This paper is a collection of technical advice aiming at providing automotive electronic designers elements to manage high

temperature constraints when addressing the PCB development.

AVR282: USB Firmware Upgrade for AT90USB

(13 pages, revision A, updated 1/08)

The aim of this document is to describe how to perform the firmware upgrade of the AT90USB products using the on-chip

bootloader and FLIP software.AVR2015: RZRAVEN Quick Start

Guide(20 pages, revision A, updated

02/08)

This application note describes how to get started with the RZRAVEN kit. The RZRAVEN kit is built around three main components; the hardware itself, the firmware running on the

RZUSBSTICK and AVRRAVENs, and the AVR Wireless Services PC suite. This document describes how to install the AVR Wireless

PC Suite, use its different features and how to operate the AVRRAVENs accordingly.

Page 2: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

AVR2016: RZRAVEN Hardware User's Guide

(26 pages, revision C, updated 03/08)

The RZRAVEN is a development kit for the AT86RF230 radio transceiver and the AVR microcontroller. It serves as a versatile and professional platform for developing and debugging a wide range of

RF applications; spanning from: simple point-to-point communication through full blown sensor networks with numerous nodes running complex communication stacks. On top of this, the

kit provides a nice human interface, which spans from PC connectivity, through LCD and audio input and output.

AVR000: Register and Bit-Name Definitions for the AVR

Microcontroller(1 pages, revision B, updated 4/98)

This Application Note contains files which allow the user to use Register and Bit names from the databook when writing assembly

programs.

AVR001: Conditional Assembly and portability macros

(6 pages, revision D, updated 03/05)

This application note describes the Conditional Assembly feature present in the AVR Assembler version 1.74 and later. Examples of

how to use Conditional Assembly are included to illustrate the syntax and concept.

AVR030: Getting Started with IAR Embedded Workbench for Atmel

AVR(10 pages, revision D, updated

10/04)

The purpose of this application note is to guide new users through the initial settings of IAR Embedded Workbench, and compile a

simple C-program.

AVR031: Getting Started with ImageCraft C for AVR

(8 pages, revision B, updated 5/02)

The purpose of this Application Note is to guide new users through the initial settings of the ImageCraft IDE and compile a simple C

program.AVR032: Linker Command Files

for the IAR ICCA90 Compiler(11 pages, revision B, updated 5/02)

This Application Note describes how to make a linker command file for use with the IAR ICCA90 C-compiler for the AVR

Microcontroller.AVR033: Getting Started with the

CodeVisionAVR C Compiler(16 pages, revision B, updated 5/02)

The purpose of this Application Note is to guide the user through the preparation of an example C program using the

CodeVisionAVR C compiler. The example is a simple program for the Atmel AT90S8515 microcontroller on the STK500 starter kit.

AVR034: Mixing C and Assembly Code with IAR Embedded

Workbench for AVR(8 pages, revision B, updated 4/03)

This Application Note describes how to use C to control the program flow and main program and assembly modules to control

time critical I/O functions.

AVR035: Efficient C Coding for AVR

(22 pages, revision D, updated 01/04)

This Application Note describes how to utilize the advantages of the AVR architecture and the development tools to achieve more

efficient c Code than for any other microcontroller.

AVR040: EMC Design Considerations

(18 pages, revision D, updated 06/06)

This Application Note covers the most common EMC problems designers encounter when using Microcontrollers.

AVR041: EMC Performances Improvement for ATmega32M1

(6 pages, revision A, updated 02/08)

Thanks to a new Atmel IC design methodology, the EMC constraints are taken into account earlier in the IC design phase.

This allows a better assessment of the EMC performances such as the self-compatibility of the IC, the level of the radiated and

conducted emissions as well as the internal and external immunity. The EMC performances of the Mega32M1 product are improved thanks to some design improvements detailed in this document.

AVR042: AVR Hardware Design Considerations

(14 pages, revision E, updated 06/06)

This Application Note covers the most common problems encountered when switching to a new microcontroller architecture like the AVR. Solutions and considerations for the most common

design challenges are covered.AVR053: Calibration of the internal

RC oscillatorThis application note describes a method to calibrate the internal

RC oscillator and targets all AVR devices with tunable RC

Page 3: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

(15 pages, revision G, updated 05/06)

oscillator. Furthermore, an easily adaptable calibration firmware source code is also offered. This allows device calibration using

AVR tools, and it can also be used for 3rd party calibration systems, based on production programmers.

AVR054: Run-time calibration of the internal RC oscillator

(17 pages, revision B, updated 02/06)

This application note describes how to calibrate the internal RC oscillator via the UART.

AVR055: Using a 32kHz XTAL for run-time calibration of the internal

RC(16 pages, revision C, updated

02/06)

This application note describes a fast and accurate way to calibrate the internal RC oscillator using an external 32.768 kHz crystal as

input to an asynchronous Timer/Counter.

AVR060: JTAG ICE Communication Protocol

(20 pages, revision B, updated 01/04)

This application note describes the communication protocol used between AVR Studio® and JTAG ICE.

AVR061: STK500 Communication Protocol

(31 pages, revision B, updated 4/03)

This document describes the protocol for the STK500 starterkit. This protocol is based on earlier protocols made for other AVR

tools and is fully compatible with them in that there should not be any overlapping or redefined commands.

AVR063: LCD Driver for the STK504

(13 pages, revision A, updated 04/06)

The STK504 is a hardware expansion board for STK500 that add support for 100 pin AVR LCD devices. This application note is an

example of how to use the ATmega3290 and the STK504.

AVR064: STK502 - A Temperature Monitoring System with LCD

Output(24 pages, revision C, updated

02/06)AVR065: LCD Driver for the STK502 and AVR Butterfly

(18 pages, revision C, updated 02/06)

In applications where user interaction is required it is often useful to be able to display information to the user. The ATmega169 is a MCU with integrated LCD driver. It can control up to 100 LCD segments. The ATmega169 is therefore, an obvious choice when designing applications that requires both an efficient MCU and an

LCD.AVR067: JTAGICE mkII Communication Protocol

(82 pages, revision C, updated 04/06)

This document describes the communication protocol used between AVR Studio and JTAGICE mkII.

AVR068: STK500 Communication Protocol

(37 pages, revision C, updated 06/06)

The document describes version 2.0 of the Atmel STK500 and the PC controlling the STK500 communication protocol. The firmware

is distributed with AVR Studio 4.11 build 401 or later.

AVR069: AVRISP mkII Communication Protocol

(24 pages, revision B, updated 02/06)

This document describes the AVRISP mkII protocol. The firmware is distributed with AVR Studio 4.12 or later.

AVR070: Modifying AT90ICEPRO and ATICE10 to Support Emulation

of AT90S8535(5 pages, revision C, updated 5/02)

Older AT90ICEPRO can be upgraded to support the new AVR devices with internal A/D converter. This Application Note

describes in detail how to modify the AT90ICEPRO to support emulation of AT90S8535 and other AVR devices with A/D

converter.AVR072: Accessing 16-bit I/O

Registers(4 pages, revision B, updated 5/02)

This Application Note shows how to read and write the 16-bit registers in the AVR Microcontrollers. Since the AVR has an 8-bit I/O bus these registers must be written in two execution cycles. It

Page 4: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

explains how to safely read and write these 16-bit registers.AVR073: Accessing 10- and 16-bit

registers in ATtiny261/461/861(6 pages, revision B, updated 1/08)

This application note explains how 10- and 16-bit accesses should be handled when using the ATtiny261/461/861 family of

microcontrollers. A complete set of C macros for accessing 10- and 16-bit. registers is also included with this application note.

AVR074: Upgrading AT90ICEPRO to ICE10

(8 pages, revision B, updated 5/02)

This Application Note describes how to upgrade the AT90ICEPRO emulator to ATICE10 Version 2.0

AVR100: Accessing the EEPROM(7 pages, revision C, updated 09/05)

This Application Note contains assembly routines for accessing the EEPROM for all AVR devices. Includes code for reading and

writing EEPROM addresses sequentially and at random addresses.AVR101: High Endurance

EEPROM Storage(5 pages, revision A, updated 9/02)

Having a system that regularly writes a parameter to the EEPROM can wear out the EEPROM, since it is only guaranteed to endure

100.000 erase/write cycles. This Application Note describes how to make safe high endurance parameter storage in EEPROM.

AVR102: Block Copy Routines(5 pages, revision B, updated 5/02)

This Application Note contains routines for transfer of data blocks.

AVR103: Using the EEPROM Programming Modes

(5 pages, revision A, updated 03/05)

This application note implements a driver utilizing the programming modes available for the EEPROM in some new AVR

parts, involving both time and power savings.AVR104: Buffered Interrupt Controlled EEPROM Writes

(9 pages, revision A, updated 07/03)

Many applications use the built-in EEPROM of the AVR to preserve and hence restore system information when power is

removed from the system. This application note presents a buffered interrupt driven approach, which significantly increases general performance and decreases power consumption compared to a

polling implementation.AVR105: Power efficient high endurance parameter storage in

Flash memory(10 pages, revision A, updated 9/03)

This application note describes how to implement a high endurance parameter storage method in Flash memory using the self-

programming feature of the AVR.

AVR106: C functions for reading and writing to Flash memory

(10 pages, revision B, updated 08/06)

Recent AVRs have a feature called Self programming Program memory. This feature makes it possible for an AVR to reprogram

the Flash memory during program run and is suitable for applications that need to self-update firmware or store parameters in Flash. This application note provides C functions for accessing the

Flash memory.AVR107: Interfacing AVR serial

memories(22 pages, revision A, updated

03/05)

This application note describes the functionality and the architecture of SPI serial memories drivers as well as the motivation

of the selected solution.

AVR108: Setup and use of the LPM Instructions

(4 pages, revision B, updated 5/02)

This Application Note describes how to access constants saved in Flash program memory of the AVR microcontrollers

AVR109: Self Programming(11 pages, revision B, updated

06/04)

This Application note describes how an AVR with the SPM instruction can be configured for Self Programming.

AVR120: Characterization and Calibration of the ADC on an AVR

(15 pages, revision D, updated 02/06)

This application note explains various ADC (Analog to Digital Converter) characterization parameters and how they effect ADC measurements. It also describes how to measure these parameters during application testing in production and how to perform run-

time compensation.AVR121: Enhancing ADC resolution by oversampling

(14 pages, revision A, updated 09/05)

This Application Note explains the method called "Oversampling and Decimation" and which conditions need to be fulfilled to make this method work properly to get achieve higher resolution without

using an external ADC.AVR122: Calibration of the AVR's This application note describes how to calibrate and compensate the

Page 5: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

internal temperature reference(14 pages, revision A, updated 2/08)

temperature measurements from the ATtiny25/45/85. It can also be used on other AVR® microcontrollers with internal temperature

sensors.AVR128: Setup and use the Analog

Comparator(4 pages, revision B, updated 5/02)

This Application Note serves as an example on how to set up and use the AVR's on-chip Analog Comparator.

AVR130: Setup and use the AVR Timers

(16 pages, revision A, updated 2/02)

This Application Note describes how to use the different timers of the AVR. The AT90S8535 is used as an example. The intention of

this document is to give a general overview of the timers, show their possibilities and explain how to configure them. The code examples will make this clearer and can be used as guidance for

other applications.AVR131: Using the AVR’s High-

speed PWM(8 pages, revision A, updated 09/03)

This application note is an introduction to the use of the high-speed Pulse Width Modulator (PWM) available in some AVR

microcontrollers. The assembly code example provided shows how to use the fast PWM in the ATtiny26. The ATtiny15 also features a

high-speed PWM timer.AVR132: Using the Enhanced

Watchdog Timer(15 pages, revision B, updated

01/04)

This Application Note describes how to utilize the Enhanced Watchdog Timer (WDT) used on new AVR devices. In addition to

performing System Reset, the WDT now also has the ability to generate an interrupt.

AVR133: Long Delay Generation Using the AVR Microcontroller

(8 pages, revision B, updated 01/04)

The solution presented here shows how the AVR AT90 series microcontrollers generate and handle long delays. On-chip timers are used without any software intervention, thus allowing the core to be in a low-power mode during the delay. Since the timers are

clocked by the system clock, there is no need for additional components.

AVR134: Real-Time Clock using the Asynchronous Timer

(9 pages, revision F, updated 08/06)

This Application Note describes how to implement a real-time (RTC) on AVR microcontrollers that features the RTC module.

AVR135: Using Timer Capture to Measure PWM Duty Cycle

(12 pages, revision A, updated 10/05)

This application note describes how the pulse width and period may be computed using the Input Capture Unit (ICP).

AVR136: Low-jitter Multi-channel Software PWM

(5 pages, revision A, updated 05/06)

This application note shows how an multi-channel software pulse-width modulation can be implemented. The implementation uses an 8-bit timer with overflow interrupt to generate 10 PWM channels

with very low jitter.AVR138: ATmega32M1 family

PSC Cookbook(17 pages, revision A, updated

03/08)

This application note is an introduction to the use of the Power Stage Controller (PSC) available in ATmega32M1 family. The

object of this document is to give a general overview of the PSC, show its various modes of operation and explain how to configure

them.AVR140: ATmega48/88/168 family run-time calibration of the Internal

RC oscillator(12 pages, revision A, updated

09/06)

This application note describes how to calibrate the internal RC oscillator via the UART. The method used is based on the

calibration method used in the Local Inteconnect Network (LIN) protocol, synchronizing a slave node to a master node at the

beginning of every message frame.AVR151: Setup and use of the SPI

(14 pages, revision B, updated 09/05)

This application note describes how to setup and use the on-chip Serial Peripheral Interface (SPI) of the AVR microcontrollers.

AVR155: Accessing I2C LCD Display Using the AVR 2-Wire

Serial Interface(10 pages, revision B, updated

09/05)

This application note includes a 2-wire/TWI driver for bus handling and describes how to access a Philips I2C LCD driver on a Batron

LCD display.

Page 6: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

AVR180: External Brown-Out Protection

(16 pages, revision B, updated 5/02)

This Application Note shows in detail how to prevent system malfunction during periods of insufficient power supply voltage.

AVR182: Zero Cross Detector(8 pages, revision B, updated 01/04)

This Application Note describes how to implement an efficient zero cross detector for mains power lines using an AVR microcontroller.

AVR200: Multiply and Divide Routines

(21 pages, revision C, updated 05/06)

This Application Note lists subroutines for multiplication and division of 8 and 16-bit signed and unsigned numbers.

AVR2001: AT86RF230 Software Programmer's Guide

(62 pages, revision A, updated 07/07)

This document goes into greater depth than the datasheet when it comes to correct configuration and usage of the features that the

radio transceiver provides.

AVR2005: Design Considerations for the AT86RF230

(9 pages, revision A, updated 08/07)

The ATAVRRZ502 is designed for evaluation of the Atmel AT86RF230 2.4 GHz radio transceiver. This application note

describes the design and layout of the so-called “Radio Extender Board” (REB) that are provided with the ATAVRRZ502.

AVR2006: Design and characterization of the Radio

Controller Boards 2.4GHz PCB Antenna

(9 pages, revision A, updated 08/07)

This application note describes the PCB antenna used on the Radio Controller Board as a part of the ATAVRRZ200. This kit is

designed for the evaluation of the Atmel® AT86RF230 2.45 GHz radio transceiver.

AVR2007: IEEE802.15.4 MAC power consumptions for

AT86RF230 and ATmega1281(14 pages, revision A, updated

09/07)

This Application Note describes two ways of estimating the current consumption of the AT86RF230 radio and the ATmega1281

microcontroller as a transceiver system for the IEEE802.15.4™ standard.

AVR2009: AT86RF230 – Software Programming Model

(4 pages, revision A, updated 08/07)

The AT86RF230 Software Programming Model (SWPM) shall provide a reference for developers utilizing the radio transceiver

AT86RF230 as effective as possible.AVR201: Using the AVR Hardware

Multiplier(11 pages, revision C, updated 6/02)

Examples of using the multiplier for 8-bit arithmetic.

AVR202: 16-Bit Arithmetics(3 pages, revision B, updated 5/02)

This Application Note lists program examples for arithmetic operation on 16-bit values.

AVR204: BCD Arithmetics(14 pages, revision B, updated

01/03)

This Application Note lists routines for BCD arithmetics.

AVR220: Bubble Sort(5 pages, revision B, updated 5/02)

This Application Note implements the Bubble Sort algorithm on the AVR controllers.

AVR221: Discrete PID controller(10 pages, revision A, updated

05/06)

This application note describes a simple implementation of a discrete Proportional-Integral-Derivative (PID) controller.

AVR222: 8-Point Moving Average Filter

(5 pages, revision B, updated 5/02)

This Application Note gives an demonstration of how the addressing modes in the AVR architecture can be utlized.

AVR223: Digital Filters with AVR(24 pages, revision A, updated 9/02)

This document focuses on the use of the AVR hardware multiplier, the use of the general purpose registers for accumulator

functionality, how to scale coefficients when implementing algorithms on fixed point architectures, the actual implementation

examples and finally, possible ways to optimize/modify the implementations suggested.

AVR230: DES Bootloader(24 pages, revision D, updated

04/05)

This application note describes how firmware can be updated securely on AVR microcontrollers with bootloader capabilities. The

method includes using the Data Encryption Standard (DES) to encrypt the firmware. This application note also supports the Triple

Page 7: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

Data Encryption Standard (3DES).AVR231: AES Bootloader

(29 pages, revision D, updated 08/06)

This application note describes how firmware can be updated securely on AVR microcontrollers with bootloader capabilities. The method uses the Advanced Encryption Standard (AES) to encrypt

the firmware.AVR236: CRC check of Program

Memory(9 pages, revision B, updated 5/02)

The Application Note describes CRC (Cyclic Redundancy Check) theory and implementation of CRC checking of program memory

for secure applications.AVR240: 4x4 Keypad-Wake Up on

Keypress(14 pages, revision D, updated

06/06)

This Application Note describes a simple interface to a 4 x 4 keypad designed for low power battery operation.

AVR241: Direct driving of LCD display using general I/O

(11 pages, revision A, updated 04/04)

This application note describes software driving of LCDs with one common line, using the static driving method.

AVR242: 8-bit Microcontroller Multiplexing LED Drive & a 4x4

Keypad.(26 pages, revision B, updated 5/02)

This Application Note describes a comprehensive system providing a 4 x 4 keypad as input into a real time clock/timer with two

outputs.

AVR243: Matrix Keyboard Decoder(11 pages, revision A, updated

01/03)

This application note describes a software driver interfacing an 8x8 keyboard. The application is designed for low power battery

operation. The application also supports user-defined alternation keys to implement Caps Lock, Ctrl-, Shift- and Alt-like

functionality.AVR244: UART as ANSI Terminal

Interface(8 pages, revision A, updated 11/03)

This application note describes some basic routines to interface the AVR to a terminal window using the UART (hardware or

software).AVR245: Code Lock with 4x4

Keypad and I2C™ LCD(9 pages, revision A, updated 10/05)

This application note describes how to build a code lock with an AVR and a handful of components. The code lock uses a 4x4

keypad for user input, a piezoelectric buzzer for audible feedback and an LCD for informational output.

AVR270: USB Mouse Demonstration

(19 pages, revision A, updated 2/06)

This document describes a simple mouse project. It allows users to quickly test USB hardware using AT90USB without any driver

installation.AVR271: USB Keyboard

Demonstration(20 pages, revision A, updated 1/06)

The aim of this document is to describe how to start and implement a USB keyboard application using the STK525 starter kit and FLIP in-system programming software for AT90USB microcontrollers.

AVR272: USB CDC Demonstration UART to USB Bridge

(20 pages, revision A, updated 03/06)

The aim of this document is to describe how to start and implement a CDC (Virtual Com Port and UART to USB bridge) application using the STK525 starter kit and FLIP in-system programming

software for AT90USB microcontrollers.AVR273: USB Mass Storage

Implementation(23 pages, revision A, updated

03/06)

The aim of this document is to describe how to start and implement a USB application based on the Mass Storage (Bulk only) class to

transfer data between a PC and user equipment. For AT90USB microcontrollers.

AVR274: Single-wire Software UART

(14 pages, revision A, updated 03/07)

This application note describes a software implementation of a single wire UART. The protocol supports half duplex

communication between two devices. The only requirement is an I/O port supporting external interrupt and a timer compare interrupt.

AVR286: LIN Firmware Base for LIN/UART Controller

(19 pages, revision A, updated 03/08)

AVR301: C Code for Interfacing AVR® to AT17CXXX FPGA

This Application Note describes how to In-System-Program (ISP) and Atmel FPGA Configuration Memory using an Atmel AVR

Page 8: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

Configuration Memories(20 pages, revision D, updated

01/04)

MCU and how to bit bang TWI using port pins on an AT90S8515 AVR MCU

AVR303: SPI-UART Gateway(5 pages, revision A, updated 03/05)

The SPI-UART Gateway application runs on the ATmega8 and allows the developer to test and debug an SPI slave application

isolated from the master, using manually controlled communications via a suitable RS232 terminal.

AVR304: Half Duplex Interrupt Driven Software UART

(11 pages, revision A, updated 8/97)

This Application Note describes how to make a half duplex UART on any AVR device using the 8-bit Timer/Counter0 and an external

interrupt.AVR305: Half Duplex Compact

Software UART(9 pages, revision C, updated 09/05)

This Application Note describes how to implement a polled software UART capable of handling speeds up to 614,400 bps on an

AT90S1200.AVR306: Using the AVR UART in

C(3 pages, revision B, updated 7/02)

This Application Note describes how to set up and use the UART present in most AVR devices. C code examples are included for

polled and interrupt controlled UART applicationsAVR307: Half Duplex UART Using

the USI Module(18 pages, revision A, updated

10/03)

The Universal Serial Interface (USI) present in AVR devices like the ATtiny26, ATtiny2313, and ATmega169, is a communication

module designed for TWI and SPI communication. The USI is however not restricted to these two serial communication standards.

It can be used for UART communication as well.AVR308: Software LIN Slave

(12 pages, revision B, updated 5/02)This Application Note shows how to implement a LIN (Local

Interconnect Network) slave task in an 8-bit RISC AVR microcontroller without the need for any external components.

AVR309: Software Universal Serial Bus

(USB)(23 pages, revision B, updated

02/06)

This application note describes the USB implementation in a low-cost microcontroller through emulation of the USB protocol in the

firmware. Supports Low Speed USB (1.5 Mbit/s) in accordance with USB2.0.

AVR310: Using the USI module as a I2C master

(8 pages, revision B, updated 09/04)

This Application Note describes how to use the USI for TWI master communication.

AVR311: Using the TWI module as I2C slave

(12 pages, revision D, updated 10/04)

This application note describes a TWI slave implementation, in form of a fullfeatured driver and an example of usage for this

driver.

AVR312: Using the USI module as a I2C slave

(9 pages, revision C, updated 09/05)

This Application Note describes how to use the USI for TWI slave communication.

AVR313: Interfacing the PCAT Keyboard

(13 pages, revision B, updated 5/02)

Most microcontrollers requires some kind of human interface. This Application Note describes one way of doing this using a standard

PC AT Keyboard.AVR314: DTMF Generator

(8 pages, revision B, updated 5/02)This Application Note describes how DTMF (Dual-Tone Multiple

Frequencies) signaling can be implemented using any AVR microcontroller with PWM and SRAM.

AVR315: Using the TWI module as I2C master

(11 pages, revision B, updated 09/04)

This Application Note describes a TWI master implementation, in form of a fullfeatured driver and an example of usage for this

driver.

AVR316: SMBus Slave Using the TWI Module

(20 pages, revision A, updated 10/05)

This application note provides background information on the SMBus specification and the AVR TWI module, an interrupt-driven

SMBus slave driver and a sample implementation.

AVR317: Using the USART on the ATmega48/88/168 as a SPI master

(10 pages, revision A, updated

Some applications might need more than one SPI module. This can be achieved using the new Master SPI Mode of the

ATmega48/88/168 USART.

Page 9: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

09/04)AVR318: Dallas 1-Wire® master

(21 pages, revision A, updated 09/04)

This application note shows how a 1-Wire master can be implemented on an AVR, either in software only, or utilizing the

U(S)ART module.AVR319: Using the USI module for

SPI communication(8 pages, revision A, updated 09/04)

This application note describes a SPI interface implementation, in form of a fullfeatured driver and an example of usage for this

driver.AVR320: Software SPI Master

(5 pages, revision C, updated 09/05)The Synchronous Peripheral Interface (SPI) is gaining rapidly in

popularity, allowing faster communication than I2C. For the smaller AVR Microcontrollers, which do not have hardware SPI, this

Application Note describes a set of low-level routines for software implementation. These can be used as the basis for communicating with Atmel's 25xxx family of Serial EEPROM memories, as well as

a host for other peripheral ICs such as display drivers.AVR322: LIN Protocol

Implementation on Atmel AVR Microcontrollers

(21 pages, revision A, updated 12/05)

The LIN protocol is introduced in this application note, along with its implementation on Atmel Automotive AVR microcontrollers.

AVR323: Interfacing GSM modems(21 pages, revision A, updated

02/06)

This application note describes how to use an AVR to control a GSM modem in a cellular phone. The interface between modem

and host is a textual protocol called Hayes AT-Commands.AVR325: High-Speed Interface to

Host EPP Parallel Port(7 pages, revision A, updated 2/02)

This Application Note describes a method for high-speed bidirectional data transfer between an AVR Microcontroller and an

of-the-shelf IBM (R) PC-compatible desktop computer. The interface provides an 8-bit parallel data path, yeilding data transfer rates up to 60 kilobytes/second with an AVR processor operating at 4 MHz. This is an order of magnitude faster than a standard RS-232 connection while not requiring complex external interface hardware

(like USB or SCSI).AVR328: USB Generic HID

Implementation(20 pages, revision A, updated

01/06)

The aim of this document is to describe how to start and implement a USB application, based on the HID class, to transfer data between

a PC and user equipment, using AT90USB microcontrollers.

AVR335: Digital Sound Recorder with AVR and DataFlash

(20 pages, revision C, updated 04/05)

This Application Note describes how to record, store and play back sound using any AVR MCU with A/D converter, the AT45DB161

DataFlash memory and a few extra components.

AVR336: ADPCM Decoder(20 pages, revision A, updated

11/04)

This application note focuses on decoding the ADPCM signal, Adaptive Differential Pulse Code Modulation, and turning it to a

signal suitable for loudspeakers.AVR340: Direct Driving of LCD

Using General Purpose IO(15 pages, revision A, updated

09/07)

This application note describes the operation of a Multiplexed LCD. Also discussed are electrical waveforms and connections needed by a LCD, as well as a C-program to operate the LCD. The result is an

excellent low cost combination and a starting point for many products.

AVR341: Four and five-wire Touch screen Controller

(19 pages, revision A, updated 07/07)

Resistive 4- and 5-wire touch systems belong to the most popular and most common touch screen technologies. AVR®

microcontrollers are excellent in this type of application due their analog features combined with low power modes, required in e.g.

portable battery powered applications.AVR350: Xmodem CRC Receive

Utility for AVR(7 pages, revision D, updated 1/08)

The Xmodem protocol was created years ago as a simple means of having two computers talk to each other. With its half-duplex mode

of operation, 128-byte packets, ACK/NACK responses and CRC data checking, the Xmodem has found its way into many

applications.

Page 10: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

AVR360: Step Motor Controller(4 pages, revision B, updated 4/03)

This Application Note describes how to implement a compact size and high-speed interrupt driven step motor controller.

AVR400: Low Cost A/D Converter(6 pages, revision B, updated 5/02)

This Application Note targets cost and space critical applications that need an ADC.

AVR401: 8-Bit Precision A/D Converter

(12 pages, revision C, updated 2/03)

This Application Note describes how to perform a kind of dual slope A/D conversion with an AVR Microcontroller.

AVR410: RC5 IR Remote Control Receiver

(10 pages, revision B, updated 5/02)

This Application Note describes a receiver for the frequently used Philips/Sony RC5 coding scheme

AVR411: Secure Rolling Code Algorithm for Wireless Link

(22 pages, revision A, updated 04/06)

This application note describes a Secure Rolling Code Algorithm transmission protocol for use in a unidirectional wireless

communication system.

AVR414: User Guide - ATAVRRZ502 - Accessory Kit(21 pages, revision B, updated

12/06)

This application note describes the ATAVRRZ502 Accessory Kit (RZ502). The RZ502 is designed for evaluation of the Atmel

AT86RF230 2.4 GHz radio transceiver. This radio transceiver fully complies with the IEEE 802.15.4™ standard and targets low-power

wireless technologies within home, building and industrial automation such as ZigBee™.

AVR415: RC5 IR Remote Control Transmitter

(5 pages, revision A, updated 5/03)

In this application note the widely used RC5 coding scheme from Philips will be described and a fully working remote control

solution will be presented. This application will use the ATtiny28 AVR microcontroller for this purpose.

AVR433: Power Factor Corrector(PFC) with AT90PWM2/2B Re-

triggable High Speed PSC(7 pages, revision A, updated 03/06)

This application note explains how to develop a stand alone PFC (Power Factor Corrector) with the AT90PWM2.

AVR434: PSC Cookbook(32 pages, revision A, updated

10/06)

This application note is an introduction to the use of the Power Stage Controllers (PSC) available in some AVR microcontrollers. The object of this document is to give a general overview of the PSC, show their various modes of operation and explain how to

configure them. The code examples will make this clearer and can be used as guide for other applications. The examples are developed

and tested on AT90PWM3.AVR435: BLDC/BLAC Motor

Control Using a Sinus Modulated PWM Algorithm

(12 pages, revision A, updated 09/06)

BLDC motors are designed to be supplied with a trapezoidal shape current, respectively BLAC motors are designed to be supplied with

a sinusoidal shape current. This application note proposes an implementation using the latter with an ATAVRMC100 board

mounted with an AT90PWM3B.AVR440: Sensorless Control of Two-Phase Brushless DC Motor(16 pages, revision A, updated

09/05)

This application note describes how to implement the electronics and microcontroller firmware to control a two-phase BLDC motor using an 8-bit AVR microcontroller. The implementation is based

on the small and low cost ATtiny13.AVR441: Intelligent BLDC Fan

Controller with Temperature Sensor and Serial Interface

(26 pages, revision A, updated 09/05)

This application note describes how to integrate a low-cost, feature-rich AVR microcontroller into the commutator electronics of a

BLDC fan. The ATtiny25 is as an example.

AVR442: PC Fan Control using ATtiny13

(10 pages, revision A, updated 09/05)

This application note describes the operation of 12 volt DC cooling fans typically used to supply cooling air to electronic equipment,

and controlling them with the ATtiny13.

AVR443: Sensor-based control of three phase Brushless DC motor

(8 pages, revision B, updated 02/06)

This application note described the control of a BLDC motor with Hall effect position sensors. The implementation includes both

direction and open loop speed control.

Page 11: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

AVR444: Sensorless control of 3-phase brushless DC motors

(14 pages, revision A, updated 10/05)

This application note describes how to implement sensorless commutation control of a 3-phase brushless DC (BLDC) motor with

the low cost ATmega48 microcontroller.

AVR446: Linear speed control of stepper motor

(15 pages, revision A, updated 06/06)

This application note describes how to implement an exact linear speed controller for stepper motors. It also presents a driver with a

demo application, capable of controlling acceleration as well as position and speed.

AVR447:Sinusoidal driving of three-phase permanent magnet motor using ATmega48/88/168(26 pages, revision A, updated

06/06)

This application note describes the implementation of sinusoidal driving for threephase brushless DC motors with hall sensors. The

implementation can easily be modified to use other driving waveforms such as sine wave with third harmonic injected.

AVR448: Control of High Voltage 3-Phase BLDC Motor

(10 pages, revision C, updated 05/06)

Using a microcontroller as a control device, 3-phase motors can be used for a wide range of applications. Motor sizes below one

horsepower are efficiently controlled in speed, acceleration, and power levels.

AVR449: Sinusoidal driving of 3-phase permanent magnet motor

using ATtiny261/461/861(24 pages, revision B, updated

10/07)

This application note describes the implementation of sinusoidal driving for threephase brushless DC motors with hall sensors on the

ATtiny261/461/861 microcontroller family.

AVR450: Battery Charger for SLA, NiCd, NiMH and Li-ion Batteries

(43 pages, revision C, updated 09/06)

This Reference Design is a battery charger that fully implements the latest technology in battery charger designs. The charger can fast-

charge all popular battery types without any hardware modifications. The charger design contains complete libraries for

SLA, NiCd, NiMH and Li-Ion batteries.AVR451: BC100 Hardware User's

Guide(12 pages, revision A, updated

09/07)

The BC100 is reference design/development kit that targets especially battery charging. As the kit is general in nature it can be used to charge various battery types, as long as the requirements to charging voltage and currents are within the output range that the

kit offers (1.2V to 38V, max 5A).AVR452: Sensor-based Control of Three Phase Brushless DC Motors

Using AT90CAN128/64/32(10 pages, revision A, updated

03/06)

This application note describes the control of a BLDC motor with Hall effect position sensors. The implementation includes both

direction and open loop speed control.

AVR453: Smart Battery Reference Design

(37 pages, revision C, updated 02/06)

This application note describes the implementation of a smart battery using the Atmel ATmega406 microcontroller. The

ATmega406 AVR microcontroller has been created with smart battery applications in mind. The feature set includes high accuracy

ADCs, a TWI interface for SMBus communications, as well as independent hardware features that can protect the battery from

incorrect use.AVR454: Users Guide -

ATAVRSB100 - Smart Battery Development kit

(20 pages, revision D, updated 06/06)

This document describes the ATAVRSB100 smart battery development kit. The SB100 is designed for evaluation of the Atmel AVR ATmega406, which is designed for smart battery applications. The ATmega406 is designed for 2, 3 or 4 cell Lithium-Ion battery

packs.AVR458: Charging Lithium-Ion Batteries with ATAVRBC100(30 pages, revision A, updated

09/07)

This application note is based on the ATAVRBC100 Battery Charger reference design (BC100) and focuses on how to use the

reference design to charge Lithium-Ion (Li-Ion) batteries. The firmware is written entirely in C language (using IAR® Systems

Embedded Workbench) and is easy to port to other AVR® microcontrollers.

AVR460: Embedded Web Server This Reference Design demonstrates how embedded applications

Page 12: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

(53 pages, revision C, updated 5/02) can be connected directly to the internet.AVR461: Quick Start Guide for the

Embedded Internet Toolkit(16 pages, revision B, updated 5/02)

This Quick Start Guide gives an introduction to using the AVR Embedded Internet Toolkit and can be used as a guide for getting

started with embedded internet applications.AVR462: Reducing the Power

Consumption of AT90EIT1(3 pages, revision A, updated 3/02)

This Application Note describes a small modification to the AVR Embedded Internet Toolkit. This will reduce the power

consumption and the operating temperature of the board.AVR463: Charging Nickel-Metal

Hydride Batteries with ATAVRBC100

(26 pages, revision A, updated 09/07)

This application note is based on the ATAVRBC100 Battery Charger reference design (BC100) and focuses on how to use the

reference design to charge Nickel-Metal Hydride (NiMH) batteries. The firmware is written entirely in C language (using IAR Systems

Embedded Workbench) and is easy to port to other AVR® microcontrollers.

AVR465: Energy Meter(40 pages, revision A, updated

07/04)

This application note describes a single-phase power/energy meter with tamper logic. The design measures active power, voltage, and

current in a single-phase distribution environment. The meter is able to detect, signal, and continue to measure reliably even when

subject to external attempts of tampering.AVR480: Anti-Pinch System for

Electrical Window(19 pages, revision B, updated

12/06)

This application note provides an example of how to create an anti-pinch system for electrical windows. Based on Speed and Current

parameters measured out of the window DC motor, it benefits from the internal digital and analog resources of the AVR ATmegax8

family to support the FMVSS118 and 20/64/ECC standards.AVR481: DB101 Hardware User's

Guide(10 pages, revision B, updated

09/07)

The DB101 is a graphical LCD module. It demonstrates how to use an AVR® microcontroller to control a 128x64 pixel graphical LCD.

AVR482: DB101 Software User's Guide

(13 pages, revision A, updated 09/07)

The DB101 firmware is a complex piece of software that uses a number of drivers and libraries to implement a set of applications to the user. This document gives a brief introduction to every driver,

library, and application.AVR483: DB101 Firmware -

Getting Started(17 pages, revision A, updated 2/08)

This application explains, step by step, how to create a new firmware project, add the bare essentials for a basic graphics

application, build it and run it on the DB101.AVR492: Brushless DC Motor control using AT90PWM3/3B(26 pages, revision B, updated

05/07)

This application note describes how to implement a brushless DC motor control in sensor mode using AT90PWM3/3B AVR

microcontroller.

AVR493: Sensorless Commutation of Brushless DC Motor

(BLDC) using AT90PWM3/3B and ATAVRMC100

(20 pages, revision B, updated 12/06)

This application note describes how to implement a sensorless commutation of BLDC motors with the ATAVRMC100

developement kit.

AVR494: AC Induction Motor Control Using the constant V/f Principle and a Natural PWM

Algorithm(12 pages, revision A, updated

12/05)

Induction motors can only run at their rated speed when they are connected to the main power supply. This is the reason why

variable frequency drives are needed to vary the rotor speed of an induction motor. The aim of this application note is to show how these techniques can be easily implemented on a AT90PWM3, an

AVR RISC based microcontroller dedicated to power control applications.

AVR495: AC Induction Motor Control Using the Constant V/f

Principle and a Space-vector PWM Algorithm

(11 pages, revision A, updated

In a previous application note [AVR494], the implementation on an AT90PWM3 of an induction motor speed control loop using the

constant Volts per Hertz principle and a natural pulse-width modulation (PWM) technique was described. A more sophisticated approach using a space vector PWM instead of the natural PWM

Page 13: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

12/05) technique is known to provide lower energy consumption and improved transient responses. The aim of this application note is to show that this approach, though more computationally intensive,

can also be implemented on an AT90PWM3.AVR910: In-System Programming

(10 pages, revision C, updated 11/00)

This Application Note shows how to design the system to support in-system programming.

AVR911: AVR Open-source Programmer

(13 pages, revision A, updated 07/04)

The AVR Open-source Programmer (AVROSP) is an AVR programmer application that replaces the AVRProg tool included in

AVR Studio. It is a command-line tool, using the same syntax as the STK500 and JTAGICE command-line tools in AVR Studio.

AVR914: CAN & UART based Bootloader for AT90CAN32,

AT90CAN64, & AT90CAN128(28 pages, revision B, updated

01/06)

This document describes the UART & CAN bootloader functionality as well as the serial protocols to efficiently perform

operations on the on chip Flash & EEPROM memories. This bootloader example will help you develop your own bootloader with custom security levels adapted to your own applications.

Modification for Rev. B to Rev C. STK200 Errata Sheet

Understanding the AVR ICEPRO I/O Registers

(9 pages, revision A, updated 4/98)

This Application Note describes the I/O Register views seen in AVR Studio when using the ICEPRO emulator.

Using the STK500 as an AT89C51Rx2 Target Board

(7 pages, updated 7/04)

This Application Note explains how to use the STK500 as a development board for 8051 Architecture microcontrollers.

AVR078: STK524 User's Guide(20 pages, revision A, updated

02/08)

The STK524 kit is made of the STK524 board, AVRCANAdapt and AVRLINAdapt boards. The STK524 board is a top module for

the STK500 development board from Atmel Corporation. It is designed to support the ATmega32M1, ATmega32C1 products and

future compatible derivatives.AVR080: Replacing ATmega103 by

ATmega128(12 pages, revision D, updated

01/04)

This Application Note describes issues to be aware of when migrating from the ATmega103 to the ATmega128

Microcontroller.

AVR081: Replacing AT90S4433 by ATmega8

(11 pages, revision D, updated 07/03)

This Application Note describes issues to be aware of when migrating from the AT90S4433 to the ATmega8 Microcontroller.

AVR082: Replacing ATmega161 by ATmega162

(8 pages, revision D, updated 01/04)

This Application Note describes issues to be aware of when migrating from the ATmega161 to the ATmega162

Microcontroller.AVR083: Replacing ATmega163 by

ATmega16(8 pages, revision F, updated 09/05)

This Application Note describes issues to be aware of when migrating from the ATmega163 to the ATmega16 Microcontroller.

AVR084: Replacing ATmega323 by ATmega32

(6 pages, revision C, updated 7/03)

This Application Note describes issues to be aware of when migrating from the ATmega323 to the ATmega32 Microcontroller.

AVR085: Replacing AT90S8515 by ATmega8515

(10 pages, revision C, updated 01/04)

This Application Note describes issues to be aware of when migrating from the AT90S8515 to the ATmega8515

Microcontroller.

AVR086: Replacing AT90S8535 by ATmega8535

(10 pages, revision B, updated 7/03)

This Application Note describes issues to be aware of when migrating from the AT90S8535 to the ATmega8535

Microcontroller.AVR087: Migrating between

ATmega8515 and ATmega162(5 pages, revision B, updated 07/03)

This application note is a guide to help current ATmega8515 users convert existing designs to ATmega162. The information given will

also help users migrating from ATmega162 to ATmega8515.

Page 14: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

AVR088: Migrating between ATmega8535 and ATmega16

(3 pages, revision C, updated 01/04)

This application note is a guide to help current ATmega8535 users convert existing designs to ATmega16. The information given will

also help users migrating from ATmega16 to ATmega8535.AVR089: Migrating between ATmega16 and ATmega32

(3 pages, revision A, updated 06/03)

This application note is a guide to help current ATmega16 users convert existing designs to ATmega32. The information given will

also help users migrating from ATmega32 to ATmega16.AVR090: Migrating between ATmega64 and ATmega128

(3 pages, revision B, updated 12/05)

This application note is a guide to help current ATmega64 users convert existing designs to ATmega128. The information given will

also help users migrating from ATmega128 to ATmega64.AVR091: Replacing AT90S2313 by

ATtiny2313(11 pages, revision A, updated

10/03)

This application note is a guide to help current AT90S2313 users convert existing designs to ATtiny2313.

AVR092: Replacing ATtiny11/12 by ATtiny13

(7 pages, revision A, updated 10/03)

This application note is a guide to help current ATtiny11/12 users convert existing designs to ATtiny13.

AVR093: Replacing AT90S1200 by ATtiny2313

(7 pages, revision A, updated 10/03)

This application note is a guide to help current AT90S1200 users convert existing designs to ATtiny2313.

AVR094: Replacing ATmega8 by ATmega88

(11 pages, revision C, updated 04/05)

This application note is a guide to help current ATmega8 users convert existing designs to ATmega88.

AVR095: Migrating between ATmega48, ATmega88 and

ATmega168(5 pages, revision A, updated 02/04)

This application note describes issues to be aware of when migrating between the ATmega48, ATmega88 and ATmega168

microcontrollers.

AVR096: Migrating from ATmega128 to AT90CAN128

(17 pages, updated 03/04)

This application note is a guide to help current ATmega128 users convert existing designs to AT90CAN128.

AVR097: Migration between ATmega128 and

ATmega1281/ATmega2561(7 pages, revision E, updated 07/06)

ATmega128 and ATmega1281/ATmega2561 are designed to be a pin and functionality compatible sub family. This application note

points out the differences to be aware of when porting code between the devices.

AVR098: Migration between ATmega169, ATmega329 and

ATmega649(5 pages, revision D, updated 02/07)

The ATmega169, ATmega329 and ATmega649 are designed to be a pin and functionality compatible sub family, this application note

summarizes the differences between them.

AVR099: Replacing AT90S4433 by ATmega48

(11 pages, revision A, updated 07/04)

This application note is a guide to assist current AT90S4433 users in converting existing designs to ATmega48. ATmega48 is not

designed to be a replacement for AT90S4433, but is pin compatible and has a very similar feature set.

AVR500: Migration between ATmega64 and ATmega645

(6 pages, revision A, updated 07/04)

This application note is a guide to assist a current ATmega64 user in converting existing designs to ATmega645, and vice versa.

ATmega64 and ATmega645 coexisting devices and they are not designed to be a replacement device for each other

AVR501: Replacing ATtiny15 with ATtiny25

(9 pages, revision A, updated 03/05)

This application note is a guide to assist users of ATtiny15 in converting existing designs to ATtiny25.

AVR502: Migration between ATmega165 and ATmega325

(4 pages, revision B, updated 12/05)

The ATmega165 and ATmega325 are designed to be a pin and functionality compatible sub family, but there may be a need for some minor modifications in the application when porting code

between the devices.AVR503: Replacing

AT90S/LS2323 or AT90S/LS2343 with ATtiny25

This application note is a guide to assist users of AT90S/LS2323 and, AT90S/LS2343 converting existing designs to ATtiny25.

Page 15: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

(8 pages, revision B, updated 09/05)AVR504: Migrating from ATtiny26

to ATtiny261/461/861(9 pages, revision A, updated 10/06)

This application note is a guide to assist users of ATtiny26 in converting existing designs to ATtiny261. The document will also assist ATtiny26 users to migrate to the ATtiny461 and ATtiny861 devices, which are members of the same family as the ATtiny261

offering larger memories.AVR505: Migration between

ATmega16/32 and ATmega164P/324P/644(P)

(11 pages, revision C, updated 06/06)

This application note summarizes the differences between ATmega16/32 and ATmega164P/324P/644(P) and is a guide to

assist current ATmega16/32 users in converting existing designs to the ATmega164P/324P/644(P).

AVR506: Migration from ATmega169 to ATmega169P

(6 pages, revision C, updated 02/07)

The ATmega169P is designed to be pin and functionality compatible with ATmega169, and this application note summarizes

the differences between them.AVR507: Migration from

ATmega329 to ATmega329P(5 pages, revision B, updated 11/06)

The ATmega329P is designed to be pin and functionality compatible with ATmega329, but because of improvements

mentioned in this application note there may be a need for minor modifications in the application when migrating from ATmega329

to ATmega329P.AVR508: Migration from

ATmega644 to ATmega644P(5 pages, revision A, updated 07/06)

The ATmega644P is designed to be pin and functionality compatible with ATmega644, but because of improvements

mentioned in this application note there may be a need for minor modifications in the application when migrating from ATmega644

to ATmega644P.AVR509: Migration between

ATmega169P and ATmega329P(4 pages, revision B, updated 11/06)

The ATmega169P and ATmega329P are designed to be a pin and functionality compatible sub family, but because of the differences in memory sizes and other issues mentioned in this application note

there may be a need for minor modifications in the application when porting code between the devices.

AVR510: Migration between ATmega329/649 and ATmega3290/6490

(3 pages, revision A, updated 07/06)

The ATmega3290/6490 are designed to be functionality compatible with ATmega329/649, but with 4x40 Segment LCD driver instead of 4x25 segments. Because of the extra pins needed for the LCD

control they are not pin compatible, and there will be need for modifications when porting code between the devices. This

migration note describes the necessary modifications.AVR511: Migration from

ATmega3290 to ATmega3290P(5 pages, revision B, updated 11/06)

The ATmega3290P is designed to be pin and functionality compatible with ATmega3290, but because of improvements

mentioned in this application note there may be a need for minor modifications in the application when migrating from ATmega3290

to ATmega3290P.AVR512: Migration from

ATmega48/88/168 to ATmega48P/88P/168P

(5 pages, revision A, updated 07/06)

The ATmega48P/88P/168P is designed to be pin and functionality compatible with ATmega48/88/168, but because of improvements mentioned in this application note there may be a need for minor

modifications in the application when migrating from ATmega48/88/168 to ATmega48P/88P/168P.

AVR513: Migration from ATmega165 to ATmega165P

(6 pages, revision A, updated 03/07)

The ATmega165P is designed to be pin and functionality compatible with ATmega165, and this application note summarizes

the differences between them.AVR514: Migration from

ATmega325 to ATmega325P(5 pages, revision A, updated 03/07)

The ATmega325P is designed to be pin and functionality compatible with ATmega325, but because of improvements

mentioned in this application note there may be a need for minor modifications in the application when migrating from ATmega329

to ATmega329P.AVR515: Migrating from

ATmega48/88/168 and ATmega48P/88P/168P/328P to

This application note is a guide to assist users of ATmega48/88/168 and ATmega48P/88P/168P/328P in converting existing designs to

ATtiny48/88.

Page 16: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

ATtiny48/88(10 pages, revision A, updated

09/07)Migrating from T89C51CC01 &

AT89C51CC03, to AT90CAN128, AT90CAN64, AT90CAN32

(7 pages, revision A, updated 06/05)

This application note is a guide, on the CAN controller, to help current T89C51CC01, AT89C51CC03 users convert existing

designs to AT90CAN128, AT90CAN64, AT90CAN32.

AVR1000: Getting Started Writing C-code for XMEGA

(15 pages, revision A, updated 2/08)

Short development times and high quality requirements on electronic products has made high-level programming languages a requirement. The choice of programming language alone does not

ensure high readability and reusability; good coding style does. Therefore the XMEGA™ peripherals, header files and drivers are

designed with this in mind.AVR1001: Getting Started With the

XMEGA Event System(8 pages, revision A, updated 2/08)

The XMEGA™ event system is a set of features that allows peripherals to interact without intervention from the CPU. Several

peripheral modules can generate events, often on the same conditions as interrupt requests.

AVR1003: Using the XMEGA Clock System

(10 pages, revision A, updated 2/08)

The XMEGA™ Clock System is a set of highly flexible modules that provides a large portfolio of internal and external clock sources.

An internal high-frequency PLL and a flexible prescaler block provide a vast amount of possible clock source configurations, both

for the CPU and peripherals.AVR1301: Using the XMEGA

DAC(10 pages, revision A, updated 2/08)

This application note describes the basic functionality of the XMEGA DAC with code examples to get up and running quickly.

A driver interface written in C is included as well.AVR1302: Using the XMEGA

Analog Comparator(6 pages, revision A, updated 2/08)

This application note describes the basic functionality of the XMEGA AC with code examples to get up and running quickly. A

driver interface written in C is included as well.AVR1303: Use and configuration of

IR communication module(5 pages, revision B, updated 03/08)

This application note describes the basic functionality of the IRCOM module in the AVR® XMEGA™ with code examples to

get up and running quickly. A driver interface written in C is included as well.

AVR1304: Using the XMEGA DMA Controller

(10 pages, revision A, updated 2/08)

This application note describes the basic functionality of the XMEGA DMAC with code examples to get up and running quickly. A driver interface written in C is included as well.

AVR1305: XMEGA Interrupts and the Programmable Multi-level

Interrupt Controller(6 pages, revision A, updated 2/08)

The XMEGA™ Interrupt mechanisms and the Programmable Multi-level Interrupt Controller (PMIC) are described in this

application note. The application note also offers a C code example that shows how the PMIC can be accessed.

AVR1306: Using the XMEGA Timer/Counter

(17 pages, revision A, updated 2/08)

The XMEGA™ Timer/Counter modules are true 16-bit Timer/Counters with Input Capture and Pulse Width Modulation

(PWM) functionality. This application note gives an introduction on how to use the XMEGA Timer/Counter modules for timing, Input

Capture and PWM.AVR1307: Using the XMEGA

USART(7 pages, revision A, updated 2/08)

This application note describes how to set up and use the USART in asynchronous mode in the XMEGA™. C code drivers and

examples are included for both polled and interrupt controlled USART applications.

AVR1308: Using the XMEGA TWI(11 pages, revision A, updated 2/08)

This application note describes how to set up and use the TWI module in the XMEGA. C code drivers and examples are included

for both master and slave applications.AVR1309: Using the XMEGA SPI(7 pages, revision A, updated 2/08)

This application note describes how to set up and use the SPI module in the AVR® XMEGA. Both interrupt controlled and

polled C code drivers and examples are included for master and slave applications.

AVR1312: Using the XMEGA This application note describes the basic functionality of the

Page 17: PDF Software Description - AVR Freaks › sites › default › files › Applic… · Web viewAVR272: USB CDC Demonstration UART to USB Bridge (20 pages, revision A, updated 03/06)

External Bus Interface(10 pages, revision A, updated 2/08)

XMEGA EBI with code examples to get up and running quickly. A driver interface written in C is included as well.

AVR1313: Using the XMEGA IO Pins and External Interrupts

(9 pages, revision A, updated 2/08)

This application note gives an introduction to the usage of the highly configurable XMEGA™ I/O pins and external interrupts.

AVR1314: Using the XMEGA Real Time Counter

(6 pages, revision A, updated 2/08)

This application note covers the use of the 16-bit Real Time Counter (RTC) in the XMEGA™.