È Arduino Uart o Usart?
Secondo il foglio dati Arduino è un USART dispositivo. Arduino usa USART per la comunicazione seriale tra i dispositivi. Un porto seriale USART è obbligatorio in tutte le schede Arduino, tuttavia alcuni ne hanno diversi. USART non è solo un protocollo di comunicazione, è un circuito hardware all'interno di una scheda Arduino. Lo scopo principale dell'USART è trasmettere e ricevere dati in serie da Arduino a qualsiasi altro dispositivo.
Un altro punto importante da notare è tra USART e UART, c'è solo la differenza di lettera S il che significa sincrono. USART sta per un ricevitore/trasmettitore universale sincrono/asincrono mentre UART sta per un ricevitore/trasmettitore asincrono universali, quindi la differenza principale è che USART supporta sia la comunicazione sincrona e asincrona, mentre UART supporta solo la comunicazione asincrona. USART può funzionare come UART, ma UART non può funzionare come USART.
Per comprendere meglio sia entrambi, dobbiamo evidenziare la differenza tra sincrona e asincrona.
La trasmissione è la modalità di trasferimento di dati da un luogo a un altro. In Arduino abbiamo chiamato questa trasmissione di dati come comunicazione seriale. Principalmente due tipi di comunicazione seriale si svolgono nei dispositivi:
Comunicazione sincrona
La trasmissione sincrona dei dati è un tipo di comunicazione in cui un flusso o un blocco di dati viene trasferito da una sorgente a destinazione. Questo segnale di dati è accompagnato da un segnale di temporizzazione noto come orologio e la sincronizzazione tra mittente e ricevitore è obbligatoria. È una trasmissione duplex completa e più efficiente per grandi quantità di trasferimento di dati.
Comunicazione asincrona
La trasmissione asincrona trasferisce i dati sotto forma di byte. Il mittente e il ricevitore non richiedono alcuna sincronizzazione. Si tratta di trasmissioni mezzo duplex, i bit di avvio e arresto vengono aggiunti con dati trasmessi. Non ha bisogno di orologio per la sincronizzazione. I dati sono di 8 bit con ulteriori 2 bit di arresto e avvio, quindi il numero totale di bit inviati con un carattere è 10.
Differenza tra UART e USART
Sia USART che UART sono periferiche di microcontrollore che convertono i dati in flussi di bit seriali. Un UART può aggiungere bit di parità insieme a bit di avvio e arresto nel flusso di dati che aiuta a determinare l'errore. USART può fare lo stesso, ma ha aggiunta di comunicazione sincrona che manca a UART. Sembra che USART e UART siano uguali ma no, entrambi hanno alcune differenze significative altrimenti perché dovremmo chiamarle in modo diverso. Vediamo come entrambi sono diversi nel lavorare.
Prima differenza tra UART e USART è il modo in cui i dati sono cloctrati. UART utilizza il bit di avvio per sincronizzare il flusso di dati con l'orologio di dati generato internamente all'interno del microcontrollore. Non esiste un segnale di clock in arrivo con flusso di dati e per ricevere correttamente i dati UART deve conoscere il tasso di baud prima che i dati vengano raggiunti.
D'altra parte, USART ha il vantaggio della sincronizzazione. Quando vengono inviati i dati inviando periferiche, viene anche generato un oro. Una linea di clock separata viene utilizzata in USART che aumenterà la velocità di trasmissione dei dati fino a molte volte rispetto a UART.
Seconda differenza Tra UART e USART c'è il numero di protocolli che entrambi possono supportare. UART ha opzioni molto limitate con inizio, stop e persino strani bit di parità. UART è semplice e offre opzioni limitate dal suo formato base. Mentre USART è di natura più complessa e supporta più protocolli per citarne alcuni come smart card, interfacce RS-485, modbus e più moduli. Come già accennato, USART ha le stesse capacità asincrine di UART, può generare gli stessi dati di UART.
Ecco un breve confronto tra UART e USART per darne un'idea migliore.
USART | Uart |
USART è mezzo duplex + full duplex | UART è completo duplex |
USART è più veloce di Uart | Il trasferimento dei dati UART è lento |
I dati vengono trasferiti in blocchi | Un byte viene trasmesso alla volta |
USART può anche funzionare come UART | UART non può funzionare come USART |
USART è più complesso | UART è semplice e facile da gestire |
Il segnale di clock viene inviato con il ricevitore di dati non è necessario conoscere il tasso di baud in anticipo | Il ricevitore dovrebbe conoscere il tasso di baud per ricevere dati |
I dati vengono trasmessi al tasso di baud definito | I dati vengono trasmessi a velocità variabile |
Come usare la comunicazione UART/USART in Arduino
Per stabilire la comunicazione seriale tra Arduino e altri dispositivi abbiamo bisogno di due pin noti come pin TX e RX, il TX è per la trasmissione dei dati e Rx è per la ricezione. Tutte le schede Arduino hanno almeno una porta o questi due pin per la comunicazione seriale. In Arduino Uno TX è a D1 e Rx è a D0 PIN.
Per trasmettere i dati in serie dobbiamo collegare il pin TX Arduino con il pin Rx del modulo o hardware di ricezione e allo stesso modo Rx Pin di Arduino a Pin TX di un altro dispositivo. La porta USB su Arduino viene anche utilizzata per la comunicazione seriale, ma una cosa importante da notare è che Arduino Uno non consente la comunicazione simultanea su pin TX/RX e porta seriale.
Conclusione
La comunicazione seriale è un modo più veloce di comunicare tra i dispositivi in questo mondo moderno, tutti i microcontroller progettati sono con USART per rendere possibile la comunicazione. Qui abbiamo messo in evidenza tutte le potenziali differenze tra Arduino USART e UART. Inoltre abbiamo discusso di pin Arduino per la comunicazione seriale. Quindi, la conclusione di tutta questa discussione è che Arduino è un dispositivo USART, ma può funzionare anche come UART.