Conversor señal rs232 a paralelo

Este conversor señal rs232 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 9600bps. El formato es fijo, a 8N1 y la adaptación de tensiones entre TTL y RS232C es pasiva.

Esquema eléctrico del conversor de señal rs232 a paralelo

Como se ve, todo el sistema se basa en el micro-controlador PIC16F84A 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.

Tabla de velocidad de conexión

La velocidad de conexión vendra condicionada por el switch de 4 posiciones marcado en el esquema como S1.

  • 1 a 8 pines cerrado 1200 Bps
  • 2 a 7 pines cerrado 2400 Bps
  • 3 a 6 pines cerrado 4800 Bps
  • 4 a 5 pines cerrado 9600 Bps

Nota: solo podrar esta conectada la linea de la velocidad que deseemos usar, las demas lineas deben permanecer abiertas.

Funcionamiento del conversor señal rs232 a paralelo

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

Lista de componentes

ResistenciasCondensadoresVarios
R1.., R5 – 10kΩC1, C2 – 18pFPIC1 – PIC16F84A
 C3 – 100pFS1 – Interruptor 4 Posiciones
  Q1 – Cristal 4Mhz

Alimentación

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

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

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