El puerto serie: UART 8250.

Parte 1: Introducción

 

La transmisión de datos en serie es una de las más comunes para aquellas aplicaciones en las que la velocidad no es demasiado importante, o no es posible conseguirla (por ejemplo, vía red telefónica). Para simplificar el proceso de enviar los bits uno por uno han surgido circuitos integrados que realizan la función, teniendo en cuenta todos los tiempos necesarios para lograr una correcta comunicación y aliviando a la CPU de esta pesada tarea. El circuito que estudiaremos es el 8250 de National, fabricado también por Intel, aunque las diferencias respecto al 16550 serán brevemente señaladas.

Esta última UART es más reciente y mucho más potente -aunque solo sea por unos pequeños detalles- y cada vez está más extendida, en particular en las actuales placas base.

     

La línea que transmite los datos en serie está inicialmente en estado alto. Al comenzar la transferencia, se envía un bit a 0 ó bit de inicio. Tras él irán los 8 bits de datos a transmitir (en ocasiones son 7, 6 ó 5): estos bits están espaciados con un intervalo temporal fijo y preciso, ligado a la velocidad de transmisión que se esté empleando. Tras ellos podría venir o no un bit de paridad generado automáticamente por la UART. Al final, aparecerá un bit (a veces un bit y medio ó dos bits) a 1, que son los bits de parada o bits de stop. Lo de medio bit significa que la señal correspondiente en el tiempo a un bit dura la mitad; realmente, en comunicaciones se utiliza el término baudio para hacer referencia a las velocidades, y normalmente un baudio equivale a un bit. La presencia de bits de inicio y parada permite sincronizar la estación emisora con la receptora, haciendo que los relojes de ambas vayan a la par. A la hora de transmitir los bytes de datos unos tras otros, existe flexibilidad en los tiempos, de ahí que este tipo de comunicaciones se consideren asíncronas. La transmisión de los 8 bits de datos de un byte realmente es síncrona, pero las comunicaciones en serie siempre han sido consideradas asíncronas.

     Para una transmisión en serie básica bastan tres hilos. Sin embargo, el software que controla el puerto serie a través de la interfaz RS-232-C podría requerir más señales de control para establecer la comunicación, al igual que para controlar un modem telefónico pueden hacer falta más líneas (de control, no telefónicas...). Bromas aparte, sobre comunicaciones en serie existe todo un mundo; acerca de este tema se han escrito muchos libros completos. Lógicamente, aquí no vamos a dar ningún curso de comunicaciones en serie. Sin embargo, los menos introducidos en la materia no deben temer: ¿qué mejor manera de aprender sobre las comunicaciones en serie que examinar cómo funciona un chip que las soporta?. Desde luego, también se podría partir desde el punto de vista contrario, pero como entendido en sistemas digitales, el lector puede que tenga menos problemas con este interesante enfoque.

 

© 2007
Todos los derechos reservados