Señales de puerto serie (DB9)

Casi cada vez que uso un puerto serie para cualquier cosa, solo uso 3 pines del conector habitual de 9 pines (DB9): Tx, Rx y GND. Y cuando conecto mis proyectos de microcontrolador a estos puertos, solo cruzo las señales Tx y Rx en el cable, acoplo los GND y funciona.

Mirando las descripciones de pinout , parece que los otros 6 pines se usan para algo como control de flujo y detección de presencia de punto final. ¿Qué tipo de dispositivos requieren que uses estos pines en la práctica en estos días? ¿Por qué se requieren tantas señales (parece una exageración), cuál es el caso de uso para todas ellas a la vez?

Podría ser que solo estoy buscando una lección de historia aquí.

Control de flujo de hardware. Listo para enviar, Listo para enviar, Terminal de datos listo... todo lo que recuerdo de los viejos tiempos es que los cables siempre están mal, necesitan mucha solución de problemas. El control de flujo de software (XON/XOFF) es mucho más fácil de cablear (eso es lo que usa en la configuración de tres cables).
¿Crees que 9 pines es malo? ¡La especificación RS-232 original (completa) requiere un conector de 25 pines!
Con los microcontroladores NXP, puede usar DTR y RTS para controlar RESET y BOOT, por lo que puede ingresar automáticamente al cargador de arranque de ROM para flashear.

Respuestas (2)

La mayoría de las señales sofisticadas quedan del control del módem telefónico externo. Esto es cuando una computadora tenía que hablar con una caja externa que a su vez estaba conectada a la línea telefónica. Piense en la mayoría de las otras señales no solo como la transferencia de datos, sino también como el control de un teléfono con interfaz de computadora.

Las únicas señales más allá de RX y TX que es probable que encuentre hoy en día son RTS y CTS. Estos son para el control de flujo y todavía pueden ser útiles hoy en día. Sin embargo, la gran mayoría de los dispositivos actuales que todavía usan RS-232 usan solo las líneas básicas de RX y TX.

Algunos microcontroladores tienen UART que pueden usar opcionalmente RTS y CTS, porque el control de flujo fuera de banda puede ser algo útil. Tengo un proyecto en marcha en este momento en el que tengo dos PIC en la misma placa que necesitan enviarse datos entre sí y conecté RX, TX, RTS y CTS. Uno de los PIC implementa este control de flujo en hardware, por lo que es particularmente fácil. Por otro lado, tuve que hacerlo en firmware ya que UART no tiene esa capacidad de hardware.

La utilidad de las otras señales se hace evidente cuando se piensa en RS-232 como la forma principal de conexión en red de computadoras, y principalmente a través de módems. A diferencia del protocolo físico de red común de hoy, Ethernet, los datos no están enmarcados, por lo que cualquier comunicación fuera de banda debe ocurrir en otro cable, con interfaces eléctricas simples que podrían enviarse y recibirse por las interfaces eléctricas simples del día.

Muchas de las señales vienen en pares que difieren solo en la dirección.

RXD (recepción de datos) / TXD (transmisión de datos)

Obvio.

RTS (solicitud de envío) / CTS (autorización para enviar), DTR (terminal de datos lista) / DSR (conjunto de datos listo)

Control de flujo de hardware, para evitar desbordamientos de búfer. Cada uno de estos implementa una forma de afirmar "Tengo algo para enviar (RTS)" y para que el otro extremo responda con "Estoy listo para recibirlo (CTS)", con DTR/DSR haciendo lo mismo en la otra dirección. Consulte ¿Cuál es la diferencia entre el control de flujo DTR/DSR y RTS/CTS? en Desbordamiento de pila.

O simplemente abusado para cualquier propósito que se considere conveniente. La interoperabilidad no era genial, en el pasado. Todos tenían una caja con LED para indicar qué líneas se afirmaron para que pudieran averiguar qué estaba haciendo su hardware, y otra caja con puentes o interruptores móviles para que pudieran cambiar las líneas y hacer que dos cosas hablaran.

En estos días, muchos equipos son lo suficientemente rápidos como para que no haya posibilidad de que se produzca un desbordamiento del búfer, por lo que puede que no sea necesario controlar el flujo.

CD (detección de portadora)

El CD es esencialmente el DTE (módem) que afirma que cualquier cosa a la que esté conectado (línea telefónica) está físicamente conectado, descolgado, listo para funcionar, etc. O, de nuevo, simplemente abusado para lo que sea conveniente.

RI (indicador de anillo)

Se afirma cuando suena la línea telefónica.