P0.11 (LPC2138)

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

P0.11 (LPC2138)

Mensagempor lrfad2 » 01 Ago 2007 10:33

Bom dia pessoal,
Alguem já teve problemas com o p0.11 do lpc2138?
Eu não consigo coloca-lo em nível lógico alto.
Qdo debugo as informações são as seguintes:

Pinsel0 = 0x00050055;
IO0Dir = 0x7CF02D7D
IO0Set = 0x00000800
IO0Clr = 0x00000000
IO0Pin = 0x000FD30F

Não sei se voces repararam mas ele consegue "setar" o bit correspondente no IO0Set, mas não reflete no IO0Pin, mesmo configurado para ser GPIO
A placa foi verificada e não tem curto, troquei o processador e isolei esse pino (não tem carga), e mesmo assim o estado do IO0Pin nunca se altera (para esse bit)
Se alguem souber o que estou fazendo de errado, por favor me avise.

muito obrigado pela atenção
Avatar do usuário
lrfad2
Byte
 
Mensagens: 152
Registrado em: 19 Out 2006 17:35
Localização: São Paulo

Mensagempor proex » 01 Ago 2007 10:45

Por acaso esse pino nao precisa de um resistor Pull Up externo?
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor lrfad2 » 01 Ago 2007 18:41

Bem observado proex
Esse pino pode ser configurado como I2c, portanto é dreno aberto. É um dos 4 únicos I/Os que precisa do resistor de pull-up.
Colocando um 2K2, já resolve a parada.
valeu
Avatar do usuário
lrfad2
Byte
 
Mensagens: 152
Registrado em: 19 Out 2006 17:35
Localização: São Paulo

Mensagempor guest2003 » 01 Ago 2007 21:54

Tenho quase certeza que é dreno aberto somente se configurar como I2C (pois isso é especificado por este tipo de comunicacao) mas nos outros modos ela deveria setar sim! (pra ter certeza absoluta teria que olhar o dxit, mas ja to de saida :) amanha eu olho pra matar a curiosidade)
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Mensagempor lrfad2 » 03 Ago 2007 11:07

Eu procurei o diagrama de blocos de cada saída (pelo menos os pic´s da vida tem), mas não consegui achar nada no site da nxp.
Dei uma vasculhada no dxit eu não achei referência de colocar o resistor de pull up, qdo não é I2c. Portanto concordo com o Guest
Guest2003, se vc achar alguma coisa a respeito, por favor "poste" aqui no forum pra gente dar um olhada tb.
obrigado
abraços
Avatar do usuário
lrfad2
Byte
 
Mensagens: 152
Registrado em: 19 Out 2006 17:35
Localização: São Paulo

Mensagempor guest2003 » 04 Ago 2007 17:58

ops...

É open drain SEMPRE mesmo... (os Dxit da nxp são uma xit mesmo)

Q Are LPC2000 inputs/outputs true GPIOs?
A All LPC2000 microcontroller port 0 pins are true bi-directional GPIOs. The only minor exception is that the two I2C pins have an open drain output structure. With external pull-up resistors, they can also be used as true GPIOs. The LPC210x microcontrollers don't use push-pull or open-collector output pins as found on the 80C51. When GPIO functionality is selected for the pin and it is in output mode, the LPC210x pins act as full-drive I/O pins. Internal pull-up resistors are not used to create a high-output state as they are in the 80C51.
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Mensagempor Red Neck Guy » 04 Ago 2007 18:08

Passei por isso com o LPC2101....
Diz lá no dxit que o pino é openDrain quando está trabalhando com o módulo i2c, mas mesmo como gpio ele fica sem ligação...
Puts, eu era feliz com os datasheets da microchip e não sabia...
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Mensagempor jeanfernandes » 04 Ago 2007 19:01

No UM da vida diz que é aberto.
Tem que por o pullup.
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor jeanfernandes » 04 Ago 2007 19:02

Falar nisso eu to trabalhando no develop do modulo de uso do I2C.
Vou precisar por esses dias. Qq ajuda é bem vinda.

Xau.
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor Red Neck Guy » 04 Ago 2007 20:51

jeanfernandes escreveu:No UM da vida diz que é aberto.
Tem que por o pullup.



Imagem

Onde é que diz? Ali tá explicito que é pra quando o módulo i2c tá controlando o pino....
Desculpa se não tenho QI suficiente pra ler um manual da nxp.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Mensagempor proex » 04 Ago 2007 21:00

Ali esta escrito que é Dreno Aberto conforme o barramento I2C.

Compliance=conformidade (conforme requer) (de acordo com)
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor jeanfernandes » 05 Ago 2007 04:28

Tá certo o proex.
E não poderia ser de outro jeito.
Talvez até poderia (seria mais interessante se fosse tomático...mas ae limitaria a um valor que talvez ficasse inviável para certas aplicações, velocidade x numero de devices no bus).

Aquino não é questão de QI, ai já é exagero de sua parte. As "minor diferences" devem ter uma razão técnica. Acho muito pouco provável que os caras não tenham pesado o "pullup" na decisão de projeto do chip.
Eu não comparei esse item, nos chips mais modernos, mas o farei em momento oportuno.

Uma coisa que eu acho estranho, ai sim, é a P**** do P0.14. Ai sim poderia ter um pino específico para entrar em modo ISP, já que se não estou enganado no encapsulamento deve ter pino sobrando.... ou poderia sobrar eheheehhehehe.....

Uma porcaria, ai sim, outra delas, é o fato desse pino ae quando usado com GPIO, tem que ter muito cuidado, com a velocidade de chaveamento do mesmo. Nesse caso eu tomei um chapéu brabo no acesso (não consegui mais que 8 Mb de velocidade, talvez pelo hardware, talvez mesmo pela velocidade limitada, bom mandei pra caixa das almas...).

Fuiz.
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor guest2003 » 06 Ago 2007 08:26

Dando uma lida nas entranhas do site da NXP eu descobri o motivo de ser true open drain... e não apenas simulado, é para o processador não ferrar com o barrameno I2C quando ele é desligado...

Posso ter varios dispositivos DIFERENTES e com alimentacoes distintas no mesmo barramento I2C, caso o I/O do ARM fosse simulado e nao TRUE open drain, quando desligassemos a alimentação do bixim ele iria "baixar" o barramento atraves do transistor "de cima" :) é isso...

[]'s
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Mensagempor jeanfernandes » 06 Ago 2007 12:33

Po...Guest...Entranhas eh muito genérico.
Tem que por o link ne ?
Sabidão !

8)
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB


Voltar para ARM

Quem está online

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

x