Colección de citas famosas - Mensajes de felicitación - ¿Qué protocolo se utiliza para la comunicación en serie?

¿Qué protocolo se utiliza para la comunicación en serie?

Es el protocolo de comunicación serie RS-232. Se utilizan un terminal TX y un terminal RX para enviar y recibir datos respectivamente.

Los detalles son los siguientes:

Los protocolos de comunicación serie se dividen en protocolos síncronos y protocolos asíncronos.

(1) Ejemplo de protocolo de comunicación asíncrono: protocolo asíncrono start-stop

Figura 3

Características y formato:

Inicio- detener el protocolo asíncrono La característica del protocolo asíncrono es que se transmite carácter por carácter, y la transmisión de un carácter siempre comienza con el bit de inicio y termina con el bit de parada. No hay un requisito de intervalo de tiempo fijo entre caracteres. Su formato se muestra en la Figura 3. Hay un bit de inicio (nivel bajo, valor lógico 0) delante de cada carácter. El carácter en sí consta de 5 a 7 bits de datos, y luego hay un dígito de control (o ningún dígito de control) después del último. es un bit de parada, lo que significa la mitad o dos, y el bit de parada va seguido de un bit inactivo de longitud variable. Tanto el bit de parada como el bit inactivo se especifican como nivel alto (valor lógico), lo que garantiza que debe haber un flanco descendente al comienzo del bit de inicio.

Como se puede ver en la figura, este formato se basa en bits de inicio y bits de parada para definir o sincronizar caracteres, por lo que se denomina protocolo de inicio. Al transmitir, el bit bajo de los datos está al frente y el bit alto está detrás. La Figura 4 muestra la forma de onda 1010001 del código ASCAII para transmitir un carácter E. Cuando su bit menos significativo se escribe a la derecha, es el código ASCII de E 1000101=45H.

Figura 4

La función del bit de inicio/parada: el bit de inicio en realidad se agrega como una señal de contacto. Cuando llega a un nivel bajo, le indica al receptor que inicie la transmisión. . Su llegada significa que están llegando los siguientes bits de datos y debes estar preparado para recibirlos. El bit de parada marca el final de un carácter y su aparición indica que se ha transmitido un carácter. Esto proporciona a ambas partes que se comunican una señal de cuándo comenzar a enviar y recibir y cuándo finalizar. Antes de que comience la transmisión, tanto el remitente como el receptor toman disposiciones unificadas sobre el formato de inicio y fin (incluida la longitud de bits de datos del carácter, el número de bits de parada, la presencia o ausencia de bits de paridad y si es impar o no). paridad uniforme) y la velocidad de transmisión de datos. Una vez que comienza la transmisión, el dispositivo receptor verifica continuamente la línea de transmisión para ver si ha llegado un bit de inicio. Después de recibir una serie de "1" (bits de parada o bits inactivos), se detecta un flanco descendente, lo que indica que aparece el bit de inicio. Después de confirmar el bit de inicio, se comienzan a recibir los bits de datos especificados y los bits de verificación de paridad. bits de parada. Después del procesamiento, se eliminan los bits de parada, los bits de datos se ensamblan en un byte paralelo y, después de la verificación, un carácter se puede recibir correctamente solo si no hay un error de paridad. Después de recibir un carácter, el dispositivo receptor continúa probando la línea de transmisión y monitoreando la llegada del nivel "0" y el inicio del siguiente carácter hasta que se transmitan todos los datos.

Como se puede ver en el proceso de trabajo anterior, la comunicación asincrónica se transmite por caracteres. Cada vez que se transmite un carácter, el bit de inicio se utiliza para notificar al destinatario, a fin de volver a verificar la sincronización del envío. y partes receptoras. Si las frecuencias de reloj del dispositivo receptor y del dispositivo emisor son ligeramente diferentes, esto no causará desalineación debido a la acumulación de la desviación. Además, los bits inactivos entre caracteres también proporcionan un búfer para esta desviación, por lo que la comunicación en serie asíncrona. Alta fiabilidad. Sin embargo, debido a la necesidad de agregar algunos bits adicionales, como bits de inicio y bits de parada, antes y después de cada carácter, la eficiencia de transmisión se vuelve baja, sólo alrededor del 80%. Por lo tanto, el protocolo start-stop se utiliza generalmente en situaciones donde la velocidad de datos es lenta (menos de 19,2 kbit/s). En la transmisión de alta velocidad, generalmente se utiliza un protocolo síncrono.

