Migliore risposta
UART è un protocollo per trasferire i dati in modo seriale da un nodo a un altro. Il protocollo non è altro che un insieme di regole governate da tutte le parti che prendono parte alla comunicazione al fine di ottenere una comunicazione priva di errori.
soprattutto nella comunicazione seriale, il protocollo è obbligatorio. nella comunicazione parallela, in un singolo impulso, tutti i bit vengono trasferiti su un altro nodo ma nella comunicazione seriale, i bit vengono trasferiti uno per uno quindi necessitano di più impulsi. pertanto, dobbiamo comunicare al sistema quando inizi a trasmettere i dati, quanti bit ci saranno e come finirà il trasferimento dei dati. dovresti integrare anche qualche tecnica di controllo degli errori. tutte queste regole sono incluse nel protocollo. UART è un protocollo TTL che è supportato dalla maggior parte dei microcontrollori.
Ma quando vogliamo visualizzare i nostri dati sullo schermo del mezzo iperterminale del PC (computer), dobbiamo trasferirli al PC tramite la PORTA COM disponibile sul pannello posteriore. da qui nasce il concetto di standard che non è altro che uno strato fisico per trasferire i dati.
Il PC ha COM PORT che segue lo standard RS 232 per accettare i dati. Il diagramma dei pin di DB9 è molto famoso e facilmente disponibile su Internet. Ma i livelli logici di questa PORTA sono stati decisi molto prima quando TTL non era solo in figura.
Come per lo standard RS 232: logica 1 significa da -3V a -25V
e logica 0 significa Da + 3 V a + 25 V
dove il nostro protocollo UART genera dati secondo la logica TTL.
dove logica 1 significa da 2,4 V a 5 V
logica 0 significa 0 a 0.4V
quindi i dati dal protocollo UART non possono essere trasferiti direttamente sulla porta RS 232. potrebbe interpretarlo male. quindi un driver di linea chiamato MAX232 viene utilizzato per convertire i livelli TTL in livelli RS 232.
Allo stesso modo abbiamo anche altri standard che sono perfettamente compatibili con il protocollo UART. Standard RS 485 e standard RS 422 (entrambi adatti per topologia Bus)
Risposta
No . RS-232 è uno standard che definisce quale tipo di segnali esistono su un tipo di connessione seriale per dispositivi come i modem. È stato originariamente progettato per essere specificamente per i modem e tra Data Terminal Equipment (computer e modem DTE) e Data Communications Equipment (DCE – modem). È stato utilizzato anche per molti altri dispositivi.
Mentre RS-232 definisce quale segnale è su quale pin, i livelli di tensione utilizzati e alcune cose del genere, * non * definisce il contenuto effettivo di quei segnali.
Quindi un dispositivo sincrono che si collega a un modem mette sul cavo frame di dati molto diversi rispetto a un dispositivo asincrono. La tipica porta seriale su un PC (o almeno quella che era tipica, le porte seriali sono piuttosto rare in questi giorni), è una porta asincrona. I sistemi più grandi spesso utilizzavano protocolli sincroni, bisync, SDLC e HDLC erano nomi comuni. La più grande differenza tra i protocolli aysnc e sync è che il frame per il protocollo async copre un singolo carattere e il ricevitore non si sincronizza con i bit di dati mentre passano. Il frame per i protocolli sincroni è lintero frame di dati (molto simile ai protocolli di rete moderni) e il ricevitore estrae le informazioni di clock dal segnale per regolare la sua temporizzazione in modo da rimanere sincronizzato nel corso di migliaia di bit. Il primo è considerevolmente più facile da implementare, ma è meno efficiente (di solito porta a circa il 25\% di overhead aggiuntivo per i bit di inizio e fine associati a ciascun carattere) ed è spesso limitato a velocità di trasferimento dati inferiori.
Comunque , i dispositivi iniziali che implementavano questi protocolli erano costituiti da componenti discreti e SSI, con diversi circuiti per asincrono e sincronizzazione, così come i diversi tipi di protocolli di sincronizzazione. Quando i circuiti integrati sono diventati più grandi, le persone hanno iniziato a integrarsi. Allinizio potevi avere un ricevitore a un chip e un trasmettitore a un chip, ma spesso avevi ancora chip aggiuntivi per il clock, il controllo e quantaltro. Ma è stato un grande miglioramento.
Man mano che le cose sono migliorate, la maggior parte delle funzioni è stata integrata su un singolo chip. Quindi un UART, è un ricevitore / trasmettitore asincrono universale, integrato essenzialmente tutte le funzioni necessarie per un lato di una connessione seriale su un collegamento RS-232: la logica di controllo un ricevitore e un tramsitter. Un supporto implementato da USART (di solito) per entrambi i protocolli aysnc e sync. Si noti che i driver di linea effettivi sono spesso ancora separati.
Quindi una porta seriale in un PC * ha * un UART in essa, è ciò che mette il segnale sulla connessione RS-232, dove un dispositivo al laltra estremità ha una UART che riceve il segnale inviato e anche quelle forniscono lo stesso servizio nellaltra direzione. LUART è lhardware che vede il programmatore che scrive il driver del dispositivo. Esistono molti UART diversi, con interfacce di programmazione differenti, ma generalmente tutti possono comunicare (supponendo che possano essere impostati sugli stessi parametri), nonostante necessitino di una programmazione diversa.
Quindi RS-232 definisce cosa cè fisicamente sui fili, asincrono o sincronizzazione definisce come i dati vengono inquadrati e un UART (o USART) è solitamente limplementazione della logica necessaria per guidare quella porta sul dispositivo a ciascuna estremità del cavo.
Detto questo, le porte seriali sincrone sono rare sui PC e i quattro termini (porta RS-232, porta asincrona, porta seriale e UART) sono spesso usati in modo intercambiabile. Non è proprio corretto, ma ancora una volta, le porte seriali non asincrone sono rare.