Página 1 de 1
P0.11 (LPC2138)

Enviado:
01 Ago 2007 10:33
por lrfad2
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

Enviado:
01 Ago 2007 10:45
por proex
Por acaso esse pino nao precisa de um resistor Pull Up externo?

Enviado:
01 Ago 2007 18:41
por lrfad2
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

Enviado:
01 Ago 2007 21:54
por guest2003
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)

Enviado:
03 Ago 2007 11:07
por lrfad2
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

Enviado:
04 Ago 2007 17:58
por guest2003
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.

Enviado:
04 Ago 2007 18:08
por Red Neck Guy
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...

Enviado:
04 Ago 2007 19:01
por jeanfernandes
No UM da vida diz que é aberto.
Tem que por o pullup.

Enviado:
04 Ago 2007 19:02
por jeanfernandes
Falar nisso eu to trabalhando no develop do modulo de uso do I2C.
Vou precisar por esses dias. Qq ajuda é bem vinda.
Xau.

Enviado:
04 Ago 2007 20:51
por Red Neck Guy
jeanfernandes escreveu:No UM da vida diz que é aberto.
Tem que por o pullup.
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.

Enviado:
04 Ago 2007 21:00
por proex
Ali esta escrito que é Dreno Aberto conforme o barramento I2C.
Compliance=conformidade (conforme requer) (de acordo com)

Enviado:
05 Ago 2007 04:28
por jeanfernandes
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.

Enviado:
06 Ago 2007 08:26
por guest2003
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

Enviado:
06 Ago 2007 12:33
por jeanfernandes
Po...Guest...Entranhas eh muito genérico.
Tem que por o link ne ?
Sabidão !
