O presente projeto apresenta um programador AVR, para micro-controladores ATMEL, que utiliza comunicação usb, possuindo um soquete zif para programação do chip ATmega8. Este gravador dispensa qualquer alimentação adicional, sendo completamente abastecido pela porta usb do pc. Adicionalmente é incluído um conector DB9 destinado à programação de outros chips, externamente ao gravador. Seu desempenho é bastante rápido sendo bem indicado para a implementação de códigos mais extensos.
Descrição do circuito
A concepção do circuito e do firmware é baseada em um esquema retirado da internet, originalmente desenvolvido por Klaus Lendinger (http://www.klaus-leidinger.de), onde o circuito de comunicação serial (RS232) foi substituído por um FT232R, responsável pela comunicação usb. O programador é compatível com diversos micro-controladores ATMEL, entre eles o ATtyni2313, ATmega8, ATmega16, ATmega32, ATmega64, etc. Contudo, devemos sempre observar em cada caso as correspondentes pinagens, em particular os pinos MISO, MOSI, CLOCK, RESET, GND e +5 VCC. Ao programar um chip externo a este programador, utilizando o conector DB9, devemos lembrar de incluir no circuito um cristal oscilador adequado, tal como especificado pela ATMEL. Este programador é pretensamente um clone dos programadores AVR-ISP910, sendo assim compatível com as plataformas de desenvolvimento AVR-Studio e BASCOM.
O diagrama esquemático (clique aqui) mostra o circuito completo do gravador. Nesta versão, a alimentação é feita diretamente a partir da porta usb do pc, dispensando qualquer outra conexão externa. A chave frontal é usada para ligar e desligar a alimentação do programador e do chip em uso. O circuito é baseado em um microcontrolador ATtiny2313, sendo a comunicação usb (serial) feita por um FT232R, fabricado pela FTDI-CHIP (http://www.ftdichip.com). Tendo em mente o fato de que tal integrado é normalmente disponível somente em sua versão smd, o que complica bastante uma montagem caseira, fica mais pratico utilizarmos o kit USB-2 distribuído pela empresa TATO (http://www.tato.ind.br), que reproduz fielmente o circuito mostrado no datasheet do FT232R. Uma sugestão de montagem é mostrada nas figuras abaixo.
Precauções no uso
- Ao conectar o gravador a porta usb do pc assegure-se que o programador esta desligado.
- Nunca conectar ou retirar um chip do soquete zif, ou do conector externo, com o gravador ligado.
- Evite efetuar qualquer manipulação em um chip enquanto o led vermelho (gravação/operação) estiver brilhando.
- Evite usar o pino 5, do conector de programação externa (DB9), para outra finalidade que não seja a detecção externa de gravador ligado. Lembre que este pino estará conectado diretamente na linha +5 Vcc da porta usb do pc.
- Se você costuma utilizar seu pc para teste e desenvolvimento de circuitos eletrônicos, recomenda-se fortemente o uso de interfaces paralelas, seriais e/ou usb's do tipo off-board. Salienta-se que a danificação de portas on-board possuem conseqüências imprevisíveis. A pior delas é a perda completa da placa-mãe.
Instalação e configuração
A correta operação deste programador depende da instalação dos drivers adequados. Portanto, com o programador desligado, conecte o mesmo a uma porta usb disponível no pc. Aguarde a identificação do novo dispositivo, que usualmente aparece como USB SERIAL PORT. Siga as instruções de instalação, fornecendo o driver solicitado, previamente baixado do website da FTDI-CHIP (http://www.ftdichip.com/FTDrivers.htm), também disponível aqui.
Após a instalação dos drivers, acesse o GERENCIADOR DE DISPOSITIVOS. Acesse as propriedades do dispositivo USB SERIAL PORT, tipicamente disponível no sub-item PORTAS (COM & LPT). Nele aparecerá uma porta serial adicional, usualmente COM8 ou COM9. Isto necessitará de uma mudança, pois o programador AVRProg, parte integrante da plataforma AVR-Studio da ATMEL, identifica somente portas seriais entre COM1 e COM4. Portanto, selecione na janela das propriedades avançadas desse dispositivo uma nova designação para tal porta serial, como indicado aqui. Neste exemplo foi selecionada a denominação COM2 pois esta porta encontrava-se logicamente disponível para uso.
Altere as demais propriedades conforme indicado na figura aqui disponível. Clique OK/OK e feche o gerenciador de dispositivos. Após tal configuração o gravador deverá estar apto para funcionar com o gravador AVRProg. Para testar isto, insira um chip ATmega8 no soquete zif, ligue o programador, execute a plataforma AVR-Studio (versão 4), carregue o projeto de sua preferência, compile e acesse a guia TOOLS e depois AVR Prog. Selecione então o chip ATmega8 e proceda ao teste de gravação, leitura e verificação. Se a montagem estiver correta isto deverá ter pleno sucesso. Observe que a chave liga/desliga deverá estar evidentemente acionada para que o gravador AVRProg identifique corretamente o programador.
A plataforma BASCOM (versão 1.11.8.3 ou similar) não é inteiramente compatível com a atual versão deste programador. Ao selecionarmos AVR ISP PROGRAMMER podemos ver que a identificação, apagamento, leitura e verificação dos micro-controladores ocorre corretamente. Contudo, via de regra a gravação simplesmente não é executada. Para contornar isto selecione EXTERNAL PROGRAMMER, indicando o caminho para o programa AVRPROG.EXE (tipicamente localizado no diretório "C:\Arquivos de programas\AVR Studio\AvrProg\"). Um outro problema que ocorre com o BASCOM esta relacionado com a detecção da serial em uso. Para corrigir isto use o REGEDIT e adicione a referencia COM, com os parâmetros 115200,n,8,1 em HKEY_CURRENT_USER/BASAVR.INI/AVRISP. Isto é indicado na figura disponível aqui.
Gravação do firmware
Para que o programador funcione, o chip ATtiny2313 (ver diagrama esquemático) deverá ser evidentemente gravado com um programa adequado, o FIRMWARE. O atual firmware foi escrito por Klaus Leidinger, podendo ser obtido diretamente a partir de sua homepage ou baixado aqui. Em sua pagina temos ainda o respectivo código fonte que pode ser adaptado conforme as necessidades particulares de cada usuário. Na presente montagem o ATtiny2313 foi programado usando a plataforma BASCOM, em conjunto com um gravador AVR-ISP com comunicação paralela. Contudo, uma especial atenção deve ser dada aos FUSE BITS, que devem ser configurados antes da correspondente gravação, conforme indicado na figura aqui disponível. Para completar a gravação, basta carregar o FIRMWARE a partir do arquivo HEX mencionado acima e proceder a gravação/verificação de forma usual.
Errata
O diagrama esquemático que disponibilizei inicialmente (versão não revisada) continha um erro onde alguns pinos do 74HC126 estavam invertidos. Tal inversão não implicava na danificação do circuito, contudo não habilitava seu correto funcionamento. As correções estão disponíveis na atual versão do diagrama esquemático. Lamento qualquer inconveniente que isso possa ter causado.
Downloads
- Para o visualizar o diagrama esquematico em formato GIF clique aqui.
- Para o visualizar a montagem em formato JPG clique aqui.
- Para o visualizar a configuração da porta de comunicação em formato GIF clique aqui.
- Para o visualizar a edição do registro em formato GIF clique aqui.
- Para o visualizar configuração dos fuse-bits em formato JPG clique aqui.
- Para o download completo deste projeto em formato PDF clique aqui.
NOTA: O presente projeto possui finalidades didáticas sem pretensões comerciais. Fico isento de qualquer responsabilidade pelo uso, montagem, aplicação ou reprodução desse projeto, integramente ou em partes. Em especial, não me responsabilizo por qualquer dano que pode ser por ele provocado. Para questões adicionais, sugestões e comentários favor entrar em contato via o email: Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.