6 - Atmega328

Conteúdo da aula sobre as características e funcionamento interno do microcontrolaro ATmega328 para o curso de engenharia elétrica da faculdade Metropolitana de Porto Velho, ministrada pelo professor Autran (www.profautran.com.br)

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Rocket clouds
6 - Atmega328 por Mind Map: 6 - Atmega328

1. A familia AVR

1.1. Atmega328

1.2. Todos os modelos compartilham arquitetura e instruções básicas

1.2.1. TinyAVR

1.2.1.1. 1Kb de Flash

1.2.1.2. 64B de Sram

1.2.1.3. 64B de EEPROM

1.2.1.4. 32B para registradores

1.2.1.5. TinyAvr

1.2.2. Mega Avr

1.2.2.1. Real Time Clock Counter

1.2.2.2. Versões Especiais para aplicações automotivas

1.2.2.3. Suporte Encriptação de Programa

1.2.3. Xmega

1.2.3.1. Avr Xmega

1.3. Evolução

1.3.1. Atmega8

1.3.2. Atmega168

1.3.3. Atmega328

1.3.4. Atmega2560

1.4. Caracteristicas

1.4.1. Arquitetura RISC

1.4.2. Compatibilidade de Código

1.4.3. Compatibilidade de Pinos

1.4.4. Comparativo de Velocidade AVR Intel 8051 e PIC16F

1.4.4.1. Comparativo

1.5. A família

2. Diagrama de Blocos

2.1. Diagrama de Blocos

2.2. arquitetura Harvard 2 Vias entre CPU e Memória

2.2.1. largura de 8 bits

2.2.2. Harvard Modificada

2.2.2.1. memória flash armazena dados

2.2.2.2. LPM Copia o byte apontado pelo registrador Z para um registrador de uso geral

2.3. memória eeprom

2.4. 3 portas E/S digitais

2.4.1. port B,C,D

2.5. 3 timers

2.5.1. 2 de 8 bits

2.5.1.1. Timer 0 e Timer 2

2.5.2. 1 de 16 bits

2.5.2.1. Timer 1

2.6. conversor AD

2.6.1. 10 bits de resolução

2.6.2. 8 opções de entrada

2.6.3. 3 opções de referencia

2.6.3.1. tensão de alimentação ( AVcc )

2.6.3.2. referencia interna (1,1V)

2.6.3.3. tensão externa ( Aref )

2.7. comparador lógico

2.7.1. inicia uma interrupção ou um timer quando a voltagem de sua entrada positiva fica maior que a voltagem de sua entrada negativa

2.7.2. teste um sinal sem converter

2.8. interface seriais

2.8.1. SPI

2.8.2. TWI(l2c)

2.8.3. USART

2.9. memória Flash

2.9.1. onde fica o código

2.9.2. memória ROM

2.9.3. Mais lenta que a sRAM

2.9.4. operação de escrita

2.9.4.1. muda 1 para 0 sem problemas

2.9.4.2. para mudar o 0 para 1 e necessário operação de apagamento

2.9.5. gravando a memória flash

2.9.5.1. programador externo

2.9.5.2. programador serial SPI

2.9.5.3. programação por software

2.9.5.4. O número de escritas/apagamentos é limitado; a Atmel garante um mínimo de 10000 operações no ATmega328.

2.9.5.5. Para fins de apagamento e gravação a Flash é dividida em páginas de 128 bytes. As operações afetam sempre uma página inteira.

3. CPU

3.1. Diagrama da CPU

3.2. Program Counter

3.3. pipeline de 1 nivel

3.4. 32 registradores de uso geral

3.4.1. 8 bits

3.4.2. os seis ultimos podem ser usados como 3 de 16 bits

3.5. ALU

3.5.1. 8 Bits

3.5.2. operações realizadas em 1 ciclo

3.5.2.1. multiplicação em 2 ciclos

4. memória

4.1. registradores de uso geral

4.2. registradores de entrada e saida

4.3. Sram

5. periféricos internos

5.1. Pinagem

5.2. Na placa

5.3. dos 28 pinos 23 podem ser usados como E/S

5.3.1. 3 portas

5.3.1.1. PC

5.3.1.2. PB

5.3.1.3. PD

5.3.2. todos possuem resistor e diodos de proteção

5.3.3. podem ser usados para gerar uma interrupção

5.4. todos os pinos possuem funções alternativas

6. BootLoader

6.1. primeiro software a ser executado pelo controlador

6.2. carrega na Flash o software que recebe da serial SPI

6.2.1. STK-500

6.3. A flash é dividida em 2 partes

6.3.1. Boot Loader

6.3.2. Aplicação

6.4. optiboot

6.4.1. serve em 512 bytes

6.4.2. 19200

6.5. RWW Read While Write

6.5.1. executa o que esta na NRWW

6.6. NRWW No Read While Write

6.6.1. para o processador

6.7. considerações

6.7.1. inicia no reset

6.7.1.1. precisa dar reset para enviar o programa

6.7.1.1.1. corrigido no UNO

7. programação

7.1. linguagem

7.1.1. Escolha da linguagem

7.1.1.1. examinar cuidadosamente os requisitos de velocidade de execução, de espaço de memória e o tempo que vai demandar para se fazer o programa

7.1.1.2. Assembler X C

7.1.1.2.1. C

7.1.1.2.2. Assembler

7.1.2. alto nível

7.1.2.1. C /C++

7.1.2.1.1. Os programas na linguagem C são mais fáceis de se escrever e compreender

7.1.2.1.2. são mais lentos para serem executados que os programas assembler

7.1.2.2. compilador

7.1.3. Comparativo

7.1.4. baixo nível

7.1.4.1. assembler

7.1.4.1.1. trabalho de programação lento

7.1.4.1.2. melhores resultados quando se pretende poupar espaço de memória e aumentar a velocidade de execução do programa

7.1.4.2. montador

7.1.5. IDE

7.1.5.1. Integrated Development Enviroment

7.1.5.2. Ambiente de Desenvolvimento Integrado

7.1.5.3. disponibilizam uma interface contendo o editor de texto, o compilador e ferramentas para debug num mesmo programa

7.1.6. Simuladores

7.1.6.1. capazes de simular tanto o funcionamento do microprocessador/microcontrolador, quanto hardwares externos conectados a ele.

7.2. história

7.2.1. Até os anos 2000

7.2.1.1. Duas familias

7.2.1.1.1. 8051 da INTEL

7.2.1.1.2. PIC da Microchip.

7.2.1.2. Necessitava de conhecimento profundo do hardware

7.2.1.3. Muitas Opções diferentes nas duas familias

7.2.1.4. Ferramentas de programação deficientes

7.2.1.5. Sem Internet

7.2.1.6. Somente linguagem Assembler

7.2.1.7. cada microcontrolador tinha um modo diferente de ser programado

7.2.1.7.1. micro controlador preferido

7.2.2. Lançamento da família AVR

7.2.2.1. O BOOM do Arduino

7.2.2.1.1. oferta de placas

7.2.2.1.2. facilidade de conexão a outros dispositivos

7.2.2.1.3. inteligência do software (IDE)

7.2.2.1.4. Comunidade

7.2.2.1.5. Open Source

7.2.2.1.6. Não necessita de conhecimento profundo de hardware