Por qué el bloque de recuperación de datos debe funcionar a 16 veces la velocidad de transmisión [duplicado]

0

Los datos se reciben en el pin RXx / DTx y controlan el bloque de recuperación de datos. El bloque de recuperación de datos es en realidad un desplazador de alta velocidad que funciona a 16 veces la velocidad en baudios , mientras que el Registro de Cambio de Recepción (RSR) en serie opera a la velocidad de bits.

    
pregunta Prasad Pachu

2 respuestas

4

El reloj de recepción no está sincronizado con el reloj de transmisión, y los relojes no son necesariamente exactamente correctos a su frecuencia nominal (y podrían estar 'apagados' en direcciones opuestas).

Podría funcionar con menos muestras si los relojes fueran exactos y los datos estuvieran libres de ruido, pero más es mejor (con rendimientos decrecientes) y permite una mayor tolerancia de errores de reloj, etc., por lo que 16 es un buen número.

Aquí (para el 6402 UART ) puede ver que el área A representa la incertidumbre en la ubicación del borde del bit de inicio entrante, tanto como +/- 1/32 del reloj de recepción. Se supone que el centro del bit de inicio es 7.5 ciclos de reloj después de que se detecte el bit de inicio. Los bits entrantes subsiguientes se sincronizan a partir de esto.

    
respondido por el Spehro Pefhany
3
  

Por qué el bloque de recuperación de datos necesita funcionar a 16 veces la velocidad en baudios

No lo hace, pero 16 veces la velocidad en baudios generalmente se considera un buen número para usar. Mira el siguiente diagrama: -

Alrecibirelflancodescendentedelbitdeinicio,seiniciaunrelojde16xy,despuésde8conteos,selocalizalamitaddelbitdeinicio.Entoncesseiniciaunconteo"completo" de 16. Este conteo termina justo en medio del primer bit (bit 0). En este punto se almacena el primer bit del byte. Después de eso, cada bit subsiguiente se muestrea en la mitad de cada bit hasta que se almacena el byte completo.

Sin embargo, si la velocidad en baudios entrante cambiara un poco (hacia arriba o hacia abajo), el sistema todavía podría hacer frente pero, progresivamente, en ausencia de cambios de bit, el muestreo del bit se empujaría más cerca del borde anterior o posterior del bit. Por supuesto, esto no es tan malo, pero, con menos conteos de muestras, la granularidad del conteo puede significar que, en los límites extremos de la velocidad de transmisión, se producirá un error. Por lo tanto, 16 se elige como una cuestión de conveniencia y rendimiento, pero ciertamente, se podría implementar un conteo inicial de 4 seguido de conteos de 8.

En realidad, el reloj de 16x está funcionando todo el tiempo y, por lo tanto, también hay un efecto de granularidad al determinar la hora exacta del bit de inicio de caída. Este es otro pequeño error al que se le ayuda mucho al funcionar a una velocidad de reloj más alta.

Consulte this responde también.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas