![Page 1: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/1.jpg)
Comunicazione SerialeVHDL - UART
Giovanni De Luca
![Page 2: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/2.jpg)
L'interfaccia seriale EIA RS-232 è uno standard costituito da una serie di protocolli meccanici, elettrici ed informatici che rendono possibile lo scambio di informazioni a bassa velocità tra dispositivi digitali.
Nel corso di oltre 40 anni lo standard si è evoluto, pur mantenendosi in larga parte invariato. L'evoluzione è riconoscibile dalla sigla, leggendo l'ultima lettera; l'ultima revisione è del 1997 ed è indicata come EIA RS-232f. Probabilmente la versione più diffusa è la RS232c, del 1969, che corrisponde alle specifiche europee CCITT,(Consultative Committee for International Telephony and Telegraphy) raccomandazione V.24.
Pur essendo un protocollo piuttosto vecchio, attualmente la EIA RS-232 è ancora largamente utilizzata per la comunicazione a bassa velocità tra microcontrollori, dispositivi industriali ed altri circuitirelativamente semplici, che non necessitano di particolare velocità;
Storia dello standard RS-232
![Page 3: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/3.jpg)
L'interfaccia EIA RS-232 ridotta (solo asincrona) utilizza un protocollo di trasmissione seriale di tipo asincrono.
Seriale significa che i bit che costituiscono l’informazione sono trasmessi uno alla volta su di un solo "filo". Questo termine è in genere contrapposto a "parallelo": in questo caso i dati sono trasmessi contemporaneamente su piùfili, per esempio 8, 16 o 32.
Si potrebbe pensare che la trasmissione seriale sia intrinsecamente piùlenta di quella parallela (su di un filo possono passare meno informazioni che su 16). In realtà questo non è vero in assoluto, soprattutto a causa della difficoltà di controllare lo skew (disallineamento temporale tra i vari segnali) dei molti trasmettitori in un bus parallelo, e dipende dalle tecnologie adottate
Asincrono significa, che i dati sono trasmessi, byte per byte, in modo anche non consecutivo e senza l'aggiunta di un segnale di clock, cioè di un segnale comune che permette di sincronizzare la trasmissione con la ricezione; ovviamente sia il trasmettitore che il ricevitore devono comunque essere dotati di un clock locale per poter interpretare i dati. La sincronizzazione dei due clock è necessaria ed è fatta in corrispondenza della prima transizione sulla linea dei dati.
Descrizione
![Page 4: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/4.jpg)
Unità di misuraLe unità di misura della velocità di trasmissione sono essenzialmente due: il baud ed il bit per secondo (bps o, piùraramente, b/s), spesso trattate erroneamente come sinonimi.
Il baud rate indica il numero di caratteri, simboli, numeri trasmessi al secondo; il bps, o bit rate, indica, come dice il nome, quanti bit al secondo sono trasmessi lungo la linea. I duetermini non sono equivalenti, in quanto il baud rate è riferito al contenuto del messaggio, mentre il bit rate è riferito alla struttura logico-temporale che ne permette la trasmissione.
Ad esempio, nel caso di una trasmissione TTY (telescrivente) che utilizza il codice Baudot (5 bit), per ogni carattere trasmesso, sono necessari: 1 bit di start, 5 bit di dati (il carattere da inviare), 1,5 bit di stop. Totale 7,5 bit. Se si utilizza, invece un codice a 8 bit (es. ASCII), occorrono: 1 bit di start, 8 bit di dati (il carattere da inviare), 1 bit di stop. Totale 10 bit.
![Page 5: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/5.jpg)
RS-232
![Page 6: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/6.jpg)
UARTUniversal Asynchronous Receiver Transmitter
Serial Data Transmission
![Page 7: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/7.jpg)
UART Block Diagram
![Page 8: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/8.jpg)
Transmitter SM Chart
![Page 9: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/9.jpg)
Receiver SM Chart
![Page 10: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/10.jpg)
Sampling RxD
![Page 11: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/11.jpg)
Baud Rate GeneratorSelect Bits BAUD Rate
000 38,462001 19,231010 9615011 4808100 2404101 1202110 601111 300.5
![Page 12: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/12.jpg)
![Page 13: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/13.jpg)
![Page 14: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/14.jpg)
![Page 15: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/15.jpg)
![Page 16: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/16.jpg)
![Page 17: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/17.jpg)
![Page 18: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/18.jpg)
![Page 19: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/19.jpg)
![Page 20: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/20.jpg)
![Page 21: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/21.jpg)
![Page 22: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/22.jpg)
![Page 23: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/23.jpg)
![Page 24: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/24.jpg)
Quartus project di un semplice UART controller
![Page 25: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/25.jpg)
VHDL (uart.vhd)
![Page 26: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/26.jpg)
![Page 27: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/27.jpg)
![Page 28: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/28.jpg)
![Page 29: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/29.jpg)
![Page 30: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/30.jpg)
![Page 31: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/31.jpg)
VHDL (uart_tx.vhd)
![Page 32: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/32.jpg)
![Page 33: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/33.jpg)
![Page 34: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/34.jpg)
VHDL (uart_rx)
![Page 35: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/35.jpg)
![Page 36: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/36.jpg)
![Page 37: (01) Comunicazione Seriale - Giovanni De Luca web page · velocità tra microcontrollori, dispositivi industriali ed altri circuiti relativamente semplici, che non necessitano di](https://reader031.vdocuments.site/reader031/viewer/2022021913/5c6cef6809d3f246468b7294/html5/thumbnails/37.jpg)