WEBVTT

00:01.290 --> 00:08.700
Andiamo oltre la comunicazione seriale ora all'inizio del modulo abbiamo esplorato quale comunicazione seriale

00:08.820 --> 00:09.600
era.

00:09.660 --> 00:15.760
Cioè è una serie di uni o zeri comunicati su un filo.

00:16.200 --> 00:22.240
Ma abbiamo bisogno di guardare i dettagli più fini della comunicazione seriale.

00:22.320 --> 00:31.860
Siamo in grado di inviare dati seriali in due modi: possiamo usare tre fili uno per il riferimento di terra, un altro

00:31.890 --> 00:40.870
per un orologio per sincronizzare la comunicazione con entrambe le estremità e il terzo filo per trasmettere i dati.

00:40.890 --> 00:49.950
Questa si chiama comunicazione seriale sincrona perché le due estremità sono sincronizzate da quell'impulso di clock

00:50.280 --> 01:00.420
condiviso sulla linea dell'orologio per risparmiare sui fili o comunque in casi come la comunicazione wireless dove non abbiamo

01:00.420 --> 01:10.230
questa opzione di quel terzo clock in cui possiamo comunicare usando solo due fili o una singola radiofrequenza

01:10.350 --> 01:16.110
in modo da interrompere il segnale di sincronizzazione dell'orologio.

01:16.170 --> 01:24.030
Quindi questo significa solo che dobbiamo fare alcuni passi in più in modo

01:24.360 --> 01:34.870
che il ricevitore sappia esattamente quando il mittente sta inviando zero o un 1 che chiamiamo comunicazione seriale sincrona

01:35.050 --> 01:45.280
perché è senza sincronizzazione asincrono tende ad essere molto più comune di sincrono, specialmente dove la comunicazione digitale

01:45.280 --> 01:49.180
senza fili è diventata la norma.

01:49.270 --> 01:54.170
Servizio Bluetooth e cellulare ecc.

01:54.640 --> 01:59.740
Quindi avrai bisogno di inviare un byte di dati su un collegamento seriale.

01:59.740 --> 02:02.110
Puoi inviarlo in due modi.

02:02.110 --> 02:08.570
È possibile inviare prima il bit meno significativo o il bit più significativo.

02:08.560 --> 02:15.250
Non importa la tua scelta, ma ovviamente devi prendere questa decisione prima di tentare di comunicare

02:16.450 --> 02:23.370
inviando il dato che il bit meno significativo prima invia il numero piccolo alla fine del byte.

02:23.470 --> 02:24.680
Destra.

02:24.790 --> 02:28.600
Quindi chiamiamo questa comunicazione little endian.

02:28.780 --> 02:35.140
Se gli inviamo il bit più significativo, per prima cosa lo chiamiamo big endian perché inviamo

02:35.170 --> 02:37.900
prima il numero del big end.

02:38.230 --> 02:46.120
Il metodo più comune o il modo più comune è il little endian o il bit meno significativo di Lincs.

02:46.240 --> 02:51.940
Una volta che hai deciso quali bit stai inviando, per prima cosa devi decidere quanto

02:51.940 --> 02:55.420
velocemente vuoi inviare quei bit quanti bit al secondo.

02:55.480 --> 02:58.300
Questo è chiamato il baud rate.

02:58.300 --> 03:02.300
La velocità di trasmissione più comune è 96 cento bit al secondo.

03:02.360 --> 03:08.170
Quindi ci sono un mucchio

03:08.440 --> 03:14.480
di tassi di obbligazioni standard come

03:14.500 --> 03:17.100
dodicentoventiquattrocentoquattrocentodiciannovemiladuecentotrentottomilaquattrocentocinquantasettemilaseicentoottantamiladuecento.

03:17.170 --> 03:19.640
Ora più veloce non è sempre meglio.

03:19.930 --> 03:27.290
Mentre è in genere vero che si desidera trasferire quante più informazioni possibili il più velocemente possibile.

03:27.550 --> 03:34.480
Ti ricorderai dal modulo uno in cui, se esegui elettricità attraverso un filo, genera un campo

03:34.480 --> 03:42.250
magnetico attorno a quel filo, un filo in un campo magnetico in movimento riceve anche una corrente indotta nel filo.

03:42.490 --> 03:47.210
Quindi gli impulsi e gli zeri lungo un filo sono una C, non è vero?

03:47.650 --> 03:54.240
Quindi quanto più veloce è il polso di quella linea con i dati con un baud rate più alto che è una maggiore frequenza di AC

03:54.250 --> 03:55.150
non lo è.

03:55.540 --> 04:02.860
E più i cavi di comunicazione sono lunghi, più i cavi sono esposti a varie onde

04:02.860 --> 04:10.690
elettromagnetiche provenienti in particolare da un filo, anche se il filo che stai trasmettendo è in funzione proprio

04:10.690 --> 04:13.290
accanto al filo di riferimento.

04:13.630 --> 04:21.090
C'è più induttanza a più alti tassi di obbligazioni che combattono i segnali che attraversano i fili eccetera.

04:21.370 --> 04:30.030
Quindi tienilo a mente quando provi ad eseguire velocità di trasmissione più elevate perché stiamo utilizzando la modalità asincrona.

04:30.070 --> 04:35.880
La prossima cosa che devi fare è che devi in qualche modo sincronizzare le due parti.

04:35.890 --> 04:43.590
Ora non esiste un orologio comune per farlo gettando qualche bit in più sulla linea che imposta i tempi.

04:43.960 --> 04:52.840
È quasi come fornire un paio di impulsi di clock sulla linea dati, quindi passare a impulsi di dati.

04:52.950 --> 05:00.200
Quindi questi impulsi di clock possono essere da due a tre bit e sono chiamati i bit di inizio e fine.

05:00.480 --> 05:07.770
Probabilmente si suppone che inizino la trasmissione del byte e segnino dove si ferma l'avvio e

05:07.770 --> 05:18.600
i bit di stop non sono realmente bit ma piuttosto il tempo equivalente a uno o due bit quando la linea è inattiva è

05:18.690 --> 05:19.830
mantenuta alta.

05:20.220 --> 05:26.970
Quindi, quando la comunicazione inizia, il livello della linea scende a un minimo o uno zero rimane basso per la

05:26.970 --> 05:28.710
lunghezza di un bit.

05:28.710 --> 05:31.070
Questo è il punto di partenza.

05:31.080 --> 05:37.970
Una volta che gli 8 bit sono stati comunicati, la linea rimane bassa per la lunghezza di uno o due bit.

05:38.100 --> 05:45.920
Poi la linea torna alta e passa al minimo in uno stato alto perché abbiamo già pre-determinato il baud

05:45.920 --> 05:46.600
rate.

05:46.650 --> 05:49.680
Sappiamo quale frequenza aspettarsi gli impulsi.

05:49.680 --> 05:56.940
Quindi, una volta che il bit di start arriva nel ricevitore zera il suo orologio integrato che è stato

05:57.000 --> 05:59.820
impostato sulla frequenza precisa della comunicazione.

05:59.820 --> 06:04.170
Quando arriva il momento in cui l'orologio diventa alto, il ricevitore legge la linea.

06:04.230 --> 06:08.520
Se è basso, allora legge che è zero.

06:08.580 --> 06:11.340
Se è alto allora è un 1.

06:11.760 --> 06:19.140
Trasforma i bit in un registro a bordo che costruisce i bit in un byte che il ricevitore

06:19.140 --> 06:26.700
conosce quanti bit sta leggendo, quindi guarderà il suo orologio nell'orario concordato per l'arresto è rimarrà basso per la

06:26.790 --> 06:32.700
lunghezza di uno o due bit a seconda di come lo si imposta.

06:32.700 --> 06:39.060
Poi la linea diventa alta al minimo e il ricevitore si siede lì ei monitor aspettano che la

06:39.060 --> 06:42.770
linea si riduca di nuovo con un bit di partenza.

06:43.110 --> 06:50.850
Ora la cosa più importante qui di nuovo è solo che tu sai quali sono le impostazioni su come

06:50.850 --> 06:52.860
verranno comunicati i dati.

06:52.860 --> 06:59.880
Ora il default più comune è un bit di avvio per ovvi motivi e un bit di stop che nessun

07:02.590 --> 07:04.790
rumore può essere indotto sulla linea.

07:04.800 --> 07:10.020
Sai che qualcuno accende un interruttore della luce nelle vicinanze e uno Spike elettromagnetico si riflette sulla linea.

07:10.020 --> 07:13.600
Proprio quando il ricevitore stava leggendo la linea.

07:13.600 --> 07:19.110
Quindi quello che doveva essere uno zero è diventato rosso come un 1 invece.

