Qual è la differenza tra USART e SPI? Esistono [TXD / RXD] per USART e [MISO / MOSI / SCK / SS] per SPI. So che SPI è un protocollo sincrono ma USART è hardware. Ma qual è la differenza tra la parte sincrona di USART e l'hardware?
Qual è la differenza tra USART e SPI? Esistono [TXD / RXD] per USART e [MISO / MOSI / SCK / SS] per SPI. So che SPI è un protocollo sincrono ma USART è hardware. Ma qual è la differenza tra la parte sincrona di USART e l'hardware?
Risposte:
USART è un dispositivo (o una periferica). SPI è un metodo standard per collegare le cose.
USART è l'acronimo di Universal Synchronous / Asynchronous Receiver / Transmitter , ed è la cosa base di cui hai bisogno se vuoi trasmettere usando RS-232.422 / 485 / etc. La parte sincrona di una USART non viene usata molto spesso, ed è a volte che la funzionalità viene lasciata fuori dal dispositivo, quindi viene chiamata UART (pronunciata You-Art).
Gli USART (con un appropriato driver / ricevitore RS-232 / etc) vengono utilizzati principalmente per comunicare con i dispositivi tramite un cavo. A volte vengono utilizzati per parlare tra dispositivi sullo stesso PCB o all'interno della stessa scatola, ma è molto più comune parlare con un altro dispositivo tramite un cavo.
SPI, il Serial Peripheral Interface Bus , è una cosa completamente diversa da una USART. SPI viene utilizzato principalmente per parlare con dispositivi sullo stesso PCB o nella stessa scatola. Ad esempio, un MCU che parla con un sensore di temperatura digitale. Non è quasi mai usato per parlare via cavo, da una scatola all'altra.
La cosa bella di SPI è che è super semplice e i dispositivi che utilizzano SPI non devono essere MCU. Gli USART richiedono quasi sempre che MCU di qualche tipo si trovino su entrambe le estremità del collegamento di comunicazione. Ma gli USART possono essere collegati usando meno fili su lunghe distanze.
C'è una grande differenza tra USART e SPI; Sincronizzazione
UART è asincrono - Ciò significa che la comunicazione non accompagna un segnale di clock. Sono collegati solo segnali di dati insieme a segnali di controllo del flusso a volte opzionali (RTS, CTS, DTR, DSR, ecc.). UART può essere full duplex o half duplex. RxD trasporta i dati da DCE a DTE. TxD trasporta i dati da DTE a DCE. UART è anche una connessione punto a punto, c'è un trasmettitore e un ricevitore su tutto il collegamento.
SPI è sincrono - Ciò significa che il segnale di clock accompagna il segnale di dati. MOSI - Master Out Slave In; MISO - Master In Slave Out; SCK - Segnale di clock da master a slave; SS - Slave Select signal seleziona i dispositivi slave. SPI è un bus e può avere più dispositivi sul bus. A causa del segnale di clock presente, SPI può essere utilizzato più velocemente di UART.