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 [2020/03/19 10:27] – [Extra] adminsezione_4b [2023/03/22 07:26] (versione attuale) – [I data sheet] admin
Linea 76: 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 ====
Linea 84: Linea 84:
 ==== 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 144: 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.1584613635.txt.gz · Ultima modifica: 2020/07/03 15:58 (modifica esterna)