segunda-feira, agosto 01, 2011

AVR: Programador STK-200

Os programadores que nos vimos nos posts anteriores são extremamente simples. Veremos agora um programador também para conexão à porta paralela de um PC, porém com um circuito mais sofisticado.

Princípio de Operação

Os programadores do tipo STK-200 utilizam um buffer/line driver (tipicamente um 74HC244) entre os sinais da porta porta paralela e os sinais do microcontrolador. Isto deixa o circuito mais confiável e resistente.

O circuito que testei foi o seguinte:


O 74HC244 possui dois conjuntos de quatro buffers, cada um controlado por um sinal de enable. Quando o sinal de enable está em nível 1, as saídas do buffers estão desconectadas. Quando o sinal de enable está em nível 0, as saídas dos buffers acompanham as entradas.

Dois pinos da porta paralela (4 e 5) controlam os enables dos buffers. Os sinais dos pinos 6, 7, 9 e 10 correspondem ao sinais de programação SCK, MOSI, RESET e MISO. O pino 8 controla um LED que indicará que uma programação está em curso.

O circuito inclui alguns recursos de proteção (vide as referências): um diodo na alimentação, resistores nos pinos da porta paralela, e filtros (resistor mais capacitor) nos sinais MISO, MOSI e SCK.

Montagem de Teste

A bagunça abaixo é a montagem em protoboard; este é o tipo de circuito que merece uma montagem em placa de circuito impresso.



Testes

Rodei com sucesso os mesmos testes que fiz com os outros programadores. Existem duas opções para a identificação do programador no AVRDUDE: stk200 e pony-stk200. A segunda opção aciona o LED durante a programação. Abaixo a saída do teste de gravação e um vídeo do funcionamento.





Referências

Mais uma vez, o ponto de partida foi este artigo, que obteve o circuito desta página (em alemão). O meu circuito aproveita os aperfeiçoamentos desta outra página, as explicações estão nesta discussão.

Nenhum comentário: