Baud rate nella comunicazione seriale Arduino
La codifica di Arduino è abbastanza semplice se si comprende il concetto di base e si ha l’abilità per l’implementazione logica. Questo concetto discusso in questo articolo sarà correlato al Baud rate. La maggior parte dei programmatori Arduino alle prime armi utilizza un valore di velocità in baud specifico per tutti i loro programmi e funzioni, ma non sono consapevoli del motivo per cui viene utilizzato un valore di 9600
anziché un altro numero. Cosa rende speciale questo valore e qual è l’uso effettivo del Baud rate?
La velocità di trasmissione è semplicemente la velocità di variazione del segnale o del simbolo al secondo. È abbastanza difficile da capire solo dalla definizione. Sarebbe meglio un’interpretazione più visiva.
Consideriamo il grafico a barre in figura 1. Assumiamo che ogni blocco abbia un periodo di 1 secondo. Quando il periodo sta per finire, si verifica un brusco cambiamento nel valore del grafico a barre. Per la prima barra, aumenta improvvisamente di valore. Questa variazione al secondo è nota come baud rate e la velocità in baud in questo caso particolare è 1. Il segnale cambia una volta al secondo.
Per questo nuovo grafico si consideri il mese di gennaio in cui il segnale cambia due volte fino a febbraio: questo rappresenta un baud rate di due. Significa anche che una porta può trasmettere un massimo di circa 2 bit al secondo. Se la velocità di trasmissione aumenta oltre le unità 76800
, è necessario ridurre la lunghezza del cavo per ottenere prestazioni ottimali.
C’è una sottile differenza tra baud rate e bit rate. La velocità in bit è la velocità di trasmissione dei bit al secondo, mentre la velocità in baud è il segnale o il simbolo cambia al secondo. La velocità in bit può essere maggiore della velocità in baud, ma non viceversa. I baud rate sono associati all’elettronica, in particolare ai progetti fai-da-te che coinvolgono la scheda di sviluppo Arduino.
Per usarlo come funzione globale nella programmazione tramite C++, dobbiamo assegnare un valore previsto con #define BAUDRATE
da usare in seguito. Se si desidera inviare e ricevere dati a una velocità maggiore, è necessario aumentare il valore di conseguenza; tuttavia, per un microcontrollore, il valore tipico è 9600
.
Ora i criteri di selezione dipendono da molti fattori. Prima di tutto, se vuoi aumentare il bit rate, devi aumentare il baud rate.
I criteri di sovracampionamento devono essere conformi ai baud rate; anche se si può cambiare il tasso di sovracampionamento da 16X
a 8X
o viceversa per i quali sono richiesti clock di tolleranza stretti, potrebbe esistere un errore. La riduzione della velocità aumenterà l’errore e il fronte del bit iniziale potrebbe non corrispondere al fronte del bit ricevuto.