Sembra una domanda proveniente da qualcuno che cerca di emulare un ricevitore UART nel software o in un FPGA. Per RS-232, usano il termine marchio e spazio . Ma questi di solito corrispondono, una volta digitalizzati, rispettivamente in un '1' e '0'.
Il ricevitore UART spesso divide ogni bit di tempo (deve essere noto, a priori) in almeno 4, ma spesso 16 o più, sotto-periodi. Si avvia (all'accensione / ripristino) in uno stato in cui ci si aspetta che la linea del ricevitore seriale sia in uno stato mark . Se la linea NON è in un segno in quel momento, allora sa che si trova nel mezzo di un frame di trasmissione e deve aspettare fino a quando può sincronizzarsi. Se la linea è in uno stato mark , allora potrebbe o potrebbe non trovarsi nel mezzo di qualcosa e dovrà aspettare e vedere. Questo è un problema con RS-232, se si collega semplicemente a un altro dispositivo mentre sono in corso le comunicazioni seriali o se fa parte di un tocco per monitorare le comunicazioni seriali asincrone tra due altri lettori e sono appena state ripristinate. Per essere assolutamente sicuri, quando esce comunque dal reset, l'UART dovrebbe osservare almeno N bit time (dove N è il numero di bit per parola, e spesso 7 o 8, e non assumendo alcuna opzione di parità qui) per un valore mark seguito da un bit di tempo di spazio per risincronizzarsi (oppure N + 1 bit di tempo di spazio .) Molti non portano quello stato in giro, in modo che possano sincronizzarsi in modo errato, se avviati nel mezzo di un flusso. Riceverai spesso errori di inquadratura e byte di dati occasionali, fino a quando non si verificherà la risincronizzazione accidentale di nuovo correttamente. Spesso è stato anche un prezzo accettabile. Normalmente, i cavi sono collegati e i dispositivi vengono accesi in un particolare ordine di funzionamento, quindi raramente si verificano problemi.
Una volta sincronizzato, però, l'UART sa cosa aspettarsi.Inizia sempre con la linea del ricevitore che va da un segno a uno spazio , il bit di inizio necessario che dura per un intero bit, seguito da bit di dati e poi seguito da atalmeno un bit di tempo pari a contrassegna (o più) come bit di stop.Se rimane sincronizzato, vedrà quel pattern ripetuto più e più volte.
Parte del motivo per ridurre i tempi di bit, a qualcosa come 4X o 16X, è che i clock utilizzati dal trasmettitoree il ricevitore non sono necessariamente perfettamente accurati e altrimenti sono semplicemente asincroni tra loro.Quindi parte della sincronizzazione che avviene nel ricevitore sta nell'allineare i suoi periodi a cubetti alla temporizzazione del trasmettitore.Più fine è la grana, migliore sarà l'allineamento del ricevitore.