# Puerto serie

Un puerto serie o puerto en serie es una interfaz de comunicaciones de datos digitales, frecuentemente utilizado por computadoras y periféricos, donde la información es transmitida de forma secuencial, bit a bit, enviando un solo bit a la vez; en contraste con el puerto paralelo que envía varios bits simultáneamente. A lo largo de la mayor parte de la historia de las computadoras personales, los datos se han transferido a través de puertos seriales a dispositivos como módems, terminales, varios periféricos y directamente entre computadoras.
Mientras que otras interfaces (como Ethernet, FireWire, y USB) envían datos como un flujo en serie, el término "puerto serie" normalmente identifica el hardware parcialmente conforme al estándar RS-232 o un estándar similar como el RS-485 o RS-422, diseñado para conectar un módem o un dispositivo de comunicación similar.
Las computadoras personales (PC) de consumo modernas han reemplazado en gran medida los puertos serie con estándares de mayor velocidad, principalmente USB. Sin embargo, los puertos seriales todavía se usan con frecuencia en aplicaciones que exigen interfaces simples y de baja velocidad, como sistemas de automatización industrial, instrumentos científicos, sistemas de punto de venta y algunos productos industriales y de consumo.
Las computadoras servidores pueden usar un puerto serie como consola de control para el diagnóstico, mientras que el hardware de red (como routers y switches) comúnmente usa puertos de consola serie para configuración, diagnóstico y acceso de mantenimiento de emergencia. Para interactuar con estos y otros dispositivos, los convertidores de USB a serie pueden agregar rápida y fácilmente un puerto serie a una PC moderna.

## Introducción

En tecnologías básicas, un puerto serie es una interfaz física de comunicación en serie a través de la cual se transfiere información mandando o recibiendo un bit. A lo largo de la mayor parte de la historia de las computadoras, la transferencia de datos a través de los puertos de serie ha sido generalizada. Se ha usado y sigue usándose para conectar las computadoras a dispositivos como terminales o módems. Los ratones, teclados, y otros periféricos también se conectaban de esta forma.
En la mayoría de los periféricos en serie, la interfaz USB ha reemplazado al puerto serie por ser más rápida. La mayor parte de las computadoras están conectados a dispositivos externos a través de USB y, a menudo, ni siquiera llegan a tener un puerto serie.
El puerto serie se elimina para reducir los costes y se considera que es un puerto heredado y obsoleto. Sin embargo, los puertos serie todavía se encuentran en sistemas de automatización industrial y algunos productos industriales y de consumo.

## Puerto serie asincrónico

A través de este tipo de puerto la comunicación se establece usando un protocolo de transmisión asíncrono. En este caso, se envía en primer lugar una señal inicial anterior al primer bit de cada byte, carácter o palabra codificada. Una vez enviado el código correspondiente, se envía inmediatamente una señal de parada (stop) después de cada palabra codificada.
La señal de inicio (start) sirve para preparar al mecanismo de recepción o receptor, la llegada y registro de un símbolo, mientras que la señal de stop sirve para predisponer al mecanismo de recepción para que tome un descanso y se prepare para la recepción del nuevo símbolo.
La típica transmisión start-stop es la que se usa en la transmisión de códigos ASCII a través del puerto RS-232, como la que se establece en las operaciones con teletipos.
El puerto serie RS-232 (también conocido como COM) es del tipo asincrónico, utiliza cableado simple desde 3 hilos hasta 25 y conecta computadoras o microcontroladores a todo tipo de periféricos, desde terminales a impresoras y módems pasando por mouses.
La interfaz entre el RS-232 y el microprocesador generalmente se realiza mediante el chip UART 8250 (computadoras de 8 y 16 bits, PC XT) o el 16550 (IBM Personal Computer/AT y posteriores).
El RS-232 original tenía un conector tipo D-sub DB-25, sin embargo, la mayoría de dichos pines no se utilizaban, por lo que IBM estandarizó con su gama IBM Personal System/2 el uso del conector DE-9 (ya introducido en el AT) que se usaba, de manera mayoritaria en computadoras. Sin embargo, a excepción del mouse, el resto de periféricos solían conectarse mediante el puerto DB-25.
La norma RS-422, similar al RS-232, es un estándar utilizado en el ámbito industrial.

## Aplicaciones comunes para puertos seriales

Esta lista incluye algunos de los dispositivos más comunes que es posible conectar al puerto serie de una PC. Algunos de estos, como los módems y los ratones en serie, están cayendo en desuso, mientras que otros están fácilmente disponibles. Los puertos seriales son muy comunes en la mayoría de los tipos de microcontroladores, donde pueden usarse para comunicarse con una PC u otros dispositivos seriales.
| Módems de acceso telefónico (dial-up) Configuración y administración de equipos de red como enrutadores, conmutadores, firewalls, balanceadores de carga Receptores GPS (normalmente NMEA 0183 a 4800 bit/s) Lectores de código de barras y otros dispositivos de punto de venta Pantallas de texto LED y LCD Teléfonos satelitales, módems satelitales de baja velocidad y otros dispositivos transceptores basados en satélites Pantallas planas para controlar las funciones de la pantalla mediante una computadora externa, otros componentes AV o controles remotos Equipos de prueba y medición como multímetros digitales y sistemas de pesaje Actualización de firmware en varios dispositivos de consumo | Controladores CNC Informes de estado y administración de la fuente de alimentación ininterrumpida Máquinas de estenografía o estenotipia Depuradores de software que se ejecutan en una segunda computadora Autobuses de campo industriales Impresoras (de ticket) Terminal de computadora, teletipo Redes (Macintosh AppleTalk con RS-422 a 230,4 kbit/s) Mouses seriales |
Dado que las señales de control de un puerto serie pueden ser impulsadas por cualquier señal digital, algunas aplicaciones utilizaron las líneas de control de un puerto serie para monitorear dispositivos externos, sin intercambiar datos en serie. Una aplicación comercial común de este principio fue para algunos modelos de fuente de alimentación ininterrumpida que usaban las líneas de control para señalar la pérdida de energía, batería baja y otra información de estado. Al menos algunos programas de capacitación en código Morse usaban una clave de código conectada al puerto serie para simular el uso real del código; los bits de estado del puerto serie se pueden muestrear muy rápidamente y en momentos predecibles, lo que hace posible que el software descifre el código Morse.

## Puertos serie modernos

Uno de los defectos de los puertos serie iniciales era su lentitud en comparación con los puertos paralelos -este puerto tiene 19.2 kbits por segundo-. Sin embargo, con el paso del tiempo, están apareciendo multitud de puertos serie de alta velocidad que los hacen muy interesantes ya que presentan las ventajas del menor cableado y solucionan el problema de la merma de velocidad usando un mayor apantallamiento, y más barato, usando la técnica del par trenzado. Por ello, el puerto RS-232, e incluso multitud de puertos paralelos, se están sustituyendo reemplazándose por los nuevos puertos serie como el USB, el FireWire o el Serial ATA.
Otra de las desventajas que implica usar este tipo de puertos serie como el mencionado RS232 o similares es el coste en capital humano y en tiempo de desarrollo del software para integrarlos ya que las comunicaciones con el dispositivo conectado a través de este puerto suelen necesitar de ir acompañadas del diseño o convención de un protocolo de comunicación, nótese el "suele", que requiere del estudio de dicho protocolo para la correcta implementación.
Debido a que este tipo de puertos han quedado en la actualidad relegados a soluciones muy específicas, es de esperar que dichas soluciones no estén integradas en una unidad de computación estándar al uso, como un PC de sobremesa, o un portátil, por ejemplo, sino que la especificidad del sistema en que se embeben (por ejemplo, un terminal de kiosko de punto de venta), que ya de por sí emplean sistemas operativos y hardware cuyos sistemas y subsistemas requieren de altos conocimientos específicos para la correcta depuración (e incluso software adicional). Lo cual, agrega una capa extra de complejidad a la implementación del software necesario para integrarlos, complejidad que rara vez suele compensar el menor coste de fabricación del hardware.
Además de lo anterior, la enorme aceptación e implantación de los puertos serie universales (USB, etc.), los ha hecho aterrizar de lleno en los sistemas Android y Linux, lo cual facilita enormemente la conexión de hardware específico a estos terminales mediante el empleo de este tipo de puertos, apoyándose en los subsistemas y capas del sistema operativo anfitrión, que ya suelen traer soluciones para interactuar con dichos puertos que están altamente estandarizadas y permiten la fabricación de hardware mucho más escalable y multiplataforma, ya que un mismo conector nos será funcional en cualquier sistema operativo que integre un puerto USB, sin la necesidad de que el software que pretenda comunicarse con otro dispositivo a través del mismo, tenga que implementar su propio sistema de comunicaciones serie desde cero, ahorrándonos tiempo, código, esfuerzo, y dinero.

## Tipos de comunicación en serie
### Símplex

También denominado unidireccional, es una transmisión única, de una sola dirección. Un ejemplo de transmisión simplex es la señal que se envía de una estación de TV a la TV de su casa. Cuando los datos circulan en una sola dirección por vez, la transmisión se denomina half-duplex

### Semi-dúplex

En este caso ambos extremos del sistema de comunicación cumplen funciones de transmisor y receptor, y los datos se desplazan en ambos sentidos pero no de manera simultánea. Este tipo de comunicación se utiliza habitualmente en la interacción entre terminales y una computadora central.

### Dúplex

El sistema es similar al semidúplex, pero los datos se desplazan en ambos sentidos simultáneamente. Para que sea posible ambos emisores poseen diferentes frecuencias de transmisión o dos caminos de comunicación separados, mientras que la comunicación semidúplex necesita normalmente uno solo. Para el intercambio de datos entre computadoras este tipo de comunicaciones son más eficientes que las transmisiones semidúplex.