html Bit di start, bit di stop e campionamento UART: spiegazione - FCTELE
                                   +8618758069661 [email protected]
Ricerca prodotti Guida: spazio = AND, | = OR, ! = NOT

Come fa l’UART a individuare ogni byte? Bit di start, bit di stop e campionamento

Hai domande? Chiamaci oggi!

+8618758069661

Oppure lasciaci un messaggio

Messaggio online

Come fa l’UART a individuare ogni byte? Bit di start, bit di stop e campionamento

Visualizzazioni: 11 +11Articolo originale di FCTELEAutore: team tecnico FCTELE

TEMPORIZZAZIONE DEI CARATTERI UART

Come riceve una UART senza un clock condiviso?

Il ricevitore usa un evento di start valido per stabilire la temporizzazione, quindi campiona i bit del carattere con il proprio clock locale e controlla la posizione di stop. Entrambe le estremità devono avere impostazioni compatibili. Un nuovo carattere può riallineare la temporizzazione, ma i controlli di framing non dimostrano l'integrità dei dati né il corretto funzionamento dell'applicazione. Questi diagrammi logici semplificati non rappresentano tensioni dei connettori né misurazioni del prodotto.

01

Start

A valid start event establishes the local timing reference.Find the start

Un evento di start valido stabilisce il riferimento temporale locale.

02

Campionamento

Sampling within stable bit intervals helps avoid transitions.Sample stable state

Il campionamento all'interno di intervalli di bit stabili aiuta a evitare le transizioni.

03

Stop

A low at the expected stop position can flag a framing error.Check expected high

Un livello basso nella posizione di stop prevista può segnalare un errore di framing.

01 Corrispondenza

Registrare baud rate, bit di dati, parità e bit di stop a entrambe le estremità.

02 Osservazione

Confrontare la temporizzazione logica e gli errori di ricezione durante una prova autorizzata.

03 Verificare

Controllare i byte effettivi dell'applicazione e l'interpretazione dei messaggi.

Lista di controllo per selezione e verifica — espandi
Controllo Cosa confermare Come verificare
Interfaccia Compatibilità elettrica Leggere la documentazione del modello
Carattere Corrispondenza di temporizzazione e formato Confrontare entrambe le configurazioni
Applicazione Byte e messaggi corretti Conservare i risultati delle prove con sequenze note

Le estremità seriali non condividono un filo di clock separato: come fa quindi un ricevitore a identificare un byte in un segnale variabile? La risposta sta nei bit di start, nei bit di stop e nella temporizzazione propria di ciascuna estremità. Comprendere questo processo spiega perché una piccola differenza di configurazione può produrre caratteri corrotti o errori di framing e perché una connessione Ethernet non dimostra che la ricezione seriale sia corretta.

Posizioni della trama 8N1 e passaggio dal registro a scorrimento UART al buffer di byte
Figura 1: stati logici e posizioni dei campi, non una forma d'onda dei dati fissa. N indica l'assenza di parità.

Distinguere l'interfaccia elettrica dal formato del carattere

Le apparecchiature industriali possono collegarsi a server di dispositivi seriali o ricetrasmettitori ottici per dati tramite RS232 o RS485. Un ricetrasmettitore di interfaccia converte i segnali di linea in segnali logici elaborabili dal chip. La UART gestisce i singoli bit secondo il formato del carattere selezionato. UART significa ricevitore/trasmettitore asincrono universale; il funzionamento asincrono normalmente non prevede un filo di clock di sincronizzazione condiviso.

I livelli alto e basso in queste illustrazioni rappresentano stati logici UART, non le tensioni effettive del connettore RS232 né la tensione verso massa di uno dei due conduttori RS485. Il tipo di interfaccia, la massa di riferimento, il cablaggio differenziale e i limiti del dispositivo richiedono verifiche separate. Un diagramma logico non è una guida al cablaggio e i pin TTL non devono essere collegati direttamente a un'interfaccia incompatibile.

Il percorso di ricezione può essere semplificato in ricetrasmettitore di linea, logica di ricezione UART, buffer di byte e applicazione. Il passaggio di un segnale tra gli stadi non dimostra che l'applicazione abbia ricevuto un record operativo corretto. La ricezione dei caratteri deve funzionare prima che i dati entrino nella rete.

Quali parti di una trama non sono dati dell'applicazione?

Nel comune formato 8N1, 8 specifica otto bit di dati, N indica l'assenza di parità e 1 specifica un bit di stop. Un carattere contiene anche un bit di start, quindi gli otto bit di dati dell'applicazione non costituiscono l'intera trasmissione sulla linea. I bit di start e di stop organizzano i caratteri; non devono essere aggiunti ai dati dell'applicazione come valori supplementari.

Nella comune rappresentazione logica non invertita, lo stato di riposo è alto, il bit di start è basso e il bit di stop torna alto. I dati vengono comunemente inviati a partire dal bit meno significativo, anche se le opzioni delle periferiche variano e la documentazione di entrambe le estremità deve concordare. Le etichette da D0 a D7 indicano posizioni, non un byte fisso né transizioni obbligatorie tra bit adiacenti.

Bit di dati consecutivi uguali possono mantenere la linea nello stesso stato. Un ricevitore non può contare le transizioni per contare otto bit. Si basa sulla temporizzazione successiva all'evento di start per valutare gli intervalli di bit successivi. Per questo è importante che le impostazioni del baud rate corrispondano.

Come inizia la ricezione dallo stato di riposo?

La UART monitora il proprio ingresso. Dopo aver rilevato una possibile transizione di start, verifica il livello basso rispetto alle condizioni di start della propria implementazione e programma il campionamento dei dati. Un breve impulso spurio non costituisce automaticamente un bit di start completo. Il filtraggio e la convalida dello start variano tra le periferiche; non si deve presumere che le apparecchiature usino una logica interna identica.

Si può immaginare il bit di start come un segnale di preparazione prima di ogni carattere. Entrambe le estremità concordano sul ritmo approssimativo, poi il ricevitore segue il proprio temporizzatore locale per campionare in sequenza. L'analogia non significa che venga inviato un vero segnale vocale o che una normale UART riconosca automaticamente qualsiasi baud rate. È comunque necessaria una configurazione compatibile.

Molte UART usano il sovracampionamento: il loro clock di campionamento interno esegue più cicli durante un intervallo di bit, aiutando a individuare uno start valido o una posizione di campionamento. Alcune prendono decisioni basate su più campioni. Questo può aiutare a individuare i fronti e a gestire i disturbi, ma non consente di tollerare errori illimitati. Il fattore di campionamento di un chip non è una specifica universale dei prodotti FCTELE.

Gli eventi di start UART riallineano la ricezione e i campioni ricadono in intervalli di bit stabili
Figura 2: concetti di rilevamento dello start e campionamento; campi semplificati, non forme d'onda misurate.

Perché campionare vicino al centro di un bit?

In prossimità del confine tra bit, il segnale può essere in transizione. La propagazione, la velocità dei fronti e le soglie di ingresso influenzano il momento in cui il ricevitore lo considera alto o basso. Campionare all'interno di un intervallo stabile facilita l'interpretazione rispetto al campionamento vicino a un fronte. I punti centrali illustrano il concetto; non affermano che un chip reale campioni una sola volta o sempre esattamente al centro geometrico.

Trasmettitore e ricevitore usano clock locali separati. Se non concordano sulla durata del bit, le posizioni di campionamento previste possono slittare progressivamente anche dopo l'allineamento iniziale dato dallo start. Le differenze di temporizzazione possono diventare più evidenti verso la fine di un carattere, portando potenzialmente un campione nell'intervallo sbagliato vicino all'ultimo bit di dati o al bit di stop.

Messaggi brevi occasionalmente corretti non dimostrano che la configurazione sia affidabile. Alcune sequenze di bit possono mascherare un problema, mentre altre lo rendono evidente. Le prove di accettazione dovrebbero coprire i contenuti reali dell'applicazione e la trasmissione prolungata, anziché considerare sufficienti pochi caratteri leggibili su un terminale.

Che cosa può dirci il controllo del bit di stop?

Dopo i bit di dati configurati e gli eventuali bit di parità, il ricevitore controlla la posizione di stop secondo la propria implementazione. Se rileva un livello basso dove è previsto lo stato di stop, può impostare uno stato di errore di framing. Un errore di framing segnala il mancato superamento di un controllo del formato di ricezione; non identifica quale filo sia difettoso.

Un baud rate o un formato del carattere non corrispondente, le interferenze e un livello basso mantenuto per un tempo anormalmente lungo possono produrre sintomi correlati. Viceversa, l'assenza di errori di framing non dimostra che i dati siano corretti: un campionamento errato può rilevare casualmente un livello alto nella posizione di stop. I dati richiedono comunque controlli di integrità o verifiche a livello applicativo. Inoltre, il bit di stop non è un marcatore di fine per un messaggio operativo completo.

Il modo in cui le segnalazioni di errore accompagnano i caratteri, l'eventuale eliminazione di questi ultimi da parte del driver e la possibilità per il software di accedere ai contatori dipendono dall'hardware e dal software. Un'applicazione che non mostra nulla non dimostra immediatamente l'assenza di segnali in ingresso sulla linea; uno stadio potrebbe aver filtrato i caratteri errati. Conservare le informazioni di stato insieme al contenuto dei byte.

Confronto tra un normale campione di stop alto e un campione di stop basso con errore di framing
Figura 3: il controllo della posizione di stop e la segnalazione degli errori dipendono dall'implementazione.

Come può la trama successiva ristabilire la temporizzazione?

Dopo un carattere, il ricevitore torna a cercare un altro evento di start secondo le proprie regole. Un nuovo start valido offre alla ricezione l'opportunità di riallinearsi. La trasmissione continua non richiede necessariamente una lunga pausa tra i caratteri, ma deve rispettare il formato del carattere configurato e i requisiti di durata dello stop.

La sincronizzazione carattere per carattere non corregge automaticamente un intero scambio. Se un carattere viene ricevuto in modo errato, il protocollo applicativo deve comunque gestire byte mancanti, ripetuti o corrotti. I confini dei caratteri UART, quelli dei pacchetti di rete del server seriale e quelli dei messaggi applicativi sono diversi. L'aggiunta di bit di stop non può sostituire la corretta analisi dei messaggi.

Per l'analisi, registrare baud rate, bit di dati, parità, bit di stop e tipo di interfaccia a entrambe le estremità, quindi osservare forme d'onda e contatori degli errori in condizioni autorizzate. Modificare una variabile alla volta e confrontare dati noti prima e dopo la modifica. Le modifiche dei parametri sui collegamenti critici di produzione richiedono un intervento di manutenzione pianificato, anziché tentativi incontrollati.

Collegare le evidenze dei diversi stadi

Se la forma d'onda in ingresso è già anomala, esaminare interfacce elettriche, cablaggio e interferenze. Se la forma d'onda è riconoscibile ma i byte sono corrotti, controllare formato del carattere, temporizzazione e campionamento. Se i byte sono corretti ma l'applicazione non funziona, esaminare buffering, incapsulamento di rete e interpretazione da parte dell'applicazione. Le evidenze di ciascuno stadio forniscono indicazioni più utili rispetto alla sostituzione ripetuta degli switch Ethernet.

I server di dispositivi seriali e i prodotti per la trasmissione dati FCTELE collegano le apparecchiature industriali. Le interfacce effettive e le possibilità di configurazione dipendono dalla documentazione del modello pertinente. Questa guida spiega la ricezione UART in generale, non il circuito interno o la tolleranza misurata di un prodotto specifico, e non fornisce velocità massime non verificate. La documentazione di consegna dovrebbe includere configurazioni, condizioni di prova, forme d'onda originali e verifica dell'applicazione.

Riferimenti

TI: panoramica del protocollo UART e degli errori; Microchip: esempio di ricevitore asincrono; Informazioni sui gateway seriali FCTELE. Illustrazioni generali, non schemi circuitali del prodotto né misurazioni delle tolleranze.

Tradotto dall'articolo tecnico in cinese: Leggi l'articolo originale in cinese.

Domande frequenti

Gli stati logici UART corrispondono alle tensioni RS232?

No. Un ricetrasmettitore di linea converte i segnali elettrici; verificare separatamente le tensioni effettive dell'interfaccia e il cablaggio.

L'assenza di errori di framing dimostra che i dati sono corretti?

No. Il campione di stop può risultare casualmente alto anche quando i dati sono errati. Restano necessari i controlli di integrità e le verifiche a livello applicativo.

Un bit di stop termina un messaggio dell'applicazione?

No. Fa parte del formato di un carattere; i protocolli applicativi definiscono i confini dei messaggi.

Ambito e approfondimenti

Temporizzazione UART generica, non il circuito di un dispositivo specifico né una tolleranza misurata.

Escape dei byte seriali e delimitazione dei messaggi · Inoltro Ethernet e manutenzione

Condividi questo articolo