Altre risposte spiegano bene il campionamento a livello di bit, ma volevo spiegare in modo più approfondito le attività di sub-bit e i dettagli sull'inclinazione e la fase dell'orologio.
come funziona l'asincrono.
Il mittente e il retriever concordano sul formato: un frame di 1 bit di inizio, N bit di dati, parità opzionale e 1, 1,5 o 2 bit di stop.
Sono d'accordo su una velocità di comunicazione comune approssimativa come 1 / 115.200 secondi per "bit" o baud. Ogni lato esegue il proprio orologio. Il risultato è che gli orologi potrebbero essere leggermente diversi l'uno dall'altro. Legge di Segal. In teoria, è consentita una differenza di circa il 10%, in pratica è più del 5%.
Eppure un elemento importante della condivisione di do not è la fase dei loro orologi. Anche se sia il mittente che il destinatario avevano frequenze di clock identiche, la relazione di fase tra i clock di mittente / destinatario non è controllata. Con orologi quasi identici, questa fase cambia lentamente.
Per far fronte a questa differenza di fase , il ricevitore campiona a una velocità maggiore del baud. Supponiamo che 16 volte più velocemente.
Un ricevitore si sveglia per guardare il suo ingresso, che sta campionando a 16x baud. Se l'input non è inattivo, attende che la linea sia inattiva per un po '.
Una volta che l'ingresso è in stato di inattività (nessun dato inviato), il ricevitore cerca una transizione campione allo stato attivo. Una volta rilevato, un buon ricevitore cerca anche 1/2 bit di tempo (8x campioni) in un secondo momento per uno stato attivo continuo. Se viene rilevato, viene rilevato un bit di stato e viene rilevata la fase (entro 1/16 di bit) dei dati in ingresso. In caso contrario, il segnale spurio viene solitamente ignorato silenziosamente e il ricevitore lo rifiuta come rumore e ricomincia come sopra.
I successivi N campioni, eseguiti a piena larghezza di bit dall'offset di 1/2 bit del bit iniziale, presumono che la linea sia dati e che viene letto il valore da LSbit a MSbit.
A volte è incluso un bit di parità.
Infine i successivi 1 (o raramente 2) bit vengono campionati (al centro) e dovrebbero essere nello stato inattivo. In caso contrario, si dice che il frame ricevuto ha un errore di bit di stop o errore di frame . Un bit di inizio lungo è uno speciale errore di inquadratura chiamato interruzione .
Dopo che l'ultimo bit di stop è stato campionato, quasi al centro, il ricevitore è immediatamente pronto per un altro bit di start. Ciò consente agli orologi del mittente e del destinatario di essere fino a circa il 5-10% di sconto l'uno dall'altro e la comunicazione riesce.
Come fa il dispositivo ricevente a "sapere" che sto inviando un bit di inizio seguito da 6 0?
Nel caso di OP, inviando x03 o b0000-0011, dopo che la linea è rimasta inattiva (stato 1-1-1-1 -...) per un po 'e il ricevitore è pronto, il mittente emette uno 0 iniziale, 1-1-0-0-0-0-0-0, bit di stop 1. Il ricevitore rileva il bit di avvio, i dati e il bit di stop. Successo!
Attributi aggiuntivi, non coperti, includono il sovracampionamento dei dati con rilevamento della maggioranza, interruzione, dettagli di parità, protocolli di livello superiore, rilevamento automatico del baud e così via.