Control de flujo UART

2

Me confundí un poco con respecto al control de flujo. Tengo dos dispositivos, uno tiene los pines de control de flujo de UART (RTS y CTS) con el nombre de Dispositivo 1 pero el otro dispositivo no tiene nombre de Dispositivo 2 .

El dispositivo 1 que tiene el pin de control de flujo UART i configurado como control de flujo de hardware. Por lo tanto, el dispositivo 2 (que no tiene control de flujo) debe enviar 1 (afirmado) a antes de enviar datos, luego debe verificar el pin RTS del dispositivo 1 (dispositivo que tiene control de flujo) por dispositivo (que no tiene control de flujo). entonces enviará datos.

¿Mi entendimiento es correcto?

¿Cuál es la diferencia entre la barra CTS y CTS?

    
pregunta rock_buddy

1 respuesta

4

El control de flujo requiere la cooperación de ambos extremos. RTS significa Solicitud de envío y CTS está claro para enviar. Normalmente, el RTS de un lado está conectado al CTS del otro. Entonces, cuando un dispositivo tiene datos para enviar al otro dispositivo, espera hasta que se establezca CTS antes de que comience a transmitir. El dispositivo que está recibiendo afirmará RTS cuando no esté ocupado con otras tareas y cuando haya espacio disponible en el búfer (si se trata de una implementación con búfer, lo cual es común).

Tenga en cuenta que en el caso típico de un enlace dúplex completo , ambos lados pueden transmitir al mismo tiempo, por lo que cada extremo tendrá líneas CTS y RTS.

Entonces, en su caso particular, Dispositivo 2 no admite el control de flujo de hardware, por lo que nunca recibirá señales de control de flujo de ese dispositivo. Esto significa que para que Dispositivo 1 se comunique con Dispositivo 2 , debe tener el control de flujo de hardware desactivado (verifique su hoja de datos de UART) o debe tener las señales de entrada (RTS). en este caso) cableado para permitir siempre el envío.

Alternativamente, si Dispositivo 2 es parte de un microprocesador, es posible que pueda hacer su propio control de flujo de hardware utilizando líneas GPIO de repuesto para cumplir la función de CTS y RTS.

La barra CTS (comúnmente indicada como \ $ \ overline {\ text {CTS}} \ $ o #CTS) simplemente sería una versión invertida de CTS. Agregar la barra o el # son dos formas comunes de indicar el sentido inverso del sentido lógico habitual, por lo tanto, una línea \ $ \ text {RESET} \ $, que a menudo está activa a nivel bajo, a menudo se muestra como \ $ \ overline {\ text {RESET}} \ $.

    
respondido por el Edward

Lea otras preguntas en las etiquetas