Convertidor RS-232 a Paralelo


Este convertidor de RS-232 a Paralelo, es un receptor de datos en serie compatible con la norma RS-232C. Se puede configurar la velocidad entre 1200, 2400, 4800 y 9600 bps. El formato es fijo, a 8N1 y la adaptación de tensiones entre TTL y RS232C es pasiva.

Esquema eléctrico del convertidor RS-232 a Paralelo
Esquema eléctrico del convertidor RS-232 a Paralelo

Como se ve, todo el sistema se basa en el micro-controlador PIC16F84 y un puñado de resistencias y condensadores con funciones poco importantes. La recepción de los datos series y posterior conversión a paralelo se efectúa dentro del PIC así como la generación de los tiempos de retardo para las diferentes velocidades.

La resistencia de 10kΩ a la entrada de señal, se encarga de adaptar los niveles de tensión del bus RS232C a TTL. Dado que el estándar RS232 estipula que un uno lógico (o marca) corresponde a un voltaje negativo comprendido entre -3 y -25v y un cero lógico (o espacio) corresponde a un voltaje positivo comprendido entre 3 y 25 voltios a la entrada del PIC tendremos un estado lógico invertido, siendo el cero expresado por +V y el uno por 0V. Pero como aquí todo se resuelve por software esto no es para hacerse mala sangre.

Funcionamiento

En el encabezado se aclaran los pines del puerto A para saber donde se conectan. Luego se definen las equivalencias. La clásica llamada org que indica a partir de que posición comienza a cargarse el programa en la memoria pasa saltear el vector de interrupción. 

Desde la etiqueta “Start” hasta el siguiente Retlw”:

Podemos ver la rutina de retardos, empleada para generar la temporización entre cada bit así como la inicial del bit de arranque. Recordemos que siempre es mejor leer el bit en su parte central por lo que si demoramos un tiempo total de bit y medio al bit de arranque al primer bit de datos le atinaremos en el medio del mismo. 

Desde la etiqueta “Recibir” hasta el próximo “Retlw”:

Tenemos la rutina que se encarga de recibir los datos por el pin serie y colocarlos en la variable recep, la cual actúa como un buffer de recepción. Empleamos una forma muy peculiar pero práctica para completar la palabra de 8 bits partiendo de uno solo seriado. Colocamos el estado de la línea serie en el indicador de Carry del CPU. Luego rotamos la palabra recep una posición a la derecha, con lo que conseguimos que todo su contenido se desplace. Pero como esta instrucción utiliza el carry como intermedio de un extremo al otro logramos que el bit recibido aparezca en la palabra recep. Esto ocho veces conforma la palabra total recibida.

Desde la etiqueta “Inicio” hasta el siguiente Clrf ptob”:

El programa configura los puertos, limpia el buffer de recepción y pone a cero todos los bits de la salida paralela.

Desde la etiqueta Sel” hasta la instrucción Goto sel”:

El programa lee el selector de velocidad de comunicaciones y carga en las variables retsb y reteb los valores necesarios para lograr el timming adecuado a la velocidad escogida. Esto lo logra dirigiendo el programa hacia sel12, sel24, sel48 o sel96 según corresponda.

Luego de establecerse la velocidad de comunicación el programa queda en un pequeño ciclo infinito desde la etiqueta ciclo hasta la orden goto ciclo en lo cual lo que se hace es quedar a la espera de un dato vía serie, recibirlo y colocarlo sobre los pines del puerto B del micro.

Como sale a simple deducción el selector de velocidad solo es leído al arrancar el programa. Y una vez interpretado no es vuelto a consultar hasta que se reinicie el mismo. Por ello, si se cambia de velocidad será necesario o bien aplicar reset al micro o bien apagarlo y volverlo a encender.

Con resistencias de 470 Ω y diodos Led´s es posible indicar visualmente la palabra recibida. Si bien el microcontrolador es de tecnología CMOS, alimentado con 5V puede considerarse como que funciona en TTL y por ello puede ser instalado en un circuito de lógica TTL


Alimentación:

  • V máx: simple 5Vdc
  • I  máx: 0.1A

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
error: ¡¡El contenido está protegido!!