introdução ao avr butterfly - tato.ind.br · principais características dos microcontroladores...
TRANSCRIPT
®
Introdução ao AVR Butterfly
®
AVR Butterfly O AVR Butterfly foi desenvolvido para demonstrar os benefícios e principais características dos microcontroladores AVR: ü A arquitetura AVR e do ATmega169 em particular ü Circuitos Low Power ü O encapsulamento MLF ü Como usar os seguintes periféricos
Ø 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…. ü Ele também serve como um kit de desenvolvimento para o ATmega169, e
pode ser comprado e usado como um módulo de seu produto. ü Baixo preço.
19/07/2003 2
®
Visão Gráfica
AVR Butterfly
AVR Butterfly
ATmega169
32 kHz
19/07/2003 3
®
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
ATmega169 MLF
1 9 / 0 7 / 2 0 0 3 4
®
ü Joystick Ø 4 direções Ø 1 botão central
ü UART
Ø Disponível em J406 Ø Com conversores de nível
# Apenas conecte TxD, RxD e GND # Vcc min 2.0V
ü USI Ø Disponível em J405 Ø Usa 3 pinos: PE4,PE5,PE6 Ø Se USI não é necessária então os pinos
podem ser usados como IO ü Reset
Ø Junte os pinos 5 & 6 no conector ISP (J403)
Entradas
UART
USI
19/07/2003 5
®
ü Temperatura Ø Termistor NTC em SMD
(Negative Temperature Coefficient) thermistor
Ø Testado -10 è +60 deg Ø Conectado ao ADC0 (PF0)
ü Luz
Ø Através de LDR (Light Dependent Resistor)
Ø NSL19M51 CdS photoconductive cell
Ø 6K@10lux, 20M@darkness Ø Conectado ao ADC2 (PF2)
ü Voltagem
Ø Conector de 2 pinos Ø Leitura de voltage de 0-5V Ø Conectado ao ADC1 (PF1)
Medidas Analógicas
19/07/2003 6
®
ü LCD (Liquid Crystal Display) Ø Possui seis digitos de 14-segmentos,
e alguns segmentos adicionais Ø No total o display suporta 120
segmentos Ø ATmega169 suporta 100 segments Ø Alguns segmentos ligados
como na STK502 ü Piezo-element
Ø Para alarme e “musica” Ø Conectado ao Timer1 PWM Output A
(PB5)
Saídas
19/07/2003 7
®
ü ATmega169 Ø 16Kbyte FLASH Ø 512byte EEPROM Ø 1Kbyte SRAM
ü AT45DB041B
Ø 4Mbit data flash Ø SPI interface Ø Vcc 2.5-3.6V Ø Low level drivers included Ø Conectada ao SPI bus para
programação externa
Memória
19/07/2003 8
®
ü Real Time Counter (RTC)
Clock
Ø Cristal de 32kHz para hora e data ü Oscilador RC interno e calibrado
Ø Usa o prescaler para clocks de 31k-8MHz
19/07/2003 9
®
ü Bateria tipo botão Ø CR-2450 Ø 3V Ø 600mAh
ü Usando alimentação externa
Ø GND e Vcc estão disponíveis em diversos pinos externos
Ø J400 & J401pin 9 & 10 # Parallel programming header
Ø J402 pin 2 & 4 # JTAG header
Ø J403 pin 6 & 2 # SPI header
Ø Uso da alimentação externa não carrega e bateria
Ø Remova a bateria ou use uma tensão maior que da bateria
Vcc/GND
Alimentação
19/07/2003 10
®
ü Bootloader
Programando & debugando
UART Ø Permite atualização do programa pelo PC sem nenhum componente externo Ø Software usado: AVRprog
(incluído no AVR Studio) JTAG Ø Usa a UART (J406) Ø No bootloader:
Segure o botão ENTER e inicie PB PD o AVRprog Parallel ISP
ü JTAG Ø Programa e debuga On-Chip Ø Os pinos JTAG (J402) do lado de trás do PCB Ø Usa uma fonte externa para JTAGICE por causa do consumo mais alto Ø Sempre aperte “stop debugging” no AVR Studio para desabilitar o OCD fuse
ü In System Programming (ISP)
Ø STK500 Conecta o ISP6PIN ao barramento SPI (J403)
Ø Note que o ATmega169 usa PB0 para controlar a data flash externa ü Parallel programming (High voltage)
Ø STK500 # Na placa, mova os resistores de 0ohm: R404 a R403 e R203 a R204 e faça# Estas conecções entre o STK500 e o Butterfly Butterfly:
STK500 AVR Butterfly PROGCTRL J401 (PORTD) PROGDATA J400 (PORTB) BSEL2.1 J402.8 (JTAG) XTAL1.1 J402.10 (JTAG)
19/07/2003 11
®
ü Escrito em IAR EWAVR ü Todo o código fonte incluído ü Código do Bootloader ü Códigos de aplicação
Ø State machine Ø Features included
# Name-tag # Clock (date) # Temperature measurements # Light measurements # Voltage readings # Play tunes/melodies # Auto power save # Adjust LCD contrast
Ø Mais funções podem ser adicionadas... . # Calculadora # Reminder function # Alarmes (daily alarms, kitchen-timers, etc...) # Play tunes/melodies (Karaoke-function)
Firmware incluso
# 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 • +++
19/07/2003 1 2
®
Bootloader ü Permite a gravação a partir do PC sem nenhum componente externo. ü Baseado no appnote AVR109: Self Programming AVR
Ø Mas usa um novo modo mais eficiente para download. ü Usa o AVRprog para gravação
Ø Incluído com o AVR Studio ü Usa UART ü Usa o bloco de boot de 1024Byte
ü Operação
Ø AVR programado para começar no bootloader Ø Um botão em J403 pinos 5 & 6 para um
reset (ou entrar no bootloader a partir de sua aplicação)
Ø O Bootloader entra no modo sleep # Power Save Mode
Ø Segure o botão ENTER quando iniciar o AVRprog, para fazer o download de sua aplicação pela UART.
Ø Pressione UP no joystick para sair do sleep e entrar na Aplicação
Ø Lockbits são usados para impedir erros # não é permitido escrever na seção do
boot loader UART
19/07/2003 13
®
Menu de Aplicações
Use o joystick para navegar pelo menu ü UP/DOWN
AVR Butterfly Muda os itens do menu
ü RIGHT Entra em um submenu
ü LEFT Volta um nível
ü Botão central é ENTER Executa um item do menu
Time Clock Date
Music "Fur Elise"
"Mozart"
"Minuet"
"Sirene1"
"Sirene2"
Name "Your Name"
Temperature "+26°C"
Voltage "2V3"
Light "ADC28A"
Options Display
Bootloader
Power Save Mode
Auto Power Save
"12:35:45" Adjust clock "03:04:25" Adjust date
Enter name
Download name
Adjust contrast
Jump to Bootloader
Press Enter to sleep
Min 90
Min (...)
Min 05
OFF
19 /0 7 / 2 0 0 3 1 4
®
Baixe um texto do PC para um crachá ü Conecte a RS-232 do PC na UART do Butterfly ü Use joystick para entrar no sub menu “Download name” e pressione ENTER para habilitar a UART ü Inicie qualquer programa de terminal no PC
Ø Use estes parâmetros: # Baudrate: 19200 # Databits: 8 # Parity: None # Stop bits: 1
Ø Na janela do terminal: # <digite o texto> # Pressione ENTER (↵ )
ü O texto fica armazenado na eeprom e corre no display ü Armazena até 25 caracteres
UART
19/07/2003 15
®
Consumo
Os modos Sleep são usados para minimizar o consumo ü Normalmente Power Save Mode é usado.
Mas Idle Mode é usado para: Ø Piezo-element (playing tunes) Ø Comunicação UART
ü No modo Power Save Ø Controlador LCD está rodando (se habilitado) Ø O timer continua ativo
# Usado para sair do modo sleep para • Update do LCD • Update do RTC
ü “Auto Power Save” Ø Desliga o controlador do display antes de entrar no modo sleep:
Power Save Mode
19/07/2003 16
®
Consumo
Consumo e estimativa de duração ü Tocando musicas (incl. text)
Ø Consumo: approx 400uA Ø Duração (executando 24 hours por dia): approx 2 meses
ü Mostrando texto no LCD Ø Consumo: approx 35-40uA
(depende se o texto está correndo ou não) Ø Duração (24 horas por dia): mais de 1,5 ano
ü No modo power save (apenas o RTC ativo) Ø Consumo: approx 9uA Ø Duração: aprox 7 anos
19/07/2003 17
®
Atmel AVR Butterfly