(2) Protocolo de sincronización orientado a caracteres

Características y formato: el representante típico de este protocolo es el Protocolo de comunicación de sincronización binaria (BSC) de IBM. Su característica es transmitir un bloque de datos que consta de varios caracteres a la vez en lugar de solo un carácter. Especifica 10 caracteres como marcas de inicio y fin de este bloque de datos y la información de control de todo el proceso de transmisión. controlar. Debido a que los bloques de datos que se transmiten están compuestos de caracteres, se denomina protocolo orientado a caracteres.

Definición de caracteres específicos (caracteres de control): Como se puede ver en el formato anterior, se agregan varios caracteres específicos antes y después del bloque de datos. SYN es un carácter de sincronización (carácter síncrono). Hay SYN al comienzo de cada cuadro. Agregar un SYN se llama sincronización única y agregar dos SYN se llama sincronización doble. El carácter de sincronización se utiliza para la transmisión y la recepción. end lo detecta continuamente. Una vez que aparece el carácter de sincronización, sabrá que ha comenzado un fotograma. El siguiente SOH es el carácter de inicio (Start Of Header), que indica el comienzo del título. El encabezado incluye información como la dirección del hospital, la dirección de destino e instrucciones de ruta. STX es el inicio del texto, que marca el comienzo del texto transmitido (bloque de datos). El bloque de datos es el contenido de texto que se transmite y que consta de varios caracteres. El bloque de datos va seguido del carácter de fin de grupo ETB (End Of Transmission Block) o del carácter de fin de texto ETX (End Of Text) se utiliza cuando el texto es muy largo y debe dividirse en varios subdatos. bloques y se envían en diferentes tramas. En este caso, el carácter de fin de texto ETX se utiliza después de cada bloque de datos. El final de una trama es un código de verificación, que verifica desde el SOH hasta el campo ETX (o ETB). El método de verificación puede ser una verificación de paridad vertical y horizontal o CRC.

Además, algunas otras palabras de control de comunicación también se utilizan en el protocolo orientado a caracteres. Sus nombres se muestran en la siguiente tabla:

Realización de transparencia de datos: el protocolo de sincronización orientado a caracteres, a diferencia del asíncrono. El protocolo de inicio y parada requiere que se agreguen bits de inicio y parada antes y después de cada carácter, por lo tanto, se mejora la eficiencia de la transmisión. Al mismo tiempo, debido al uso de algunas palabras de control de transmisión, se mejoran las capacidades de control de comunicación y las funciones de verificación. Pero también existen algunos problemas, como cómo distinguir códigos de caracteres de datos y códigos de caracteres específicos, porque es muy posible que en el bloque de datos aparezcan caracteres de datos que sean iguales a códigos de caracteres específicos, lo que provocará malentendidos. Por ejemplo, si el texto tiene un carácter de datos con el mismo código que el carácter final ETX, el receptor no lo tratará como datos ordinarios y pensará erróneamente que es el final del texto, lo que provocará un error. Por lo tanto, el protocolo debe tener la capacidad de procesar caracteres específicos como datos ordinarios. Esta capacidad se denomina "transparencia de datos". Para ello, en el protocolo se establece el carácter de transferencia DLE (Data Link Escape). Cuando se trata un carácter específico como datos, se debe agregar un DLE delante de él, de modo que cuando el receptor reciba un DLE, pueda predecir que el siguiente carácter es un carácter de datos y no lo trate como un carácter de control. El propio DLE también es un carácter específico. Cuando aparece en un bloque de datos, otro DLE debe ir precedido de él. Este método se llama relleno de caracteres. El relleno de caracteres es bastante complicado de implementar y depende de la codificación de caracteres. Precisamente debido a las deficiencias anteriores se ha producido un nuevo protocolo de sincronización orientado a bits.

(3) Protocolo de sincronización orientado a bits

