Registri

Trasmissione seriale

In fase di sviluppo Stesura preliminare In fase di sviluppo

Un registro è una struttura costituita da più Flip Flop con il clock in comune che permettono di memorizzare una piccola quantità di bit e di compiere alcune operazioni di traslazione su di essi. Essi sono classificati in base a come vengono scritti o letti i bit da o verso il registro. Abbiamo infatti ingressi ed uscite:

Abbiamo cosi quattro tipologie base di registri:

Alcuni componenti permettono più di una di queste funzioni, fino ai registri universali che permettono in momenti diversi tutte le funzioni.

Attività 1

Analizzare il seguente registro SIPO:

Registri SIPO

Attività 2

Analizzare alla pagina https://www.digitalelectronicsdeeds.com/demos/demopage_seq.html i seguenti circuiti (scaricabili)

Attività 3

Analizzare i fogli tecnici dei seguenti componenti:

Applicazioni

Trasmissione seriale di dati

Spesso è necessario trasmettere più bit da un luogo ad un altro, posto ad una certa distanza; è evidentemente possibile usare un conduttore per ciascun bit (trasmissione parallela), ma spesso è conveniente usare un solo filo su cui i bit sono trasmessi uno di seguito all'altro (trasmissione seriale).

Di seguito un'implementazione minimale:

Trasmissione seriale

Generatore di numeri casuali

Generare sequenze di bit casuali è un aspetto essenziale di molti algoritmi. Un settore dove questo aspetto è critico è la crittografia.

Il seguente circuito fa uso di un registro a scorrimento e di una porta logica XNOR per generare una sequenza di bit pseudo-casuale (Pseudo Random Binary Sequence, PRBS), cioè che, pur apparendo casuale all'osservatore superficiale, si ripete regolarmente.

Generatore di sequanze prseudo-casuali

Le uscite del registro SIPO sono chiamate tap; la scelta dei quali taps utilizzare è importante e oggetto di approfondite teorie matematiche. Per saperne di più potrebbe essere utile la ricerca con parole chiave PRBS polinomio generatore.

Attività 4

Simulare con Deeds il sistema di trasmissione seriale ed il generatore di sequenze casuali descritti al paragrafo precedente

Attività 5: Arduino e registri a scorrimento

Arduino permette di trasmettere e ricevere sequenze di bit seriali. Analizzare e sperimentare quanto descritto alla pagina https://www.arduino.cc/reference/it/language/functions/advanced-io/shiftout

Innanzitutto scrivere ed eseguire il codice riportato nella pagina sopra citata. Senza collegare nulla ad Arduino, visualizzare i tre segnali digitali generati dal codice di esempio su un oscilloscopio, individuando come sono stati generati e cosa significano. In particolare analizzare la funzione ShiftOut(). Nella figura di apertura di questa pagina è riportato un esempio di cosa è possibile vedere.

Una volta compreso il funzionamento del codice ed imparato a leggere i dati in uscita, collegare un registro a scorrimento di tipo SIPO a otto bit, per esempio 74HC595 oppure CD4094. Alle uscite del registro è possibile, sebbene non necessario, collegare otto LED con relative resistenze. Quale potrebbe essere lo scopo di questo circuito?

[Approfondimento] Un'attività simile è possibile anche usando un registro a scorrimento hardware presente all'interno di Arduino e parte essenziale di un protocollo indicato con il termine SPI.

[Approfondimento] Utilizzando questo protocollo è possibile anche lo scambio di dati tra due Arduino

Note


Data di creazione di questa pagina: aprile 2021
Ultima modifica: 8 aprile 2021


Licenza "Creative Commons" - Attribuzione-Condividi allo stesso modo 3.0 Unported


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima