cómo funciona RS232

Cómo funciona RS232 : RS232 define un protocolo que detalla un flujo de bits de datos se transmite secuencialmente a un cable, es decir, un flujo de bits. El orden y significado de cada bit está definido por el protocolo. La explicación simple a continuación es suficiente para entender RS232-no hay necesidad de leer un manual grande!,

RS232 es un estándar de protocolo de transferencia de información serial que define tanto el protocolo (método de transmisión de datos) como el hardware físico para hacerlo. Este documento describe cómo funciona a nivel físico para que sepa qué señales puede esperar ver en los pines del microcontrolador.

¿Qué es RS232?,

fundamentalmente es un método de transferencia de datos a través de un solo cable (necesita dos cables para obtener datos de vuelta ya que cada cable transfiere datos en una direcciónsolo):

es un método (o Protocolo – un estándar acordado) que define cómo transferir datos entre dos dispositivos utilizando unos pocos cables. Utiliza un método de transmisión serial donde los bytes de datos se emiten un bit a la vez en un solo cable.

Los datos solo se transmiten en una direcciónpara cada cable, por lo que para la comunicación bidireccional (dos direcciones) se necesitan dos cables., Por lo tanto, este no es un sistema de comunicación LAN multidrop como RS485, sino un protocolo punto a punto.

estos dos junto con una referencia de tierra (total: tres cables) conforman la configuración mínima con la que puede salirse con la suya.

Nota: para una comunicación más fiable sobre distancias largas es posible que necesite utilizar otras conexiones definidas en el estándar RS232, como DTR DCT, etc. señales de apretón de manos, etc.

más formalmente RS232 es un protocolo de comunicación asíncrona que le permite transferir datos entre dispositivos electrónicos.,

básicamente puede transferir un solo byte de datos a través de un cable serie que tiene entre 3 y 22 señales y funciona a velocidades de 100 a 20K baudios. Las tasas de Commonbaud utilizadas son 2.4 k, 9.6 k, 19.2 k, La longitud del cable puede ser de hasta 50 pies. Se utilizan velocidades de baudios más altas, pero no están cubiertas por la norma, aunque todavía funcionan, por ejemplo, 38400,57600 baudios (bits/s).

para transferir un bloque de datos, los bytes individuales se transmiten uno tras otro.,

esta sección describe cómo funciona RS232 en general sin describir los métodos de handshake – solo se describe el sistema más simple – esto es el más útil y el más probable de trabajar!.

Las señales de Handshake necesitan hardware de traducción de nivel adicional (un RS232chip con más e/s) y, aunque simples, no se requieren típicamente para la operación de PC a la placa de desarrollo. Es posible que los necesite para sistemas que están controlando múltiples dispositivos donde es posible que necesite detener temporalmente los datos de una unidad. Hay una sección sobre las señales de apretón de manos más adelante en este documento.,

Los datos se transmiten en serie en una dirección a través de un par de cables. La salida de datos se etiqueta Tx (que indica la transmisión) mientras que los datos que vienen en islabel Rx (que indica la recepción). Para crear un sistema de comunicación bidireccional se necesita un mínimo de tres cables Tx, RX y GND (tierra). Cruzar Tx& Rx entre los dos sistemas permite que cada unidad hable con la opuesta.

nota: cada señal (TX y RX) requiere un traductor de nivel ya que las altas tensiones se utilizan para transmitir los datos a los cables (típicamente salida de ±5v a ±25v).,

cada byte se puede transmitir en cualquier momento (siempre y cuando el byte anterior se haya transmitido). El byte transmitido no está sincronizado con el receptor, es un protocolo asíncrono, es decir, no hay señal de reloj. Por esta razón, el software en cada extremo del enlace de comunicación debe configurarse exactamente del mismo modo que cada chip decodificador en serie puede decodificar el flujo de datos en serie.


nota: la inversión del nivel de señal (lógica 1is-12V y lógica 0 es +12V).,

velocidad en baudios

Cómo funciona RS232 en la relación entre velocidad en baudios y frecuencia de señales.

La velocidad en baudios es simplemente la velocidad de transmisión medida en bits por second.It define la frecuencia de cada período de bits.

para una velocidad de baudios de 2400 (2400 bps) la frecuencia es 2400Hz y el bitperiod es 1/2400 o 416.6 us. Esta es la información que un receptor utiliza para recuperar los bits del flujo de datos.,

cómo funciona RS232 – Voltagelevels

para que funcione sobre cables largos se envían altos voltajes desde cada transmisor ya que debido a la resistencia del cable, el voltaje reduce el resto de la señal tiene que viajar. La especificación de voltaje de salida es de +5V a +25v (transmitiendo un cero lógico) y-5v a-25v (transmitiendo uno lógico).

Nota: Todas las señales en el cable tienen que generar los mismos niveles de voltaje, por ejemplo, DTR, DSR, RTS, CTS. Por lo tanto, necesita muchos chips de traductor de nivel para una interfaz completa, pero para distancias muy cortas solo necesita TX y RX y tierra.,

el voltaje máximo de ±25v no tiene que ser utilizado y una tensión común en uso es ±12V (salida por el microprocesador del transceptor MAX232).

una marca (lógica) se envía como -12V y un espacio (cero lógico) se envía como+12v, es decir, el sentido lógico se invierte.

Nota: El hecho de que existan altos voltajes en el puerto serie permite alimentar dispositivos que normalmente no esperaría encontrar en él. Pero deben sacar muy poca corriente.

niveles de tensión del receptor

en el receptor la entrada los niveles mínimos de tensión se definen como ±3v es decir., para recibir una lógica cero, la tensión debe ser mayor que 3V y para recibir una lógica, la tensión debe ser menor que-3v.esto permite pérdidas a medida que la señal se desplaza hacia abajo del cable y proporciona inmunidad al ruido, es decir, cualquier ruido espurio hasta un nivel de ±3V puede tolerarse sin que tenga ningún efecto sobre el receptor.

cómo funciona RS232-Thers232 Start Bit

el Protocolo se describe como asíncrono ya que no hay transmisión de reloj en todo. En su lugar, se utiliza un método diferente de recuperación de reloj.,

Al principio de cada transmisión se transmite un bit de inicio indicando al receptor que un byte de datos está a punto de seguir. Dado que el estado de inactividad de las líneas RS232 es bajo (-12v) para señalar una condición de inicio, la línea se establece alta(+12v) para un período de 1 bit. Esto significa que siempre se genera una transición en la línea para que un receptor sepa cuándo ocurre el 1er borde de la explosión de datos.

el bit de inicio permite que el receptor se sincronice con los bits de datos ya que puede ver el borde ascendente de la señal en la línea., Lo que esto significa es que thereceiver puede crear su propio reloj de muestra en el Centro de cada bit, para decidir si el bit Es realmente un cero de datos o uno de datos.

Una vez que se encuentra el bit de inicio, el receptor sabe dónde estarán los siguientes bits, ya que se le da el período de muestra (derivado de la velocidad en baudios) como parte del proceso de inicialización. Esta es la razón por la que debe establecer los mismos ajustes tanto en el receptor como en el hardware del transmisor, es decir, velocidad en baudios, número de bits de parada, número de bits de datos y bit de paridad (encendido o apagado)., Si no lo haces, por lo general no pasará nada, o verás personajes de basura en el receptor.

cómo funciona RS232 – los bits de datos

siguen el bit de inicio. Por lo general, habrá siete u ocho bases de datos con el lsb transmitido primero. La razón por la que puede elegir entre siete oreight es que ASCII se compone del alfabeto dentro de los primeros siete bits (así como los caracteres de control). El octavo bit extiende el conjunto de caracteres para símbolos gráficos.

si solo desea transmitir texto, solo necesita 7 bits., Esto ahorra abit y aumenta la velocidad de transmisión cuando se transmiten grandes bloques de datos.Otros tamaños de bits de datos son 5, 6, 8 y 9 bits. Sin embargo, la longitud de bits se suele establecer en 8 bits, esto se usa muy comúnmente.

consejo: dado que la mayoría de los módulos son capaces de manejar nueve bits, podría definir un uso para el noveno bit, Como indicar que el paquete de datos define un comando. Pero, por supuesto, usted tiene que ajustar su software receptor para procesar esa información.

Nota: Si utiliza RS232 para transmitir datos sin procesar (datos binarios), entonces necesitará 8 bits de datos.,

cómo funciona RS232-el Bit de paridad