07:19.120 --> 07:23.420
Quindi potremmo voler fare un controllo degli errori.

07:23.590 --> 07:28.380
La parità è una forma molto semplice e veloce di controllo degli errori.

07:28.600 --> 07:37.570
Ed è disponibile in due sapori primari, parità pari e parità dispari, la parità viene trasmessa come parte del pacchetto di

07:37.570 --> 07:41.230
dati e viene chiamata un bit di parità.

07:41.230 --> 07:46.200
Quindi la parità ha solo uno dei due risultati a 1 o 0.

07:46.570 --> 07:53.290
Dobbiamo essere in grado di controllare tutti gli otto bit del nostro byte per l'accuratezza usando la

07:53.350 --> 08:01.510
semplice formula matematica che fornisce una parità di risultato 1 o zero semplicemente conta il numero di zeri nel byte trasmesso.

08:01.720 --> 08:05.040
Diciamo che era 0 1 1 0 1 1 0 0.

08:05.440 --> 08:09.230
Abbiamo quattro zeri che è un numero pari.

08:09.610 --> 08:18.440
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

08:19.540 --> 08:25.150
trasmesso aveva un numero dispari di zeri come 0 0 1 0 1 1 0 0.

08:25.270 --> 08:26.910
Sono cinque zeri.

08:26.920 --> 08:28.810
Quindi è un numero dispari.

08:29.170 --> 08:32.010
Quindi non è un numero pari.

08:32.200 --> 08:35.110
Quindi anche la parità sarebbe falsa o zero.

08:35.530 --> 08:41.890
Se usassimo la parità dispari, il bit di parità sarebbe un 1 o 2 quando c'era un numero un

08:41.890 --> 08:47.600
numero dispari di zeri e uno zero o falso quando c'era un numero pari di zeri.

08:47.970 --> 08:50.740
Spero che abbia un senso.

08:50.740 --> 08:57.790
Ci sono altri due tipi di segni di parità nello spazio che in 30 anni non ho mai visto una

08:57.790 --> 08:58.660
volta usati.

08:59.050 --> 09:02.070
Li ho semplicemente menzionati così sai che sono lì.

09:02.290 --> 09:06.050
La forma più comune di controllo di parità non è nessuna.

09:06.130 --> 09:11.160
Questo è che non c'è controllo di parità e nessun bit di parità.

09:11.170 --> 09:17.470
Il motivo è perché il controllo di parità richiede tempo e quando comunichi tramite

09:17.470 --> 09:22.090
una connessione seriale stai cercando di risparmiare più tempo possibile.

09:22.090 --> 09:25.910
Ora in questi casi non c'è semplicemente una scommessa sulla parità.

09:26.230 --> 09:34.840
Ma ti mostrerò la sequenza di bit qui con questo disegno in un tipico byte con un 8 bit di start.

09:34.840 --> 09:37.000
È un po 'di parità.

09:37.000 --> 09:45.070
E per fermarlo ora è ovvio che tu hai le opzioni di nessuna parità quale camera rimuoverà quel

09:45.070 --> 09:53.560
bit e uno o due stopperemo ma rimuoverò quel bit se scegli così di avere effettivamente l'opzione di quanti bit

09:53.560 --> 09:55.550
di dati vuoi inviare.

09:55.630 --> 09:59.070
E quel numero sarà tra cinque e nove.

09:59.110 --> 10:08.350
Ovviamente il valore predefinito è 8 per un byte la cosa più importante da togliere non è ciò

10:08.350 --> 10:17.080
che fa ogni bit, ma piuttosto che sia il mittente che il ricevitore hanno esattamente le stesse

10:17.080 --> 10:19.380
impostazioni, indipendentemente dalle impostazioni.

10:19.420 --> 10:26.720
Ora le impostazioni predefinite più comuni sono un bit di otto bit di start bit uno stop.

10:26.920 --> 10:30.800
Nessuna parità in 96 cento baud.

10:30.860 --> 10:38.030
Si noti che un byte richiede 10 bit totali per trasmettere così 96 bit al secondo 10

10:38.030 --> 10:43.720
bit per byte, ovvero 960 byte al secondo che si sta trasmettendo.

10:43.850 --> 10:50.420
Ora diamo un'occhiata a uno strumento comune e molto utile che è disponibile probabilmente su

10:50.450 --> 10:56.630
ogni singolo microcontrollore o computer che utilizzerai mai il trasmettitore ricevitore asincrono universale.

10:56.780 --> 11:00.290
Lo chiamiamo U R T in breve.

11:00.290 --> 11:08.270
Il tuo plettro ha noi o T, ma ha anche noi l'elettronica del bus seriale universale, l'Arduino ha anche un

11:08.400 --> 11:16.250
modo o due e puoi usare il modo T per comunicare tra i nostri dinos o qualsiasi dispositivo elettronico che

11:16.250 --> 11:21.720
abbia un A. R. T. e credimi è più comune se hai intenzione di ottenere.

11:21.980 --> 11:30.620
C'era un paio di ragazzi alla DefCon 23 Def Con è la convention annuale degli hacker e stavano hackerando

11:30.620 --> 11:38.570
tutto attraverso i suoi pin seriali di Arties del Regno Unito termostati TV router router fotocamere digitali

11:38.810 --> 11:42.250
telecamere di sicurezza baby monitor anche frigoriferi.

11:42.440 --> 11:49.460
In effetti, solo per dimostrare che gli hacker di basso livello potevano fare ciò, usavano l'hardware Arduino

11:49.460 --> 11:52.150
comune per fare il loro hacking.

11:52.220 --> 11:58.460
Hanno appena aperto il dispositivo e cercato i connettori T X e R X sul circuito stampato e quindi hanno

11:58.460 --> 12:05.690
assunto il valore predefinito A. R. T. comunicazione e avevano quasi sempre ragione.

12:06.530 --> 12:10.470
Quindi questo mi porta all'ultima cosa sul tuo Arduino.

12:10.580 --> 12:13.030
Lo vedrai serigrafato alla lavagna.

12:13.040 --> 12:16.490
Le connessioni Konik di T X an R X.

12:16.490 --> 12:19.740
Questo è trasmettere e ricevere.

12:19.760 --> 12:25.000
Ora se ti colleghi ai nostri wino, ad esempio, devi incrociare i fili qui.

12:25.120 --> 12:28.170
La trasmissione viene emessa ricevendo il suo input.

12:28.190 --> 12:28.700
Destra.

12:29.520 --> 12:35.750
Quindi se ti colleghi trasmetti per trasmettere cosa ottieni.

12:35.870 --> 12:36.530
Niente.

12:36.530 --> 12:39.810
Entrambi parlano e non si ascoltano a vicenda.

12:39.860 --> 12:43.120
È necessario collegare il trasmettitore al ricevitore.

12:43.280 --> 12:51.620
Dall'altra parte e la trasmissione dall'altra parte alla ricezione su questo e questo consente la comunicazione seriale

12:51.860 --> 13:00.180
asincrona tra le tue schede o tra il tuo Arduino e un altro dispositivo digitale con

13:00.440 --> 13:02.260
un t u.

13:02.300 --> 13:06.180
Ci sono altre forme di comunicazione come la vedo io.

13:06.470 --> 13:15.830
E come PCI che entrerà più in dettaglio nelle lezioni successive e sia nelle lezioni di Bonnet che in

13:15.860 --> 13:18.480
te. R. T. è uno dei più importanti.

13:18.590 --> 13:26.660
Quello che useremo di più è in realtà l'U. S. connessione su questo integrato nella tua scheda.

13:26.660 --> 13:32.360
È una connessione seriale tra te e il tuo computer e possiamo effettivamente

13:32.360 --> 13:36.460
comunicare con il computer mentre Arduino è in esecuzione.

13:36.470 --> 13:45.260
In effetti ora puoi facilmente utilizzare Arduino per interfacciare il tuo potente computer desktop con il

13:45.260 --> 13:46.490
mondo esterno.

13:46.580 --> 13:55.070
Uno dei seminari che sto sviluppando è un sistema di controllo del traffico ferroviario controllato da computer per ferrovie modello.

13:55.070 --> 14:01.720
Quindi, utilizzando un'interfaccia per computer desktop per la mamma, laoag monta un Arduino.

14:02.220 --> 14:09.000
Controlleremo i treni Gli interruttori per le piste di commutazione sanno dove si trovano i treni e la

14:09.360 --> 14:12.250
pista e controllano tutti i segnali ferroviari.

14:12.540 --> 14:19.680
Quindi la comunicazione seriale può essere molto potente e sorprendentemente facile da realizzare.

14:19.770 --> 14:23.130
In realtà lo useremo nella prossima lezione.
