Sommario:

FONDAMENTI DELLA COMUNICAZIONE UART: 16 passaggi
FONDAMENTI DELLA COMUNICAZIONE UART: 16 passaggi

Video: FONDAMENTI DELLA COMUNICAZIONE UART: 16 passaggi

Video: FONDAMENTI DELLA COMUNICAZIONE UART: 16 passaggi
Video: Teoria della Informazione - Prima Lezione di Base completa - Tutorial 2024, Dicembre
Anonim
BASI DELLA COMUNICAZIONE UART
BASI DELLA COMUNICAZIONE UART

Ricordi quando stampanti, mouse e modem avevano cavi spessi con quei connettori enormi e goffi? Quelli che letteralmente dovevano essere avvitati nel tuo computer? Questi dispositivi probabilmente utilizzavano gli UART per comunicare con il tuo computer. Mentre l'USB ha quasi completamente sostituito quei vecchi cavi e connettori, gli UART non sono sicuramente un ricordo del passato. Troverai gli UART utilizzati in molti progetti di elettronica fai-da-te per collegare moduli GPS, moduli Bluetooth e moduli lettore di schede RFID al tuo Raspberry Pi, Arduino o altri microcontrollori.

UART sta per ricevitore/trasmettitore asincrono universale. Non è un protocollo di comunicazione come SPI e I2C, ma un circuito fisico in un microcontrollore o un circuito integrato autonomo. Lo scopo principale di un UART è trasmettere e ricevere dati seriali.

Una delle cose migliori di UART è che utilizza solo due fili per trasmettere i dati tra i dispositivi. I principi alla base di UART sono facili da capire, ma se non hai letto la prima parte di questa serie, Nozioni di base sul protocollo di comunicazione SPI, questo potrebbe essere un buon punto di partenza.

Fase 1: INTRODUZIONE ALLA COMUNICAZIONE UART

Nella comunicazione UART, due UART comunicano direttamente tra loro. L'UART trasmittente converte i dati paralleli da un dispositivo di controllo come una CPU in forma seriale, li trasmette in seriale all'UART ricevente, che quindi converte i dati seriali in dati paralleli per il dispositivo ricevente. Sono necessari solo due fili per trasmettere i dati tra due UART. I dati fluiscono dal pin Tx dell'UART trasmittente al pin Rx dell'UART ricevente:

Passaggio 2: flussi di dati dal pin Tx dell'UART trasmittente al pin Rx dell'UART ricevente:

Flussi di dati dal pin Tx dell'UART trasmittente al pin Rx dell'UART ricevente
Flussi di dati dal pin Tx dell'UART trasmittente al pin Rx dell'UART ricevente

Passaggio 3:

Gli UART trasmettono i dati in modo asincrono, il che significa che non c'è segnale di clock per sincronizzare l'uscita dei bit dall'UART trasmittente al campionamento dei bit dall'UART ricevente. Invece di un segnale di clock, l'UART trasmittente aggiunge bit di avvio e di arresto al pacchetto di dati che viene trasferito. Questi bit definiscono l'inizio e la fine del pacchetto di dati in modo che l'UART ricevente sappia quando iniziare a leggere i bit.

Quando l'UART ricevente rileva un bit di inizio, inizia a leggere i bit in ingresso a una frequenza specifica nota come baud rate. La velocità di trasmissione è una misura della velocità di trasferimento dei dati, espressa in bit al secondo (bps). Entrambi gli UART devono funzionare all'incirca alla stessa velocità di trasmissione. La velocità di trasmissione tra gli UART trasmittenti e riceventi può differire solo di circa il 10% prima che la temporizzazione dei bit si allontani troppo.

Passaggio 4:

Immagine
Immagine

Entrambi gli UART devono inoltre essere configurati per trasmettere e ricevere la stessa struttura di pacchetti di dati.

Passaggio 5: COME FUNZIONA UART

L'UART che sta per trasmettere i dati riceve i dati da un bus di dati. Il bus dati viene utilizzato per inviare dati all'UART da un altro dispositivo come una CPU, una memoria o un microcontrollore. I dati vengono trasferiti dal bus dati all'UART trasmittente in forma parallela. Dopo che l'UART trasmittente ottiene i dati paralleli dal bus dati, aggiunge un bit di inizio, un bit di parità e un bit di arresto, creando il pacchetto di dati. Successivamente, il pacchetto di dati viene emesso in serie, bit per bit sul pin Tx. L'UART ricevente legge il pacchetto di dati bit per bit sul suo pin Rx. L'UART ricevente converte quindi i dati in forma parallela e rimuove il bit di inizio, il bit di parità e i bit di arresto. Infine, l'UART ricevente trasferisce il pacchetto dati in parallelo al bus dati sull'estremità ricevente:

Passaggio 6: immagine come funziona UART

Immagine Come funziona UART
Immagine Come funziona UART

Passaggio 7:

I dati trasmessi da UART sono organizzati in pacchetti. Ogni pacchetto contiene 1 bit di inizio, da 5 a 9 bit di dati (a seconda dell'UART), un bit di parità opzionale e 1 o 2 bit di stop:

Passaggio 8: i dati trasmessi da UART sono organizzati in pacchetti di immagini

I dati trasmessi da UART sono organizzati in pacchetti di immagini
I dati trasmessi da UART sono organizzati in pacchetti di immagini

Passaggio 9:

PARTENZA

La linea di trasmissione dati UART è normalmente mantenuta ad un livello di alta tensione quando non sta trasmettendo dati. Per avviare il trasferimento dei dati, l'UART trasmittente tira la linea di trasmissione da alto a basso per un ciclo di clock. Quando l'UART ricevente rileva la transizione da alta a bassa tensione, inizia a leggere i bit nel frame di dati alla frequenza del baud rate.

CORNICE DATI

Il frame di dati contiene i dati effettivamente trasferiti. Può essere lungo da 5 bit fino a 8 bit se viene utilizzato un bit di parità. Se non viene utilizzato alcun bit di parità, il frame di dati può essere lungo 9 bit. Nella maggior parte dei casi, i dati vengono inviati con il bit meno significativo per primo.

PARITÀ

La parità descrive l'uguaglianza o la disparità di un numero. Il bit di parità è un modo per l'UART ricevente di dire se dei dati sono cambiati durante la trasmissione. I bit possono essere modificati da radiazioni elettromagnetiche, baud rate non corrispondenti o trasferimenti di dati a lunga distanza. Dopo che l'UART ricevente ha letto il frame di dati, conta il numero di bit con un valore di 1 e controlla se il totale è un numero pari o dispari. Se il bit di parità è 0 (parità pari), i bit 1 nel frame di dati dovrebbero totalizzare un numero pari. Se il bit di parità è 1 (parità dispari), i bit 1 nel frame di dati dovrebbero totalizzare un numero dispari. Quando il bit di parità corrisponde ai dati, l'UART sa che la trasmissione è stata priva di errori. Ma se il bit di parità è 0 e il totale è dispari; o il bit di parità è un 1 e il totale è pari, l'UART sa che i bit nel frame di dati sono cambiati.

PUNTINI DI ARRESTO

o segnalare la fine del pacchetto dati, la UART di invio pilota la linea di trasmissione dati da bassa tensione ad alta tensione per almeno due durate di bit.

Passaggio 10: FASI DELLA TRASMISSIONE UART

1. L'UART trasmittente riceve i dati in parallelo dal bus dati:

Passaggio 11: la trasmissione dell'immagine UART riceve i dati in parallelo dal bus dati

La trasmissione dell'immagine UART riceve i dati in parallelo dal bus dati
La trasmissione dell'immagine UART riceve i dati in parallelo dal bus dati

Passaggio 12: 2. l'UART di trasmissione aggiunge il bit di inizio, il bit di parità e il/i bit di arresto al frame di dati:

2. l'UART di trasmissione aggiunge il bit di inizio, il bit di parità e il/i bit di arresto al frame di dati
2. l'UART di trasmissione aggiunge il bit di inizio, il bit di parità e il/i bit di arresto al frame di dati

Passaggio 13: 3. l'intero pacchetto viene inviato in serie dall'UART trasmittente all'UART ricevente. l'UART ricevente campiona la linea dati alla velocità di trasmissione preconfigurata:

3. l'intero pacchetto viene inviato in serie dall'UART trasmittente all'UART ricevente. l'UART ricevente campiona la linea dati alla velocità di trasmissione preconfigurata
3. l'intero pacchetto viene inviato in serie dall'UART trasmittente all'UART ricevente. l'UART ricevente campiona la linea dati alla velocità di trasmissione preconfigurata

Passaggio 14: 4. l'UART di ricezione elimina il bit di avvio, il bit di parità e il bit di arresto dal frame di dati:

4. l'UART ricevente elimina il bit di avvio, il bit di parità e il bit di arresto dal frame di dati
4. l'UART ricevente elimina il bit di avvio, il bit di parità e il bit di arresto dal frame di dati

Passaggio 15: 5. l'UART ricevente converte i dati seriali in parallelo e li trasferisce al bus dati sul lato ricevente:

5. l'UART ricevente converte i dati seriali in parallelo e li trasferisce al bus dati sull'estremità ricevente
5. l'UART ricevente converte i dati seriali in parallelo e li trasferisce al bus dati sull'estremità ricevente

Step 16: VANTAGGI E SVANTAGGI DI UART

Nessun protocollo di comunicazione è perfetto, ma gli UART sono piuttosto bravi in quello che fanno. Ecco alcuni pro e contro per aiutarti a decidere se si adattano o meno alle esigenze del tuo progetto:

VANTAGGI

Utilizza solo due fili Non è necessario alcun segnale di clock Ha un bit di parità per consentire il controllo degli errori La struttura del pacchetto dati può essere modificata purché entrambi i lati siano predisposti Metodo ben documentato e ampiamente utilizzato SVANTAGGI

La dimensione del frame di dati è limitata a un massimo di 9 bit Non supporta più sistemi slave o più master I baud rate di ogni UART devono essere entro il 10% l'uno dall'altro Continuare alla parte tre di questa serie, Nozioni di base sul Protocollo di comunicazione I2C per conoscere un altro modo in cui i dispositivi elettronici comunicano. Oppure, se non l'hai già fatto, dai un'occhiata alla prima parte, Nozioni di base sul protocollo di comunicazione SPI.

E come sempre, fatemi sapere nei commenti se avete domande o altro da aggiungere! Se ti è piaciuto questo articolo e vuoi vederne altri simili, assicurati di seguirci

Saluti

M. Junaid

Consigliato: