sincronización UART [duplicado]

4

Estoy tratando de entender la sincronización UART. En un UART, el estado predeterminado es alto e inicia el proceso de recepción cuando recibe un bit de inicio (transición de alto a bajo)

En algunos escenarios, cualquier pico, ruido o interrupción puede cambie el estado de alto a bajo, lo que es suficiente para que el UART lo detecte como un bit de inicio. Sé que una UART maneja internamente estos Escenarios y evita el proceso de recibir un byyr completo.

¿Puede alguien explicarme cómo un UART maneja estos picos?

    
pregunta Embedded C

2 respuestas

5

El receptor UART muestrea la línea Rx 16 veces (la mayoría de los uC) antes de confirmar el valor de cada bit. Por ejemplo, si la velocidad en baudios es 9600, cada tiempo de bit será 104uS. Ahora para detectar correctamente el valor de cada bit (es decir, si es alto o bajo), el receptor UART muestrea el bus cada 104uS / 16 segundos. La mayoría de las votaciones de estas muestras se utiliza para decidir el valor de un bit. El bit de inicio se utiliza para indicar al receptor que los bits de datos están a punto de ser recibidos. Es obligatorio que el bit de inicio sea bajo. Al emplear un esquema de muestreo de este tipo, el receptor se asegura de que se eliminen los efectos del ruido.

    
respondido por el Akshay Immanuel D
3

El UART no comenzará a recibir un personaje simplemente porque la línea se puso baja. Debe ser bajo durante un cierto período de tiempo (30 a 50 por ciento de tiempo de un bit, y en algunos dispositivos esto puede incluso seleccionarse). Una falla no será lo suficientemente larga como para provocar la recepción de un personaje.

Si el ruido dispara esta operación, eso significa que su línea de comunicación es demasiado ruidosa para ser utilizada para la comunicación en serie, al menos no sin una detección y corrección de errores adicionales.

    
respondido por el gbarry

Lea otras preguntas en las etiquetas