Sommario:

Driver LED 4xN fai da te: 6 passaggi
Driver LED 4xN fai da te: 6 passaggi

Video: Driver LED 4xN fai da te: 6 passaggi

Video: Driver LED 4xN fai da te: 6 passaggi
Video: ICICS 2022: Panel Discussion - Security in Autonomous Driving Networks 2024, Dicembre
Anonim
Driver LED 4xN fai da te
Driver LED 4xN fai da te

I display a LED sono ampiamente utilizzati in sistemi che vanno da orologi digitali, contatori, timer, contatori elettronici, calcolatrici di base e altri dispositivi elettronici in grado di visualizzare informazioni numeriche. La Figura 1 mostra un esempio di display LED a 7 segmenti che può mostrare numeri e caratteri decimali. Poiché ogni segmento del display a LED può essere controllato individualmente, questo controllo può richiedere molti segnali, specialmente per cifre multiple. Questo Instructable descrive un'implementazione basata su GreenPAK™ per pilotare più cifre con un'interfaccia I2C a 2 fili da un MCU.

Di seguito abbiamo descritto i passaggi necessari per capire come è stato programmato il chip GreenPAK per creare il driver LED 4xN. Tuttavia, se desideri solo ottenere il risultato della programmazione, scarica il software GreenPAK per visualizzare il file di progettazione GreenPAK già completato. Collega il kit di sviluppo GreenPAK al tuo computer e premi il programma per creare l'IC personalizzato per il driver LED 4xN.

Passaggio 1: sfondo

Sfondo
Sfondo
Sfondo
Sfondo
Sfondo
Sfondo

I display a LED si dividono in due categorie: Common Anodo e Common Cathode. In una configurazione ad anodo comune, i terminali dell'anodo sono cortocircuitati internamente come mostrato nella Figura 2. Per accendere il LED, il terminale dell'anodo comune è collegato alla tensione di alimentazione del sistema VDD e i terminali del catodo sono collegati a terra tramite resistori di limitazione della corrente.

Una configurazione a catodo comune è simile a una configurazione ad anodo comune tranne che i terminali del catodo sono cortocircuitati come mostrato nella Figura 3. Per accendere il display LED del catodo comune, i terminali del catodo comune sono collegati a terra e i terminali dell'anodo sono collegati al sistema tensione di alimentazione VDD tramite resistori limitatori di corrente.

Un display a LED multiplex a N cifre può essere ottenuto concatenando N singoli display a LED a 7 segmenti. La Figura 4 mostra un'istanza di un display a LED 4x7 ottenuto combinando 4 singoli display a 7 segmenti in una configurazione ad anodo comune.

Come mostrato nella Figura 4, ogni cifra ha un pin/backplane dell'anodo comune che può essere utilizzato per abilitare singolarmente ogni cifra. I pin del catodo per ogni segmento (A, B, …G, DP) dovrebbero essere cortocircuitati insieme esternamente. Per configurare questo display a LED 4x7, l'utente richiede solo 12 pin (4 pin comuni per ogni cifra e pin a 8 segmenti) per controllare tutti i 32 segmenti del display multiplex 4x7.

Il design GreenPAK, dettagliato di seguito, mostra come generare i segnali di controllo per questo display a LED. Questo design può essere esteso per controllare fino a 4 cifre e 16 segmenti. Si prega di consultare la sezione Riferimenti per un collegamento ai file di progettazione GreenPAK disponibili sul sito Web di Dialog.

Passaggio 2: progettazione GreenPAK

Design GreenPAK
Design GreenPAK

Il progetto GreenPAK mostrato nella Figura 5 include sia la generazione del segnale a segmento che a cifra in un unico progetto. I segnali di segmento vengono generati dall'ASM e i segnali di selezione delle cifre vengono creati dalla catena DFF. I segnali del segmento sono collegati ai pin del segmento tramite resistori di limitazione della corrente, ma i segnali di selezione delle cifre sono collegati ai pin comuni del display.

Passaggio 3: generazione del segnale numerico

Generazione del segnale numerico
Generazione del segnale numerico

Come descritto nella sezione 4, ogni cifra su un display multiplex ha un backplane individuale. In GreenPAK, i segnali per ogni cifra sono generati dalla catena DFF interna guidata dall'oscillatore.

Questi segnali pilotano i pin comuni del display. La Figura 6 mostra i segnali di selezione delle cifre.

Canale 1 (giallo) – Pin 6 (cifra 1)

Canale 2 (verde) – Pin 3 (cifra 2)

Canale 3 (Blu) – Pin 4 (Cifra 3)

Canale 4 (Magenta) – Pin 5 (Digit 4)

Passaggio 4: generazione del segnale del segmento

L'ASM GreenPAK genera diversi modelli per guidare i segnali del segmento. Un contatore di 7,5 ms scorre gli stati ASM. Poiché l'ASM è sensibile al livello, questo design utilizza un sistema di controllo che evita la possibilità di passare rapidamente attraverso più stati durante il periodo alto del clock di 7,5 ms. Questa specifica implementazione si basa su stati ASM consecutivi controllati da polarità di clock invertite. Sia i segnali di segmento che quelli di cifre sono generati dallo stesso oscillatore interno a 25kHz.

Passaggio 5: configurazione ASM

Configurazione ASM
Configurazione ASM
Configurazione ASM
Configurazione ASM
Configurazione ASM
Configurazione ASM

