Andiamo oltre la comunicazione seriale ora all'inizio del modulo abbiamo esplorato quale comunicazione seriale
era.
Cioè è una serie di uni o zeri comunicati su un filo.
Ma abbiamo bisogno di guardare i dettagli più fini della comunicazione seriale.
Siamo in grado di inviare dati seriali in due modi: possiamo usare tre fili uno per il riferimento di terra, un altro
per un orologio per sincronizzare la comunicazione con entrambe le estremità e il terzo filo per trasmettere i dati.
Questa si chiama comunicazione seriale sincrona perché le due estremità sono sincronizzate da quell'impulso di clock
condiviso sulla linea dell'orologio per risparmiare sui fili o comunque in casi come la comunicazione wireless dove non abbiamo
questa opzione di quel terzo clock in cui possiamo comunicare usando solo due fili o una singola radiofrequenza
in modo da interrompere il segnale di sincronizzazione dell'orologio.
Quindi questo significa solo che dobbiamo fare alcuni passi in più in modo
che il ricevitore sappia esattamente quando il mittente sta inviando zero o un 1 che chiamiamo comunicazione seriale sincrona
perché è senza sincronizzazione asincrono tende ad essere molto più comune di sincrono, specialmente dove la comunicazione digitale
senza fili è diventata la norma.
Servizio Bluetooth e cellulare ecc.
Quindi avrai bisogno di inviare un byte di dati su un collegamento seriale.
Puoi inviarlo in due modi.
È possibile inviare prima il bit meno significativo o il bit più significativo.
Non importa la tua scelta, ma ovviamente devi prendere questa decisione prima di tentare di comunicare
inviando il dato che il bit meno significativo prima invia il numero piccolo alla fine del byte.
Destra.
Quindi chiamiamo questa comunicazione little endian.
Se gli inviamo il bit più significativo, per prima cosa lo chiamiamo big endian perché inviamo
prima il numero del big end.
Il metodo più comune o il modo più comune è il little endian o il bit meno significativo di Lincs.
Una volta che hai deciso quali bit stai inviando, per prima cosa devi decidere quanto
velocemente vuoi inviare quei bit quanti bit al secondo.
Questo è chiamato il baud rate.
La velocità di trasmissione più comune è 96 cento bit al secondo.
Quindi ci sono un mucchio
di tassi di obbligazioni standard come
dodicentoventiquattrocentoquattrocentodiciannovemiladuecentotrentottomilaquattrocentocinquantasettemilaseicentoottantamiladuecento.
Ora più veloce non è sempre meglio.
Mentre è in genere vero che si desidera trasferire quante più informazioni possibili il più velocemente possibile.
Ti ricorderai dal modulo uno in cui, se esegui elettricità attraverso un filo, genera un campo
magnetico attorno a quel filo, un filo in un campo magnetico in movimento riceve anche una corrente indotta nel filo.
Quindi gli impulsi e gli zeri lungo un filo sono una C, non è vero?
Quindi quanto più veloce è il polso di quella linea con i dati con un baud rate più alto che è una maggiore frequenza di AC
non lo è.
E più i cavi di comunicazione sono lunghi, più i cavi sono esposti a varie onde
elettromagnetiche provenienti in particolare da un filo, anche se il filo che stai trasmettendo è in funzione proprio
accanto al filo di riferimento.
C'è più induttanza a più alti tassi di obbligazioni che combattono i segnali che attraversano i fili eccetera.
Quindi tienilo a mente quando provi ad eseguire velocità di trasmissione più elevate perché stiamo utilizzando la modalità asincrona.
La prossima cosa che devi fare è che devi in qualche modo sincronizzare le due parti.
Ora non esiste un orologio comune per farlo gettando qualche bit in più sulla linea che imposta i tempi.
È quasi come fornire un paio di impulsi di clock sulla linea dati, quindi passare a impulsi di dati.
Quindi questi impulsi di clock possono essere da due a tre bit e sono chiamati i bit di inizio e fine.
Probabilmente si suppone che inizino la trasmissione del byte e segnino dove si ferma l'avvio e
i bit di stop non sono realmente bit ma piuttosto il tempo equivalente a uno o due bit quando la linea è inattiva è
mantenuta alta.
Quindi, quando la comunicazione inizia, il livello della linea scende a un minimo o uno zero rimane basso per la
lunghezza di un bit.
Questo è il punto di partenza.
Una volta che gli 8 bit sono stati comunicati, la linea rimane bassa per la lunghezza di uno o due bit.
Poi la linea torna alta e passa al minimo in uno stato alto perché abbiamo già pre-determinato il baud
rate.
Sappiamo quale frequenza aspettarsi gli impulsi.
Quindi, una volta che il bit di start arriva nel ricevitore zera il suo orologio integrato che è stato
impostato sulla frequenza precisa della comunicazione.
Quando arriva il momento in cui l'orologio diventa alto, il ricevitore legge la linea.
Se è basso, allora legge che è zero.
Se è alto allora è un 1.
Trasforma i bit in un registro a bordo che costruisce i bit in un byte che il ricevitore
conosce quanti bit sta leggendo, quindi guarderà il suo orologio nell'orario concordato per l'arresto è rimarrà basso per la
lunghezza di uno o due bit a seconda di come lo si imposta.
Poi la linea diventa alta al minimo e il ricevitore si siede lì ei monitor aspettano che la
linea si riduca di nuovo con un bit di partenza.
Ora la cosa più importante qui di nuovo è solo che tu sai quali sono le impostazioni su come
verranno comunicati i dati.
Ora il default più comune è un bit di avvio per ovvi motivi e un bit di stop che nessun
rumore può essere indotto sulla linea.
Sai che qualcuno accende un interruttore della luce nelle vicinanze e uno Spike elettromagnetico si riflette sulla linea.
Proprio quando il ricevitore stava leggendo la linea.
Quindi quello che doveva essere uno zero è diventato rosso come un 1 invece.
Quindi potremmo voler fare un controllo degli errori.
La parità è una forma molto semplice e veloce di controllo degli errori.
Ed è disponibile in due sapori primari, parità pari e parità dispari, la parità viene trasmessa come parte del pacchetto di
dati e viene chiamata un bit di parità.
Quindi la parità ha solo uno dei due risultati a 1 o 0.
Dobbiamo essere in grado di controllare tutti gli otto bit del nostro byte per l'accuratezza usando la
semplice formula matematica che fornisce una parità di risultato 1 o zero semplicemente conta il numero di zeri nel byte trasmesso.
Diciamo che era 0 1 1 0 1 1 0 0.
Abbiamo quattro zeri che è un numero pari.
Quindi ora se usiamo parità pari perché abbiamo un numero pari di zeri o bit di parità sarà 1 o vero se il numero che abbiamo
trasmesso aveva un numero dispari di zeri come 0 0 1 0 1 1 0 0.
Sono cinque zeri.
Quindi è un numero dispari.
Quindi non è un numero pari.
Quindi anche la parità sarebbe falsa o zero.
Se usassimo la parità dispari, il bit di parità sarebbe un 1 o 2 quando c'era un numero un
numero dispari di zeri e uno zero o falso quando c'era un numero pari di zeri.
Spero che abbia un senso.
Ci sono altri due tipi di segni di parità nello spazio che in 30 anni non ho mai visto una
volta usati.
Li ho semplicemente menzionati così sai che sono lì.
La forma più comune di controllo di parità non è nessuna.
Questo è che non c'è controllo di parità e nessun bit di parità.
Il motivo è perché il controllo di parità richiede tempo e quando comunichi tramite
una connessione seriale stai cercando di risparmiare più tempo possibile.
Ora in questi casi non c'è semplicemente una scommessa sulla parità.
Ma ti mostrerò la sequenza di bit qui con questo disegno in un tipico byte con un 8 bit di start.
È un po 'di parità.
E per fermarlo ora è ovvio che tu hai le opzioni di nessuna parità quale camera rimuoverà quel
bit e uno o due stopperemo ma rimuoverò quel bit se scegli così di avere effettivamente l'opzione di quanti bit
di dati vuoi inviare.
E quel numero sarà tra cinque e nove.
Ovviamente il valore predefinito è 8 per un byte la cosa più importante da togliere non è ciò
che fa ogni bit, ma piuttosto che sia il mittente che il ricevitore hanno esattamente le stesse
impostazioni, indipendentemente dalle impostazioni.
Ora le impostazioni predefinite più comuni sono un bit di otto bit di start bit uno stop.
Nessuna parità in 96 cento baud.
Si noti che un byte richiede 10 bit totali per trasmettere così 96 bit al secondo 10
bit per byte, ovvero 960 byte al secondo che si sta trasmettendo.
Ora diamo un'occhiata a uno strumento comune e molto utile che è disponibile probabilmente su
ogni singolo microcontrollore o computer che utilizzerai mai il trasmettitore ricevitore asincrono universale.
Lo chiamiamo U R T in breve.
Il tuo plettro ha noi o T, ma ha anche noi l'elettronica del bus seriale universale, l'Arduino ha anche un
modo o due e puoi usare il modo T per comunicare tra i nostri dinos o qualsiasi dispositivo elettronico che
abbia un A. R. T. e credimi è più comune se hai intenzione di ottenere.
C'era un paio di ragazzi alla DefCon 23 Def Con è la convention annuale degli hacker e stavano hackerando
tutto attraverso i suoi pin seriali di Arties del Regno Unito termostati TV router router fotocamere digitali
telecamere di sicurezza baby monitor anche frigoriferi.
In effetti, solo per dimostrare che gli hacker di basso livello potevano fare ciò, usavano l'hardware Arduino
comune per fare il loro hacking.
Hanno appena aperto il dispositivo e cercato i connettori T X e R X sul circuito stampato e quindi hanno
assunto il valore predefinito A. R. T. comunicazione e avevano quasi sempre ragione.
Quindi questo mi porta all'ultima cosa sul tuo Arduino.
Lo vedrai serigrafato alla lavagna.
Le connessioni Konik di T X an R X.
Questo è trasmettere e ricevere.
Ora se ti colleghi ai nostri wino, ad esempio, devi incrociare i fili qui.
La trasmissione viene emessa ricevendo il suo input.
Destra.
Quindi se ti colleghi trasmetti per trasmettere cosa ottieni.
Niente.
Entrambi parlano e non si ascoltano a vicenda.
È necessario collegare il trasmettitore al ricevitore.
Dall'altra parte e la trasmissione dall'altra parte alla ricezione su questo e questo consente la comunicazione seriale
asincrona tra le tue schede o tra il tuo Arduino e un altro dispositivo digitale con
un t u.
Ci sono altre forme di comunicazione come la vedo io.
E come PCI che entrerà più in dettaglio nelle lezioni successive e sia nelle lezioni di Bonnet che in
te. R. T. è uno dei più importanti.
Quello che useremo di più è in realtà l'U. S. connessione su questo integrato nella tua scheda.
È una connessione seriale tra te e il tuo computer e possiamo effettivamente
comunicare con il computer mentre Arduino è in esecuzione.
In effetti ora puoi facilmente utilizzare Arduino per interfacciare il tuo potente computer desktop con il
mondo esterno.
Uno dei seminari che sto sviluppando è un sistema di controllo del traffico ferroviario controllato da computer per ferrovie modello.
Quindi, utilizzando un'interfaccia per computer desktop per la mamma, laoag monta un Arduino.
Controlleremo i treni Gli interruttori per le piste di commutazione sanno dove si trovano i treni e la
pista e controllano tutti i segnali ferroviari.
Quindi la comunicazione seriale può essere molto potente e sorprendentemente facile da realizzare.
In realtà lo useremo nella prossima lezione.