Conversión trenes de impulsos a TTL

Hola:


Ando liado con un tema que me está volviendo mico, necesito convertir unos trenes de impulsos de un bus de datos a TTL. Se trata de un placa CPU muy antigua, de mediados de los 70, basada en el sistema PPS4 de Rockwell.

Es un sistema informático muy peculiar y bastante rarito, se alimenta a -17 voltios, y según he comprobado con el osciloscopio, los trenes de impulsos en el bus de datos y el bus de direcciones, tienen unos voltajes lógicos que basculan entre +5 y -5.

En principio pensé que sería tan simple como intercalar un diodo, probé con el 1N4148 y nada de nada, a la salida no sale nada, también probé con el 1N4001 que tenía por aqui, y con este se ve algo, pero muy distorsionado y con un voltaje de milivoltios a su salida.

Pedí unos diodos Schottky a Amidata, entiendo que son más rápidos y tienen una caída de voltaje menor (entre 0.2 y 0.3 voltios). Hoy lo conecto y mi gozo en un pozo, a la entrada los +5v -5v, y pero a su salida no veo los esperados +5v 0v, sino +5v +4v.

Aquí la captura del osciloscopio, en amarillo la señal original, en verde la señal tras pasar por un diodo schottky, no entiendo porque el nivel lógico bajo que esperaba fuera de 0 voltios, se mantiene en 4 voltios. Lo único que se me ocurre es probar con transistores o con operacionales configurados como básculas, pero no entiendo porque el diodo no hace su papel, dejando pasar los pulsos positivos (menos la caída de tensión), y bloqueando los pulsos negativos (esto si lo hace, pero no deja ver voltajes entre 0v y 4v).

La frecuencia media de los trenes de impulsos, puede ser de varias decenas de kilohertzios, entiendo que el diodo schottky es lo suficientemente rápido para conmutar estas señales, incluso creo que el 1N4148 debería de serlo.



ScreenHunter_001_zps6b25d22b.jpg
 
Última edición:
yo usaria el max 232 que convierte de voltaje + y - en 0 a 5v
o un operacional en modo de histeresis y acotar el voltaje con un diodo zener
pero eso ya seria buscarle 3 pies al gato

usa el MAX232
 
Gracias por la respuesta.

También estuve pensando en el MAX232, el tema es que se trata de un bus de datos de 8 bits, según veo en la hoja de características del MAX232 tienen "4 puertas conversoras", dos de RS232 a TTL, y dos de TTL a RS232, a mi solo me servirían las que convierten RS232 a TTL, pero como solo tiene 2, tendría que usar 4 chips.

¿ no conoces algún chip que integre los 8 conversores RS232 a TTL, en un solo chip ?.

La única alternativa que se me ocurre es usar operacionales configurados como básculas, como el LM324 que lleva 4 operacionales dentro, con un par de chips creo que me podría servir.

De todas formas lo que no entiendo es porque el diodo no ha hecho su papel en este caso, en vez de convertir los +5v -5v, a +5v 0v, me lo ha dejado en un incomprensible +5v +4v.

salu2

Colocaste alguna resistencia de carga entre el cátodo del diodo y tierra?


No.
¿ que función tiene esa resistencia y que valor debería de poner ?.


Salu2
 
Última edición:
Si no pusiste ninguna resistencia de carga, entre que tensiones va a rectificar el diodo?. Yo probaría con una resistencia de 4.7K a masa.
 
Lo que mencioná arriba chclau es cierto.

Otra alternativa es probar con un conversor de nivel usando transistores:

Cambio de nivel.jpeg

Necesitás 2 transistores, porque a la salida del 1er transistor obtenés la misma señal, pero negada, por lo tanto es necesario el 2do transistor para no negar la salida.

A la salida deberías obtener esto:

Salida.jpeg
 
.

Gracias chclau, acabo de probarlo y CASI va perfecto, ahora ya bascula entre +5 y 0v, pero los trenes de impulsos sufren una distorsión en el nivel lógico bajo, pongo una captura de pantalla del osciloscopio.

