¿Realmente necesita todas las señales para un puerto RS-232 general?

Sé que tener TX, RX, GND, RTS, CTS es bueno. ¿Qué pasa con todos los demás? ¿Los dispositivos en estos días incluso utilizan los otros pines (DSR, RI, DCD, DTR)? ¿Es seguro omitir estos pines en general? Me parece que, en su mayoría, solo se usan en equipos heredados DCE/DTE completamente especificados. FYI, estoy haciendo esta pregunta más específicamente en el ámbito de los sistemas integrados, no en las PC.

Recientemente he visto equipos integrados que requerían todas las líneas, pero esto es inusual. La documentación del dispositivo con el que desea hablar debe detallar lo que se requiere, pero la mayoría de las veces solo necesita TX, RX y GND. El control de flujo suele ser XON/XOFF.

Respuestas (2)

Sí. En realidad, muchas aplicaciones RS-232 ya ni siquiera usan RTS/CTS y no tienen ningún control de flujo de hardware; todo se hace en software. Especialmente con la llegada de los puertos serie virtuales, esto es más la regla que la excepción.

Sin embargo, si desea crear una interfaz RS-232 general, es inteligente dejar RTS/CTS allí, en caso de que esté planeando conectar un periférico que lo use.

Estoy haciendo esta pregunta más específicamente en el ámbito de los sistemas integrados, no en las PC. ¿Se aplica lo mismo en esta área? No quiero usar el control de flujo de software para esta aplicación... Definitivamente lo haré con CTS/RTS.
Esta respuesta estaba dirigida a sistemas integrados, así que sí.
¿Puede proporcionar un ejemplo del tipo de control de flujo de software del que está hablando? ¿Está relacionado específicamente con la temporización de las señales o los bits adicionales para el control de flujo en las señales de datos? No estoy familiarizado con un método que no sea hardware de FC integrado, especialmente en dispositivos donde se usa un DMA con un periférico UART/USART (el software FC es imposible en este caso).
El control de flujo del software se realiza mediante los caracteres XON/XOFF. El receptor envía un XOFF cuando quiere que el transmisor se detenga, luego envía un XON para iniciar el transmisor nuevamente. La mayoría de los UART integrados tendrán FIFO tanto para enviar como para recibir y, por lo general, configura una interrupción cuando el FIFO de recepción está cerca de estar lleno, luego envía XOFF en el ISR.
Sí, eso es lo que yo pensaba. XON/XOFF no es una opción ya que estamos tratando con un equipo viejo y tonto que no es compatible con tales esquemas FC. Pensé que tal vez había algo más de lo que estaba hablando.

Muchos sistemas hoy en día solo usan RX, TX y GND. RTS/CTS a veces todavía se usa para el control de flujo. Puede ser muy útil que el hardware maneje el control de flujo fuera de banda, en lugar de sobrecargar el protocolo de nivel superior con él.

Si tiene un dispositivo que sabe que no usará RTS y CTS, es una buena idea conectarlos entre sí en su extremo para que, si el otro dispositivo los usa, las cosas aún funcionen. No obtendrá control de flujo, pero aún se pueden transmitir y recibir bytes. Como ejemplo, eche un vistazo al esquema de mi producto RSLink2 . Observe cómo los pines 7 y 8 están conectados entre sí en el conector RS-232, aunque no se usan en ningún otro lugar.

Las líneas restantes ya casi no se usan en la actualidad. Estos eran en gran parte para controlar los módems telefónicos, que tenían indicadores de timbre, detección de operador, colgado/descolgado, etc. Básicamente, ya nadie usa módems telefónicos, e incluso cuando lo hacen, rara vez son cajas externas conectadas a la computadora a través de un RS-232. cable.