Hay al menos tres formas básicas de transmisión asíncrona.
1) El UART, (receptor / transmisor asíncrono universal) donde los relojes de transmisión y recepción son asíncronos, pero ambos extremos concuerdan (por algún medio fuera del canal como las instrucciones de configuración de la velocidad en baudios) para usar aproximadamente la misma frecuencia.
El receptor detecta una condición de inicio (RXD baja), espera la mitad de un período de bit acordado y comienza a adquirir datos. Siempre que las velocidades en baudios se acuerden mejor que +/- 5%, este sistema puede funcionar durante periodos de 10 bits (inicio, 8 bits, paridad) antes de perder la sincronización, y debe volver a sincronizarse al inicio de cada nuevo símbolo. (carácter, byte).
El sobremuestreo es un refinamiento típico en este esquema.
2) Esquemas de temporización automática, donde una señal de reloj está enterrada en los propios datos. Un ejemplo de esto es " Código de Manchester " donde cada borde de reloj provoca una transición (cambio de nivel), cada '1' El bit de datos lo hace, cada bit '0' no lo hace. Estos incluso pueden funcionar en ausencia de una velocidad en baudios previamente acordada, siempre que se permita al receptor un poco de tiempo para "aprender" la velocidad de reloj a partir de los datos, y existe alguna convención para encuadrar (como los bordes del reloj que faltan en el preámbulos AES / EBU ).
Los códigos 8B-10B son otra familia de códigos de temporización automática, donde cada byte se convierte a un valor de 10 bits con algunas características específicas (como, aproximadamente el mismo número de 0 y 1 para el contenido mínimo de DC, no hay series de más de 5 9's o 1's en una fila) - garantizando que hay suficientes aristas para inferir la velocidad del reloj. IBM patentó una implementación en 1984, pero otra se usó en 1982 para la transmisión de video digital a través del enlace de fibra óptica (detalles incompletos en la pág. 6 aquí)
3) Handshaking, que requiere dos señales para el handshaking y las señales de datos.
Cada vez que el transmisor establece un bit, también cambia el estado de su señal de saludo (a menudo llamado "Req" o Solicitud). El receptor nota este cambio, acepta el bit de datos y responde con un cambio de estado en su "Ack" o señal de confirmación. Esto le da al transmisor permiso para enviar el siguiente bit.
En algunos aspectos, Req es similar a una línea de reloj: sin embargo, a diferencia de un reloj, no hay una frecuencia de reloj ni una frecuencia de señalización definidas, la transmisión es confiable incluso si el receptor está ocupado e ignora sus entradas por un tiempo.