El bit de paridad RS232 es un mecanismo de detección de errores crudo.Puede usar paridad impar o paridad par o ninguna en absoluto (en el diagrama anterior se incluye un bit de paridad (entre el último bit de datos y el bit de parada, aquí la paridad se indica como un ‘1’, lo que significa que hay un número impar de Databits. Así que la paridad en uso es paridad impar. El diagrama de abajo (comúnmente usado en el trabajo del microcontrolador) no usa un bit de paridad.,

simplemente evalúa todos los bits de datos y para la paridad impar devuelve un onesi hay un número impar de bits de datos que se establecen. Para par parity un evennumber de bits de datos que se establecen, establece el bit de paridad.

en el receptor el bit de paridad se usa para decir si se produjo un error durante la transmisión. Puede usar esto en el software receptor leyendo una bandera en el módulo UART.

el problema con la detección de errores usando el bit de paridad es que si dos bits están en error, entonces la comprobación de paridad falla., Esto se debe a que cada error anula el efecto del otro (en términos del cálculo de paridad). Cualquier número par de errores causa un fallo en la detección de errores.

no será un problema en un sistema basado en bench top (que no tiene transferencia de datos crítica). A través de un cable corto, por ejemplo, 6 pies, probablemente no verá ningún error de ninguna manera. Normalmente no uso paridad y no hay ningún problema en absoluto.

para sistemas que se ejecutan a larga distancia o en un entorno ruidoso, se debe usar un sistema mejor, por ejemplo, agregando una comprobación de redundancia cíclica a la secuencia de datos antes y después de que se envíe a través del RS232., Los CRC le permiten verificar y corregir algunos errores sin volver a transmitir los datos.

cómo funciona RS232 – el bit de parada

El bit de parada RS232 simplemente da un período de tiempo antes de que se pueda transmitir el siguiente bit de inicio. Es el sentido opuesto al Bit de inicio y debido a esto permite que el bit de inicio se vea, es decir, un bit de parada seguido por un bit de inicio siempre da una señal de borde ascendente para la detección por el receptor.

si no había un bit de parada, entonces el último bit en el flujo de datos sería el bit de paridad (o bit de datos si la paridad no está activa)., Esto cambiaría dependiendo de los datos enviados, por lo que si tuviera el mismo sentido que el bit de inicio, ¡el bit de inicio no podría verse!

el bit de parada se puede configurar eligiendo entre períodos de 1, 1.5 o 2 bits.

a velocidades de baudios muy altas, el período de bit de parada a bit de inicio (suponiendo que los datos se envían continuamente) será muy pequeño, por ejemplo, para una velocidad de baudios de 115200 baudios, el tiempo de un bit es 1/115200 = 8.26 us, por lo que utilizando períodos de 2 bits aumentará el tiempo a 16.5 us., Esto puede permitir que el receptor detecte el bit de inicio más fácilmente, ya que si hay capacitancia en la línea, las formas de onda exhibirán un tiempo de caída de subida de CR. Extender el período de tiempo permite una carga más capacitiva. Sin embargo, ITSO depende del hardware del receptor utilizado.

configuración típica

configuración típica para usar en el escritorio, por ejemplo, entre un microcontrolador y un programa emulador de aterminal, como «Tera Term»:

cómo funciona RS232 : configuraciones de tasas de baudios típicas.,
Baud 9600
Data bits 8
Parity None
Stop bits 1
Flow Control None

This can also be compactly written as:

9600 8N1

Hardware Connections 3 (Rx,Tx,GND) – Rx and Tx crossed over.,

«Control de flujo» en la lista anterior se refiere a un método de señalización de control de flujo de hardware que utiliza las señales DTR/DSR y RTS/CTS. Vea aquí para más sobre eso.

cómo funciona RS232-niveles de señal

en algún momento es posible que desee hacer un UART de software tal vez para guardar el espacio de código en su diseño actual (tal vez no necesita la parte de Recepción, ya que solo está emitiendo variables) o usar un pin de repuesto.

Nota: Puede encontrar el código USART del software de recepción y transmisión en las páginas de Tutorialpáginas 12f675.,

para crearlo necesitas los diagramas de señal reales que ves en el pin del microcontrolador (extrañamente estos son difíciles de encontrar en la web).

el siguiente diagrama muestra el flujo de bits cronometrado de 0V y 5V en el PIN de salida del microcontrolador. El diagrama inferior muestra los niveles de señal traducidos en los controladores de salida RS232 que se transmiten a través del cable serie.

estos niveles más altos se generan enviando los niveles lógicos de 0 – 5V al chip de un receptor, p. ej., MAX232 que tiene un conveter de impulso de diodo/condensador incorporado que aumenta los niveles de señal a la tensión RS232 requerida de ±12 voltios. Observe cómo el nivel-12V corresponde a un ‘1’ lógico y el nivel +12vl corresponde a un ‘0’lógico.

Nota: el nivel de voltaje de salida puede ser de ±5 a ±25v. para distancias más largas, un voltaje más alto es útil para compensar la pérdida, ya que las travesías de señales por el cable, pero para el uso práctico, los chips generan voltajes más bajos como ±12.,
cómo funciona RS232 al transmitir acharacter

la forma de onda inferior en el diagrama de bove anterior muestra la RS232signal que un osciloscopio en la unidad de salida de un chip traductor como el max232. Tenga en cuenta que el idlevoltage RS232 es-12V,

reloj RS232

el diagrama anterior también muestra el timingdiagram RS232 donde cada período de bits es 1/frecuencia por lo que para una tasa de 9600 bps (bits por segundo) el período de cada bit es 1/9600 o 104.,166us este es efectivamente el período de reloj RS232 requerido para la tasa de audios específica en uso.

forma de onda RS232

en el diagrama de arriba, la forma de onda inferior muestra el voltaje RS232 que puede esperar ver en la salida del pin RS232 TX(también los mismos niveles en el pin RX) en un osciloscopio. En algunos microprocesadores el nivel máximo de la señal puede no ser ±12V – el voltaje máximo y mínimo podría manchar (pues no habrá una caída de voltaje grande sobre distancias cortas)., Para distancias largas éstas deben ser ±12v-en el extremo de un cable largo la tensión caerá abajo a través de la resistencia del cable pero debe ser más que ±3v en el otro extremo.

la capacitancia del cable también ralentizará los bordes ascendentes y descendentes, redondeándolos.

cómo funciona RS232-las señales de Handshake

Las señales de Handshake son simplemente un método para detener el flujo de datos. Si una parte del sistema está ocupada, es posible que no pueda aceptar más datos y, en lugar de perderlos, se utilizan señales en cada extremo del enlace para detener la transmisión de datos., Hay dos tipos utilizados en RS232: apretón de manos de hardware y apretón de manos de software.

hardware handshake

  • DTR-Data Terminal Ready.
  • DSR-conjunto de Datos listo.
  • RTS – Solicitud De envío.
  • CTS-Borrar para enviar.

Si utiliza estas señales, todas deben transmitirse a los niveles 232, es decir, ±25v (o cualquier voltaje generado por el chip del Traductor, por ejemplo, ±12v, es decir, el mismo que la salida TX, por lo que necesita un chip RS232 con más traductores de nivel para transmitir y recibir las señales.,

recuerde que el protocolo estaba basado en un módem (el DCE o equipo de comunicación de datos) sentado en un escritorio y conectado (a través de RS232)al PC (el DTE o equipo Terminal de datos) – el controlador. Hay incluso un indicador de timbre (RI) que indica cuando el teléfono estaba sonando,conectado directamente a la línea telefónica, lo que permitiría la detección automática del modo de un flujo de datos entrante.

cada señal no es ortogonal, lo que significa que no hay una señal equivalente que retroceda hacia el otro lado., Esta parte del protocolo creció con el tiempo, por lo que hay diferentes usos de estas señales, pero en general se usa lo siguiente:

para detener los datos que provienen del PC, es decir, para detener la sobrecarga del módem con datos:

  • RTS (PC) al módem.
  • CTS (módem) a PC.

el PC afirma RTS para indicar que quiere transmitir datos al módem.
El módem afirma CTS para recibir datos desde el PC.

para detener los datos que provienen del módem, es decir, para detener la sobrecarga del PC con datos:

  • DTR (PC) al módem.
  • DSR (módem) a PC.,

El módem afirma DSR para indicar que desea transmitir datos al PC.
el PC afirma DTR para recibir datos del módem.

apretón de manos de Software

si ve los Términos XON y XOFF este es un método de control de flujo de software donde el receptor transmite un carácter especial (en el ASCIIset) para decirle al transmisor que deje de enviar datos. Cuando el receptor ha recobrado (un búfer está vaciando) entonces puede transmitir la señal XON totell el transmisor para reiniciar la transmisión.

Leave a Comment