Introduction to the Atmel AVR Butterfly

Similar documents
ET-BASE AVR ATmega64/128

AVR Butterfly Training. Atmel Norway, AVR Applications Group

STK User Guide

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

TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT

Atmel Norway XMEGA Introduction

A 5 Degree Feedback Control Robotic Arm (Haptic Arm)

Lab Experiment 1: The LPC 2148 Education Board

WIZ-Embedded WebServer User s Manual (Ver. 1.0)

2.0 Command and Data Handling Subsystem

8-bit Atmel with 8KBytes In- System Programmable Flash. ATmega8 ATmega8L. Summary

Atmel AT32UC3A3256 microcontroller 64MBit SDRAM Analog input (to ADC) Temperature sensor RC filter

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

Atmel AVR ATxmega384C3 microcontroller OLED display with pixels resolution Analog sensors. Ambient light sensor Temperature sensor

ATxmega128A1 / ATxmega64A1. Preliminary. 8/16-bit XMEGA A1 Microcontroller. Not recommended for new designs - Use XMEGA A1U series Features

Introducing AVR Dragon

Tutorial for MPLAB Starter Kit for PIC18F

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

Ingar Fredriksen AVR Applications Manager. Tromsø August 12, 2005

Palaparthi.Jagadeesh Chand. Associate Professor in ECE Department, Nimra Institute of Science & Technology, Vijayawada, A.P.

Microtronics technologies Mobile:

STM32 F-2 series High-performance Cortex-M3 MCUs

The Programming Interface

AT15007: Differences between ATmega328/P and ATmega328PB. Introduction. Features. Atmel AVR 8-bit Microcontrollers APPLICATION NOTE

EvB 5.1 v5 User s Guide

Atmel AVR1923: XMEGA-A3BU Xplained Hardware User Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

AUTOMATIC NIGHT LAMP WITH MORNING ALARM USING MICROPROCESSOR

General Porting Considerations. Memory EEPROM XRAM

JTAG ICE.... User Guide

Chapter 13. PIC Family Microcontroller

Description of High Accuracy Digital Pressure Gauge Design

Android Controlled Based Interface

8/16-bit XMEGA D3 Microcontroller

Advanced Microcontrollers Grzegorz Budzyń Lecture. 3: Electrical parameters of microcontrollers 8051 family

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega162 ATmega162V. Features

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

Arduino Due Back. Warning: Unlike other Arduino boards, the Arduino Due board runs at 3.3V. The maximum. Overview

Display Message on Notice Board using GSM

APPLICATION NOTE. AVR042: AVR Hardware Design Considerations. AVR 8-bit Microcontrollers. Features. Description

USER GUIDE EDBG. Description

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

High-performance, low-power Atmel AVR XMEGA 8/16-bit Microcontroller Nonvolatile program and data memories

User s Manual of Board Microcontroller ET-MEGA2560-ADK ET-MEGA2560-ADK

SBC6245 Single Board Computer

POCKET SCOPE 2. The idea 2. Design criteria 3

FLYPORT Wi-Fi G

GTS-4E Hardware User Manual. Version: V1.1.0 Date:

How To Use Nuc123 (Nuc123) For A Week

Two mechanical buttons Two user LEDs Four expansion headers. Board controller with USB interface. One power LED and one status LED

PIC-MAXI-WEB development board Users Manual

8/16-bit Atmel XMEGA B3 Microcontroller

STM32L. Ultra-low-power Cortex -M3 devices

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

Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester

ATmega32A. Introduction. Features. 8-bit AVR Microcontroller DATASHEET SUMMARY

Arduino ADK Back. For information on using the board with the Android OS, see Google's ADK documentation.

8-bit Atmel megaavr Microcontroller

EVAL-UFDC-1/UFDC-1M-16


RC2200DK Demonstration Kit User Manual

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

AN LPC1700 timer triggered memory to GPIO data transfer. Document information. LPC1700, GPIO, DMA, Timer0, Sleep Mode

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

UPiS - Uninterruptible Power intelligent Supply

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega16 ATmega16L

The following is a summary of the key features of the ARM Injector:

8-bit Atmel with 8KBytes In- System Programmable Flash. ATmega8 ATmega8L

SPI and JTAG In-System Programming (ISP) guidelines for the Atmel ATmega AVR FLASH Microcontroller Family

Am186ER/Am188ER AMD Continues 16-bit Innovation

SAM4L Xplained Pro. Preface. SMART ARM-based MCUs USER GUIDE

Designing VM2 Application Boards

DSO138 oscilloscope program upgrade method

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

Embedded Software Development: Spottbillige Hardware + OSS = Zum Spielen zu Schade!

PRELIMINARY INFORMATION.

8051 MICROCONTROLLER COURSE

SAM D21 Xplained Pro. Preface. SMART ARM-based Microcontrollers USER GUIDE

BUTTLOAD. AVRButterfly ISP Programmer. By Dean Camera, 2007 For ButtLoad V3.0

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

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

KTA-223 Arduino Compatible Relay Controller

AVR064: A Temperature Monitoring System with LCD Output. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

ATmega8A. Introduction. Features. 8-bit AVR Microcontroller DATASHEET COMPLETE

Embedded Display Module EDM6070

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

8-bit Atmel Microcontroller with 128KBytes In-System Programmable Flash. ATmega128 ATmega128L

Open1788 User Manual. Features

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

AVR126: ADC of megaavr in Single Ended Mode. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

Alcalde # 1822 Col. Miraflores C.P Guadalajara, Jal. Mexico MX 01 (33) y USA 001 (619) (San Diego, CA.

ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

Allows the user to protect against inadvertent write operations. Device select and address bytes are Acknowledged Data Bytes are not Acknowledged

PICmicro tm Development Board

8-bit Microcontroller with 4/8/16/32K Bytes In-System Programmable Flash. ATmega48PA ATmega88PA ATmega168PA ATmega328P

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

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

[F/T] [5] [KHz] [AMP] [3] [V] 4 ) To set DC offset to -2.5V press the following keys [OFS] [+/-] [2] [.] [5] [V]

Microcontrollers in Practice

8-bit Microcontroller with 2K Bytes In-System Programmable Flash. ATtiny2313/V. Preliminary

Transcription:

Introduction to the Atmel AVR Butterfly

AVR Butterfly The AVR Butterfly is designed to demonstrate the benefits and key features of the AVR microcontrollers! The AVR architecture in general and the ATmega169 in particular! Low Power Design! The MLF package type! Using peripherals " LCD controller " Memories # Flash, eeprom, sram, external Data Flash " Communication interfaces # UART, SPI, USI " Programming methods # Selfprogamming/ Bootloader, SPI, Parallel, JTAG " Analog to Digital Converter (ADC) " Timers/Counters # Real Time Counter (RTC) # Pulse Width Modulation (PWM) " etc.! It also serves as a development kit for the ATmega169, and can be bought and used as a standard module in the customers own products! Sales price: 19$

AVR Butterfly Graphical overview AVR Butterfly ATmega169 32 khz

ATmega169 MLF ATmega169! 16KB Flash! 512B EEPROM! 1KB Internal SRAM! JTAG Interface! 4 x 25 Segment LCD Driver! Two 8-bit Timer/Counters! One 16-bit Timer/Counter! Real Time Counter! Four PWM Channels! 8-channel, 10-bit ADC! USART! SPI! Universal Serial Interface! Watchdog Timer! Analog Comparator! Power-on Reset and Brown-out Detection! Internal Calibrated Oscillator! Five Sleep Modes: " Idle, ADC Noise Reduction, Power-save, Power-down, and Standby! 53 Programmable I/O Lines and 1 Input Line! 64-lead TQFP and 64-pad MLF! Operating Voltage: " 1.8-3.6V for ATmega169V " 2.7-3.6V for ATmega169L! Temperature Range: " 0 C to 70 C! Speed Grade: " 0-1 MHz for ATmega169V " 0-4 MHz for ATmega169L! Ultra-Low Power Consumption " Active Mode: # 1 MHz, 1.8V: 300µA # 32 khz, 1.8V: 20µA (including Oscillator) # 32 khz, 1.8V: TBD (including Oscillator and LCD) " Power-down Mode: # 0.5µA at 1.8V

Input Resources! Joystick " 4 directions " 1 center push! UART " Available on pin header J406 " With level converters # Just connect TxD, RxD and GND # Vcc min 2.0V! USI " Available on pin header J405 " Uses 3 pins: PE4,PE5,PE6 " If USI is not needed then the pins can be used as normal IO! Reset " Short cut pin 5 & 6 on the ISP header (J403) UART USI

Analog Measurements! Temperature " Surface mounted NTC (Negative Temperature Coefficient) thermistor " Tested -10 $ +60 deg " Connected to ADC0 (PF0)! Light " Trough hole mounted LDR (Light Dependent Resistor) " NSL19M51 CdS photoconductive cell " 6K@10lux, 20M@darkness " Connected to ADC2 (PF2)! Voltage " 2 pin header " Voltage readings from 0-5V " Connected to ADC1 (PF1)

Output Resources! LCD (Liquid Crystal Display) " Features six 14-segments digits, and some additional segments " All in all the display supports 120 segments " ATmega169 supports 100 segments " Same LCD and selected segments as on STK502! Piezo-element " For alarms and music " Connected to Timer1 PWM Output A (PB5)

Memory! ATmega169 " 16Kbyte FLASH " 512byte EEPROM " 1Kbyte SRAM! AT45DB041B " 4Mbit data flash " SPI interface " Vcc 2.5-3.6V " Low level drivers included " Connected to SPI bus for external programming

Clock sources! Real Time Counter (RTC) " On-board 32kHz Xtal for tracking of clock and date! Internal Calibrated RC oscillator on ATmega169 " Use prescaler to get 31k-8MHz system clock

Power sources! Button cell battery " CR-2450 " 3V " 600mAh! Using external power supply " GND and Vcc are available on several pin headers " J400 & J401pin 9 & 10 # Parallel programming header " J402 pin 2 & 4 # JTAG header " J403 pin 6 & 2 # SPI header " Use of external power will not charge the battery " Remove the battery, or use a voltage level higher then the battery Vcc/GND

Programming & debugging! Bootloader " Enables upgrade of the application code from a PC without any external hardware " Frontend software: AVRprog (included with AVR Studio) " Uses UART (J406) " While in the bootloader: Hold the ENTER button while starting AVRprog! JTAG " Programming and On-Chip Debugging UART JTAG Parallel " JTAG header (J402) is located on the back side of the PCB " Use an external power source when using JTAGICE due to increased power consumption " Always press stop debugging in AVR Studio to automatically disable the OCD fuse PB PD ISP! In System Programming (ISP) " STK500 Connect ISP6PIN to SPI bus (J403) " Note that ATmega169 uses PB0 to control the external data flash! Parallel programming (High voltage) " STK500 # On the Butterfly, move the 0ohm resistors: R404 to R403 and R203 to R204 # Make these connections between the STK500 and the Butterfly: STK500 AVR Butterfly PROGCTRL J401 (PORTD) PROGDATA J400 (PORTB) BSEL2.1 J402.8 (JTAG) XTAL1.1 J402.10 (JTAG)

Included firmware! Written in IAR EWAVR! All source code included! Bootloader code! Application code " State machine " Features included # Name-tag # Clock (date) # Temperature measurements # Light measurements # Voltage readings # Play tunes/melodies # Auto power save # Adjust LCD contrast " More functions that can be added later on... # Calculator # Reminder function # Alarm (daily alarms, kitchen-timers, etc...) # Play tunes/melodies (Karaoke-function) # With the 4Mbit dataflash one can store large amount of data. Some examples: AVR Info bank (Basic info on all AVR-parts) Your local bus-table Melodies +++

Bootloader! Enables upgrade of the application code from a PC without any external hardware! Based on the appnote AVR109: Self Programming AVR " But uses the new buffer mode for more efficient data downloading! Uses AVRprog as PC frontend " Included with AVR Studio! Uses UART! Uses the 1024Byte boot block size! Operation " AVR fused to start in bootloader after Reset " Short cut J403 pin 5 & 6 to make a hardware reset (or jump to bootloader from your application code) " Bootloader goes straight into sleep # Power Save Mode " Hold ENTER button while starting AVRprog, to enable downloading of new application code over the UART. " Press UP on joystick to wake up from sleep and enter Application section " Lockbits are used to avoid self deletion # SPM is not allowed to write to the Boot Loader section UART

The Application Menu Use the joystick to navigate in the menu! UP/DOWN Jump between the menu items! RIGHT Enter a sub menu item! LEFT Jump back one level! Center button is ENTER Edit/play a menu item AVR Butterfly Time Clock "12:35:45" Adjust clock Music Date "03:04:25" Adjust date "Fur Elise" "Mozart" "Minuet" "Sirene1" "Sirene2" Name "Your Name" Enter name Download name Temperature Voltage Light "+26 C" "2V3" "ADC28A" Options Display Adjust contrast Bootloader Power Save Mode Jump to Bootloader Press Enter to sleep Auto Power Save Min 90 Min (...) Min 05 OFF

Download text from PC for name tag! Connect RS-232 on PC to UART on Butterfly! Use joystick to enter sub menu Download name and press ENTER to enable UART! Start any PC terminal software " Use connection settings: # Baudrate: 19200 # Databits: 8 # Parity: None # Stop bits: 1 " In terminal window: # <Type text> # Press ENTER ( )! The text is stored in eeprom and scrolls over the display! Stores up to 25 characters UART

Power consumption Sleep modes are used to minimize power consumption! Normally Power Save Mode is used. But Idle Mode is used for: " Piezo-element (playing tunes) " UART communication! In Power Save Mode " LCD controller is running (if enabled) " Asynchronous timer is running # Used for wake up for LCD update RTC update! Auto Power Save " Turns off the display controller before entering the sleep mode: Power Save Mode

Power consumption Power consumption and estimated lifetime! Playing tunes (incl. text) " Power consumption: approx 400uA " Lifetime (playing 24 hours a day): approx 2 month! Presenting text in the LCD " Power consumption: approx 35-40uA (depends on whether the text is scrolling or not) " Lifetime (24 hours a day): over 1,5 year! In power save mode (only the RTC ticking) " Power consumption: approx 9uA " Lifetime: approx 7 years

Atmel AVR Butterfly