¿Cuál es el error de velocidad de transmisión máximo aceptable para la comunicación serie RS-232?

5

¿Cuál es la diferencia máxima de reloj entre un transmisor y un receptor para una comunicación en serie asíncrona sin errores?

    
pregunta markrages

3 respuestas

3

Siéntete libre de editar en más valores. Estos son los que estoy usando ahora.

Atmel ATmega UART:

5 bits, normal speed : ±3.0%
5 bits, double speed : ±2.5%
10 bits, normal speed: ±1.5%
10 bits, double speed: ±1.0%

NXP LPC111x (Cortex-M0) UART: 1.1% (sin tabla)

Microchip PIC 18F2XK20 / 4XK20: no definido. (wtf.)

Como el venerable Sr. Horowitz & Hill lo puso:

  

Al volver a sincronizar los bits de INICIO y DETENCIÓN de cada carácter, el receptor no requiere un reloj altamente preciso; solo tiene que ser lo suficientemente preciso y estable para que el transmisor y el receptor permanezcan sincronizados con una fracción de un período de bits del tiempo de un carácter, es decir, una precisión de un pequeño porcentaje.

Tenga en cuenta que la longitud del conductor juega un papel importante en los errores de reloj de serie. Permanezco por debajo de 19200 baudios para un cable de cinta normal de más de 2 'de largo Me pone celoso de las líneas USB de 4 '60Gb / s.

    
respondido por el tyblu
8

[Primero que nada, el "RS" en RS-232 denota el "Estándar Recomendado", que era cuando fue lanzado en la década de 1960. Desde eones, sin embargo, es un estándar aceptado por la EIA como EIA-232, y el antiguo nombre fue abandonado oficialmente desde entonces. Pero parece que no hay nada como matar viejos hábitos :-)]

Sobre el tema: la tolerancia de reloj permitida depende del método de detección. IIRC el viejo 68HC11 muestreaba unas cuantas veces en un comienzo de bit, unas cuantas veces en medio de un bit, y al final. (El muestreo se produjo a una velocidad de bits de 16x). Esto permite una diferencia de medio bit en el último bit . La mayoría de las comunicaciones en EIA-232 :-) consta de 10 bits (1 inicio, 8 datos, 1 parada), por lo que la mitad de un bit en el bit de parada es 5% .

    
respondido por el stevenvh
3

Tenga en cuenta que el error es de pico a pico: esto puede ser un problema a altas velocidades en baudios en un reloj inestable. Los osciladores RC pueden tener bastante jitter, por lo que un reloj calibrado al 1% (promedio o RMS) puede realmente tienen errores instantáneos más grandes que eso. A velocidades más bajas, esto tenderá a reducirse.

    
respondido por el mikeselectricstuff

Lea otras preguntas en las etiquetas