Este documento trata sobre la comunicación serial, incluyendo conceptos como UART, velocidad de transmisión, tiempo de bit y el uso de puertos serie en Arduino.
0 calificaciones0% encontró este documento útil (0 votos)
8 vistas23 páginas
Este documento trata sobre la comunicación serial, incluyendo conceptos como UART, velocidad de transmisión, tiempo de bit y el uso de puertos serie en Arduino.
Este documento trata sobre la comunicación serial, incluyendo conceptos como UART, velocidad de transmisión, tiempo de bit y el uso de puertos serie en Arduino.
Este documento trata sobre la comunicación serial, incluyendo conceptos como UART, velocidad de transmisión, tiempo de bit y el uso de puertos serie en Arduino.
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 23
Prácticas – Tema 1
PRÁCTICAS INTRUMENTACIÓN 2022
Comunicación Serial
La comunicación serial consiste en el envío de un bit de
información de manera secuencial, esto es, un bit a la vez y a un ritmo acordado entre el emisor y el receptor.
Por el contrario, un puerto paralelo envía la información mediante
múltiples canales de forma simultánea. Para ello necesita un número superior de conductores de comunicación, que varían en función del tipo de puerto. Igualmente existe la posibilidad de conductores adicionales además de los de comunicación. Históricamente ambos tipos de puertos han convivido en los ordenadores, empleándose los puertos paralelos en aquellas aplicaciones que requerían la transmisión de mayores volúmenes de datos. Sin embargo, a medida que los procesadores se hicieron más rápidos los puertos de serie fueron desplazando progresivamente a los puertos paralelos en la mayoría de aplicaciones. La herramienta que usan los microcontroladores para convertir sus datos que se encuentran presentes en un bus paralelo desde y hacia una interfaz serial: se llama UART.
Un receptor/transmisor asíncrono universal es un bloque de circuitos
responsable de implementar la comunicación en serie. En esencia, este UART actúa como un intermediario entre las interfaces paralelas y seriales. En un extremo del UART hay un bus de ocho o más líneas de datos (más algunos pines de control), en el otro lado están los dos cables serie: RX y TX. Un bus serie consta de solo dos cables, uno para enviar datos y otro para recibir. Entonces, los dispositivos serie deben tener dos pines serie: el receptor: RX y el transmisor: TX. En el caso de comunicación serial cada carácter es enviado como un grupo consistente de un bit de inicio (START), el caracter (bits de datos), un bit opcional de paridad y uno o más de STOP.
Se hace referencia a cada grupo consistente de un caracter y sus
bits asociados como un FRAME.
Al proceso mediante el cual se adicionan bits de start, stop y de
paridad o un byte de datos se le conoce como FRAMMING. 157 10 Bit de paridad
Revisar la paridad es un método para probar que la transmission
está siendo recibida correctamente.
Un bit de paridad es ‘1’ si hay un número impar de ‘1’s en el byte
de datos y es ‘0’ si no (paridad par).
La mayoria de las utilidades de información no usan la paridad, así
que normalmente se puede establecer un programa de Comunicaciones serie, para 8 bits de datos, sin paridad y un bit de stop. Velocidad de transmisión
Una Interfase serie asíncrona opera a una velocidad fija, y ambos
extremos de la línea deben de operar a la misma velocidad.
Cada caracter de 8 bits, o byte, debe ser precedido por un bit de
start y seguido por un bit de stop. Cada caracter require entonces de 10 bits, no de 8.
La PC admite un interval Amplio de velocidades, las más usuales
son 300, 1200 y 9600 bps.
Bps = baudio (baud rate)
Tiempo de bit
El tiempo de bit no es otra cosa que el tiempo que mantenemos un
bit en la línea de transmisión.
Por ejemplo, una comunicación serie puede ser a 9600 baudios, es
decir que se pueden transmitir hasta 9600 bits en un segundo. Capa física en TTL
La trama del puerto serie puede ser enviada mediante muchos
standares, entre ellos RS232 o RS485 o RS422. Sin embargo, a la salida de un microcontrolador o de una FPGA casi siempre tendremos los conocidos como niveles TTL.
Un nivel TTL significa que los 0 lógicos se representan con 0 voltios y
los 1 lógicos se representan con 5v o 3.3v.
Pasar de TTL a RS232 o RS485 es un proceso sencillo para el cual se
suelen usar distintos tipos de transductores como el MAX485 o el MAX232. El puerto serie en ARDUINO
Prácticamente todas las placas Arduino disponen al menos de una
unidad UART. Las placas Arduino UNO disponen de una unidad UART que operan a nivel TTL 0V / 5V. Por su parte, Arduino Mega dispone de 4 unidades UART TTL 0V / 5V.
Los puertos serie están físicamente unidos a distintos pines de la
placa Arduino. Lógicamente, mientras usamos los puertos de serie no podemos usar como entradas o salidas digitales los pines asociados con el puerto serie en uso. Instrucciones incluidas en el objeto “Serial” Serial.begin(): abre el canal serie para que pueda empezar la comunicación por él. Por tanto, su ejecución es imprescindible antes de realizar cualquier transmisión por dicho canal.
Serial.println(): Envía a través del canal serie un dato (especificado
como parámetro) desde el microcontrolador hacia el exterior. Ese dato puede ser de cualquier tipo: carácter, cadena, número entero, número decimal (por defecto de dos decimales), etc. Si el dato se especifica explícitamente (en vez de a través de una variable), hay que recordar que los caracteres se han de escribir entre comillas simples Serial.write(): envía a través del canal serie un dato (especificado como parámetro) desde el microcontrolador hacia el exterior. Pero a diferencia de Serial.print(), el dato a enviar solo puede ocupar un byte. Por lo tanto, ha de ser básicamente de tipo “char” o “byte”. Ejemplo