# Conversión trenes de impulsos a TTL



## planeta9999 (Mar 1, 2014)

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.


----------



## TRILO-BYTE (Mar 1, 2014)

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


----------



## chclau (Mar 1, 2014)

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


----------



## planeta9999 (Mar 1, 2014)

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



chclau dijo:


> 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


----------



## chclau (Mar 1, 2014)

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.


----------



## cosmefulanito04 (Mar 1, 2014)

Lo que mencioná arriba *chclau* es cierto.

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



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:


----------



## planeta9999 (Mar 1, 2014)

.

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.





.





cosmefulanito04 dijo:


> 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.


----------



## cosmefulanito04 (Mar 1, 2014)

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.


----------



## planeta9999 (Mar 1, 2014)

.

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.






.


----------



## cosmefulanito04 (Mar 1, 2014)

Del lado del diodo, podrías poner tranquilamente una de 470 Ohms, pero habría que ver cuanta corriente puede suministrar la salida de la señal que necesitás convertir.


----------



## papirrin (Mar 1, 2014)

ya probaste algo como esto?


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


----------



## TRILO-BYTE (Mar 1, 2014)

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


----------



## cosmefulanito04 (Mar 1, 2014)

¿Dos transistores es un mega proto?


----------



## papirrin (Mar 1, 2014)

cosmefulanito04 dijo:


> ¿Dos transistores es un mega proto?


yo no entendi la pregunta 

pero son 8 salidas, osea que se necesitaria 16 transistores y 40 resistencias, a eso te refieres?


----------



## cosmefulanito04 (Mar 1, 2014)

Es cierto, no leí que aclaró que eran 8 salidas 

Ahí si es un despelote.


----------



## chclau (Mar 1, 2014)

me gusto la idea de papirrin, pero lo unico que necesitarias seria R2 y D1, puede ser que te de una mejor salida de onda...


----------



## planeta9999 (Mar 1, 2014)

papirrin dijo:


> 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:


----------



## papirrin (Mar 1, 2014)

> El circuito lo voy a conectar a un PIC32,



lo mas seguro es que no necesites nada 

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


----------



## planeta9999 (Mar 1, 2014)

papirrin dijo:


> lo mas seguro es que no necesites nada
> 
> algunas  entradas de los pic ya tienen lo diodos de proteccion y el schmittrigger   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.

.


----------



## papirrin (Mar 1, 2014)

Que yo sepa es tolerante hasta -220V pero tienes que limitar la corriente , si quieres pon nada mas una resistencia de unos 10k


----------



## cosmefulanito04 (Mar 1, 2014)

Si con los diodos clamping solos debería ir bien.


----------



## papirrin (Mar 1, 2014)

OJO tienes que revisar la ficha tecnica del PIC y ver si el puerto cuenta con los diodos.


----------



## planeta9999 (Mar 1, 2014)

.

Gracias papirrin, le echaré un ojo a la hoja de características del PIC, a ver si incluye la protección contra voltajes negativos, en ese caso conectaré la resistencia de 10K que me comentas, a ver que tal funciona.

.


----------

