La inexactitud de una velocidad de transmisión RS-232

1

Escribo una implementación de software simple de UART para mi ATtiny. Mi CPU no es rápida, por lo que debería elegir baja velocidad de transmisión. Sin embargo, quiero usar la mayor velocidad posible. Y puedo estimar la inexactitud de una tasa de baudios en mi implementación.

¿Cuál es la máxima imprecisión relativa posible de una velocidad de transmisión RS-232 para la comunicación correcta con otros dispositivos? ¿El estándar RS-232 lo define?

    
pregunta

1 respuesta

2

No sé si hay una definición formal. Pero considera esto:

Un carácter RS232 tiene una longitud de aproximadamente 10 símbolos (inicio, 8 bits, parada).

Si comienza a descodificar a mitad de camino a través de un símbolo, y su reloj tiene un 5% de descuento, después de 10 símbolos habrá perdido el objetivo en un 50% del ancho de un símbolo; es decir, 5% es el máximo error tolerable posible. Y eso supone que el otro extremo está cronometrado correctamente; si tuviera un error en la otra dirección, lo descodificaría incorrectamente.

Por lo tanto, un error de 2.5% en direcciones opuestas en cada extremo también estaría al borde de fallar.

Los problemas de integridad de la señal causados por la longitud del cable solo empeorarán esto.

Prácticamente, un error inferior al 5% funcionará con un "buen" reloj en el otro extremo y un cable muy corto; para comunicaciones sólidas desea un error de reloj por debajo del 2%, y mejor que eso para soportar cables largos.

Ahora descubra de lo que es capaz su ATTiny, a diferentes velocidades en baudios y relojes de CPU ...

    
respondido por el Brian Drummond

Lea otras preguntas en las etiquetas