El puerto serie está considerado como una de las conexiones externas más básicas de un ordenador, y ha sido una parte integral de la mayoría de ordenadores durante más de 20 años. Aunque muchos de los nuevos sistemas están prescindiendo de los puertos serie a favor de las conexiones USB, muchos modems siguen usando un puerto serie, como también los hacen algunas impresoras, PDAs y cámaras digitales. Pocos equipos tienen más de dos puertos serie.
Esencialmente, proveen una conexión estándar y un protocolo para que puedas conectar dispositivos como los nombrados anteriormente. Existen ciertas diferencias con respecto a los puertos paralelos, los cuales intentaremos aclarar aquí.
Todos los sistemas operativos de los ordenadores que están es uso hoy en día, soportan los puertos serie, ya que han estado en funcionamiento durante décadas. Los puertos paralelos son una invención más reciente y son mucho más rápidos que los puertos serie. Los puertos USB solo tienen unos pocos años de antigüedad, y con el tiempo seguramente reemplazarán a los puertos serie y paralelo en los próximos años.
El nombre de “serie” viene por el hecho de que un puerto serie “serializa” los datos. Esto significa que coge un byte de datos y transmite los 8 bits que contiene el byte uno a la vez. La ventaja es que los puertos serie solo necesitan un hilo para transmitir los 8 bits, mientras que los paralelo necesitan 8. La desventaja es que lleva 8 veces más tiempo que si tuviera 8 hilos. Los puertos serie bajan el coste de los cables y hacen que sean más pequeños.
Antes de cada byte de datos, los puertos serie envían un bit de comienzo, el cual es un único bit con un valor de 0. Después de cada byte de datos, envía un bit de parada para señalar que el byte está completo. También envía un bit de paridad.
Los puertos serie, también llamados puertos de comunicación (COM), son bi-direccionales. La comunicación bi-direccional permite a cada dispositivo recibir datos a la vez que los transmite. Los dispositivos serie usan pines diferentes para el recibir y enviar datos – usar los mismos pines significaría que la comunicación estaría limitada a half-duplex, y que la información viajaría en una sola dirección a la vez. Usar pines diferentes permite una comunicación full-duplex, y puede viajar en ambos sentidos.
Los puertos serie delegan en un controlador o chip especial llamado UART (Universal Asynchronous Receiver/Transmitter), para funcionar correctamente. El chip UART coge la salida en paralelo del bus del sistema y la transforma en una forma serie para que se transmita por el puerto serie. Para que funcionen más rápido, muchos chips UART tiene integrado un buffer de 16 a 64 Kilobytes en su interior. Este buffer permite al chip hacer un caché de datos mientras está procesando los datos.
La conexión serie
La conexión externa de un puerto serie puede ser de nueve pines o de 25 pines. Originalmente, el uso principal de un puerto serie era conectar un modem a un ordenador. Un aspecto importante de las comunicaciones serie es el concepto del control de flujo.
Esto es la habilidad de un dispositivo de decirle a otro dispositivo que pare de enviar datos por un rato. Los comandos RTS (Request to Send), CTS (Clear To Send), DTR (Data Terminal Ready) y DSR (Data Set Ready) son utilizados para habilitar el control de flujo.
Con un ejemplo podemos ver mejor como funciona el control de flujo. Tienes un modem que se comunica a 56 Kbps. La conexión serie entre tu ordenador y tu modem transmite a 115 Kbps, lo cual es el más de la mitad.
Esto significa que tu modem está recibiendo más datos viniendo de tu ordenador, que lo que puede transmitir por la línea de teléfono. Incluso, aunque el modem tuviera un buffer de 128 K para almacenar datos, se quedaría sin espacio en el buffer rápidamente y no sería capaz de funcionar adecuadamente con todo ese flujo de datos.
Con control de flujo, el modem puede parar el flujo de datos de tu ordenador antes de que desborde el buffer del modem. El ordenador está constantemente enviando una señal en el pin RTS, y comprobando si hay señal en el pin CTS. Si no hay una respuesta del CTS, el ordenador para de enviar datos, esperando al CTS para reanudar los datos. Esto permite al modem mantener el flujo de datos de manera fluida.