Vamos ver se escrevendo uns artigos sobre a teoria eu me animo a ir para a prática...
A maior parte do tempo a carga de programas no ATmega utiliza outros dois métodos:
- Bootloader - onde um programa curto na Flash recebe (tipicamente pela serial) comandos para leitura, gravação e verificação da Flash, EEProm e fuses. É o que ocorre quando você carrega um sketch via a IDE do Arduino.
- Programação Serial - onde os comandos são recebidos pela SPI enquanto o pino de Reset é mantido em nível baixo. É a forma normalmente usada para gravar o bootloader do Arduino em um ATmega "zerado".
Estes dois modos são bastante simples e podem ser usados com o ATmega ligado ao circuito, porém tem algumas limitações:
- O uso do bootloader requer que ele tenha sido gravado antes, que os fuses estejam programados corretamente, que os pinos seriais estejam livres e que o clock configurado esteja presente.
- A programação serial requer que os fuses estejam com um valor razoável (ela pode ser desabilitada através dos fuses), que os pinos de SPI estejam livre e que o clock configurado esteja presente.
Sem um programador paralelo, uma programação desastrada do ATmega pode deixá-lo inutilizável.
A programação paralela é descrita em detalhes no datasheet completo do ATmega.
Olhando para a figura no início do artigo, percebemos que existe um número grande de sinais envolvidos. De um modo bem superficial:
- Para usar a programação paralela é necessário colocar 12V no pino RESET. É daí que vem o nome "programação alta voltagem".
- Os pinos XA0 e XA1 determinam a ação que será feita quando XTAL1 for pulsado: escrita de comando, endereço ou dado.
- Os endereços de Flash e EEPROM e os dados da Flash são maiores que um byte, os sinais BS1 e BS2 são usados para indicar se está sendo transferido o byte mais ou menos significativo.
- OE, WR e PAGEL controlam a operação
- RDY indica quando o ATmega está pronto para receber um comando
- DATA são os 8 bits de dados
Nos próximos posts vamos ver com detalhes como usar a programação paralela.
Nenhum comentário:
Postar um comentário