segunda-feira, julho 25, 2011

AVR: Preparando para Testar Programadores

Estou finalmente chegando próximo da montagem e teste de alguns programadores para microcontroladores AVR. Neste post descrevo alguns preparativos.

Sinais Usados na Programação

Os programadores que vou testar serão do tipo SPI (serial), que requer seis sinais:
  • GND, o bom e velho terra (referência para os demais sinais).
  • VCC, a alimentação para o microcontrolador (1.8 a 5.5V, vamos usar 5V). Esta alimentação deve ir também para o pino AVCC nos processadores ATmega.
  • RESET, que deve ser mantido em 0 durante toda a programação.
  • SCK, o clock da comunicação.
  • MOSI, dados do programador para o microcontrolador.
  • MISO, dados do microcontrolador para o programador.
Atenção que os sinais SCK/MOSI/MISO para o programador podem não ser os mesmos da interface SPI do microcontrolador (quando presente). No caso do ATmega328, ATmega168 (usados no Arduino), os pinos são os mesmos. A figura abaixo mostra os pinos utilizados na programação no ATmega328 (ou 168) e no ATTyni2313:


Um detalhe é que a frequência máxima para o clock da programação (SCK) é determinado pelo clock do processador. Isto pode causar problemas quando é usado um clock baixo (como a fonte interna de 128K ou um cristal externo de 32KHz).

Conectores Padrão de Programação

Existem dois padrões para os conectores de programação colocados nas placas para programação "in circuit":


Obs: Para permitir a programação "in circuit" é necessário tomar certos cuidados com os circuitos conectados aos pinos de programação. Estes cuidados são descritos na documentação da Atmel.

Programando Fora do Circuito

A programação "fora do circuito" pode ser feita facilmente em uma breadboard ou em uma placa preparada com este fim (com um soquete para o microcontrolador). Além dos já mencionados seis sinais é necessário a fonte para o clock, de acordo com a configuração do microcontrolador. Tipicamente isto significa ter um cristal ou ressonador conectado aos pinos XTAL1 e XTAL2.

Nenhum comentário: