Interface TTL (5V) e CMOS (3.3V)

Circuitos eletrônicos, topologias, diagramas elétricos, etc...

Moderadores: 51, Renie, gpenga

Mensagempor Jozias del Rios » 03 Nov 2010 17:53

Marcelo Samsoniuk escreveu:
zazulak escreveu:Pode ser que 0 4010 sirva: http://www.datasheetcatalog.org/datashe ... 856_DS.pdf


melhor partir para algo mais moderno:

http://www.fairchildsemi.com/ds/74%2F74LCX245.pdf


Uma vez vi um IC que aceita níveis Vdd diferentes, fazendo a conversão (non-inverting), mas só num sentido. Não lembro o PN.
Era tipo "Input Vdd" e "Output Vdd".

Mesmo assim, estou evitando IC, já que são poucos sinais.
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor Jozias del Rios » 03 Nov 2010 18:16

RobL escreveu:Jozias
A impedância de entrada em um micro Cmos ou outro chip Cmos é muito alta. Na prática não há resistor para fazer um divisor de tensão usando um só resistor e considerando o outro a resistência de entrada.
É como tentar reduzir tensão com um resistor ligado a uma carga com R infinito, além do problema de ruído devido a alta impedância (neste caso importará mais a resistência) de entrada.

RobL, estou ciente que a resistência de entrada de uma porta CMOS são muitos megaohm...

RobL escreveu:Aplicando o divisor de tensão (2 resitores), a impedância de entrada vista pela saída do micro, será a soma dos dois resistores. Isto por que a impedância da outra entrada é CMOS é de alta impedância e será desprezada.

A questão na verdade não foi essa, mas sim por que usar um divisor resistivo (eg 2 resistores) ao invés de apenas 1 único resistor em série (eg 10 Kohm). Qual o ganho com isso? Ou na verdade a pergunta é: qual a impossibilidade de usar apenas 1 resistor em série e mais nada?

Para analisar o circuito resultante de apenas 1 resistor de 10K em série na interligação "5.0V out" --> "3.3V in", considere a presença do diodo limitador (clamp) interno que tem Cátodo conectado no Vdd 3.3V. A ddp neste diodo deve ser de uns 300mV dependendo da tecnologia CMOS da junção.

Esse valor de 300mV eu estou inferindo a partir do máximo e mínimo que um pino de input pode ter (Absolute Maximum Ratings: Input Voltage -0.3V to Vdd+0.3V).

Sendo assim, temos:
"5V output pin" --> "10K resistor" --> "3.6V input pin" --> "internal diode" --> "3.3 Vdd rail"

E sendo assim, estou propondo conduzir 140uA por este diodo interno e apresentar uns 3.6V na porta de entrada do CI CMOS que está alimentado por 3.3V.

Posso fazer isso? Os integrados com essas conexões vão ter a mesma confiabilidade? Alguém costuma fazer isso?

Está cada vez mais difícil integrar os componentes, alimentados com 5V, 3V3, 2V8, 1V8, 1V2, 1V0 ...
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor RobL » 03 Nov 2010 18:56

Tá. Você está querendo usar o diodo clamp da entrada e um R limitador.
O que posso lhe garantir é que esse clamp não é para ser usado. É apenas uma segurança.
Nunca ví seu uso em um circuito profissional com rigor. Usa-se para hoby.

Não sei informar se algum fabricante o fez para ser usado, em algum micro atual.
Seria uma boa alternativa, para esse problema de redução do nível.
Porém, como a tecnologia de 5V deverá estar extinta em breve, acho que não pensaram nisso não.

Não seria seu caso, mas cabe observar:
Em tese, nada impediria seu uso, respeitando à corrente e a tensão.
Mas noto que em alguns casos causa latchup. Já observei que picos muito rápidos, sobre o nível normal na porta, com tensão acima da que deve suportar, mas dentro da potência dessa proteção, esse diodo não consegue entrar a tempo (tempo inicial de condução) e causa latchup.
Com a prática, observo que quando se reduz a resistência de entrada (impedância como um todo) a segurança aumenta bastante. Creio que seja devido a um caminho de polarização mais eficaz para a referência.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor msamsoniuk » 03 Nov 2010 19:38

