terça-feira, 1 de fevereiro de 2011

Programador AVR

Foi utilizado o esquema de Jerry MENG por razões de compatibilidade com o software ele é a adaptação lógica das instruções dadas no manual do AT90S1200 para a programação do mesmo em modo série: encontramos a entrada das instruções (MOSI), e a saída de dados (MISO), o relógio que gere a partilha de dados e instruções (SCK) ; a isso tudo tem de adicionar a entrada RESET, que permite passar em modo programação, e XTAL1 que da o ritmo de funcionamento ao microprocessador; o sinal enviado a XTAL1 dispensa-nos de acrescentar o habitual cristal e os dois condensadores no programador.



Esquema do programador



As saídas D0, D1, D2 e D7 servem para alimentar o circuito, que assim não necessita de alimentação exterior devido ao seu baixo consumo mesmo durante a programação: Uma versão anterior utilizava diodos no lugar das resistências mas devido ao baixo valor da corrente a quedo de tensão produzida pelas resistências não é significativa; atenção é indispensável utilizar resistências, não se pode ligar directamente as saídas, porque se o programador fosse ligado antes de o software de programação correr, o estado dos bits não seria fixado e poderia haver conflitos entre as saídas que tem níveis lógicos diferentes (não se pode ligar junto uma saída a '0' com uma saída a '1' !) ; as resistências servem para limitar a potencia da tensão e o Jerry diz que no caso do AT90S1200, uma saída é suficiente para alimentar o circuito, neste caso ela pode ser ligada directamente sem resistências mas eu não optei por essa solução , mas estão livres de experimentar ...
 

Há que assinalar que a programação em modo série não permite de programar o fusível RCEN (R-C Enable). Esta funcionalidade não esta activa por defeito, quando activa, dispensa-nos de introduzir um cristal nas montagens, a frequência de relógio e gerada por um circuito RC interno ( ela varia entre 0,3 e 1,6 MHz) consoante a tensão e a temperatura, esse bit deve estar activo para um programador em modo paralelo, mas isso não nos vai interessar no caso da realização da caixinha, por isso isto é dado só para informação....

Integração do circuito numa ficha DB25

vista interior
 

 


A parte superior da ficha tem de ser furada para por o suporte 20 pinos de IC, um bocado de esponja fui posto entre a placa e a ficha, depois é só soldar o suporte 20 pinos a placa..
 

detalhe do circuito :

 



A fotografia em cima mostra que tem de ligar alguns fios, faça-o com o esquema eléctrico debaixo dos olhos. Aqui só foram utilizadas três resistências de 220 Ohm, pode sempre por as quatro mas não é indispensável.. A ficha DB25 é uma ficha macho ( a saída no PC é fêmea).
 

Vista da montagem acabada :

  





Descrição do software :
O software de programação esta escrito em C++ Builder 3.0, e funciona em Windows 95 e 98 ; para uma utilização em Windows NT, 2000 ou XP, tem de instalar o driver UserPort (ver mais a frente).O seu funcionamento e bastante intuitivo, ele possui dois buffers, um para a memória FLASH (O programa), o outro para a memória EEPROM ; o conteúdo de cada buffer pode ser carregado de um ficheiro, ou gravado num ficheiro, que terá o formato Intel HEXA o mais clássico (dados em 8 bits, endereços em 16 bits) ; o comando "Lire" carrega para o buffer escolhido (FLASH ou EEPROM) com os valores ( se o bit de protecção nº2 não estiver activo).
 

 



O GUI do programa esta representado aqui em cima ; diversos comandos são acessíveis ou pelos botões ou pelos menus (e atalhos de teclado associados). Começar por carregar do ficheiro HEX o conteúdo do do buffer FLASH (e eventualmente o do buffer da EEPROM), depois clique no botão [Configuração] para fazer aparecer a janela aqui em baixo :
 

 



Em primeiro, escolher a porta paralela activa (em geral LPT1), depois escolher o tempo do impulso "Duração do impulso de programação" ; num computador antigo de tipo Pentium 200 MMX (se alguém tem um museu de informática :-) ), o valor mínimo (TEMPO:1000) chega ; se ocorrerem erros de programação com PC's mais rápidos, pode por o processo de programação mais lento, para isso aumente o valor de "TEMPO" ; saiba que normalmente a programação completa dura mais o menos vinte segundos ; com um Pentium IV 1,7 GHz, para este caso por o valor do "TEMPO" a 5000. Pode em seguida escolher a diversas tarefas a realizar durante a sequência de programação : pode ser uma sequência completa (activar as opções todas), ou um simples apagamento, uma comparação, etc. ; e evidente que uma programação da AT sem a apagar primeiro, não faria sentido ; mas pode-se re-programar a AT sem a apagar totalmente, se nenhum bit de protecção não foi activado, a opção "Desactivar bit de protecção nº1" proíbe a modificação da FLASH e da EEPROM, mas autoriza a leitura; a opção "Desactivar bit de protecção n°2" proíbe a releitura, neste caso os valores lidos são :
 



para a FLASH : 0000 0101 0202 0303 0404 0505 0606 0707, etc.


para a EEPROM : 00 01 02 03 04 05 06 07, etc.


A activação do bit 2 sozinho não parece ter efeito.
 

Volte em seguida ao programa e lance a sequência de programação em carregando em "Programação": Também pode ler o "Device Code", um grupo de três octets que identifica o fabricante e o modelo da AT.
 

----------------------------------------------------------------------------------------------------------------------


Download do programa :



Qualquer problema é só me deixar recado com o email que envio os arquivos, abraços tony

O ficheiro AVR12.ZIP tem o tamanho de 242KB ; uma vez descomprimido dá o programa AVR12.EXE (510KB), versão 1.2, para Windows 95 ou 98 (e NT/2000/XP com os drivers específicos).
 


Clique para começar o download de
 avr12.zip 

Clique para começar o download de
 avr12_pt.zip em português!
Exclusivo #Robotica @PtNet


Alteração no programa :
 

O 11-12-2001, novidades da versão 1.2 :
- Tomada em conta de ficheiros HEX fornecidos por o AVRSTUDIO 3.52.
- Salvaguarda de todos de todos os parâmetros no registo do Windows e não no ficheiro 'AVR_WIN.CFG' que já não é necessário ; o tempo fica assim guardado mesmo em caso de mudança de pasta; os parâmetros salvaguardados são as 7 escolha de opções, os nomes e caminhos do ultimo ficheiro aberto ou gravado, a porta paralela utilizada e a posição da janela.


Instalação do driver para Windows NT, 2000 ou XP :
 
O acesso directo a porta paralela não é possível em Windows NT, 2000 e XP e traduz-se por a aparição de uma mensagem de erro de tipo "Privileged instruction". Para isso é necessário instalar o driver UserPort.

Seguir rigorosamente estes passos para a instalação do driver (senão na funciona) :

1º Descarregar o ficheiro 'userport.zip' (33KB)

2º Copie o ficheiro userport.sys na pasta seguinte :
- para Windows NT/2000 "C:WinNTsystem32drivers"
- para Windows XP "C:Windowssystem32drivers"

3º Execute o programa userport.exe ; ele vai actualizar a base de registos do Windows.

Nenhum comentário:

Postar um comentário