Cálculo de errores de comunicación en serie y reloj local

2

Para un sistema de 24 MHz, el error de reloj local asociado con la transmisión de cuadros de caracteres de 10 bits a 38,4 Kbaud utilizando el SCI de un Freescale Micro es de 0.16%.

¿Cómo? No puedo entender las matemáticas que realmente tienen sentido para obtener ese número. ¿Algunas ideas? Estoy seguro de que es fácil.

    
pregunta W5VO

3 respuestas

5

Normalmente, un pin de comunicación asíncrono se muestrea a 16 veces la velocidad de bits. Esto implica un generador de velocidad en baudios de:

\ $ \ frac {24000000} {16} \ frac {1} {38400} = 39.0625 \ $

Dado que el valor entero resultante es 39, el error resultante es:

\ $ \ frac {0.0625} {39.0625} = 0.0016 \ $

o 0.16%

    
respondido por el semaj
3

Aquí hay una herramienta (para AVR) que muestra los cálculos. Se trata de la división entera de la velocidad en baudios y del reloj del sistema.

enlace

    
respondido por el Toby Jaffey
2

No tengo la hoja de datos de Freescale.

Pero 24MHz / 38400 baudios son exactamente 625 ciclos por símbolo.

Supondré que hay una división inevitable en el reloj o en el generador de velocidad en baudios, por lo que la proporción deseada es la mitad de 625 o 312.5. Lo más cerca que puede venir un contador de enteros es 312.

312 es 0.16% más bajo que 312.5

    
respondido por el markrages

Lea otras preguntas en las etiquetas