¿Se necesita RTS / CTS para UART con el chip FT232R USB-UART?

1

Estoy intentando usar el chip FT232R para permitir la comunicación en serie entre una tarjeta basada en el chip ATMEL SAMD21 y una PC. Necesito esto para obtener información del usuario y mostrar alguna salida del sensor al terminal para alertar al usuario.

En la hoja de datos del FT232R, conecta el RTS y el CTS del FT232R al RTS y al CTS del microcontrolador para su ejemplo UART, pero existen opiniones contradictorias sobre si el RTS y el CTS son esenciales para una comunicación adecuada. ¿Cómo puedo saber si se utilizan RTS y CTS en este caso, y si mi aplicación funcionaría correctamente sin ellos?

Gracias

    
pregunta Daci1234

2 respuestas

2

Esto no se puede responder solo por el hardware.

Más bien, depende del software en cada extremo. Si el software espera (o configura los controladores en serie del sistema operativo o los modos UART en búfer para esperar) el uso del control de flujo de hardware, entonces debe conectarlos o conectarlos a un estado permisivo.

Si el software no intenta usarlos (o configura para su uso), entonces no importa si los conectas.

(En casos raros heredados, el "software" en cuestión podría ser una máquina de estado implementada de una manera más parecida a un hardware, pero aparte de la administración del búfer de nivel UART, esto es extremadamente inusual, y Independientemente, el concepto es el mismo, que es el uso del puerto lo que posiblemente se preocupa por el control de flujo de hardware, no por el bajo nivel del puerto en sí).

    
respondido por el Chris Stratton
1

Chris ya te ha dado una respuesta perfecta, pero me gustaría agregar ...

También depende de la naturaleza de lo que se está conectando con qué y cómo planea intercambiar información.

Si la transferencia se solicita desde el host, es decir, la PC "ordena" o "pide" a su interfaz que haga algo o devuelva un bloque de información de un tamaño conocido, entonces efectivamente tiene un sistema de intercambio de manos incorporado. y el uso de las líneas de hardware generalmente no es obligatorio.

Sin embargo, si su interfaz envía datos no controlados y no solicitados, tal vez miles de lecturas de sensores continuamente, existe la posibilidad de que la PC, o lo que sea que almacena en búfer los datos en serie, no pueda mantenerse al día y los datos perdió. En esa situación, recomendaría encarecidamente utilizar las líneas de control.

A pesar de que las PC mismas son muy rápidas en estos días, el sistema operativo a menudo no lo es. Si alguna tarea de alta prioridad controla el tiempo de su proceso, no se tarda mucho en sobrepasar el búfer en serie a altas velocidades de transmisión.

    
respondido por el Trevor_G

Lea otras preguntas en las etiquetas