Tasa de baudios en la comunicación serial Arduino
La codificación de Arduino es bastante simple si uno comprende el concepto básico y tiene la habilidad para la implementación lógica. Este concepto discutido en este artículo estará relacionado con la velocidad en baudios. La mayoría de los codificadores Arduino novatos utilizan un valor de velocidad en baudios específico para todos sus programas y funciones, pero no saben por qué se utiliza un valor de 9600
en lugar de otro número. ¿Qué hace que este valor sea especial y cuál es el uso real de la velocidad en baudios?
La tasa de baudios es simplemente la tasa de cambio de señal o símbolo por segundo. Es bastante difícil de entender solo por la definición. Sería mejor una interpretación más visual.
Consideremos el gráfico de barras de la figura 1. Suponga que cada bloque tiene un período de 1 segundo. Cuando el período está a punto de finalizar, se produce un cambio brusco en el valor del gráfico de barras. Para la primera barra, de repente aumenta de valor. Este cambio por segundo se conoce como velocidad en baudios, y la velocidad en baudios en este caso particular es 1. La señal cambia una vez por segundo.
Para este nuevo gráfico, considere el mes de enero en el que la señal cambia dos veces hasta febrero: esto representa una velocidad en baudios de dos. También significa que un puerto puede transmitir un máximo de aproximadamente 2 bits por segundo. Si la velocidad en baudios aumenta más allá de las unidades 76800
, entonces es necesario reducir la longitud del cable para obtener un rendimiento óptimo.
Existe una sutil diferencia entre la velocidad en baudios y la velocidad de bits. La tasa de bits es la tasa de transmisión de bits por segundo, mientras que la tasa de baudios es la señal o los cambios de símbolo por segundo. La tasa de bits puede ser mayor que la tasa de baudios, pero no al revés. Las velocidades en baudios están asociadas con la electrónica, especialmente los proyectos de bricolaje que involucran la placa de desarrollo Arduino.
Para usarlo como una función global en la programación a través de C++, necesitamos asignar un valor deseado con #define BAUDRATE
para usar más adelante. Si desea enviar y recibir datos a una velocidad más rápida, debe aumentar el valor en consecuencia; sin embargo, para un microcontrolador, el valor típico es 9600
.
Ahora, los criterios de selección dependen de muchos factores. En primer lugar, si desea aumentar la tasa de bits, debe aumentar la tasa de baudios.
Los criterios de sobremuestreo deben cumplir para coincidir con las velocidades en baudios; aunque se puede cambiar la tasa de sobremuestreo de 16X
a 8X
o viceversa para lo que se requieren relojes de tolerancia ajustada, puede existir un error. Reducir la velocidad aumentará el error y es posible que el borde del bit de inicio no coincida con el borde del bit recibido.