usa um opto:

http://ecelab.com/opto-level-shift.htm

Jozias del Rios escreveu:
Marcelo Samsoniuk escreveu:
zazulak escreveu:Pode ser que 0 4010 sirva: http://www.datasheetcatalog.org/datashe ... 856_DS.pdf


melhor partir para algo mais moderno:

http://www.fairchildsemi.com/ds/74%2F74LCX245.pdf


Uma vez vi um IC que aceita níveis Vdd diferentes, fazendo a conversão (non-inverting), mas só num sentido. Não lembro o PN.
Era tipo "Input Vdd" e "Output Vdd".

Mesmo assim, estou evitando IC, já que são poucos sinais.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor RobL » 04 Nov 2010 08:04

O Marcelo deu 2 ótimas sugestões e a sugestão do setyco93, com transistor também.
A óptica é a melhor delas quando necessário converter níveis quaisquer.
Mas há maior limitação de frequência e também corrente. O opto deve ter um alto valor de relação de transferência ou usar valores de resistores altos nos 2 lados para reduzir corrente.
Penso que para poucas portas o melhor é usar transistor de 3->5V e resistor de 5->3V.
O melhor mesmo é botar tudo novo, tudo com 3V :wink:
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor Jozias del Rios » 04 Nov 2010 08:52

Certo, transistores e divisor resistivo.

