conversión de nivel lógico unidireccional con corriente de unidad activa

0

Estoy intentando conectar un EM4095 a una corteza m0. El EM4095 requiere un alto voltaje de accionamiento activo de 4V como mínimo y tiene un tirón interno de 50K. Además, debe ser bajo durante el arranque, de lo contrario no arrancará o algo así. yey.

¿Cómo se maneja tal cosa desde la lógica de 3V? Todos los circuitos convertidores lógicos que encontré dependen del pin de detección como flotador o pull-up. Echemos un vistazo a una pareja.

Llamaré al pin LV de 3.3V MCU y al pin HV de 5.0V EM.

el diodo

  • todosflotan:3.3VenLVy~3.0(menoscaída)enHV
  • LVempuja:lomismo
  • HVempuja:lomismo,eldiodoprotegeráde5VenLV
  • LVtira:0VenHV
  • HVtira:0VenHV

suenabien,exceptoquenofuncionaráporquenecesito4Vdealto.Veamosalgunosotroscircuitos:

FET

Esteesdeunconversori2cdesparkfun.ElcircuitoserecomiendaparaI2Cyotrascosasdedrenajeabierto,quenotengo.

  • todosflotan:ambosladosobtienenvoltajedesuspullups.
  • LVempuja:FETnohacenada,HVobtendrá5Vdesdeelpullup
  • HVempuja:lomismo
  • LVpulls:FETcierrayhacequeelpullupsequedesinalimentos,porloqueobtenemos9enHV
  • TironesdeHV:justoatravésdeesediodo,porloqueHVsemueredehambretodoslostirones.

yaquemicosadeHVesenrealidadundesplegable,generarácorrientecuandoelfetnoestécerrado.Ytambiénsacarácorrientecuandosecierre.Poresosiempresedesperdiciarácorriente.Perolopeoresqueestaráaltoantesdequeelmcuterminedearrancarparajalarlo,porloqueelEMnoarrancará.

Bien,yaquetodoloqueencuentroenInternetpara'conversióndevoltaje/conversión/etc'essobreunpull-updedrenajeabierto,estoytratandodeencontraralgomás.SéquenoestápermitidopedirICsenEEStack,asíquemegustaríapreguntarcuáleselcircuitodiscretocorrecto,parapoderbuscarunICmásadelante.

Afortunadamente,séladireccióndetodoslospines.Sonunidireccionales.Asíquepenséqueestecircuitopodríafuncionar:

simular este circuito : esquema creado usando CircuitLab

La idea es que el transistor no se cierre cuando el LV esté alto, por lo que no fluirá ninguna corriente y el tirón interno levantará el HV alto. Necesito invertir la lógica en el software entonces. Cuando LV tira, se colocarán + 5V en HV. Esto se comporta de acuerdo con la especificación del IC que estoy tratando de usar.

En la dirección inversa, simplemente puedo usar un divisor de voltaje para disminuir el voltaje de 5V a algo con lo que mi MCU puede lidiar.

¿Funcionará correctamente? ¿Hay mejores maneras de hacerlo? Y si esta es una buena manera, ¿cuál es el nombre de este circuito que puedo buscar en Google para encontrar un IC? (No hay suficiente espacio para discreto por cierto)

    
pregunta

1 respuesta

1

Hay varias formas de hacer esto.

Si tuviera que usar un IC para este tipo de cosas, entonces probablemente obtendría un traductor de nivel. Use un dispositivo que tenga 5V para Vcc y vaya al lado de 5V, y si tiene entradas compatibles con TTL (2V en es un alto), luego el problema resuelto.

En la otra dirección, puede usar un divisor de voltaje, pero tenga cuidado con los problemas de constante de tiempo si hay una capacitancia significativa, lo que ralentizará el borde de la señal, lo que puede ser un problema con las entradas CMOS.

Probablemente usaría algo con entradas tolerantes de 5 V

Como señalé anteriormente, hay varias formas de lograrlo. Todos los sospechosos habituales hacen traductores de nivel para cruzar los límites del poder.

    
respondido por el Peter Smith

Lea otras preguntas en las etiquetas