La Figura 7 descrive il diagramma di stato dell'ASM. Lo stato 0 passa automaticamente allo stato 1. Un passaggio simile si verifica dallo stato 2 allo stato 3, dallo stato 4 allo stato 5 e dallo stato 6 allo stato 7. I dati dallo stato 0, dallo stato 2, dallo stato 4 e dallo stato 6 vengono bloccati istantaneamente utilizzando DFF 1, DFF 2 e DFF 7 come mostrato nella Figura 5, prima che l'ASM passi allo stato successivo. Questi DFF catturano i dati dagli stati pari dell'ASM, il che consente all'utente di controllare un display esteso 4x11/4xN (N fino a 16 segmenti) utilizzando l'ASM di GreenPAK.

Ogni cifra su un display 4xN è controllata da due stati dell'ASM. Lo stato 0/1, lo stato 2/3, lo stato 4/5 e lo stato 6/7 controllano rispettivamente la cifra 1, la cifra 2, la cifra 3 e la cifra 4. La tabella 1 descrive gli stati ASM insieme ai rispettivi indirizzi RAM per controllare ciascuno cifra.

Ogni stato della RAM ASM memorizza un byte di dati. Quindi, per configurare un display 4x7, tre segmenti di Digit 1 sono controllati dallo Stato 0 dell'ASM e cinque segmenti di Digit 1 sono controllati dallo Stato 1 dell'ASM. Di conseguenza, tutti i segmenti di ciascuna cifra sul display a LED sono ottenuti concatenando i segmenti dai loro due stati corrispondenti. La tabella 2 descrive la posizione di ciascuno dei segmenti di Digit 1 nella RAM ASM. In modo simile, gli stati da 2 a 7 di ASM includono rispettivamente le posizioni dei segmenti da Digit 2 a Digit 4.

Come si vede dalla Tabella 2, i segmenti da OUT 3 a OUT 7 dello Stato 0 e i segmenti da OUT 0 a OUT 2 dello Stato 1 non sono utilizzati. Il progetto GreenPAK nella Figura 5 può controllare un display 4x11 configurando i segmenti da OUT 0 a OUT 2 di tutti gli stati dispari dell'ASM. Questo design può essere ulteriormente ampliato per controllare un display 4xN esteso (N fino a 16 segmenti) utilizzando più celle logiche DFF e GPIO.

Passaggio 6: test

test
test
test
test
test
test

La Figura 8 mostra lo schema di prova utilizzato per visualizzare i numeri decimali sul display LED a 4x7 segmenti. Un Arduino Uno viene utilizzato per la comunicazione I2C con i registri RAM ASM di GreenPAK. Per ulteriori informazioni sulla comunicazione I2C, fare riferimento a [6]. I pin dell'anodo comune del display sono collegati ai GPIO di selezione delle cifre. I pin del segmento sono collegati all'ASM tramite resistori di limitazione della corrente. Il dimensionamento del resistore di limitazione della corrente è inversamente proporzionale alla luminosità del display a LED. L'utente può selezionare la potenza dei resistori di limitazione della corrente in base alla corrente media massima dei GPIO GreenPAK e alla corrente CC massima del display a LED.

La tabella 3 descrive i numeri decimali da 0 a 9 in formato binario ed esadecimale da visualizzare sul display 4x7. 0 indica che un segmento è ON e 1 indica che il segmento è OFF. Come mostrato nella Tabella 3, sono necessari due byte per visualizzare un numero sul display. Correlando la Tabella 1, la Tabella 2 e la Tabella 3, l'utente può modificare i registri RAM dell'ASM per visualizzare numeri diversi sullo schermo.

La tabella 4 descrive la struttura dei comandi I2C per la cifra 1 sul display LED 4x7. I comandi I2C richiedono un bit di start, un byte di controllo, un indirizzo word, un byte di dati e un bit di stop. Comandi I2C simili possono essere scritti per Digit 2, Digit 3 e Digit 4.

Ad esempio, per scrivere 1234 sul display LED 4x7, vengono scritti i seguenti comandi I2C.

[0x50 0xD0 0xF9 0xFF]

[0x50 0xD2 0xFC 0xA7]

[0x50 0xD4 0xF8 0xB7]

[0x50 0xD6 0xF9 0x9F]

Scrivendo ripetutamente tutti gli otto byte dell'ASM, l'utente può modificare il pattern visualizzato. Ad esempio, un codice contatore è incluso nel file ZIP della nota applicativa sul sito Web di Dialog.

Conclusioni

La soluzione GreenPAK descritta in questo Instructable consente all'utente di ridurre al minimo i costi, il numero di componenti, lo spazio sulla scheda e il consumo energetico.

La maggior parte delle volte gli MCU hanno un numero limitato di GPIO, quindi scaricare i LED che guidano i GPIO su un IC GreenPAK piccolo ed economico consente all'utente di salvare IO per funzionalità aggiuntive.

Inoltre, i circuiti integrati GreenPAK sono facili da testare. La RAM ASM può essere modificata con un clic di alcuni pulsanti nel software GreenPAK Designer, che indica modifiche di progettazione flessibili. Configurando l'ASM come descritto in questo Instructable, l'utente può controllare quattro display LED a segmenti N con un massimo di 16 segmenti ciascuno.

Consigliato: