Il 0% ha trovato utile questo documento (0 voti)
15 visualizzazioni45 pagine

Elementi Di Elettronica Digitale Labview (1-7)

Il documento 'Elementi di Elettronica Digitale' è un manuale educativo progettato per insegnare i fondamenti dell'elettronica digitale attraverso l'uso di LabVIEW. Esamina vari laboratori che coprono porte logiche, codificatori, convertitori e comunicazione seriale, con un focus sulla pratica e sull'interazione con circuiti reali. Include anche informazioni sui diritti d'autore e sull'uso didattico del materiale.

Caricato da

citemurto
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
15 visualizzazioni45 pagine

Elementi Di Elettronica Digitale Labview (1-7)

Il documento 'Elementi di Elettronica Digitale' è un manuale educativo progettato per insegnare i fondamenti dell'elettronica digitale attraverso l'uso di LabVIEW. Esamina vari laboratori che coprono porte logiche, codificatori, convertitori e comunicazione seriale, con un focus sulla pratica e sull'interazione con circuiti reali. Include anche informazioni sui diritti d'autore e sull'uso didattico del materiale.

Caricato da

citemurto
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 45

Elementi di

Elettronica Digitale

Professor Barry Paton


Dalhousie University

Traduzione italiana Settembre 2000 basata sull’edizione inglese Marzo 1998


a cura di CT2 Srl (http://www.ct2.it)

Copyright © 1998 by National Instruments Corporation, 6504 Bridge Point Parkway, Austin, Texas 78730-5039.
Universities, colleges, and other educational institutions may reproduce all or part of this publication for educational use.
For all other uses, this publication ma y not be reproduced or transmitted in any form, electronic or mechanical, including
photocopying, recording, storing in an information retrieval system, or translating, in whole or in part, without the prior
written consent of National Instruments Corporation.

Trademarks
LabVIEW™ and The Software is the Instrument™ are trademarks of National Instruments Corporation.
Product and company names listed are trademarks or trade names of their respective companies .

© National Instruments Corporation I Elementi di Elettronica Digitale


Per ulteriori informazioni
Se avete altre domande o commenti in merito a questo manuale, visitate il sito:
http://sensor.phys.dal.ca/Digital Electronics/.

© National Instruments Corporation II Elementi di Elettronica Digitale


Australia 03 9879 5166, Austria 0662 45 79 90 0, Belgium 02 757 00 20, Brazil 011 288 3336, Canada (Ontario) 905 785
0085, Canada (Québec) 514 694 8521, Denmark 45 76 26 00, Finland 09 725 725 11, France 01 48 14 24 24, Germany
089 741 31 30, Hong Kong 2645 3186, Israel 03 6120092, Italy 02 413091, Japan 03 5472 2970, Korea 02 596 7456,
Mexico 5 520 2635, Netherlands 0348 433466, Norway 32 84 84 00, Singapore 2265886, Spain 91 640 0085, Sweden
08 730 49 70, Switzerland 056 200 51 51, Taiwan 02 377 1200, United Kingdom 01635 523545

National Instruments Corporate Headquarters


6504 Bridge Point Parkway Austin, Texas 78730-5039 Tel: 512 794 01

Indice
Introduzione........................................................................................................................................ 1
Laboratorio 1 Porte logiche..............................................................................................................1
La porta AND .................................................................................................................................... 1
Le porte OR e XOR ..........................................................................................................................1
Negazione .........................................................................................................................................2
Le porte NAND, NOR, e NXOR........................................................................................................ 2
Costruire le porte mediante altre porte.............................................................................................3
Porte con più di due ingressi ............................................................................................................ 3
Mascheratura.................................................................................................................................... 4
Applicazioni: il selettore di dati .........................................................................................................5
Date un nome alle porte...................................................................................................................6
VI del Laboratorio 1 (in ordine di presentazione) .............................................................................6
Laboratorio 2 Codificatori
...................................................6
e c20 TD 0.162 Tc (1) Tj 6 0 TD /F5 11.25 Tf 0 Tc 0.1875 Tw ( ) Tj -442.5 -1lh3e

© National Instruments Corporation III Elementi di Elettronica Digitale


La sfida in LabVIEW .........................................................................................................................4
In sintesi............................................................................................................................................ 4
VI del Laboratorio 6 (in ordine di presentazione) .............................................................................4
Laboratorio 7 Convertitore Digitale/Analogico ..............................................................................6
Cos’è un DAC? .................................................................................................................................6
Simulatore ALU.................................................................................................................................7
Simulazione di un circuito integrato DAC reale................................................................................ 8
Generatori di forme d’onda...............................................................................................................9
DAC speciali ...................................................................................................................................10
Figure di Lissajous.......................................................................................................................... 11
VI del Laboratorio 7 (in ordine di presentazione) ...........................................................................11
Laboratorio 8 Convertitore Analogico/Digitale Parte I ............. Errore. Il segnalibro non è definito.
Scopo del convertitore Analogico/Digitale ............................Errore. Il segnalibro non è definito.
ADC a rampa .........................................................................Errore. Il segnalibro non è definito.
La sfida in LabVIEW ..............................................................Errore. Il segnalibro non è definito.
ADC a inseguimento..............................................................Errore. Il segnalibro non è definito.
VI del Laboratorio 8 (in ordine di presentazione) ..................Errore. Il segnalibro non è definito.
Laboratorio 9 Convertitori Analogico/Digitali, Parte II ............. Errore. Il segnalibro non è definito.
Simulazione SAR...................................................................Errore. Il segnalibro non è definito.
In sintesi.................................................................................Errore. Il segnalibro non è definito.
VI del Laboratorio 9 (in ordine di presentazione) ..................Errore. Il segnalibro non è definito.
Laboratorio 10 Display Digitale a Sette Segmenti.................... Errore. Il segnalibro non è definito.
Display a Sette Segmenti ......................................................Errore. Il segnalibro non è definito.
La sfida in LabVIEW ..............................................................Errore. Il segnalibro non è definito.
VI del Laboratorio 10 (in ordine di presentazione)................Errore. Il segnalibro non è definito.
Note........................................................................................Errore. Il segnalibro non è definito.
Laboratorio 11 Comunicazione seriale ...................................... Errore. Il segnalibro non è definito.
Trasmettitore seriale ..............................................................Errore. Il segnalibro non è definito.
Trasmissione in seriale di una tensione................................Errore. Il segnalibro non è definito.
La sfida in LabVIEW ..............................................................Errore. Il segnalibro non è definito.
VI del Laboratorio 11 (in ordine di presentazione)................Errore. Il segnalibro non è definito.
Laboratorio 12 Unità di elaborazione centrale .......................... Errore. Il segnalibro non è definito.
Funzionamento dell’Unità Aritmetica e Logica ......................Errore. Il segnalibro non è definito.
L’accumulatore ......................................................................Errore. Il segnalibro non è definito.
Somma ...................................................................................Errore. Il segnalibro non è definito.
Contatore binario...................................................................Errore. Il segnalibro non è definito.
La sfida in LabVIEW ..............................................................Errore. Il segnalibro non è definito.
VI del Laboratorio 12 (in ordine di presentazione)................Errore. Il segnalibro non è definito.

© National Instruments Corporation IV Elementi di Elettronica Digitale


Introduzione

Introduzione
L’elettronica digitale è alla base di molti dispositivi elettronici che utilizziamo
quotidianamente, e viene insegnata in molte scuole superiori e in diversi corsi di
laurea a indirizzo tecnico-scientifico. LabVIEW è uno strumento eccellente per
presentare e dimostrare alcuni concetti fondamentali dell’elettronica digitale grazie
alla grande varietà di controlli e indicatori numerici e Booleani di cui dispone,
insieme all’abbondanza di strutture e funzioni di programmazione. L’intrinseca
modularità di LabVIEW consente di realizzare le applicazioni nello stesso modo in
cui vengono realizzati i complessi circuiti integrati digitali, a partire da circuiti di
minore complessità, a loro volta costituiti da porte logiche elementari.
Questo manuale è stato progettato come un sussidio all’insegnamento che può
essere utilizzato in classe, in laboratorio o come corso in autoapprendimento.
L’ordine dei laboratori proposti è quella della maggior parte dei libri di testo di
elettronica. I primi sei laboratori riguardano le porte logiche fondamentali, i circuiti
di codifica, la somma di valori binari, i circuiti D-latch, i contatori ad anello e i flip-
flop JK. La maggior parte degli strumenti virtuali (detti VI, da Virtual Instruments) di
cui si propone la realizzazione sono adatti sia per le dimostrazioni in aula sia per
l'attività di laboratorio. La seconda serie di sei laboratori tratta temi avanzati quali
DAC, ADC, display a sette segmenti, la trasmissione dati in forma seriale e le
CPU. È possibile conseguire la massima efficacia didattica nella trattazione di
questi argomenti se li si affronta potendo accedere nel contempo al laboratorio di
elettronica digitale, in modo da poter confrontare le simulazioni realizzate in
LabVIEW con il comportamento di circuiti integrati reali.
In ogni caso si può migliorare la comprensione degli argomenti utilizzando una
scheda DAQ di National Instruments per interagire con il mondo reale attraverso le
funzioni di I/O digitale, le uscite e gli ingressi analogici e la comunicazione tramite
porta seriale rese disponibili da LabVIEW.
I laboratori 2, 5 e 12 hanno un taglio particolarmente applicativo e mirano a dare
una dimostrazione degli schemi di codifica, della crittografia digitale e del
funzionamento di una CPU. Questi laboratori possono essere utilizzati come temi
per delle tesine o per esercitazioni di un certo impegno.
I laboratori possono anche essere raggruppati per dimostrare la connessione
esistente tra dispositivi evoluti e circuiti fondamentali; si può mostrare, per
esempio, che il funzionamento della CPU dipende dai concetti di registro e dalle
operazioni su due ingressi.
Il manuale viene fornito con un CD che contiene tutti i VI e il testo, in modo che
possiate personalizzare il materiale.

© National Instruments Corporation I-1 Elementi di Elettronica Digitale


Laboratorio 1
Porte logiche

Laboratorio 1
Porte logiche
Le porte logiche sono i blocchi costitutivi fondamentali dei circuiti logici elettronici.
Questi dispositivi operano in due modalità, di “apertura” o di “chiusura”, che
consentono o impediscono il passaggio dei dati, da cui il nome "porte". A partire da
un numero ridotto di tipi fondamentali di porte (AND, OR, XOR e NOT) si può
creare una vasta gamma di circuiti con le più diverse funzioni.

La porta AND
Una porta AND è costituita da due ingressi e da un’uscita. Se i due ingressi sono A
e B, l’uscita (spesso chiamata Q) è “aperta” solo se sono aperte sia A che B.
In elettronica digitale, lo stato aperto è spesso rappresentato da 1 e lo stato chiuso
da 0. La relazione tra segnali di ingresso e di uscita è spesso riassunta in una
tabella della verità, che riporta tutte le possibili combinazioni di valori in ingresso e
dei valori risultanti in uscita. Per la porta AND ci sono quattro possibili
combinazioni di stati in ingresso : A=0, B=0; A=0, B=1; A=1, B=0; e A=1, B=1.
Nella seguente tabella delle verità, gli stati in ingresso sono elencati nelle colonne
di sinistra e di centro, mentre l’uscita della porta AND è riportata nella colonna più
a destra.
Tabella 1-1. Tabella di verità per la porta AND

A B Q=A AND B
0 0 1
1 0 1
0 1 0
0 0 1
In LabVIEW è possibile specificare un ingresso logico digitale agendo su un
controllo di tipo Booleano, come un interruttore, mentre si può usare un indicatore
Booleano, come un LED, per visualizzare lo stato di un’uscita. La porta AND è una
delle funzioni di base di LabVIEW e quindi per creare un semplice VI che mostri
l’uso della porta AND non si deve fare altro che collegare due interruttori alle porte
in ingresso e un LED alla porta di uscita.

Figura 1-1. La funzione AND di LabVIEW collegata a due controlli e a un indicatore.

Eseguite il VI AND gate.vi dalla libreria di VI Lab011.llb. Premete i due pulsanti


sul pannello frontale ed osservate come cambia l'indicatore collegato all'uscita;
verificate la tabella della verità riportata qui sopra.

Le porte OR e XOR
Anche la porta OR è una porta con due ingressi e una sola uscita. A differenza di
quanto accade con la porta AND, l’uscita assume il valore 1 quando uno dei due

© National Instruments Corporation 1- 1 Elementi di Elettronica Digitale


Laboratorio 1
Porte logiche

ingressi o entrambi sono 1. L’uscita della porta OR è 0 solo quando entrambi gli
ingressi sono 0.

Figura 1-2. I simboli usati per le porte OR e XOR.

Una porta collegata alla porta OR è la porta XOR (eXclusive OR), in cui l’uscita
assume il valore 1 solo quando uno e uno solo degli ingressi è 1. In altri termini,
l’uscita della porta XOR diviene 1 quando i suoi ingressi sono diversi.

Negazione

Figura 1-3. La porta NOT

La porta NOT è ancora più semplice in quanto ha un solo ingresso e una sola
uscita, che assume sempre il valore opposto (o nega) rispetto a quello presente
sull’ingresso.

Le porte NAND, NOR, e NXOR


La negazione è una funzione piuttosto utile, che permette di disporre, in aggiunta
alle tre porte a due ingressi già analizzate (AND, OR e XOR), di altre tre porte,
identiche ad AND, OR e XOR, eccetto per il fatto che il valore in uscita viene
negato. Queste porte sono chiamate porte NAND (“not AND”), NOR (“not OR”) e
NXOR (“not XOR”). I simboli usati per rappresentarle sono gli stessi che
caratterizzano le corrispondenti porte non negate, con in più un cerchietto
disegnato sull’uscita.

Figura 1-4. Le porte AND, OR e XOR negate

Eseguite il VI Truth table.vi. Scegliete una porta e provate tutte le combinazioni


possibili di A e B per completare la seguente tabella di verità.

© National Instruments Corporation 1- 2 Elementi di Elettronica Digitale


Laboratorio 1
Porte logiche

Tabella 1-2. La tabella di verità per le porte fondamentali logiche digitali

A B AND OR XOR NAND NOR NXOR


0 0 0
0 1 0
1 0 0
1 1 1

Costruire le porte mediante altre porte


Utilizzando poche porte fondamentali NAND è possibile riprodurre tutte le altre
porte logiche fondamentali. Ad esempio, si può costruire la porta NOT connettendo
entrambi gli ingressi di una porta NAND ad uno stesso ingresso:

Figura 1-5. La porta NOT costruita con una porta NAND

In modo simile si può facilmente costruire una porta AND a partire da due porte
NAND:

Figura 1-6. La porta AND costruita a partire da due porte NAND

Una porta OR richiede tre porte NAND:

Figura 1-7. La porta OR costruita a partire da tre porte NAND

Porte con più di due ingressi


Sebbene LabVIEW contenga tutte le porte fondamentali a due ingressi, potreste
avere bisogno di più ingressi. Ad esempio, la precedente tabella di verità della
porta AND può essere generalizzata a tre ingressi:

© National Instruments Corporation 1- 3 Elementi di Elettronica Digitale


Laboratorio 1
Porte logiche

Tabella 1-3. La tabella di verità per una porta AND con tre ingressi

A B C A AND B AND C
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Potete facilmente costruire un VI che implementi la porta AND a tre ingressi
utilizzando un paio di porte AND a due ingressi:

Figura 1-8. Il programma LabVIEW che realizza una porta AND a tre ingressi.

Aprite il VI chiamato 3 AND.vi e notate come questo VI disponga di connettori e di


icona, in modo da poter essere utilizzato come un subVI completo.

Mascheratura
Come semplice applicazione di queste porte logiche fondamentali, consideriamo il
concetto di mascheratura. Per illustrare questo concetto, di seguito è
rappresentata la tabella di verità della porta AND con le intestazioni delle colonne
opportunamente modificate.

Tabella 1-4. La tabella di verità per la porta AND in cui si utilizza un ingresso come maschera.

A Maschera A AND B Effetto


0 0 0 A è bloccata La porta è “chiusa”
1 0 0
1 0 0 A è invariata La porta è “aperta”
1 1 1
La tabella di verità mette in evidenza il fatto che la porta AND può essere utilizzata
come un interruttore elettronico.

© National Instruments Corporation 1- 4 Elementi di Elettronica Digitale


Laboratorio 1
Porte logiche

Questo è facilmente dimostrabile in LabVIEW:

Figura 1-9. La porta AND utilizzata come interruttore elettronico

Caricate ed eseguite E-switch.vi per osservare come funziona l'interruttore


elettronico. Potete vedere le tabelle di verità anche di altre porte dal punto di vista
della mascheratura. Nella tabella seguente "azzerare" significa “forzare a 0”
mentre "impostare" significa “forzare a 1”:
Tabella 1-5. La tabella di verità per la porta AND con un ingresso come maschera.

A Mask AND OR XOR


0 0 Aè
A è azzerata A è invariata
1 0 invariata
0 1 Aè
A è invariata A è impostata
1 1 invertita
Ricapitolando, qui ci sono tre funzioni utili. Per impostare uno stato, utilizzate la
porta OR con una maschera pari a 1. Per azzerare uno stato, utilizzate la porta
AND con una maschera pari a 1.

Applicazioni: il selettore di dati


Un’altra semplice applicazione delle porte fondamentali è il selettore di dati (data
selector), in cui un singolo ingresso digitale seleziona uno o più flussi di dati
digitali:

Figura 1-10. Un selettore di dati digitale costruito con porte fondamentali

© National Instruments Corporation 1- 5 Elementi di Elettronica Digitale


Laboratorio 1
Porte logiche

LabVIEW contiene una funzione predefinita, chiamata Select, che consente di


ottenere lo stesso risultato; ecco quindi una rielaborazione del circuito della figura
precedente:

Figura 1-11. La versione del selettore dati digitale costruito con la funzione predefinita Select di
LabVIEW

Date un nome alle porte


Le porte esaminate in questa sezione costituiscono il fondamento di gran parte
dell’elettronica digitale.
Acquisire piena familiarità con le tabelle di verità è estremamente utile; come
ripasso, verificate le vostre capacità con il VI Name that gate.

VI del Laboratorio 1 (in ordine di presentazione)


• AND gate.vi (porta AND a due ingressi)
• Truth table.vi (per AND, OR, XOR, NAND, NOR, e NXOR)
• XOR from NAND.vi (porta XOR ottenuta da porte NAND)
• 3 AND.vi (porta AND a tre ingressi)
• Masking.vi (mascheratura)
• E-switch.vi (interruttore elettronico)
• Data select.vi (selettore dati utilizzando le porte logiche fondamentali)
• Data select2.vi (selettore dati che utilizza la funzione select di LabVIEW)
• Oscillator.vi (subVI utilizzato in Data select.vi)
• Name that gate.vi (verificate la vostra conoscenza)

© National Instruments Corporation 1- 6 Elementi di Elettronica Digitale


Laboratorio 2
Codificatori e decodificatori

Laboratorio 2
Codificatori e decodificatori
Un codificatore converte lo stato in ingresso di un dispositivo in una
rappresentazione binaria di 1 e 0. Considerate un commutatore binario con 10
posizioni che possono essere utilizzate per inserire i numeri da 0 a 9. Ogni
posizione del commutatore deve essere codificata da un’unica sequenza binaria.
Ad esempio, la posizione 7 del commutatore può essere codificata come 0111. Un
decodificatore effettua la conversione opposta, trasformando i codici binari in stati
in uscita del dispositivo.
Considerate il caso di un singolo dado. Su ciascuna delle sue sei facce appare
una delle seguenti configurazioni, che rappresentano i numeri da 1 a 6.

Figura 2-1. Le sei facce di un dado

Queste configurazioni si possono ottenere utilizzando sette sorgenti luminose


disposte in una configurazione ad “H”:

Figura 2-2. Disposizione delle sorgenti luminose

Accendendo le luci appropriate, si può creare una qualsiasi delle sei configurazioni
sulla faccia del dado. Osservando attentamente le configurazioni potete notare che
ci sono solo quattro disposizioni dei punti, che chiameremo configurazioni
fondamentali, sovrapponendo le quali si possono creare tutte le altre.
Chiamiamo queste configurazioni fondamentali A, B, C e D:

Figura 2-3. Le quattro configurazioni fondamentali per le facce del dado

Possiamo a questo punto tracciare la tabella di verità che indica la presenza o


l'assenza di ciascuna delle configurazioni fondamentali in relazione a quale faccia
del dado si vuole ottenere.
La configurazione fondamentale A è utilizzata da tutti i numeri dispari (1, 3 e 5). La
configurazione B è contenuta nella rappresentazione di tutti i numeri eccetto 1. La
configurazione fondamentale C si trova nei numeri 4,5 e 6. La configurazione D è
utilizzata esclusivamente per rappresentare il numero 6.

Tabella 2 -1 Gli stati fondamentali consentono di comporre ogni numero sulle facce del dado

Faccia del dado A B C D

© National Instruments Corporation 2- 1 Elementi di Elettronica Digitale


Laboratorio 2
Codificatori e decodificatori

1 √
2 √
3 √ √
4 √ √
5 √ √ √
6 √ √ √

Il dado
Per costruire un dado virtuale disponete sette indicatori LED in una configurazione
ad “H” sul pannello frontale insieme a quattro interruttori. Nel diagramma a blocchi
collegate i terminali degli indicatori a LED ai quattro interruttori in modo da
visualizzare le quattro configurazioni fondamentali A, B, C e D. Azionando i quattro
interruttori sul pannello frontale si possono ora accendere e spegnere le
configurazioni fondamentali.

Figura 2-4. Il pannello frontale di LabVIEW per il dado virtuale.

Figura 2-5. Il diagramma a blocchi di LabVIEW il dado virtuale.

Caricate il VI Display.vi e osservate il funzionamento del dado virtuale.

Contatore Modulo 6
Un contatore modulo 6 è un contatore con 6 soli stati che si ripetono in sequenza.
Si può costruire un semplice contatore modulo 6 utilizzando un registro a
scorrimento a tre elementi in cui l'uscita dell’ultimo elemento viene negata e il
valore ottenuto viene fornito in ingresso al primo elemento (un contatore di questo
tipo viene chiamato switched tail ring counter).
Aprite un nuovo VI in LabVIEW e collocate tre indicatori LED sul pannello frontale
che mostreranno lo stato di uscita degli elementi del registro a scorrimento
chiamati Q1, Q2 e Q3. Ne l diagramma a blocchi utilizzate un registro a
scorrimento con tre elementi, ciascuno collegato a un indicatore LED.
Potete utilizzare la funzione Wait per rallentare il funzionamento e poter vedere
che cosa accade. Osservate che il controllo del ciclo While non è collegato a nulla.
Ogni volta che il VI è chiamato restituisce il valore successivo a quello corrente.

© National Instruments Corporation 2- 2 Elementi di Elettronica Digitale


Laboratorio 2
Codificatori e decodificatori

Sul pannello frontale selezionate le tre uscite e collegatele ai terminali dell'icona;


salvate questo programma come un subVI chiamato Rotate.vi.

Figura 2-6. Pannello anteriore e diagramma a blocchi del VI Rotate.vi.

La figura successiva mostra la tabella di verità per il contatore modulo 6. Eseguite


il programma sette volte ed osservatene il comportamento.

Tabella2-2. tabella di verità per il contatore modulo 6

Ciclo Q1 Q2 Q3
1 0 0 0
2 1 0 0
3 1 1 0
4 1 1 1
5 0 1 1
6 0 0 1
7 0 0 0
Il valore in uscita si ripete dopo sei esecuzioni, da cui il nome "contatore modulo
6".

© National Instruments Corporation 2- 3 Elementi di Elettronica Digitale


Laboratorio 2
Codificatori e decodificatori

Codificatore
Apparentemente non c’è correlazione tra uscita e valore di conteggio. Tuttavia, un
po’ di lungimiranza rende le scelte più semplici:

Tabella2-3. Schema di codifica del dado digitale

# Q1 Q2 Q3 Q1’ Q2’ Q3’


6 0 0 0 1 1 1
4 1 0 0 0 1 1
2 1 1 0 0 0 1
1 1 1 1 0 0 0
3 0 1 1 1 0 0
5 0 0 1 1 1 0
Per esempio, ogni uscita ha tre stati (1) e tre stati (0). Una delle tre uscite, ad
esempio Q3, potrebbe indicare gli stati dispari 1,3 e 5. Un altro stato di uscita, ad
esempio Q2', potrebbe indicare la famiglia di valori 4, 5, 6. Queste due linee
decodificano quindi allora due di queste configurazioni fondamentali
“gratuitamente”, mentre le altre due configurazioni fondamentali rimanenti possono
essere decodificate con una configurazione particolare delle tre linee del
contatore. A tal fine può essere utilizzata la porta AND a tre ingressi costruita
nell’ultimo laboratorio insieme a un invertitore.
NOT 1 (configurazione fondamentale B) è decodificato con la combinazione Q1 &
Q2’ & Q3, mentre lo stato fondamentale rimanente “6” è decodificato con Q1' &
Q2' & Q3’.

Figura 2-7. Pannello anteriore e diagramma a blocchi di Encode.vi

Il codificatore è costruito mettendo tre controlli Booleani sul pannello anteriore


insieme a quattro indicatori LED. Potete ottenere i collegamenti corretti traducendo
la descrizione del paragrafo precedente in un circuito.

© National Instruments Corporation 2- 4 Elementi di Elettronica Digitale


Laboratorio 2
Codificatori e decodificatori

Dadi virtuali

Figura 2-8. Schema funzionale di un dado digitale

Per lanciare il dado virtuale, un contatore ad elevata velocità passerà ciclicamente


attraverso i sei stati, codificati su tre linee di uscita. In pratica, il contatore continua
a cambiare di stato in modo ciclico fino a quando non riceve un comando di Stop.
Il valore assunto dall'uscita del contatore in quel momento è il valore ottenuto dal
lancio del dado. La casualità del valore è garantita da un segnale di clock con
frequenza maggiore di 1 kHz.
Il VI di codifica converte le tre linee del contatore nelle quattro linee di controllo
necessarie per generare le configurazioni fondamentali, che a loro volta attivano
nel modo opportuno le sorgenti luminose sul dado virtuale.
Possiamo ora combinare tutte le componenti – contatore, codificatore e
visualizzatore – in un unico VI chiamato Dice.vi. Nello stesso modo in cui potete
costruire un circuito elettrico assemblando porte logiche, circuiti di latch, interruttori
e visualizzatori, con LabVIEW potere realizzare funzioni complesse a partire da
funzioni più semplici.

Figura 2-9. Diagramma a blocchi del VI Dice.vi. Osservate la somiglianza del diagramma con lo
schema funzionale.

Ora accendete l’interruttore del pannello frontale e... buona fortuna!

VI del Laboratorio 2 (in ordine di presentazione)


• Display.vi (visualizzatore a LED per il dado virtuale)
• Rotate.vi (contatore modulo 6 )
• Encoder.vi (Convertitore dei codici del contatore in codici di visualizzazione)
• 3 AND.vi (subVI utilizzato in Encoder.vi)
• Dice.vi (il programma completo)

© National Instruments Corporation 2- 5 Elementi di Elettronica Digitale


Laboratorio 3
Somma binaria

Laboratorio 3
Somma binaria
Prima di procedere con questo laboratorio, è utile rivedere alcuni nozioni sulle
somme di numeri binari.
Proprio come in una somma di numeri decimali, aggiungere 0 a un numero lo
lascia immutato: 0 + 0 = 0, mentre 1 + 0 = 1. Tuttavia il risultato della somma
binaria 1 + 1 non è “2” (un simbolo che non esiste nel sistema numerico binario),
ma “10”; dove il simbolo “1” si trova nella posizione 21 e "0" è nella posizione 20.
Se scriveste questa somma per esteso, recitereste: “Uno più uno fa due; scrivo lo
zero, riporto l’uno”

1
+1
10

Figura 3-1. Somma a Bit singoli

Di seguito è rappresentata la tabella di verità per la somma a bit singoli. Ci sono


due colonne di ingresso, una per ciascun addendo, A1 e A2, e due colonne di
uscita, una per “due alla zero” e una per il bit di riporto:

Tabella 3 -1. Tabella di verità per la somma

A1 + A2 = Somma con Riporto


0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Quale delle porte fondamentali si può utilizzare per generare la colonna dei
risultati? Notate che A1 XOR A2 genera il contenuto della colonna Somma e A1
AND A2 il contenuto della colonna Riporto; si può quindi realizzare in LabVIEW il
seguente circuito che effettua la somma di numeri a 1 bit.

Figura 3-2. Sommatore parziale costruito con porte XOR e AND

Questo blocco fondamentale dei circuiti digitali è chiamato “sommatore parziale” (o


half adder). Il termine “sommatore parziale” si riferisce al fatto che mentre questa
configurazione può generare un segnale per indicare il riporto al bit di ordine
superiore successivo, non può invece accettare un riporto da un sommatore di
ordine inferiore. Un “sommatore completo” ha tre ingressi; in aggiunta ai due
addendi, dispone infatti anche di un ingresso “di riporto”, che aggiunge il bit
riportato dalla colonna precedente, come nella colonna centrale dell’esempio
seguente:

© National Instruments Corporation 3- 1 Elementi di Elettronica Digitale


Laboratorio 3
Somma binaria

101
+101
1010

Figura 3-3. Somma binaria a tre bit

La tabella di verità per un sommatore completo a bit singolo ha tre ingressi, e


quindi otto stati possibili:

Tabella 3 -2. Tabella di verità per la somma con il riporto

Riporto A1 A2 Somma Risposta


0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Osservate che tutti e tre gli ingressi sono sostanzialmente equivalenti; il
sommatore completo semplicemente somma i tre ingressi. Per costruire un
sommatore completo a 1 bit si possono combinare due sommatori parziali:

Figura 3-4. Sommatore completo realizzato utilizzando due subVI come sommatori parziali

Osservate la semplicità del diagramma a blocchi resa possibile dall'impiego dei


sommatori parziali.

L'evoluzione del sommatore


Potete costruire un dispositivo che somma numeri binari composti da più bit
semplicemente combinando tra loro sommatori a 1 bit. Ogni sommatore a bit
singoli esegue la somma su una “colonna”, come per esempio:

1011
+0010
1101

Figura 3-5. Somma binaria a 4 bit (11+2=13)

Un sommatore a 4 bit, per esempio, può essere costruito in LabVIEW nel modo
seguente:

© National Instruments Corporation 3- 2 Elementi di Elettronica Digitale


Laboratorio 3
Somma binaria

Figura 3-6. Diagramma a blocchi in LabVIEW per una somma binaria a 4 bit

Notate che questo VI utilizza 4 sommatori completi a 1 bit. Se pensate di sommare


solo numeri a 4 bit con questo circuito, il circuito di ordine inferiore può essere un
sommatore parziale, ma l’utilizzo di circuiti completi permette al sommatore a 4 bit
di disporre di un ingresso per il riporto, oltre che di due ingressi a 4 bit per gli
addendi. Caricate Four-bit Adder1.vi e osservate la somma di due numeri binari
a 4 bit; esso utilizza due subVI, Full Adder.vi, mostrato in figura 3-4, e Half
Adder.vi, mostrato in figura 3-2.
Come potete vedere, si tratta di un programma piuttosto complicato, che diventa
ancora più complesso se si vogliono sommare numeri con un maggior numero di
bit.
Utilizzando il ciclo FOR di LabVIEW con un registro a scorrimento, si riesce a
semplificare notevolmente il diagramma a blocchi:

Figura 3-7. Somma binaria a 4 bit con l'impiego degli array di LabVIEW (Four-Bit Adder2.vi)

Osservate come i quattro bit indipendenti vengono inseriti in un vettore (array)


prima di entrare all’interno del ciclo FOR; il ciclo viene ripetuto quattro volte e ad
ogni iterazione viene effettuata la somma di una coppia di bit, a partire dai bit
meno significativi. Nella prima iterazione il riporto in ingresso al sommatore
completo a 1 bit proviene dal controllo presente sul pannello frontale, mentre nelle

© National Instruments Corporation 3- 3 Elementi di Elettronica Digitale


Laboratorio 3
Somma binaria

iterazioni successive è il riporto della ripetizione precedente. Eseguite entrambe le


versioni del VI, avrete la conferma che il comportamento non cambia.

Figura 3-8. Sommatore a 4 bit che utilizza ingressi e uscite vettoriali

Esiste inoltre una terza versione del VI, chiamata semplicemente Four-bit
Adder3.vi, identica a quella di figura 3-7 eccetto per il fatto che gli ingressi e le
uscite sono visualizzate come vettori Booleani. Notate che, in un vettore Booleano,
il bit meno significativo (LBS) si trova a destra mentre il bit più significativo (MBS) è
a sinistra. Questa versione del programma è stata creata come un subVI in modo
da poter combinare due di questi circuiti per creare un sommatore a 8 bit. Notate
che ciascun addendo a 8 bit (un byte) è diviso in due “nibble” (mezzo byte); i due
nibble meno significativi vengono mandati a un primo sommatore a 4 bit, mentre i
due nibble più significativi vengono mandati a un secondo sommatore a 4 bit.

Figura 3-9. Sommatore ad 8 bit ottenuto utilizzando due sommatori a 4 bit

BCD (Binary Coded Decimal)


Non tutta l’aritmetica digitale è realizzata attraverso una conversione diretta alla
rappresentazione in base 2; viene spesso utilizzata anche la rappresentazione
BCD (Binary Coded Decimal). In BCD ogni cifra decimale è codificata utilizzando
quattro cifre binarie, cioè quattro bit, come si può osservare nella seguente tabella:

Tabella 3 -3. Rappresentazione BCD per I numeri da 1 a 9.

Cifra decimale Rappresentazione Cifra decimale Rappresentazione


BCD BCD

© National Instruments Corporation 3- 4 Elementi di Elettronica Digitale


Laboratorio 3
Somma binaria

0 0000 5 0101
1 0001 6 0110
2 0010 7 0111
3 0011 8 1000
4 0100 9 1001
La numerazione BCD può essere considerata come un sottoinsieme di una
numerazione binaria completa, di cui vengono utilizzati unicamente gli stati da
0000 a 1001 (0 a 9). Ad esempio,

42 10 = 0100 0010 BCD


Osservate che questa rappresentazione è diversa da quella binaria, che in questo
caso sarebbe

42 10 = 00101010 2
Chiaramente la rappresentazione BCD implica un maggior dispendio di bit, in
quanto contiene numerose configurazioni a 4 bit che non sono utilizzate per
codificare cifre digitali. Lo spreco è ancora più accentuato al crescere dei valori
decimali che si vogliono rappresentare. Due byte (16 bit) sono sufficienti per
codificare interi decimali da 0 a 65535 nel caso in cui venga usata la
rappresentazione binaria, ma gli stessi due byte consentono di rappresentare solo
i numeri tra 0 e 9999 utilizzando la rappresentazione BCD.
Il vantaggio della codifica BCD è che consente in modo semplice la
visualizzazione dei valori su display decimali.

La sfida in LabVIEW
Create un codificatore BCD che accetti in ingresso valori compresi tra 0 e 9 e ne
generi la rappresentazione BCD a 4 bit. Costruite un decodificatore BCD dotato
del comportamento inverso del codificatore descritto. Costruite un sommatore
BCD a una cifra.

VI del Laboratorio 3 (in ordine di presentazione)


• Half Adder.vi (somma di bit singoli)
• Full Adder.vi (somma di bit singoli con riporto)
• Four-bit Adder1.vi (somma di due numeri a 4 bit con riporto)
• Four-bit Adder2.vi (versione semplificata)
• Four-bit Adder3.vi (utilizza array Booleani per gli ingressi e le uscite)
• Eight-bit Adder.vi (utilizza due sommatori a 4 bit)

© National Instruments Corporation 3- 5 Elementi di Elettronica Digitale


Laboratorio 4
Memoria: Il D-Latch

Laboratorio 4
Memoria: Il D-Latch
Nei primi tre laboratori di questa serie si sono visti esclusivamente circuiti
combinatori in cui gli stati di ingresso determinavano completamente quelli di
uscita; nei circuiti analizzati fino ad ora non c’è dipendenza dalla storia passata o
dal modo in cui si è arrivati allo stato corrente, il che significa che questi circuiti
non dispongono di alcuna forma di “memoria”. La maggior parte delle operazioni
digitali sono sequenziali, cioè l’evento B deve presentarsi dopo l’evento A; in un
computer digitale inoltre gli eventi non solo sono sequenziali ma devono essere
anche sincronizzati utilizzando un temporizzatore esterno (clock). I dispositivi con
logica a clock sono dispositivi i cui dati in uscita cambiano solo quando il segnale
di clock lo consente. Nei laboratori seguenti vedrete come l'impiego dei dispositivi
con logica basata su clock consente di disporre di circuiti digitali dotati di memoria
e rende possibile la creazione di numerosi circuiti digitali interessanti.
Un semplice circuito di memoria è il D-latch (data latch) che rileva lo stato in
ingresso e lo mantiene sull’uscita, quando riceve un segnale di clock che lo abilita
a questa operazione. Lo stato di uscita resta invariato anche se lo stato d’ingresso
cambia fino a quando il circuito non riceve un’altra richiesta di aggiornamento
attraverso il clock.
Tradizionalmente l’ingresso del circuito D-latch è indicato con la lettera D e l’uscita
con la lettera Q. Il comando di aggiornamento è fornito effettuando una transizione
sull’ingresso di clock da HI a LO o da LO a HI, nei dispositivi detti "ad attivazione
sul fronte di salita" o "attivati dal livello", nei quali il segnale in uscita riflette il
segnale in ingresso solo quando il clock è a livello HI.

Figura 4-1. Simbologia e tabella di verità del D-Latch

I dati presenti sull’ingresso D vengono trasferiti alle uscite Q e Q solo quando il


clock è attivato. La tabella di verità per un D-latch attivato dal fronte di salita è
rappresentato alla destra del simbolo circuitale.

© National Instruments Corporation 4- 1 Elementi di Elettronica Digitale


Laboratorio 4
Memoria: Il D-Latch

Alcuni circuiti D-latch dispongono inoltre degli ingressi “Preset” (Imposta) e “Clear”
(Annulla) che permettono di impostare l’uscita ai livelli HI o LO indipendentemente
dal segnale del temporizzatore. Durante il normale funzionamento questi due
ingressi vengono impostati a un valore alto in modo da non interferire con la logica
basata su clock, ma le uscite Q e Q possono essere inizializzate a uno stato noto
utilizzando gli ingressi Preset e Clear quando la logica basata su clock non è
attiva.

Figura 4-2. Simulazione di un D-Latch in LabVIEW

In LabVIEW è possibile simulare il D-latch con un registro a scorrimento in un ciclo


While. Il riquadro con la freccia rivolta verso l’alto è l’ingresso D, mentre il riquadro
con la freccia rivolta verso il basso è l’uscita Q. Il complemento è realizzato con un
inverter collegato all’uscita Q. L’ingresso di clock equivale all'indice del ciclo While
[i]. Potete utilizzare una costante Booleana esterna al ciclo per preimpostare o
annullare l’uscita. Il D Latch.vi mostrato qui sopra utilizza un terminale
condizionale non collegato per garantire che il programma venga eseguito una
sola volta quando viene chiamato.

Registri a scorrimento
Nell'elettronica digitale un "registro a scorrimento" è un circuito composto da più
memorie a 1 bit disposte in cascata e in cui lo stato di ciascun bit viene aggiornato
ad ogni transizione del segnale di clock tramite la copia dello stato del suo vicino.

Figura 4-3. Registro a scorrimento a 4 bit

I bit alle estremità possiedono un solo bit confinante; il bit di ingresso D è


alimentato da una sorgente esterna (HI o LO), e l’uscita Q4 rende disponibile
all'esterno del circuito lo stato del registro. Ecco un esempio di un registro a
scorrimento a 4 bit il cui stato iniziale di uscita è [0000] e l’ingresso è [1]:
Ciclo di clock Q1 Q2 Q3 Q4
n 0 0 0 0
n+1 1 0 0 0
n+2 1 1 0 0
N+3 1 1 1 0
n+4 1 1 1 1

Per collegare i D-latch in “cascata” in LabVIEW si devono aggiungere alcuni


elementi al registro a scorrimento visto in precedenza. Ecco per esempio il

© National Instruments Corporation 4- 2 Elementi di Elettronica Digitale


Laboratorio 4
Memoria: Il D-Latch

diagramma a blocchi di un registro a 4 bit, Shift.vi, che opera nel modo mostrato
in tabella.

Figura 4-4. Diagramma a blocchi per un registro a scorrimento a 8 bit.

Si possono aggiungere elementi supplementari per simulare registri a scorrimento


di ampiezza superiore con relativa facilità.
Il seguente VI, Bucket.vi, simula una catena di pompieri che si passano i secchi
d’acqua (in inglese “bucket" vuol dire infatti "secchio"); nell’ingresso D viene
introdotto un bit singolo che si propaga lungo la linea e fuoriesce all'estremità Q8.

Figura 4-5. Pannello frontale di un simulatore di registro a scorrimento a 8 bit

La sfida in LabVIEW
Progettate un VI in cui quando il “secchio” passa l’ultimo bit, viene aggiunto un
nuovo secchio all’ingresso D, in modo che il processo continui all’infinito.

Contatore ciclico
Se l’uscita di un registro a scorrimento viene riportata al suo ingresso dopo n cicli
di clock l’uscita corrispondente si ripeterà e quindi il registro a scorrimento diventa
un contatore. Il nome "contatore ciclico" (ring counter) deriva dal fatto che l’ultimo
bit in uscita viene riportato ciclicamente all’ingresso. Un semplice contatore ciclico
a 4 bit prende l’ultima uscita Q4 e la riporta ciclicamente all’ingresso del registro a
scorrimento, D.

Figura 4-6. Contatore ciclico a 4 bit realizzato con circuiti integrati

© National Instruments Corporation 4- 3 Elementi di Elettronica Digitale


Laboratorio 4
Memoria: Il D-Latch

In questo caso, le uscite erano state preimpostate ai valori [0110]. Eseguite il


programma Rotate.vi e osservate l'andamento ciclico delle uscite: da [0110] a
[0011] a [1001] a [1100] e di nuovo a [0110]. Sono necessari quattro cicli di clock
perché il valore in uscita si ripeta, e quindi questo contatore è un contatore ciclico
modulo 4. Se le uscite vengono collegate al circuito di pilotaggio di un motore
passo-passo, ogni cambiamento nella configurazione di uscita fa avanzare il
motore di un passo. Un motore passo-passo con una risoluzione di 400 passi
ruoterebbe pertanto di 0.9° ogni volta che viene attivato il contatore. Una variante
del contatore ciclico è il contatore ciclico con inversione dell'uscita. In questo caso
all'ingresso viene riportato il segnale dell'uscita complementata Q.
Modificate Rotate.vi in modo da inserire questo cambiamento e salvatelo come
Switch Tail Ring Counter.vi.
Qual è il modulo del contatore ciclico con inversione dell'uscita ?
I contatori ciclici sono spesso utilizzati nelle situazioni in cui gli eventi si devono
ripetere ciclicamente dopo un certo tempo. Eseguite e osservate Billboard.vi,
mostrato nella figura seguente, che simula un pannello luminoso con luci che si
inseguono.

Potete utilizzare lo scorrevole per impostare la velocità delle luci; la configurazione


delle luci viene definita dalle 16 costanti Booleane del diagramma a blocchi.

© National Instruments Corporation 4- 4 Elementi di Elettronica Digitale


Laboratorio 4
Memoria: Il D-Latch

VI del Laboratorio 4 (in ordine di presentazione)


• D Latch.vi (simulazione in LabVIEW del circuito D-latch)
• Shift.vi (registro a scorrimento a 4 bit)
• Bucket.vi (simulazione di un registro a scorrimento a 8 bit)
• Rotate.vi (contatore ciclico a 4 bit)
• Billboard.vi (contatore ciclico a 16 bit utilizzato come pannello luminoso)

© National Instruments Corporation 4- 5 Elementi di Elettronica Digitale


Laboratorio 4
Memoria: Il D-Latch

Note

© National Instruments Corporation 4- 6 Elementi di Elettronica Digitale


Laboratorio 5
Generatori di Numeri Pseudo-Casuali

Laboratorio 5
Generatori di Numeri Pseudo-Casuali
Nell’ultimo laboratorio abbiamo introdotto i contatori ciclici per realizzare dei
contatori modulo n. In questo laboratorio i dati in uscita da una combinazione di
stadi vengono opportunamente elaborati e riportati all'ingresso del medesimo
dispositivo. Se viene scelta la combinazione corretta, i dati in uscita avranno la
lunghezza massima (cioè il modulo del contatore è pari a 2N –1). Per un contatore
a 8 bit, N = 8 e (2N –1) = 255. Questi circuiti, spesso chiamati generatori di numeri
pseudo-casuali (PRNG, dall’inglese Pseudo-Random Number Generator), hanno
alcune caratteristiche interessanti: le sequenze generate sembrano composte da
numeri casuali, ma di fatto la sequenza si ripete dopo (2N –1) cicli.
I generatori di numeri e di sequenze pseudo-casuali hanno numerose applicazioni
nel campo della sicurezza informatica, della crittografia, del collaudo dei sistemi
audio, nella verifica dei bit di errore e nei sistemi sicuri per la trasmissione dei dati.

Generatore di numeri pseudo-casuali a 6 bit


Nel circuito seguente, le uscite del quinto e del sesto circuito D-latch sono state
collegate a una porta NOR esclusivo e l'uscita di questa è stata collegata
all’ingresso del registro a scorrimento. Si parte dal presupposto che tutte le uscite
siano impostate a zero.

Figura 5-1. PRNG a 6 bit costruito mediante 6 D-Latch e una porta XOR

Quando Q5 e Q6 sono 0, l’uscita di NXOR (si veda Laboratorio 1) è 1. Questo


valore HI è portato all'ingresso D1 del registro a scorrimento. Al segnale di clock
tutti i bit si spostano a destra, e il valore in uscita iniziale (000000) diviene
(100000).
Eseguendo alcuni cicli si può osservare che le uscite Q1...Q6 assumono i valori:
(000000)
(100000)
(110000)
(111000)
----------
Dopo 63 cicli, la sequenza ritorna allo stato iniziale (000000).
Si può facilmente simulare questo circuito con il VI di LabVIEW.

© National Instruments Corporation 5- 1 Elementi di Elettronica Digitale


Laboratorio 5
Generatori di Numeri Pseudo-Casuali

Figura 5-2. VI di LabVIEW per simulare un PRNG a 6 bit.

Un registro a scorrimento a sei elementi viene collocato in un ciclo While. Un porta


esclusiva OR e un inverter vengono utilizzati per realizzare la porta NXOR i cui
ingressi sono stati collegati a Q5 e Q6.
L'indice del ciclo conta i cicli effettuati, e un'apposita istruzione provvede a
introdurre un ritardo di 500 ms per dare il tempo di osservare le configurazioni
generate. Quando eseguite questo VI, 6PRNG.vi, osservate che i cicli 0 e 63 sono
uguali (in entrambi i casi tutti i bit sono zero).

Un sequenziatore pseudo-casuale a 8 bit


Un PRNG a 8 bit utilizza le uscite Q4, Q5, Q6, e Q8 collegate dalla porta XNOR
per costruire una sequenza la cui massima lunghezza è 2N –1, che copre quindi i
valori da 0 a 255.

Figura 5-3. Simulazione in LabVIEW di un PRNG a 8 bit

Come nell’esempio precedente, i dati in uscita possono essere visualizzati in modo


parallelo utilizzando otto indicatori LED; inoltre sull’uscita seriale (Serial Out) viene
prodotta una sequenza pseudo-casuale di uni e zeri.
La maggior parte dei circuiti digitali richiede un collaudo con tutte le possibili
combinazioni di uni e di zeri, che possono essere generate utilizzando una
sequenza Booleana casuale di uni e di zeri come quella prodotta da [Serial Out]. In
questa configurazione il circuito è chiamato sequenziatore di bit pseudo-casuali
(PRBS, dall’inglese Pseudo-Random Bit Sequencer). Sul pannello frontale del VI
PRBS0.vi, potete visualizzare la sequenza di bit presente su [Serial Out]
utilizzando un indicatore LED.

© National Instruments Corporation 5- 2 Elementi di Elettronica Digitale


Laboratorio 5
Generatori di Numeri Pseudo-Casuali

Figura 5-4. Pannello frontale del PRBS a 8 bit

Il modo migliore per visualizzare questa sequenza di bit consiste nell'utilizzare il


tracciato dei bit, che si ottiene convertendo i bit in valori numerici (1 o 0) e
visualizzandoli poi in un grafico di LabVIEW. Nella figura seguente sono
visualizzati i primi 50 bit generati da PRBS.vi.

Figura 5-5. I valori disponibili su [Serial Out] del sequenziatore di bit pseudo-casuale

I laser usati per le comunicazioni vengono collaudati utilizzando forme d’onda


PRBS. A volte un laser può bloccarsi con una particolare sequenza di bit, o un
livello di bit può essere al di fuori dei valori delle specifiche. L’uscita del laser viene
rilevata con un fotodiodo, che converte il segnale ottico in un segnale digitale e lo
passa a un comparatore digitale. Contemporaneamente la sequenza generata dal
PRBS viene collegata all’altro ingresso del comparatore e questo consente di
rilevare eventuali errori di trasmissione o blocchi del sistema.
È ora semplice verificare che la sequenza di bit si ripete esattamente dopo 255
cicli. Nel VI PRBS2.vi i due grafici visualizzano la stessa sequenza; impostando la
scala del secondo grafico tra 255 e 305, si può osservare la natura ripetitiva del
PRBS.

© National Instruments Corporation 5- 3 Elementi di Elettronica Digitale


Laboratorio 5
Generatori di Numeri Pseudo-Casuali

Figura 5-6. Confronto tra i primi 50 bit generati da PRBS e i bit da 255 a 305

Generatore di numeri pseudo-casuali a 8 bit


L'uso dei convertitori analogico/digitali permette di convertire in valori numerici le
sequenze di numeri pseudo-casuali disponibili sulle uscite parallele. Durante la
conversione binaria, ai singoli bit paralleli (Q1...Q8) viene assegnato un diverso
peso (1, 2, 4, 8, 16, 32, 64 e 128). Nel seguente VI, i valori numerici vengono
visualizzati su un display a tre cifre e ne viene tracciato il grafico sul pannello
frontale.

Figura 5-7. Valori generati da un PRNG a 8 bit

Eseguendo PRNG.vi potete osservare la sequenza di numeri casuali, all'interno


della quale ricorrono tutti i numeri da 0 a 254; osservando attentamente si nota
che ogni numero appare solo una volta nella sequenza. La sequenza sembra
veramente casuale?
Il seguente diagramma a blocchi rappresenta la simulazione in LabVIEW di un
PRNG a 8 bit. Osservate come il DAC visualizza i valori numerici delle uscite
parallele Booleane.

© National Instruments Corporation 5- 4 Elementi di Elettronica Digitale


Laboratorio 5
Generatori di Numeri Pseudo-Casuali

Figura 5-8. Il programma LabVIEW per un PRNG a 8 bit con grafico.

Il grafico visualizza convenientemente la sequenza analogica. Su un intervallo di


valori limitato (10-30), il dato in uscita sembra veramente casuale e di fatto lo è da
un punto di vista matematico. Come uscita analogica il segnale è quello di un
rumore bianco. Il pregio del PRNG nel collaudo dei circuiti audio è che il disturbo si
ripete dopo 2 N –1 cicli; amplificatori come le porte digitali possono avere una
memoria a breve termine, ma non a lungo termine. L’uscita analogica del PRNG
viene collegata all'ingresso del circuito analogico che si vuole collaudare, mentre il
segnale in uscita dal circuito viene confrontata con il livello previsto in base alla
sequenza generata dal PRNG. Qualsiasi deviazione dal comportamento atteso
può indicare la presenza di problemi nel circuito in prova.

Crittografia di dati digitali


La maggior parte della trasmissione dati avviene utilizzando caratteri ASCII.
L'aggiunta di un bit di parità a un codice ASCII a 7 bit fornisce un numero digitale
composto da 8 bit. Gli sportelli automatici delle banche, le serrature elettroniche
per porte e le password dei computer sono esempi di sistemi che utilizzano
caratteri ASCII e un qualche tipo di crittografia per garantire la sicurezza dei dati.
Il PRNG a 8 bit consente di codificare i dati ASCII. Tutti i casi esaminati sino ad
ora facevano uso dell’inizializzazione di default di LabVIEW del registro a
scorrimento per dare inizio alla sequenza del PRNG. Di fatto, la sequenza può
iniziare da un valore qualsiasi eccetto lo stato proibito (11111111). Supponiamo
che il valore iniziale sia (01111010), pari a 122 in decimale e a $7A in HEX
(esadecimale), equivalente al carattere “z” in ASCII. La sequenza generata dal
PRNG viene spostata in avanti di un numero di posizioni pari a questo valore,
detto "valore di offset", ma la sequenza si ripete nella solita modalità, ripetendosi
dopo 255 cicli.
La figura seguente mostra la rappresentazione Booleana di un valore a 8 bit
generato dal PRNG a partire da un certo indice (7) e i sei valori generati dopo di
esso successivi. Osservate che dopo 255 cicli , cioè quando l'indice assume il
valore 262 (7 + 255 = 262) le sequenze si ripetono identiche e risultano quindi
prevedibili.

© National Instruments Corporation 5- 5 Elementi di Elettronica Digitale


Laboratorio 5
Generatori di Numeri Pseudo-Casuali

Figura 5-9. Rappresentazione tramite un vettore di valori Booleani della sequenza di bit generata un
PRNG a 8 bit per indici compresi tra 7 e 13 e tra 262 e 268.

Supponiamo che un codice di identificazione numerico come quello del Bancomat


(PIN, Personal Identification Number) o una password vengano utilizzati per
formare un codice numerico unico, N. Il PRNG è inizializzato con un carattere
ASCII e converte questo carattere di ingresso in un carattere opportunamente
codificato spostandolo in avanti di N cicli; l’uscita parallela del circuito contiene il
carattere crittografato. Nell’esempio precedente, se il PIN fosse 257, il carattere “z”
diverrebbe “X”. Per ogni carattere che compone il messaggio viene generato un
nuovo carattere; Il destinatario conosce l’algoritmo di codifica, e utilizzando il PIN
può decodificare il messaggio ricevuto ricostruendo il messaggio originale.

VI del Laboratorio 5 (in ordine di presentazione)


• 6PRNG.vi (PRNG a 6 bit)
• PRBS0.vi (sequenziatore a 8 bit pseudo-casuale)
• PRBS.vi (PRBS a 8 bit con uscita seriale e rappresentazione grafica)
• PRNG.vi (PRNG a 8 bit con rappresentazione grafica)
• PRNG7.vi (PRNG a 8 bit con uscite vettoriali)
• DAC8.vi (subVI DAC a 8 bit)

© National Instruments Corporation 5- 6 Elementi di Elettronica Digitale


Laboratorio 5
Generatori di Numeri Pseudo-Casuali

Note

© National Instruments Corporation 5- 7 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

Laboratorio 6
Flip-Flop Master-Slave JK
Uno dei più importanti dispositivi logica basati su clock è il flip-flop master-slave
JK. A differenza del D-latch, che conserva la memoria solo fino al successivo
impulso di clock, il flip-flop JK è fornito di una memoria reale. Quando gli ingressi J
e K sono bassi, lo stato delle uscite Q e Q non cambia, indipendentemente dal
segnale di clock. Di conseguenza le informazioni possono essere collocate nel bit
di uscita, dove rimangono sino a che non sono necessarie. L’uscita Q può essere
impostata a livello alto o basso dal segnale di clock in base alla impostazione degli
ingressi (J,K), che devono avere rispettivamente valori (0,1) o (1,0). Di fatto,
collocando un inverter tra gli ingressi J e K si ottiene un circuito D-latch. La figura
successiva mostra lo schema di un circuito flip-flop JK e la relativa tabella di verità.
Osservate che il flip-flop può essere impostato (Set) o azzerato (Reset) anche
utilizzando direttamente gli ingressi logici.

Figura 6-1. Simboli logici del Flip-Flop JK e tabelle di verità.

La prima riga della tabella di verità basata su clock è lo stato di memoria, mentre le
due successive combinazioni sono gli stati di latch. La novità del circuito flip-flop
JK è la quarta combinazione (1,1), che genera un'uscita che commuta
ciclicamente in base al segnale di clock, un comportamento indicato in inglese con
il termine toggle. Quando il circuito riceve il segnale di clock l’uscita commuta da
[1-->0] se valeva 1 o da [0-->1] se valeva 0.
Questa funzione di complementazione viene spesso indicata con il termine bit
toggling, cioè commutazione del bit, ed il flip-flop risultante (in cui entrambi gli
ingressi J e K sono a livello HI) viene chiamato flip-flop T. Dato che si verifica un
solo cambiamento di stato per ogni ciclo, sono necessari due cicli di clock per
riportare l'uscita al suo stato iniziale. Caricate Binary1.vi ed osservate il
funzionamento del flip-flop T in base al segnale di clock.

© National Instruments Corporation 6- 1 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

Figura 6-2. Simulazione in LabVIEW di un contatore binario "divisore per 2" realizzato con un subVI
Flip-Flop T

Ogni volta che viene premuto il pulsante Run di LabVIEW il clock cambia stato da
HI a LO o da LO ad HI.
Quante volte è necessario premere il pulsante Run affinché il bit in uscita passi
ciclicamente da LO ad HI e di nuovo a LO?
Può essere più semplice fare le osservazioni corrette premendo il pulsante di
esecuzione continua "Run Continuously”. Poiché sono richiesti due impulsi di clock
affinché l’uscita ritorni al valore iniziale, il flip-flop T divide per due la frequenza di
clock ed è spesso chiamato contatore binario “divisore per due”.
In LabVIEW (osservate il diagramma a blocchi ed aprite il subVI flip-flop T), il flip-
flop T viene simulato con una struttura Case posta all’interno di un ciclo While. Il
registro a scorrimento più alto, insieme all’inverter, simula il segnale di clock. Se
l’uscita di un flip-flop T viene utilizzata come ingresso di clock per un secondo flip-
flop T, la frequenza di uscita della coppia di flip-flop è divisa due volte per due,
cioè è divisa per 4. Caricate ed eseguite Binary2.vi.

Figura 6-3. Simulazione in LabVIEW di un contatore binario "divisore per 4"

Se l’uscita del primo flip-flop ha peso 1 e quella del secondo flip-flop ha peso 2, il
valore decimale equivalente assume i valori in sequenza 0,1,2,3, 0,1,2,3, 0,1,2,3, e
così via al procedere del segnale di clock: si tratta quindi di un contatore binario
modulo 4. Nella simulazione di LabVIEW si può osservare nel diagramma a
blocchi come l’uscita del primo flip-flop divenga l'ingresso di una porta AND a cui è
collegato anche il segnale di clock e l'uscita della porta AND venga utilizzata come
ingresso per il flip-flop successivo.

Contatori binari
I contatori binari sono composti da una serie di flip-flop J-K i cui ingressi (J,K) sono
collegati a un livello logico alto (HI) e in cui ciascuna uscita è collegata all'ingresso
del clock del flip-flop seguente. Il segnale di clock entra nella serie di flip-flop
concatenati sull'ingresso di clock del primo flip-flop e si propaga nella serie
attraverso il collegamento uscita di un flip-flop / ingresso di clock del flip-flop
seguente.

© National Instruments Corporation 6- 2 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

Figura 6-4. Contatore binario a 4 bit costruito con flip-flop JK

In questa configurazione il segnale di clock viene diviso per 2 ogni volta che passa
attraverso un flip-flop JK e quindi una sequenza di quattro flip-flop JK effettua la
divisione per 24, cioè la divisione per 16.
Caricate il VI chiamato Binary4.vi, che simula il contatore binario a 4 bit descritto
qui sopra. Premendo il pulsante Run si può osservare il funzionamento di questo
contatore binario divisore per 16. I quattro stati binari (Q3 , Q2 , Q1 , Q0 ) sono
visualizzati da indicatori LED, mentre il valore decimale equivalente alla sequenza
di bit viene visualizzato come valore numerico sul pannello frontale; oltre a ciò
viene anche visualizzato graficamente l'andamento dei segnali per ciascuna uscita
Q0-Q3 su quattro grafici distinti.

Figura 6-5. Simulazione in LabVIEW di un contatore binario a 4 bit

Osservate la sequenza e compilate la tabella di verità seguente.

Tabella 6 -1. Sequenza di un contatore binario a 4 bit ed equivalenti valori decimali

Ciclo di Q3 Q2 Q1 Q0 DE#
clock
0 0 0 0 0 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14

© National Instruments Corporation 6- 3 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

15
16 1 1 1 1 15
La tabella, una volta completata, visualizza tutte le combinazioni possibili per un
contatore binario a 4 bit. Se le uscite Q 0, Q1 , Q 2 , and Q3 hanno peso 20, 21, 22 e
23, è possibile rappresentare con le quattro uscite tutti i numeri compresi tra 0 e 15
in formato binario. Guardate il diagramma a blocchi di LabVIEW per vedere come
viene calcolato il valore decimale equivalente.
Nella notazione esadecimale i 16 stati (0-15) sono identificati dai simboli 0...9 e
A...F. Questa notazione è più compatta e più semplice da ricordare rispetto a
lunghe combinazioni di bit della notazione binaria. Le lunghe sequenze di bit
vengono suddivise in gruppi di 4 bit chiamati nibble e ogni nibble viene codificato
come un singolo carattere esadecimale.
Ad esempio, il numero binario a 16 bit 1101 0111 0011 1100 è codificato come
$D73C in notazione esadecimale.

Contatore binario a 8 bit


Una logica evoluzione del contatore binario a 4 bit è un contatore con una
maggiore ampiezza dei dati. I controller embedded utilizzano un bus interno dei
dati 8 bit mentre i microprocessori più recenti utilizzano bus dati a 16 o 32 bit.
Il VI Binary8.vi mostra in modo intuitivo la sequenza di conteggio binaria
visualizzando un byte tramite 8 indicatori LED e con un grafico. Eseguite questo VI
in modo continuo per osservare i numeri binari da 0 a 255. Il grafico mostra
chiaramente come ogni stadio divide il precedente ingresso per 2. Le frequenze di
uscita sono f/2, f/4, f/8, f/16, f/32, f/64, f/128 e f/256 per gli stadi di uscita Q0 ...Q7.
In questo caso f è la frequenza del temporizzatore.
I contatori binari devono essere azzerati (in inglese reset, tutti i bit = 0) o impostati
(in inglese set, tutti i bit = 1) per diverse operazioni. La tabella di verità per il flip-
flop JK mostrata in precedenza indica che questo circuito logico dispone di
ingressi che permettono di effettuare l'impostazione o l'azzeramento delle uscite.
La logica basata su clock funziona correttamente quando gli ingressi di
azzeramento o di impostazione vengono impostati a un valore alto. Uno 0
sull’ingresso Set o Clear forza l’uscita a 1 o a 0 rispettivamente. Queste operazioni
sono esclusive, quindi lo stato (00) non è ammesso. Il VI Bin8_Reset.vi dispone
di una funzione di azzeramento per il contatore binario a 8 bit. Caricate ed
eseguite questo VI in continuazione. Premendo il pulsante Reset il contatore
binario viene azzerato. Questa operazione è utile in applicazioni con contatori di
lunghezza insolita e nella progettazione di convertitori analogico/digitali.

La sfida in LabVIEW
Progettate un contatore binario a due cifre, che conti da 00 a 99.

In sintesi
I contatori binari sono componenti fondamentali dei circuiti elettronici digitali.
Vengono utilizzati in tutte le varianti dei contatori modulo n, nella generazione di
frequenze di clock secondarie e in molti circuito di ordine superiore come i
dispositivi per la conversione analogico/digitale e digitale/analogica.

VI del Laboratorio 6 (in ordine di presentazione)


• Binary1.vi (contatore binario che divide per 2)
• Binary2.vi (contatore binario che divide per 4)

© National Instruments Corporation 6- 4 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

• Binary4.vi (contatore binario che divide per 16 con rappresentazione grafica


degli stati logici)
• Binary8.vi (contatore binario che divide per 256 con rappresentazione grafica
degli stati logici)
• Bin8_Reset.vi (contatore binario a 8 bit con pulsante di reset esterno)
• FlipFlop.vi (subVI flip-flop T utilizzato nei precedenti programmi)

© National Instruments Corporation 6- 5 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

Laboratorio 7
Convertitore Digitale/Analogico
Il convertitore Digitale/Analogico, noto come convertitore D/A o DAC
(dall'inglese Digital-to-Analog Converter) è un importantissimo circuito
che costituisce il ponte tra i mondi analogico e digitale. I DAC sono
componenti fondamentali di molti circuiti e strumenti, inclusi voltmetri
digitali, plotter, oscilloscopi e numerosi dispositivi controllati da
computer. Questo capitolo presenta il convertitore Digitale/Analogico, ne
considera alcune varianti e descrive come viene utilizzato per la
generazione di forme d’onda.

Cos’è un DAC?
Un DAC è un componente elettronico che converte i livelli logici digitali
in tensioni analogiche. L’uscita di un DAC è data dalla somma di tutti i bit
di ingresso a ognuno dei quali viene assegnato un peso particolare:

DAC = Σ wi bi
dove wi è il fattore di ponderazione, bi è il valore del bit (1 o 0) e i è
l’indice della cifra del bit. Nel caso di uno schema ponderale binario, in
cui wi = 2i, l’espressione completa per un DAC ad 8 bit diviene
DAC = 128 b7 + 64 b6 + 32 b5 + 16 b4 + 8 b3 + 4 b2 + 2 b1 + 1 b0

Figura 7-1. Simulazione in LabVIEW of di un DAC a 8 bit

In questa simulazione DAC.vi offre una dimostrazione del processo di


conversione. Sul pannello frontale vi sono otto commutatori Booleani
che permettono di impostare i bit d’ingresso da b0 fino a b7. Otto
indicatori LED visualizzano il valore binario del byte di ingresso durante
l’esecuzione della simulazione. L’uscita analogica viene visualizzata da

© National Instruments Corporation 6-6 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

un indicatore numerico. Il diagramma a blocchi qui sotto, presenta


l’algoritmo di LabVIEW per il convertitore a 8 bit.

Figura 7-2. Il programma LabVIEW per un DACa 8 bit

La simulazione utilizza le funzioni somma e moltiplicazione a due


ingressi per generare la somma DAC. Notate nel diagramma a blocchi
l’icona che effettua la conversione dei dati da Booleani a reali, che
simula in modo estremamente realistico il passaggio dei dati dalla forma
digitale (valori Booleano) alla forma analogica (valori numerici).
Caricate ed eseguite DAC.vi per osservare la relazione esistente tra
codici binari e il loro equivalente numerico. DAC.vi è un subVI e quindi
può essere utilizzato in altri programmi per convertire un segnale digitale
a 8 bit nell'equivalente valore decimale. Per avere un'idea di come può
essere utilizzato un DAC, considerate la simulazione di una istruzione di
somma a 8 bit in un microprocessore.

Simulatore ALU
L’unità aritmetica e logica (ALU, Arithmetic and Logic Unit) è
responsabile di tutte le operazioni logiche ed aritmetiche che avvengono
all’interno dell’unità di elaborazione centrale (CPU) di un
microprocessore. Considerate l’istruzione ADD (somma)
ADD R1,R2
che somma il contenuto del Registro 1 al contenuto del Registro 2 e
memorizza la somma in un accumulatore. Otto commutatori Booleani e i
corrispondenti LED di visualizzazione simulano i registri a 8 bit R1 e R2.
Per mostrare il valore contenuto nell'accumulatore e l'eventuale riporto
in caso di overflow si utilizzano nove indicatori LED. Tre copie del VI

© National Instruments Corporation 6-7 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

DAC.vi provvedono a convertire il contenuto di ciascuno dei tre registri


nei valori numerici corrispondenti.

Figura 7-3. Simulazione in LabVIEW di un circuito che effettua la somma binaria a 8 bit

Caricate ed eseguite ADD R1,R2.vi per osservare la somma binaria a 8


bit in azione. Provate a sommare valori semplici come (1+1) oppure
configurazioni più complesse come $EF +$3. Osservate come funziona
il bit di riporto. Questo VI può sommare numeri binari più ampi degli 8 bit
di questo esempio, come per esempio cifre a 16 bit. Osservando il
diagramma a blocchi potete vedere come i moduli per la somma binaria
creati nel Laboratorio 3 siano stati utilizzati insieme ai moduli DAC.vi per
realizzare la simulazione.

Simulazione di un circuito integrato DAC reale


Il circuito integrato Motorola MC1408 è un convertitore digitale/analogico
a 8 bit che fornisce una uscita in corrente, i, direttamente proporzionale
al valore digitale in ingresso. La funzione di trasferimento fornita con le
specifiche del DAC è la seguente
i = K {A1/2+A2/4+A3/8+A4/16+A5/32+A6/64+A7/128+A8/256}
dove gli ingressi digitali sono Ai = 0 o 1, ed A1 è il bit più significativo, A8
è il bit meno significativo e la costante di proporzionalità è K = Vref /
R14. La tensione nominale di +5V fornisce una corrente di riferimento di
5 V/3.9 kΩ, pari a una corrente di 1.28 mA che fluisce attraverso la
resistenza R14. La corrente massima prodotta quando tutti i bit di
ingresso sono a livello alto è di 0.996 * 1.28 mA = 1.275 mA.

© National Instruments Corporation 6-8 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

Figura 7-4. Circuito DAC a 8 bit costruito con circuiti integrati convenzionali.

Un amplificatore operazionale, MC741, configurato come un convertitore


corrente/tensione, trasforma la corrente generata dal DAC in una
tensione, Vout = - iR. Utilizzando un resistore di feedback di 2.0 kΩ, la
massima tensione in uscita è di 2.55 V e la sensibilità risulta essere di
10 mV/bit. Si tratta di una costante di proporzionalità accettabile, in
quanto il massimo valore digitale in ingresso, che si ha quando tutti i bit
sono a livello alto, ha un equivalente valore decimale pari a 255.

Figura 7-5. Simulazione in LabVIEW del circuito DAC a 8 bit mostrato nella Figura 7-4

Caricate e studiate il VI MC1408.vi, che simula un circuito DAC


utilizzando il chip DAC 1408. Osservate che la risoluzione (in questo
caso la variazione su un solo bit) è di 10 mV. Modificando il resistore di
feedback è possibile variare il fattore di scala e ottenere qualsiasi valore
di fondo scala si desideri (ad esempio, 1.000).
Osservate la differenza tra questo diagramma a blocchi e il diagramma a
blocchi DAC.vi. Se potete disporre di un DAC MC1408 e di un
amplificatore operazionale 741, la simulazione può essere confrontata
con il circuito reale mostrato nel diagramma a blocchi.

Generatori di forme d’onda


Ogni sequenza di bit fornita in ingresso al DAC a ritmo uniforme può
essere utilizzata per produrre una forma d’onda analogica. La sequenza
più semplice è quella che si ottiene da un contatore binario a 8 bit, che
permette di generare una forma d'onda a rampa crescente da 0 a 2.55
V. Per dimostrare il funzionamento di questo circuito, il VI Binary8.vi,
introdotto nel Laboratorio 5, è stato collegato al DAC.vi, la cui uscita
viene quindi connessa a un grafico. L’inclinazione della rampa è definita
dalla frequenza di conteggio: maggiore è la frequenza, maggiore è la
pendenza. Il segnale di clock è generato da un modulo oscillatore.
Quando il contatore binario va in overflow da (11111111) a (00000000),
la tensione analogica precipita all’improvviso da 255 a 0. La rampa
digitale è chiamata a volte "a scala" per la somiglianza dell'andamento
del segnale con i gradini di una scala.

© National Instruments Corporation 6-9 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

Figura 7-6. Uscita di un DAC a 4 bit, 6 bit e 8 bit

Quando aumenta il numero dei bit del DAC l’altezza degli scalini si
riduce. Un DAC a 4 bit ha 14 scalini, un DAC a 6 bit ha 63 scalini e un
DAC a 8 bit ha 255 scalini. Il programma a cui fa riferimento la figura qui
sopra, chiamato DAC Resolution.vi, mostra dinamicamente come la
risoluzione aumenti con il numero dei bit. Quando il numero di bit
aumenta a 16 o 20, la forma d’onda digitale approssima in modo molto
accurato una rampa analogica. Nell’ambito analogico questo tipo di
forma d’onda è chiamata "a dente di sega". Guardate l’uscita del
DAC8/12.vi, che dimostra la maggiore risoluzione resa possibile dal
passaggio da un DAC ad 8 bit ad uno a 12 bit. Molte applicazioni
tecniche e scientifiche richiedono una risoluzione di almeno 12 bit.

DAC speciali
Nell’aritmetica binaria vista sinora tutti i numeri sono positivi. L’aritmetica
binaria con segno usa il bit più significativo per codificare il segno di un
numero (0 è positivo, 1 è negativo). In questo caso i 256 valori binari di
un DAC a 8 bit sono divisi in valori positivi (da 1 a 127) e valori negativi
(da 128 a 1). Il VI chiamato DAC+/-.vi mostra un'applicazione in cui si
impiega un’uscita analogica con segno.

Figura 7-7. Uscita DAC con e senza segno

© National Instruments Corporation 6-10 Elementi di Elettronica Digitale


Laboratorio 6
Flip-Flop Master-Slave JK

Osservate che la scala dell’asse Y è identica per entrambe le versioni


(con e senza segno).

Figure di Lissajous
Se i due segnali sono correlati armonicamente, il grafico di uno sull’asse
delle X e dell’altro sull’asse delle Y produce diagrammi interessanti
chiamate figure di Lissajous. Contando i punti di intersezione di una
linea orizzontale con il diagramma e dividendoli per il numero dei punti di
intersezione con una linea verticale, si può trovare il rapporto tra le due
frequenze. Nell'esempio della figura seguente ci sono quattro punti di
intersezione con una linea orizzontale e due con una linea verticale, il
che permette di ottenere il rapporto 2:1. Inoltre, se i due segnali sono
l'uno l'armonica dell'altro, Il diagramma di Lissajous può anche fornire la
fase tra i due segnali. Caricate Lissajous1.vi ed esaminate la fase di
due segnali correlati armonicamente.

Figura 7-8. Simulazione in LabVIEW di una figura di Lissajous ω2 =2*ω1

VI del Laboratorio 7 (in ordine di presentazione)


• DAC.vi (simulazione di un DAC a 8 bit)
• ADD R1,R2.vi (sommatore binario a 8 bit)
• MC1408.vi (simulazione di un DAC IC Motorola 1408)
• DAC Resolution.vi (simulazione DAC a 4 bit, 6 bit e 8 bit)
• DAC+/-.vi (DAC privi di segno e con segno)
• Lissajous.vi (simulazione di una figura di Lissajous)
• DAC8/12.vi (risoluzione di un DAC a 8 bit e a 12 bit)
• DAC12.vi (subVI utilizzato in DAC8/12.vi)
• BIN_RST.vi (contatore binario a 8 bit con azzeramento)
• Half Adder.vi (subVI utilizzato in ADD R1,R2.vi)
• Full Adder.vi (subVI utilizzato in ADD R1,R2.vi)
• FlipFlop.vi (subVI utilizzato in ADD R1,R2.vi)

© National Instruments Corporation 6-11 Elementi di Elettronica Digitale

Potrebbero piacerti anche