Características y formatos: El más representativo de los protocolos orientados a bits es el Synchronous Data Link Control Protocol SDLC (Synchronous Data Link Control) de IBM, HDLC (Control de enlace de datos de alto nivel) de ISO (Organización Internacional de Normalización) y ADCCP (Procedimiento avanzado de control de comunicación de datos) del American National Standard Institute). La característica de estos protocolos es que los datos transmitidos en una trama pueden ser de cualquier bit y se basan en un patrón de combinación de bits acordado en lugar de caracteres específicos para marcar el principio y el final de la trama, por lo que se denomina "orientado a bits". "Protocolo. El formato de trama general de este protocolo se muestra en la Figura 5:

Figura 5

Segmentación de la información de la trama: Como se puede ver en la Figura 5, una trama de SDLC/HDLC incluye el siguiente campo de información (archivado), todos los campos se transmiten a partir del bit válido.

(1) Carácter de bandera SDLC/HDLC: El protocolo SDLC/HDLC estipula que toda transmisión de información debe comenzar con un carácter de bandera y terminar con el mismo carácter. Este carácter de bandera es 01111110, que se denomina campo de bandera (F). Se forma una unidad completa de información desde la marca inicial hasta la marca final, que se llama marco. Toda la información se transmite en forma de cuadros y los caracteres de bandera proporcionan los límites de cada cuadro. El extremo receptor puede detectar el principio y el final de la trama buscando "01111110" para establecer la sincronización de la trama.

(2) Campo de dirección y campo de control: Después del campo de bandera, puede haber un campo de dirección A (Dirección) y un campo de control C (Control). El campo de dirección se utiliza para especificar la dirección de la estación secundaria con la que se comunica. Un campo de control puede especificar varios comandos. SDLC estipula que el ancho del campo A y del campo C es de 8 bits o 16 bits. El receptor debe verificar el primer bit de cada byte de dirección. Si es "0", le sigue otro byte de dirección; si es "1", este byte es el último byte de dirección; De la misma manera, si el primer bit del primer byte del campo de control es "0", hay un segundo byte del campo de control, en caso contrario solo hay un byte.

(3) Campo de información: A continuación del campo de control se encuentra el campo de información I (Información). El campo I contiene los datos a transmitir y no todos los cuadros deben tener un campo de información. Es decir, el campo de datos puede ser 0. Cuando es 0, este marco es principalmente un comando de control.

(4) Información de verificación de trama: inmediatamente después del campo de información hay una verificación de contención de dos bytes. El campo de verificación de trama se denomina campo FC (verificación de trama) o secuencia de verificación de trama. Secuencia). Tanto SDLC como HDLC utilizan el código de verificación de redundancia cíclica CRC (Código de redundancia cíclica) de 16 bits. Excepto el campo de bandera y el "0" insertado automáticamente, toda la información participa en el cálculo del CRC.

Dos problemas técnicos en la aplicación práctica:

(1) Inserción/eliminación del bit "0": como se mencionó anteriormente, el protocolo SDLC/HDLC estipula que 01111110 es el byte de bandera, pero Es muy posible que haya caracteres del mismo patrón en el campo de información. Para distinguirlo del logotipo, se adopta la tecnología de inserción y eliminación de bits "0".

El método específico es que cuando el extremo emisor envía toda la información (excepto el byte de bandera), siempre que encuentre 5 "1" consecutivos, insertará automáticamente un "0" cuando el extremo receptor reciba datos (excepto el). byte de bandera), si después de recibir cinco "1" consecutivos, el "0" posterior se eliminará automáticamente para restaurar la forma original de la información. Este proceso de inserción y eliminación de bits "0" se completa automáticamente mediante hardware.

(2) Fin anormal de SDLC/HDLC: si ocurre un error durante el proceso de transmisión, el protocolo SDLC/HDLC comúnmente usa el carácter de fin anormal (Abortar) o la secuencia de invalidación para invalidar la trama. En el protocolo HDLC, se utilizan 7 "1" consecutivos como caracteres no válidos, mientras que en SDLC los caracteres no válidos son 8 "1" consecutivos. Por supuesto, las técnicas de inserción/eliminación de bits "0" no se utilizan en las secuencias de marketing de prueba. El protocolo SDLC/HDLC estipula que no se permiten lagunas de datos dentro de un marco. Entre dos cuadros, el transmisor puede emitir continuamente una secuencia de caracteres de bandera o un nivel alto continuo, lo que se denomina señal inactiva.