Las señales de entrada son, como es lógico, señales cuadradas que basculan entre dos niveles lógicos, alto a +5v y bajo a -5v, al pasar por el diodo, ya con una resistencia de carga en el cátodo, los voltajes se han convertido correctamente, pero el nivel lógico bajo no sale bien escuadrado, hace como pico, es como si la velocidad de conmutación del diodo no fuese lo suficientemente rápido, pero supongo que no será por eso, ya que estoy usando diodos schottky (BAT48).

No se si estos trenes de impulsos me servirán, lo conectaré todo a un microcontrolador PIC32, para capturar esos datos y crear un fichero binario .BIN, que será el contenido de la rom de programa de esta placa que necesito volcar.

¿ alguna idea de porque los trenes de impulsos se distorsionan y como solventarlo, tal vez cambiando el valor de la resistencia ?.

Muchas gracias chclau, tu solución me ha salvado de volverme loco, aunque sigo sin entender porque es necesaria esa resistencia de carga.

ScreenHunter_002_zps607be844.jpg

.



Lo que mencioná arriba chclau es cierto.

Otra alternativa es probar con un conversor de nivel usando transistores:

Gracias por la alternativa, pero con la solución que me ha dado chclau, CASI lo he resuelto, ahora ya me basculan bien los voltajes, aunque el nivel lógico bajo me hace pico en vez de salir escuadrado.
 
Última edición:
Si vos no le ponés una resistencia contra masa, ¿en base a que tensión va a rectificar ese diodo? a ninguna, baahh a una tensión flotante.

Proba bajando el valor de la resistencia, en base a la máxima corriente que pueda soportar, eso tiene toda la pinta de ser un efecto capacitivo de descarga, bajale el tao con la resistencia de carga.
 
.

He reducido la resistencia de 4k7 a 2k5, y parece que ya escuadra mejor, y además el voltaje del nivel lógico bajo se aproxima más a 0 voltios (0.362 v), con la resistencia de 4K7 me sacaba un voltaje mínimo de 600mv, muy cerca del límite de 800mv que define TTL para el nivel lógico bajo.

No se si bajar algo más la resistencia, por ejemplo a 1K5.

ScreenHunter_003_zps0fa3ae1e.jpg


.
 
Última edición:
esa tambien es una buena opcion me gusta mucho

respecto al chip si hay un chip con mas terminales de Maxim no recuerdo cual es pero tiene las terminales del handshaking del rs232

aveces el problema se resuelve con 1 solo chip que haciendo un mega proto con muchos elementos
 
ya probaste algo como esto?

tambien te pregunto ¿conque vas a procesar esa señal, algun microcontrolador ?


Con la solución que me dió chclau, ya funciona de lujo, solo tengo que afinar el valor de la resistencia para que escuadre mejor, y el valor lógico bajo se aproxime a 0 voltios, aunque mientras esté entre 0v y 800mV, está dentro del estandar TTL. Creo que con una resistencia de 1K5 irá perfecto.

El circuito lo voy a conectar a un PIC32, para leer el contenido de la ROM de esta placa, una electrónica de mediados de los 70, basada en el sistema PPS4 de Rockwell, con un procesador de 4 bits a 199Khz.

Aquí una foto de la placa, una auténtica reliquia:

pps4_schotky_001_zps7d558977.jpg
 
lo mas seguro es que no necesites nada :D

algunas entradas de los pic ya tienen lo diodos de proteccion y el schmittrigger :D busca en la ficha tencnica del pic

Lo que tengo entendido es que los puertos de los PIC son tolerantes a 5 voltios, ¿ pero tolerantes a -5v también ??, casi que me quedo con la solución del diodo y la resistencia, no vaya a ser que me cargue el PIC, o peor aún me cargue la placa de la ROM que lleva unos chips de Rockwell que hace muchos años que ya no se fabrican.

.
 
Atrás
Arriba