GRAVADOR ARNE_AVR1



O circuito


Meu pequeno gravador foi baseado em um outro gravador muito difundido entre usuários deste microcontrolador, o STK200 da Kanda. Este gravador utiliza o modo ISP para gravação - In-System (ISP) e seu controle é feito através da porta paralela de um PC.

O circuito do gravador Arne_AVR1 ou ET-AVR1 (nome utilizado pela revista Eletrônica Total) é mostrado na figura abaixo. O circuito é formado basicamente por um único CI que atua como buffer para a porta paralela do PC. Trata-se do CI 74HC244 com oito portas tipo buffer TTL


O conector CN1 é um DB25 fêmea com a mesma pinagem da porta paralela de um PC. O conector ISP1 é um conector padrão Header Box com 10 pinos. A pinagem deste conector segue o padrão adotado pela maioria das placas de avaliação encontradas no mercado para microcontroladores AVR. Esta pinagem e o formato do conector podem ser vistos na figura abaixo.

No pino 3 do conector ISP1 do gravador, inseri um diodo (D3) com seu catodo ligado ao terra. Desta forma é possível montar do lado do circuito em teste/gravação um LED (com resistor limitador de corrente) para indicar a operação do gravador.

O conector ISP2 (CN2) permite ligar todos os seis fios necessários para a gravação de um microcontrolador AVR através de uma barra de pinos comum. Todos os sinais necessários a gravação estão presentes nesta barra, porém sem que a disposição dos pinos siga qualquer padrão. Este conector foi inserido no circuito para facilitar a vida daqueles que desejam utilizar seu gravador em suas próprias placas com o microcontrolador AVR, ou ainda utilizar o gravador em conjunto com uma matriz de contatos, sem a necessidade de se montar um conector padrão ISP AVR. Eu uso bastante esta opção.

O gravador retira a alimentação do circuito onde o microcontrolador estiver inserido e o diodo D1, apesar de oferecer uma pequena queda na tensão, não atrapalha o funcionamento do gravador e ainda impede que o mesmo e/ou a porta paralela sejam danificadas, caso a alimentação para o gravador seja invertida.

O LED D2 está ligado ao VCC de gravação e ao pino 4 da porta paralela. Sempre que este pino for levado a nível lógico “0”, para habilitar CI1, o LED D2 indicará isso. Desta forma tem-se a indicação de que o gravador está em operação (gravação, leitura ou verificação).

O capacitor C1 é um capacitor de desacoplamento para CI1, servindo assim como “filtro” contra transientes. R1 é um resistor de “pull-up” para o pino MISO.

O diodo D3 foi inserido no circuito para permitir monitorar a operação do gravador no circuito de testes. Para isso basta ligar um LED com resistor limitador ao pino 3 do conector ISP1.



Programas para uso com o gravador


Usuários Windows - Programa PonyProg

Para utilizar o gravador Arne_AVR1 sugiro o programa PonyProg que pode ser obtido gratuitamente no site http://www.lancos.com. O programa possui um “add” (também disponível no site) que permite que os menus e mensagens sejam grafados em língua portuguesa. O PonyProg funciona em ambiente Windows 98/Me/XP.

Não entrarei nos detalhes sobre a instalação do PonyProg, já que a mesma é bem simples e segue os mesmos padrões da maioria dos aplicativos instalados no sistema operacional Windows

Para o uso no sistema operacional Windows XP recomendo a liberação da porta paralela através do aplicativo UserPort. Esta liberação deve ser feita antes do uso do PonyProg. Um passo-a-passo para instalação do UserPort pode ser visto aqui. Neste exemplo, o UserPort foi demonstrado para a liberação da porta paralela para a utilização do programa Super LOGO. Porém qualquer programa que faça uso da porta paralela, no Windows XP, requer o uso de um aplicativo como o UserPort. Para o caso do Windows 98 e Windows Me não é necessário o uso do UserPort.

Ao executar o PonyProg o aplicativo recomendará ao usuário que faça uma “calibração”. Está é feita através do menu “Configurações”. É importante que nenhum outro aplicativo esteja em execução neste momento. Siga as instruções do programa. 

Você agora só precisa configurar o gravador que deseja utilizar e a porta paralela onde o mesmo será ligado. Clique no menu “Configuração -> Configuração de Interface” e na tela que ira surgir selecione em “Configuração da Porta E/S – Paralelo - AVR ISP I/O - LPT1”. Clique em “Aceitar” para finalizar a configuração. Desta forma o programa PonyProg estará configurado para uso com gravador ET-AVR1.

Usuários Linux - Programa AVRDUDE

O gravador Arne_AVR-1 também pode ser utilizado com o Linux, através do programa AVRDUDE. Para instalar o AVRDUDE em seu computador utilize o comando:

sudo apt-get install avrdude

O apt-get está disponível na maioria das distribuições baseadas no Debian.

Após a instalação o uso é bastante simples. Você pode consultar o manual do aplicativo através do comando:

man avrdude

Você vai perceber que ele é bem simples e seus comandos podem ser inseridos dentro do arquivo Makefile, o que facilitará bastante a sua vida. Veja um exemplo:

#------------------------------------------------------------------------------------
#Microcontrolador
MCU = atmega162

#------------------------------------------------------------------------------------
#Gravador
AVRDUDE = avrdude

#------------------------------------------------------------------------------------
#Configurações para o gravador utilizado
AVRDUDE_PROGRAMMER = stk200
AVRDUDE_PORT = /dev/lpt0
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
AVRDUDE_VERIFY_FLASH = -U flash:v:$(TARGET).hex
AVRDUDE_WRITE_FUSE = -U lfuse:w:0xFF:m -U hfuse:w:0xD5:m -U efuse:w:0xF9:m
AVRDUDE_READ_EEPROM = -U eeprom:r:eeprom.txt:h

#------------------------------------------------------------------------------------
#Configurações dos flags do gravador utilizado para gravar na FLASH
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT
AVRDUDE_FLAGS += -c $(AVRDUDE_PROGRAMMER)

#-------------------------------------------------------------------------------------
#Execução dos comandos

Escrita na FLASH: $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
Verifivação da FLASH: $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_VERIFY_FLASH)
Escrita dos Fuses: $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FUSE)
Leitura da EEPROM: $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_READ_EEPROM)

Eu usei este gravador algumas máquinas com sucesso absoluto em todas. A descrição dos computadores, assim como os sistemas operacionais utilizados estão na tabela abaixo.


Descrição dos computadores utilizados para teste

Máquina utilizada nos testes

Sistema operacional

ATHLON XP 2000+

Windows XP Professional SP3 com UserPort instalado para liberar LPT / Linux Debian 4

ATHLON 64 3000+ Linux Ubuntu 8.04 64
AMD Sempron 2.6 Linux Debian 4

Pentium III 750 MHz

Windows ME atualizado / Linux Kurumim 7

Pentium MMX166

Windows 98 atualizado / Linux Kurumim 7

Pentium MMX200

Windows 98 atualizado / Linux Kurumim 7




Downloads:

- Circuito elétrico
- Lay-out do circuito impresso completo
- Lay-out do circuito impresso botton (não invertido)
- Lay-out do circuito impresso top (não invertido)
- Lista de materiais



Este projeto foi publicado, com minha autorização, na revista Eletrônica Total nrº 113 de Janeiro/Fevereiro de 2006.


Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.