Problemas com clock Atmega8-16PU

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Problemas com clock Atmega8-16PU

Mensagempor 51 » 18 Mar 2010 11:14

Um amigo me passou este problema interessante, como nunca mexi com Atmega, descrevo aqui com esperança de aparecer alguma luz:
_Durante alguns anos ele usou um Atmega8-16PI num produto bem simples, como ele vende pouco, o lote inicial comprado de uC durou 3 anos, no inicio do mês ele comprou um lote de novos Atmega8, só que surpreendentemente, estes c.i.s novos, Atmega8-16PU, gravam e conferem normalmente, mas o programa não roda.
Verifiquei que o cristal, de 12Mhz, não esta oscilando!
Testei diversos cristais com algumas variações nos valores dos capacitores e nada!
Me intriga como isso pode ocorrer... A empresa fornecedora garante que não é lote com defeito...
51
Administrador
 
Mensagens: 325
Registrado em: 12 Out 2006 12:37
Localização: Americana - SP

Mensagempor Francesco » 18 Mar 2010 11:19

Esse chip tem um "Internal RC", que você condifura na hora da gravação. Vocês checaram isso? Que gravador estão usando?

Francesco
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor 51 » 18 Mar 2010 11:32

As configurações são rigorosamente as mesmas para os dois chips, o gravador, não se sabe bem porque o cara que fez sumiu à alguns anos, parece que foi feito por ele mesmo, inclusive o software, que não encontro referencia alguma à respeito na net, de qualquer forma ele não permite alterar absolutamente nada na configuração, só grava, lê e confere.
A sequencia exata de teste é:
_Coloco um atmega8-16PI no soquete dip da pci, gravo o fw, testo e comprovo que funciona
_Retiro o atmega8-16PI e coloco o novo atmega8-16PU no lugar, gravo o fw e não funciona
51
Administrador
 
Mensagens: 325
Registrado em: 12 Out 2006 12:37
Localização: Americana - SP

Mensagempor Francesco » 18 Mar 2010 11:42

Se isso acontece com todos os ATmega8 novos, e não acontece com os antivos... de cara você desconfia que é o lote que veio com defeito.

Mas já que é para esgotar as possibilidades, vai aí algumas coisas.

1) Você está medindo a oscilador com o osciloscópio, imagino eu. Está em X10? Em X1, boa parte dos osciloscópios matam o sinal do cristal.

2) Internamente, a porta do cristal tem um inversor. Se um dos pinos estiver em 0V, o outro tem que estar em 5V. Qualquer coisa diferente disso é sinal que o chip está queimado.

3) Uma maneira fácil de testar é com um multímetro. Ele tem uma impedância interna bacana, que não costuma interferir no cristal. Se sua fonte for de 5V, você vai medir algo em torno de 2V a 2,2V sobre os pinos do cristal. Se você medir 0V ou 5V, tem algo errado pela mesma explicação que falei no (2). Se a alimentação for de 3,3V você deve esperar uma tensão menor, mas o princípio é o mesmo.

4) Uma alternativa bacana também é habilitar o oscilador interno. Lógico que ele não vai estar na velocidade que vocês esperam para o firmware funcionar bem, mas pelo menos vai saber se o sistema roda ou não.

Boa sorte.

Francesco
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor enigmabox » 18 Mar 2010 12:55

Tenho alguns Atmega8 , 16 e 32 aqui, vieram de fabrica com o oscilador RC como default. Depois se quiser mudar, tem que configurar na IDE do programa gravador.
Pode ser que quando vc coloca outro Atmega novo para gravar a IDE lê a configuração deste, desconfigurando o gravador, por isso vá na pagina que lê as configurações do oscilador e confirme ou faça a leitura das configurações do oscilador.
Se usa a freq. do RC interno, pode não bater com outro Atmega, se tiver usando comunicação serial, pode não funcionar corretamente.
Para tirar a duvida se o Xtal tá oscilando, meça com o osciloscopio, como já foi falado.
enigmabox
 

Mensagempor RobL » 22 Mar 2010 17:58

As configurações são rigorosamente as mesmas para os dois chips, o gravador, não se sabe bem porque o cara que fez sumiu à alguns anos, parece que foi feito por ele mesmo,


Você consegue ler os fuses dos dois chips após gravar ?

Não é comum um gravador "caseiro" gravar automaticamente a configuração. Normalmente é feito na mão ou por um arquivo batch (.bat) que "automatiza" a gravação.

Não tenha dúvidas que a configuração que está no antigo, não está gravada no novo chip.
Seu gravador consegue ler a configuração dos fuses hi, low ?
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor 51 » 24 Mar 2010 09:20

Sim, consegue, estão iguais nos 2
51
Administrador
 
Mensagens: 325
Registrado em: 12 Out 2006 12:37
Localização: Americana - SP

Mensagempor RobL » 24 Mar 2010 11:01

Supondo que não há nada errado nos fuses então vamos para o hardware.
Realmente há diferença nos osciladores entre nova e velha geração, mas quado isto ocorre, quase sempre acrescenta alguma letra no código do novo chip, como um A, etc.

Como já foi testado troca do cristal e capacitores, tente mudar o ganho do oscilador. Isto é feito configurando o oscilador para uma F mais alta. A questão é que 12Mhz já deve estar configurado para o maior ganho, para esta faixa.
Verifique se o bit 4 "CKOPT" do fuse hi está com zero (programado).
Se não estiver mude para zero e teste.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56


Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x