Strumenti Utente

Strumenti Sito


sezione_4b

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
sezione_4b [2019/02/21 09:46] – [7 I display] adminsezione_4b [2023/03/22 07:26] (versione attuale) – [I data sheet] admin
Linea 57: Linea 57:
 ==== I data sheet ==== ==== I data sheet ====
  
-Il testo prende in esame il data sheet dell'integrato [[https://assets.nexperia.com/documents/data-sheet/74HC_HCT154.pdf|74154]], un DEMUX (e decoder) a 16 uscite. Si osserva che:+Il testo prende in esame il data sheet dell'integrato [[https://assets.nexperia.com/documents/data-sheet/74HC_HCT154.pdf|74154]]((vedere le figure 10 e 11 per l'uso da decoder e demultiplexer)), un DEMUX (e decoder) a 16 uscite. Si osserva che:
   * sono presenti due ingressi di abilitazione attivi bassi; nell'uso da multiplexer uno dei due viene usato come tale mentre l'altro viene usato per il segnale in ingresso   * sono presenti due ingressi di abilitazione attivi bassi; nell'uso da multiplexer uno dei due viene usato come tale mentre l'altro viene usato per il segnale in ingresso
   * le uscite sono attive basse ma anche gli ingressi lo sono quindi il segnale viene trasmesso senza essere complementato   * le uscite sono attive basse ma anche gli ingressi lo sono quindi il segnale viene trasmesso senza essere complementato
   * i quattro ingressi di selezione vanno dal MSB indicato con la lettera D al LSB con la lettera A   * i quattro ingressi di selezione vanno dal MSB indicato con la lettera D al LSB con la lettera A
   * l'uscita selezionata è bassa (uscita attiva bassa) quando il segnale nell'ingresso è basso (attivo basso), tutte le altre uscite sono alte   * l'uscita selezionata è bassa (uscita attiva bassa) quando il segnale nell'ingresso è basso (attivo basso), tutte le altre uscite sono alte
 +
 +==== Extra ====
 +  * eseguire la {{ ::nonsoloteoria2-4b-3.zip |simulazione}} di non solo teoria 2
  
  
Linea 73: Linea 76:
 Per rappresentare dei numeri con un codice binario è sufficiente utilizzare il sistema di numerazione binario (**codice binario puro**). Questa soluzione, per quanto ovvia, non è sempre la più efficace. Ad esempio se si intende visualizzare delle cifre decimali è preferibile ricorrere al codice **BCD** (//binary coded decimal//). Questo sistema di codifica usa 4 bit per rappresentare ogni cifra decimale con il numero binario corrispondente. Ad esempio il numero 31 si rappresenta in BCD con 0011 0001 (3 e 1 in binario). Come si vede il BCD usa un numero di bit maggiore rispetto al binario puro (31 in  binario è 11111) ma è più pratico quando si deve trattare ogni cifra decimale singolarmente (ad esempio per visualizzarla su un display). Per rappresentare dei numeri con un codice binario è sufficiente utilizzare il sistema di numerazione binario (**codice binario puro**). Questa soluzione, per quanto ovvia, non è sempre la più efficace. Ad esempio se si intende visualizzare delle cifre decimali è preferibile ricorrere al codice **BCD** (//binary coded decimal//). Questo sistema di codifica usa 4 bit per rappresentare ogni cifra decimale con il numero binario corrispondente. Ad esempio il numero 31 si rappresenta in BCD con 0011 0001 (3 e 1 in binario). Come si vede il BCD usa un numero di bit maggiore rispetto al binario puro (31 in  binario è 11111) ma è più pratico quando si deve trattare ogni cifra decimale singolarmente (ad esempio per visualizzarla su un display).
  
-In alcune applicazioni (ad esempio nell'encoder assoluto di figura 11) si ricorre al **codice Gray** di tabella 5((non è un codice pesato e si può costruire sapendo che è un codice riflesso (osservare l'alternanza di 0 e 1) )), la cui proprietà principale è che due combinazioni successive differiscono per un solo bit. Questo è utile quando si vogliono evitare errori di lettura imputabili ai dispositivi che generano il codice (nell'encoder sono i fotoaccoppiatori usati per rivelare la presenza o meno di un fascio luminoso che potrebbero non essere perfettamente sincronizzati).+In alcune applicazioni (ad esempio nell'encoder assoluto di figura 11) si ricorre al **codice Gray**(({{ ::binary_to_gray.zip |qui una simulazione con un circuito logico che converte tra gray e binario}})) di tabella 5((non è un codice pesato e si può costruire sapendo che è un codice riflesso (osservare l'alternanza di 0 e 1) )), la cui proprietà principale è che due combinazioni successive differiscono per un solo bit. Questo è utile quando si vogliono evitare errori di lettura imputabili ai dispositivi che generano il codice (nell'encoder sono i fotoaccoppiatori usati per rivelare la presenza o meno di un fascio luminoso che potrebbero non essere perfettamente sincronizzati).
  
 ==== Codici alfanumerici ==== ==== Codici alfanumerici ====
  
-I simboli alfanumerici, come quelli di una tastiera, possono essere rappresentati con il codice ASCII che assegna una combinazione di 7 bit a 128 simboli diversi (numeri, lettere, simboli di punteggiatura, ecc.). Nel codice ASCII le lettere sono ancora ordinate alfabeticamente: 100 0001 (65 in decimale) è la lettera "A" e 100 0010 (64) la "B". Un ottavo bit, se presente, permette di estendere il set di caratteri, raddoppiandolo, o di segnalare la presenza di errori, usato come bit di parità.+I simboli alfanumerici, come quelli di una tastiera, possono essere rappresentati con il codice ASCII che assegna una combinazione di 7 bit a 128 simboli diversi (numeri, lettere, simboli di punteggiatura, ecc.). Nel codice ASCII le lettere sono ancora ordinate alfabeticamente: 100 0001 (65 in decimale) è la lettera "A" e 100 0010 (66) la "B". Un ottavo bit, se presente, permette di estendere il set di caratteri, raddoppiandolo, o di segnalare la presenza di errori, usato come bit di parità.
  
 ==== Codici rilevatori di errori ==== ==== Codici rilevatori di errori ====
  
-Nella trasmissione dei dati è possibile che si verifichino degli errori, ad esempio perché un bit ha cambiato valore. Per individuare questi errori si utilizzano **codici ridondanti** - cioè con un numero di bit maggiore del necessario - che producano combinazioni particolari in caso di errore. La soluzione più semplice consiste nell'aggiungere al codice originario un bit di parità che vale 1 se il numero di 1 è dispari e 0 se è pari. La  tabella 6 confronta il codice binario puro e quello con l'aggiunta di un bit di parità. Osserviamo che:+Nella trasmissione dei dati è possibile che si verifichino degli errori, ad esempio perché un bit ha cambiato valore. Per individuare questi errori si utilizzano **codici ridondanti** - cioè con un numero di bit maggiore del necessario - che producano combinazioni particolari in caso di errore. La soluzione più semplice consiste nell'aggiungere al codice originario un bit di parità che vale 1 se il numero di 1 è dispari e 0 se è pari. La  tabella 6 confronta il codice binario puro e quello con l'aggiunta di un bit di parità(({{ ::rilevatori-errore.pdf |esistono integrati dedicati alla generazione e al controllo del bit di parità}})). Osserviamo che:
   * il bit di parità è il bit meno significativo (LSB)   * il bit di parità è il bit meno significativo (LSB)
   * il numero di 1 in ogni combinazione è sempre pari   * il numero di 1 in ogni combinazione è sempre pari
Linea 104: Linea 107:
  
   * in laboratorio: display a sette segmenti pilotato dal driver 7448 (già presente nella minilab) collegato all'encoder 74147 che genera un codice BCD in base all'attivazione di uno dei 9 switch della scheda (serve anche un 7404 per invertire il codice generato dall'encoder che ha uscite attive basse)   * in laboratorio: display a sette segmenti pilotato dal driver 7448 (già presente nella minilab) collegato all'encoder 74147 che genera un codice BCD in base all'attivazione di uno dei 9 switch della scheda (serve anche un 7404 per invertire il codice generato dall'encoder che ha uscite attive basse)
 +
 +{{::7seg.png|}}
  
 ===== 6 I decoder ===== ===== 6 I decoder =====
Linea 116: Linea 121:
  
 I display servono a visualizzare cifre decimali in forma numerica (il numero da visualizzare può essere disponibile in forma binaria o codificato in BCD). Esistono due tipi di display: I display servono a visualizzare cifre decimali in forma numerica (il numero da visualizzare può essere disponibile in forma binaria o codificato in BCD). Esistono due tipi di display:
-  * LED (//light emitting diode//) +  * LED (//light emitting diode//) 
-  * LCD (//liquid crista display//)+  * LCD (//liquid cristal display//)
  
 I display LCD non emettono luce e consumano molto meno. I cristalli liquidi sono posti tra due superfici trasparenti dotate di elettrodi. Quando è applicata tensione tra gli elettrodi il cristallo si polarizza e crea una zona scura bloccando la luce. I display LCD non emettono luce e consumano molto meno. I cristalli liquidi sono posti tra due superfici trasparenti dotate di elettrodi. Quando è applicata tensione tra gli elettrodi il cristallo si polarizza e crea una zona scura bloccando la luce.
Linea 139: Linea 144:
   * i quattro ingressi sono attivi alti   * i quattro ingressi sono attivi alti
   * le uscite sono attive alte quindi adatte a display a catodo comune   * le uscite sono attive alte quindi adatte a display a catodo comune
-  * le uscite sono di tipo //open-collector//, quindi richiedono una resistenza di pull-up collegata all'alimentazione (già presente sulla scheda) 
   * è presente un ingresso di controllo LT (//lamp test//) attivo basso che accende tutti i LED per verificare il funzionamento del display   * è presente un ingresso di controllo LT (//lamp test//) attivo basso che accende tutti i LED per verificare il funzionamento del display
   * sono presenti gli ingressi di controllo BI (//blanking input//) e RBI (//ripple blanking output//) per spegnere il display ed eventualmente cancellare gli zero non significativi quando si usano più display (ad esempio ''4'' invece che ''004'')   * sono presenti gli ingressi di controllo BI (//blanking input//) e RBI (//ripple blanking output//) per spegnere il display ed eventualmente cancellare gli zero non significativi quando si usano più display (ad esempio ''4'' invece che ''004'')
sezione_4b.1550742409.txt.gz · Ultima modifica: 2020/07/03 15:58 (modifica esterna)