Control de flujo de software de control de flujo de puerto serie y control de flujo de hardware

Este artículo se reproduce principalmente de Baidu Library http://wenku.baidu.com/view/1fddeb262f60ddccda38a097.html

En el procesamiento de comunicación en serie, a menudo vemos dos opciones, rts / cts y xon / xoff, que son dos opciones para el control de flujo. Actualmente, el control de flujo se utiliza principalmente en la comunicación de datos de módems. Entonces, ¿cuál es el papel del control de flujo en la comunicación en serie y cómo se aplica en la preparación de los programas de comunicación en serie? Hablemos sobre este problema a continuación.

1. El papel del control de flujo en la comunicación en serie.

El "flujo" mencionado aquí, por supuesto, se refiere al flujo de datos. Cuando los datos se transfieren entre los dos puertos seriales, a menudo ocurre el fenómeno de pérdida de datos, o la velocidad de procesamiento de las dos computadoras es diferente, como la comunicación entre la computadora de escritorio y la computadora de un solo chip, el búfer de datos en el extremo receptor está lleno, luego continúe enviando en este momento Los datos entrantes se perderán. Ahora estamos transmitiendo datos a través de un módem en la red, este problema es particularmente importante. El control de flujo puede resolver este problema: cuando los datos en el extremo receptor no pueden procesarse, envía una señal de "no recibir más" y el extremo de envío deja de enviar hasta que recibe la señal "puede continuar enviando" antes de enviar datos. Por lo tanto, el control de flujo puede controlar el proceso de transmisión de datos y evitar la pérdida de datos. Los dos tipos de control de flujo comúnmente utilizados en las PC son el control de flujo de hardware (incluidos rts / cts, dtr / cts, etc.) y el control de flujo de software xon / xoff (continuar / detener), que se explican por separado a continuación.

 

2. Control de flujo de hardware

El control de flujo de hardware comúnmente utilizado es el control de flujo rts / cts y el control de flujo dtr / dsr (terminal de datos listo / conjunto de datos listo).

El control de flujo por hardware debe conectar la línea de cable correspondiente. Cuando se usa el control de flujo rts / cts (solicitud de envío / borrado para enviar), las líneas rts y cts en ambos extremos de la comunicación deben conectarse en consecuencia. El equipo terminal de datos (como las computadoras) usa rts para iniciar Inicie el flujo de datos del módem u otro equipo de comunicación de datos, y el equipo de comunicación de datos (como el módem) usa cts para iniciar y pausar el flujo de datos desde la computadora. El proceso de este método de apretón de manos de hardware es:

Al programar, establecemos un indicador de bit alto (puede ser el 75% del tamaño del búfer) y un indicador de bit bajo (puede ser el 25% del tamaño del búfer) de acuerdo con el tamaño del búfer del extremo receptor. Cuando la cantidad de datos en el búfer alcanza el bit alto, Establezca la línea cts baja (lógica de envío 0) en el extremo receptor. Cuando el programa en el extremo emisor detecta que cts es baja, deja de enviar datos hasta que la cantidad de datos en el búfer receptor es menor que el bit bajo y establece cts en alto . rts se usa para indicar si el dispositivo receptor está listo para recibir datos. El control de flujo de uso común también es dtr / dsr (terminal de datos listo / conjunto de datos listo).

3. Software de control de flujo

Debido a la limitación del cable, generalmente no usamos control de flujo de hardware sino control de flujo de software en la comunicación de control ordinaria. El control de flujo de software generalmente se logra a través de xon / xoff. El método común es: cuando la cantidad de datos en el búfer de entrada del extremo receptor excede el bit alto establecido, el carácter xoff se envía al extremo de envío de datos (19 decimales o control-s, se debe elaborar el manual de programación del dispositivo), el extremo de envío recibe Después del carácter xoff, deja de enviar datos inmediatamente; cuando la cantidad de datos en el búfer de entrada del extremo receptor es menor que el bit bajo establecido, el carácter xon (decimal 17 o control-q) se envía al extremo de envío de datos. Los datos serán enviados inmediatamente después. En general, puede averiguar qué caracteres se envían desde el programa fuente del dispositivo.

Debe tenerse en cuenta que si se transmiten datos binarios, los caracteres del logotipo también pueden aparecer en el flujo de datos y causar un mal funcionamiento. Esto es un defecto del control de flujo de software y el control de flujo de hardware no tiene este problema.

 

 

Lo siguiente es una comprensión del control de flujo del puerto serie de otro blog. También se reproduce, pero no encontré el texto original, así que publiqué su dirección.

http://blog.csdn.net/bianhonglei/article/details/8525971

Control de flujo en serie:

 

A y B se utilizan para indicar dos dispositivos que se comunican entre sí a través de un puerto en serie. A envía datos a B y utiliza RTS / CTS de hardware como mecanismo de control de flujo de hardware.

A quiere enviar datos, es decir, Solicitud de envío (datos), B ve que RTS es válido y decide que si quiere hacer un trabajo de preparación, establece que CTS no sea válido. Si está listo, establece CTS, Borrar para Enviar significa que para su envío (datos), lo he borrado. Entonces, A puede enviar datos después de ver que CTS es válido. Entonces, cada byte posterior enviado de A a B es un proceso de este tipo. En el medio, se puede decir que el búfer lleno de B está lleno, por lo que CTS debe configurarse como no válido. Después de que A lo encuentra, deja de enviar datos y continúa detectando CTS hasta que sea válido antes de continuar enviando datos. Una vez que se completa la transmisión de datos normal, A borra el indicador RTS inicial, lo que significa que el RTS no es válido, lo que indica que los datos se han transmitido. Por lo tanto, todo el proceso de envío de datos de A a B ha terminado.

 

314 artículos originales publicados · Me gusta 93 · Visita 210,000+

Supongo que te gusta

Origin blog.csdn.net/qq_18671205/article/details/105118514
Recomendado
Clasificación