E quanto a colocar, nos dois casos, apenas um diodo com cátodo no output (isto é, "apontando" para o output") e ligar o pull-up (de 40K) interno do input no microcontrolador?

No caso de usar transistor, tem o agravante que é a inversão de sinal...

Por enquanto, grato pelas respostas.
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor RobL » 04 Nov 2010 11:05

E quanto a colocar, nos dois casos, apenas um diodo com cátodo no output (isto é, "apontando" para o output") e ligar o pull-up (de 40K) interno do input no microcontrolador?


Não entendi. Só desenhando. O anodo estaria na fonte ?

No caso de usar transistor, tem o agravante que é a inversão de sinal...


Na configuração como no esquema do setyco93 não inverte o sinal. Veja o mosfet tipo n como um transistor npn.

Já no caso de um opto como sugerido acima, basta ter a saída no emissor, o coletor vai à fonte e o emissor tem um R para a referência. O sinal é coletado sobre esse R, sem inversão.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor msamsoniuk » 04 Nov 2010 12:06

obviamente, se protecao for uma variavel forte nessa jogada, eh opto na cabeca! principalmente quando o processador custa bem caro: pq arriscar? hehehe ;)

RobL escreveu:O Marcelo deu 2 ótimas sugestões e a sugestão do setyco93, com transistor também.
A óptica é a melhor delas quando necessário converter níveis quaisquer.
Mas há maior limitação de frequência e também corrente. O opto deve ter um alto valor de relação de transferência ou usar valores de resistores altos nos 2 lados para reduzir corrente.
Penso que para poucas portas o melhor é usar transistor de 3->5V e resistor de 5->3V.
O melhor mesmo é botar tudo novo, tudo com 3V :wink:
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor Jozias del Rios » 04 Nov 2010 12:20

vou tentar evitar desenhar ainda :P

somente um componente discreto entre os microcontroladores: um diodo de sinal (eg 1N4148) com anodo (A) no pino de entrada e cátodo (K) no pino de saída.

Habilita-se a resistência de pull-up no microcontrolador de entrada.

Assim, quando a saída for zero, o diodo fica polarizado e conduz. Quando a saída é nível alto, o diodo fica cortado e a entrada enxerga apenas o pull-up interno.
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor RobL » 04 Nov 2010 14:16

Me pareceu uma boa solução dos 5V->3V, apesar de economizar um só resistor com relação ao divisor de tensão. Para quantidade é boa saída.
Interessante, pois evitou usar o circuito de clamp do micro.
Mas 2 resistores tem menor custo.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor Jozias del Rios » 04 Nov 2010 18:01

A mesma solução também funciona BEM no outro sentido: 3V3 -> 5V, certo?
Vc sabe o código (Part Number) de um diodo de sinal SMD bem comum e pequeno?
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor guest2003 » 04 Nov 2010 19:59

Os diodos de protecao podem ser utilizados (mas nao sao normalmente) inclusive a corrente maxima sobre eles é especificada por alguns fabricantes... como o Josias vai estar MUITO abaixo desta corrente, nao vejo problema...

5V out -- 10k -- 3v3 in

(corrente no diodo de protecao = 140uA muito abaixo dos 20mA que normalmente estes caras suportam)

3v3 out -- 5V in

Ligar direto, habilitar o pull-up, POREM, quando quiser escrever 1 coloque o pino do uC que esta em out como entrada (Hiz)

Com isso, sua saida vai ter 3v6 (atravez do pull-up do outro+ clamp) ... suficiente para seu nivel 1 com seguranca.

[]'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 RobL » 05 Nov 2010 11:16

A mesma solução também funciona BEM no outro sentido: 3V3 -> 5V, certo?


Na mesma configuração:
Com zero (na saída do primeiro cmos de 3,3V) implicará em 0,6V na entrada do outro lado (micro) com pullup.
Com 1L teríamos 3,3 + Vd = 3,9V quase 4V. Dependendo da tecnologia, me parece bom e interessante.

O interessante é que VHi não dependerá (tanto) do valor do pullup, pois prevalecerá Vd (0,6V do diodo). Por outro lado não vejo nenhuma violação ou "forçacão de barra".
Isto sem considerar os parâmetros elétricos e tempo do diodo em série com a porta. Ainda assim me parece bom, vou testar com alta frequencia.



Quanto ao uso do diodo clamp, conforme o Guest2003 colocou, não se deve perder de vista quando usá-lo:

1- É desenhado como segurança final. Sua finalidade é para defesa da entrada, em último caso.

2- Trata-se de um diodo em uma bolacha de poucos microns, muito próxima do substrato e com baixíssima tensão reversa, capacitância considerável entre vários pontos (problemática) dentre outros.

Para um projeto no qual a confiabilidade não importar e baixíssimo custo estão em jogo, aí é similar a hoby. Dá pra usar, principalmente se produção em massa.
Particularmente, prefiro sempre pensar que ele não existe, para que ele cumpra o seu papel e coloco as defesas por fora.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor Renato » 28 Abr 2011 11:34

guest2003 escreveu:Os diodos de protecao podem ser utilizados (mas nao sao normalmente) inclusive a corrente maxima sobre eles é especificada por alguns fabricantes... como o Josias vai estar MUITO abaixo desta corrente, nao vejo problema...

5V out -- 10k -- 3v3 in

(corrente no diodo de protecao = 140uA muito abaixo dos 20mA que normalmente estes caras suportam)

3v3 out -- 5V in

Ligar direto, habilitar o pull-up, POREM, quando quiser escrever 1 coloque o pino do uC que esta em out como entrada (Hiz)

Com isso, sua saida vai ter 3v6 (atravez do pull-up do outro+ clamp) ... suficiente para seu nivel 1 com seguranca.

[]'s

Interessante essa tua colocação.
Existe de fato confusão entre "tolerante" e "compatível".
Vi que LPC17xx (Cortex M3), pode-se programar pullup, pulldown, ou ambos, ou também open-drain.
Pergunto: Usando esse recurso, a compatibilização mais adequada numa
saida 3V3 -> entrada 5V CMOS, seria colocar saida 3V3 em open-drain, sem
pullup nem pulldown, e colocar um pullup externo ao 5V ?
Renato
Byte
 
Mensagens: 224
Registrado em: 20 Out 2006 08:35

Anterior

Voltar para Circuitos Diversos

Quem está online

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

cron

x