Página 1 de 1

Desligando a SPI em ATMEGA8

MensagemEnviado: 05 Ago 2008 07:06
por Kim Robert
Caros colegas tenho uma duvida com relação porta B do Atmega 8, gostaria de utilizar a porta B inteira para trafegar 8 Bits direto, ou seja a palava completa na porta B, escrevendo em um 373 por exemplo, para ter maior velocidade e utilizaçao em projetos que exige alta velocidade de bytes, mas o problema e que fiz alguns testes escrevendo direto na porta e utilizando todos os bits da mesma a velocidade foi otima, mas apresentou algumas alterações nos valores escritos ou lidos, o problema acho eu deve ser por causa da porta SPI que é compartilhado na porta B e isto modifica os dados pelo fato da Porta SPI forçar os bits permanecerem em Nivel ALTO, e o pior para testar tenho o problema, se desligar a SPI como vou programar o ATMEGA8 novamente, alguem pode me ajudar...? tenho uma solução mas porem com dúvida, gostaria de saber se com o meu Kit STK500 eu consigo gravar o ATMEGA no modo paralelo, ou seja, o STK500 origianal grava via SPI e no Modo Paralelo tambem? existe nele varios modos de gravação e varios tipos de soquetes mas eu nao conheço bem sua utilização, agradeço desde já os colegas com esta duvida.

Reformulando a Pergunta:

Num STK500 eu consigo gravar em SPI e no modo paralelo tambem? :roll:

MensagemEnviado: 05 Ago 2008 08:49
por Maurício
Não conheço o STK, por isso, não posso te ajudar.

Qual compilador vc está usando? É em C?
Eu não tenho certeza, mas, a não ser que vc configure o SPI pra usar dentro do programa, ele não é funcional. Quando se grava, o SPI só entra em ação por causa do gravador forçar o reset pra nível baixo. Isso faz a máquina entrar em programação serial automaticamente.

Vc está alterando a direção da porta quando vc vai ler/escrever? Talvez seja aí o seu problema.

[]'s

MensagemEnviado: 05 Ago 2008 09:11
por RobL
O STK500 grava no modo paralelo e SPI.
No modo paralelo é só colocar no soquete apropriado.

MensagemEnviado: 05 Ago 2008 09:33
por RobL
Esqueci, conforme o Mauricio falou, não tem problema o SPI.
Somente nos chips com JTAG este deve ser desabilitado para usar integralmente as portas no qual usa JTAG.
No ATmega8 não tem JTAG.
Sem dúvida o problema está no seu software ou no seu hardware.

HW:
Tem capacitor de desacoplamento sobre o AVR e o CMOS que está usando na porta?

SW:
Está mudando alguma direção de porta antes de ler os dados, ou sem usar um nop? Se estiver em C seu compilador deve fazer isso automaticamente.

MensagemEnviado: 07 Ago 2008 09:21
por Fandango
se desligar a SPI como vou programar o ATMEGA8 novamente, alguem pode me ajudar...?


Pelo que sei, e como foi citado pelos colegas, o SPI só funciona por causa do reset forçado. Independente disso, só uma idéia (não sei se muito apropriada), mas poderia utilizar um bootloader e fazer as futuras gravações via serial.

MensagemEnviado: 07 Ago 2008 19:21
por Maurício
Boa!

Lembrando tb, que se vc desligar o SPI via fuse-bit (não sei se dá pra fazer isso no mega8), só dá pra reabilitar a máquina, via gravador de alta-tensão.

[]'s

Desabilitar ISP via fuse-bit no Atmega8

MensagemEnviado: 21 Out 2008 20:39
por compredosul
Maurício escreveu:Boa!

Lembrando tb, que se vc desligar o SPI via fuse-bit (não sei se dá pra fazer isso no mega8), só dá pra reabilitar a máquina, via gravador de alta-tensão.

[]'s


Olá pessoal... com certeza se desabilitar o SPI via fuse será necessário usar um gravador de alta-tensão para conseguir gravar novamente no Atmega8, sei porque uso esta técnica para aproveitar todos os pinos do Atmega8 inclusive o reset.