Comprensión de la comunicación UART, RS232, 485

De hecho, lo que esta publicación de blog quiere expresar es dejar en claro qué es la comunicación en serie.

Primero popularice los puntos de conocimiento básicos de la comunicación:

Tipos de comunicación de datos :comunicación en serie, comunicación en paralelo. No importa qué tipo de comunicación, no importa lo complicada que sea, se deriva de estos dos tipos.

Se compone de muchas líneas de transmisión o canales, y cada línea se puede transmitir una por una. Estos bits se pueden transmitir dentro de un tiempo específico, o se pueden transmitir varios bits al mismo tiempo dentro de un cierto tiempo; esto es comunicación serial y comunicación paralela.

       Dirección de transmisión de la comunicación de datos :símplex, semidúplex, dúplex completo. ¿Cuáles son las características de cada uno de ellos? He puesto un ejemplo de pasillo de vehículos y te lo explicaré de forma fácil de entender.

    1. Símplex: Solo se puede realizar una dirección de comunicación en cualquier momento, es decir, una está fija como dispositivo emisor y la otra como dispositivo receptor. Simplex es similar a un carril que solo permite correr en una dirección. En cualquier momento, solo un automóvil puede ir en la misma dirección y no se permite reversa.

    2. Half-duplex: los datos se pueden enviar y recibir entre dos dispositivos, pero no al mismo tiempo. Este ejemplo de imagen es como un walkie-talkie. Cuando estás hablando, los demás no pueden enviártelo al mismo tiempo. Una vez que termines de hablar, otros te responderán.

    3. Dúplex completo: al mismo tiempo, dos dispositivos pueden enviar y recibir datos al mismo tiempo. Esto es como una llamada de teléfono móvil: mientras usted habla, la otra persona puede interrumpir y usted también puede escuchar.

      Método de comunicación de datos : síncrono y asíncrono.

La diferencia entre sincronización y asíncrono: en primer lugar, existen conceptos de sincronización y asíncrono en muchos lugares. En pocas palabras, el emisor y el receptor funcionan en el mismo ciclo de reloj, lo que se denomina sincronización. El emisor y el receptor no siguen un ciclo unificado ciclo de reloj, y cada trabajo de acuerdo con su propio ciclo de reloj se llama asincrónico.

En la comunicación síncrona , las dos partes trabajan en un tempo uniforme, por lo que cooperan bien; generalmente, el remitente debe enviar información al receptor mientras envía una señal de reloj, y el receptor organiza su propio ritmo de acuerdo con la señal de reloj enviada a por el remitente. La comunicación síncrona se utiliza cuando la frecuencia de intercambio de información entre las partes comunicantes es fija o cuando se comunican con frecuencia.
       La comunicación asincrónica también se denomina notificación asincrónica. La asincronía significa que se puede hacer en cualquier momento, pero ¿cómo distinguir el comienzo, la acción y el final? Esto requiere que se inserte un bit de inicio (bit de inicio), contenido de datos y bit de finalización (bit de parada) en una trama de datos para distinguirlos, y luego se necesita una cierta frecuencia de transmisión (velocidad en baudios) para enviar los datos. Cuando la frecuencia de comunicación entre las dos partes no es fija (a veces envía y recibe una vez cada 3 ms, a veces solo una vez cada 3 días) no es adecuado utilizar la comunicación síncrona, pero sí es adecuado para la comunicación asíncrona. En la comunicación asincrónica, el receptor no tiene que preocuparse por el remitente todo el tiempo. Cuando el remitente necesita enviar información, primero le dará al receptor una señal de inicio para iniciar el mensaje. Después de recibir la señal de inicio, el receptor piensa que la siguiente es información válida. Comenzará a prestar atención a la recepción de información hasta que se reciba el signo de fin enviado por el remitente.

La comunicación en serie es asincrónica y la velocidad en baudios es muy importante en este momento.

1. Comprensión de UART

UART (Universal Asynchronous Receiver / Transmitter) que es Universal Asynchronous Receiver Transmitter , la abreviatura en inglés es uart, el chino se refiere al puerto serie , ya que es un "dispositivo" Obviamente, es un dispositivo solo para completar el hardware para un particular función, es entre dispositivos El módulo clave para la comunicación asíncrona. UART es responsable de procesar la conversión serie / paralelo y paralelo / serie entre el bus de datos y el puerto serie, y especifica el formato de trama (es decir, 9600, N, 8, 1); las partes de la comunicación solo necesitan usar el mismo Formato de trama y onda Velocidad especial (esta es la característica de la comunicación asíncrona), puede completar el proceso de comunicación con solo dos líneas de señal (Rx y Tx) sin compartir la señal del reloj, por lo que también se denomina comunicación en serie asíncrona . De hecho, el dispositivo UART es una señal de si toda la placa de circuito admite la comunicación en serie.

Por lo general, la comunicación en serie consta de un bit de inicio y varios bits de datos, generalmente de 8 bits o menos. La transmisión comienza desde el bit bajo de un byte y el bit de parada se transmite después de la transmisión. Este es un protocolo en serie básico . Por supuesto En este protocolo también se pueden insertar algunos bits libres, así como bits de paridad. Podemos usar una imagen para expresarlo vívidamente:

2. Comprensión de RS232 / 485

1) estándar RS-232

RS-232 es un estándar de interfaz física en serie desarrollado por la Asociación de la Industria Electrónica (EIA). RS es la abreviatura de "Estándar recomendado" en inglés y 232 es el número de identificación. RS-232 es la regulación de características eléctricas y características físicas. Solo actúa sobre la ruta de transmisión de datos. No contiene la forma de procesar los datos. Es necesario explicar que muchas personas a menudo confunden RS-232, RS-422 y RS-485 como protocolos de comunicación. Esto es muy inapropiado. De hecho, son solo un estándar de interfaz mecánica y eléctrica para la comunicación UART (como mucho El nivel físico en el protocolo de red).

El estándar estipula que se utiliza un conector DB-25 de 25 pines, se especifica el contenido de la señal de cada pin del conector y se especifica el nivel de varias señales. Más tarde, IBM PC simplificó RS-232 en un conector DB-9, que se convirtió en el estándar de facto en la actualidad. El puerto RS-232 de control industrial generalmente solo usa tres líneas RXD (2), TXD (3) y GND (5).

2) Estándar RS-485 / RS-422

La interfaz RS-232 puede realizar una comunicación punto a punto, pero de esta manera no puede realizar la función de red. Entonces, para resolver este problema, se produjo un nuevo estándar RS-485. La señal de datos RS-485 adopta el modo de transmisión diferencial, también llamado transmisión balanceada. Utiliza un par de pares trenzados, uno de los cuales se define como A y el otro como B. 

Normalmente, el nivel positivo entre el controlador de envío A y B es + 2 ~ + 6V, que es un estado lógico, y el nivel negativo es -2 ~ 6V, que es otro estado lógico. Hay otra señal de tierra C, y hay un extremo de "habilitación" en RS-485, pero está disponible o no en RS-422.

El rendimiento eléctrico del RS-422 es exactamente el mismo que el del RS-485. La principal diferencia es: RS-422 tiene 4 líneas de señal: dos para enviar y dos para recibir. Dado que RS-422 está separado para recibir y enviar, puede recibir y enviar al mismo tiempo (dúplex completo), y debido a que el dúplex completo requiere un canal separado para recibir y enviar, RS-422 es adecuado para la comunicación entre dos estaciones. Star La red y la red en anillo no se pueden usar en la red de bus; RS-485 tiene solo 2 líneas de señal, por lo que solo puede funcionar en modo semidúplex y se usa a menudo en la red de bus.

        De hecho, RS232 / 485 es solo el método de transmisión y el canal del marco de datos UART mencionado anteriormente. El punto sencillo es cómo transmitir los bits 0 y 1 en la trama de datos a través del cableado físico. Esto implica un problema, ¿cómo representar 0 y 1 en diferentes líneas? Por supuesto, todos sabemos que deben ser 0 y 1 expresados ​​por señales de nivel, por lo que su diferencia es solo la diferencia entre el nivel de 0 y 1 o la diferencia de voltaje, y cuántos voltios representan la diferencia entre 0 y 1. Los datos transmitidos en la línea son los mismos, pero la forma de expresión es ligeramente diferente.

RS232 / RS485 son dos protocolos eléctricos diferentes, es decir, es la regulación de características eléctricas y físicas, la que actúa sobre la ruta de transmisión de datos, y no contiene el método de procesamiento de los datos. Por ejemplo, la característica más notable es: RS232 usa nivel efectivo 3-15v, y UART, debido a que no hay regulación sobre características eléctricas, use directamente el nivel usado por la CPU, que es el llamado nivel TTL (puede ser 0 ~ 3.3V entre) . Más específicamente, las características eléctricas también determinan el método de conexión de la línea . Por ejemplo, RS232 requiere que los datos se expresen por nivel. Por lo tanto, la línea es una sola línea y se pueden usar dos líneas para lograr el propósito de dúplex completo; mientras que RS485 usa Ping eléctrico diferencial que representa datos. Por lo tanto, se deben usar dos cables para cumplir con los requisitos básicos de transmisión de datos. Para lograr dúplex completo, se deben usar 4 cables. Sin embargo, no importa si se usa RS232 o RS485, son relativamente independientes de UART.Sin embargo, debido a la diferencia en las características eléctricas, se debe conectar un dispositivo dedicado y UART para completar el flujo normal de datos entre la línea y UART. En cierto sentido, solo existe corriente en la línea. RS232 / RS485 especifica el tipo de línea y el flujo de estas corrientes; en el UART, la corriente se interpreta y ensambla en datos, y la CPU puede leer y escribir directamente.

Por tanto, RS232 / 485 representa un nivel estándar, pero un nivel diferente de TTL.

3. Comprensión del acuerdo

Maquillar más tarde. . . . .

Link de referencia:

1. ¿Cuál es la relación entre UART y RS232 / RS485?

2. Hablando del mecanismo de comunicación del bus (conceptos básicos de comunicación + puerto serie + I2C)

3. Introducción detallada y uso de los niveles TTL, COMS, USB, 232, 422 y 485

Vale la pena aprender y consultar los enlaces anteriores.

Supongo que te gusta

Origin blog.csdn.net/weixin_38293850/article/details/105875762
Recomendado
Clasificación