Ajuda SPI

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Ajuda SPI

Mensagempor Andredeos » 10 Dez 2007 16:06

Olá, estou desenvolvendo uma aplicação no LPC2148 que utiliza o barramento SPI. Ja fiz varios testes e o codigo estava estável, porem, de uma hora para outra parou de funcionar. Aparentemente, o clock da SPI não esta sendo gerado, o sinal para abilitar o escravo funcina, mas o clock eu não consigo observar com o osciloscopio. As outra funções, como IO's, timer, etc continuam funcionando.
Será que é possivel que um periférico "queime" e o resto do microcontrolador continue funcionando?
Alguem já passou por isso?

Valeu.
Andredeos
Bit
 
Mensagens: 49
Registrado em: 09 Set 2007 10:56

Re: Ajuda SPI

Mensagempor Kremer » 11 Dez 2007 07:46

Andredeos escreveu:Será que é possivel que um periférico "queime" e o resto do microcontrolador continue funcionando?
Alguem já passou por isso?
Valeu.


Olá Andre

Não diria queimar o periférico, mas sim a sua interface com os pinos, e fica mais fácil ainda quando se tem lqfp´s de muitos pinos com fios wireup soldados diretamente nos terminais, o que foi o meu caso com o I2C de uma gambiarra que eu fiz com uma placa com coldfire. Soltou o fio, correu solto pela placa, foi parar nos 5V. É a velha lei que todos conhecemos. Resultado, não queimou o periférico, mas sim o fet de saída do pino (é dreno aberto). O coldfire, assim como os LPC´s, tem pinos de multiplas funções. No meu caso resolveu direcionar as linhas do módulo I2C para outros pinos, e tudo OK. Não mexo com o 2148, mas olhando o manual percebe-se que não existe esta alternativa. O jeito é utilizar a outra SPI dele pra testar (a SPI1 por exemplo), pra ver se o modulo está OK.

Kremer
Avatar do usuário
Kremer
Nibble
 
Mensagens: 82
Registrado em: 25 Jul 2007 17:15
Localização: Florianópolis

Mensagempor Andredeos » 11 Dez 2007 08:53

Acho dificil isso ter acontecido, pois nao acontedu nenhum acidente com a placa, e ela esta montada sem gambiarras. Mas realmente esta muito estranho, parou do nada.

Obrigado.
Andredeos
Bit
 
Mensagens: 49
Registrado em: 09 Set 2007 10:56

Mensagempor Renato » 21 Mai 2008 20:29

Enfrento o mesmo problema na SPI0 do LPC2138:
Carrego S0SPDR com dado para tx e no osciloscópio não tenho sinal
algum, nem SCK nem MOSI .

PINSEL0=&H00001405
'Configura SPI0
S0SPCCR=8 'Clock SPI 15000000/8
S0SPCR=&H0024

Alguma conclusão do que passa ?
Renato
Byte
 
Mensagens: 224
Registrado em: 20 Out 2006 08:35

Babadinha básica ...

Mensagempor Renato » 22 Mai 2008 14:05

PINSEL0=&H00001505

Outra Obs.:
No modo Master o P0.7 é usada como GPIO e não como SSEL.
Ou outro GPIO qualquer para fazer o chip select.
Renato
Byte
 
Mensagens: 224
Registrado em: 20 Out 2006 08:35

Mensagempor Renato » 26 Mai 2008 10:53

Outro detalhe:
O divisor do clock (S0SPCCR) deve ser a partir de 8 e sempre par.
Ex: PCLK=15 MHz
SCK=15MHz/8 = 1,875 MHz ou
SCK=15MHz/10= 1,5 MHz
etc, ...
Renato
Byte
 
Mensagens: 224
Registrado em: 20 Out 2006 08:35


Voltar para ARM

Quem está online

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

x