www.narcisivalter.it
Visual Basic
Programmazione del CD4059


CD4059 / HEF4059 - GESTIONE SETTINGs


Il programma è stato realizzato e testato su sistema operativo Windows 7: tuttavia sembra funzionare perfettamente anche su sistema operativo Windows 8 e 10.

E' un semplice programma (realizzato nel 2017, versione 1.0) che consente di calcolare i "Jam" del circuito integrato HEF4059 o CD4059.

IL CIRCUITO INTEGRATO HEF4059 o CD4059    [ TORNA ALL'INIZIO ]

Si tratta di un divisore di frequenza programmabile in grado di dividere da 3 fino a 15999 volte il segnale in ingresso applicato al piedino 1. La programmazione del chip va fatta tramite 16+3 piedini di ingresso (chiamati "Jam") i quali possono essere collegati a +VCC (Livello 1 = H) oppure a GND (Livello 0 = L).

Nella figura seguente è riportato lo schema a blocchi dell'integrato.

Block Diagrams of HEF4059B / CD4059A

Per programmare il chip è necessario prima di tutto impostare il MODE SELECTION attraverso 3 Jam: Ka, Kb e Kc: la loro configurazione, infatti, oltre a determinare il fattore di divisione iniziale, fissa il numero dei Jam che sono riservati alla prima e all'ultima sezione di conteggio, secondo quanto specificato nella seguente tabella (il pin 2 - EL deve essere collegato a massa):

Jams settings for CD4059 / HEF4059

Nella tabella sono riportati anche i limiti di divisione (COUNTER RANGE): ad esempio, con il MODE = 4 è possibile programmare il chip con un valore di divisione fino a 15999 volte mentre con il MODE = 10 questo limite scende a 9999 volte. Nella colonna "Jam used" sono riportati i Jam usati dalla corrispondente sezione in base al MODE (es., con il MODE = 10, la quinta sezione è disabilitata e tutti i 4 Jam sono a disposizione della prima sezione). Nella colonna "Max. preset" sono riportati i valori massimi che possono essere programmati con i Jam a disposizione.

Per programmare il fattore di divisione (Preset Value) si devono impostare 16 ingressi (Jam Inputs). Le sezioni di conteggio intermedie (divisori per 10) sono 3 e fanno capo ai Jam da J5 a J16 (presi a gruppi di 4 bit). La prima e l'eventuale ultima sezione di conteggio fanno capo ai Jam J1-J4 ed il MODE SELECTION determina quanti e quali Jam vanno usati per le due sezioni.

Una volta fissato il MODE e il valore di divisione (Divide-by-N), si calcola il Preset Value con la formula:

Preset Value = Divide-by-N / MODE

Il risultato della divisione corrisponde al numero da programmare per le sezioni dalla 5a alla 2a (se l'intero della divisione è minore di 1000, la 5a sezione è disabilitata): il resto della divisione (Modulo), anche se 0, corrisponde al numero da programmare nella 1a sezione di conteggio (Decade 1).

Facciamo un esempio: supponiamo di avere bisogno di un divisore da 8973: per questo valore possiamo scegliere un qualsiasi MODE, quindi fissiamo MODE = 8. Per quanto detto sopra, avremo un Preset Value pari a 1121 con resto di 5.

Preset Value = 8973/8 = 1121 resto 5

Con il MODE = 8 abbiamo a disposizione 3 Jam nella 1a sezione (decade 1, resto della divisione), per cui li imposteremo al valore 5 ed uno solo (J4) per la 5a sezione (decade 5) che va impostato a 1 (intero del rapporto 1121/1000 = 1).
La cifre delle centinaia (1), quella delle decine (2) e quella delle unità (1) sono impostate nelle sezioni intermedie attraverso i Jam a 4 bit J13-J16 (centinaia, 4a sezione, Jam = 0 0 0 1), J9-J12 (decine, 3a sezione, Jam = 0 0 1 0) e J5-J8 (unità, 2a sezione, Jam = 0 0 0 1).

Su può verificare la correttezza dei calcoli usando la seguente formula:

Divide-by-N = (MODE x (D5x1000 + D4x100 + D3x10 + D2x1)) + D1

per cui si avrà:

Divisore = (8 x (1x1000 + 1x100 + 2x10 + 1x1)) + 5 = 8973

Facciamo un altro esempio: abbiamo bisogno di un divisore da 15737 e con questo valore possiamo selezionare solo 2, 4 o 8 per il MODE. Scegliamo MODE = 4 e sapremo in anticipo che i Jam J1-J2 sono riservati al resto della divisione (1a sezione) mentre i Jam J3-J4 sono riservati per impostare la 5a sezione:

Preset Value = 15737/4 = 3934 resto 1

  • 5a decade (migliaia) = 3 - impostare J3-J4 = 1 1
  • 4a decade (centinaia) = 9 - impostare J13-J14-J15-J16 = 1 0 0 1
  • 3a decade (decine) = 3 - impostare J9-J10-J11-J12 = 1 1 0 0
  • 2a decade (unità) = 4 - impostare J5-J6-J7-J8 = 0 0 1 0
  • 1a decade (resto) = 1 - impostare J1-J2 = 1 0

Verifica:

Divisore = (4 x (3x1000 + 9x100 + 3x10 + 4x1)) + 1 = 15737

Il circuito integrato possiede altre funzioni e settings, ma in questo progetto è stato utilizzato SOLO come divisore di frequenza: chi volesse approfondire può scaricare il datasheet: ad esempio, si scoprirà che l'HEF4059BP della Philips/NXP ha un'ulteriore setup che permette di impostare automaticamente il divisore ÷10000 semplicemente portando basso il pin 2 (EL) ed impostando il MODE con Ka = 0, Kb = 1 e Kc = 0, indipendentemente da tutti gli altri Jam.

IL PROGRAMMA    [ TORNA ALL'INIZIO ]

Il programma non richiede installazione e, una volta avviato l'eseguibile, si presenta con una finestra simile alla seguente:

Sulla sinistra in alto, nella casella "Divide-by-N", va digitato il valore del divisore. Nel riquadro "MODE", si imposta il MODE SELECTOR selezionando uno o più delle tre caselle Ka, Kb e Kc oppure, in alternativa, scegliendo uno dei cinque valori (2, 4, 5, 8 o 10). Ad ogni variazione dei dati da parte dell'utente, il programma calcola automaticamente e visualizza i Jam da impostare a livello 1 per ottenere il valore di divisione programmato (i Jam da portare a livello logico ALTO sono quelli con le caselle selezionate nel riquadro "JAM settings"). Accanto ad ogni Jam (J1, J2, J3...) è stato riportato, tra parentesi, il numero del piedino corrispondente.

Da notare che quando si cambia il MODE, i Jam 1-4 si spostano automaticamente sotto la 1a o la 5a sezione in base alle impostazioni del MODE stesso.

Sulla destra, in alto, sono visualizzati i valori del "Preset Value" e del "Reminder" (o resto) calcolati dal programma.

DOWNLOAD    [ TORNA ALL'INIZIO ]

Per scaricare il file eseguibile, cliccare sul link che appare più in basso (a destra dell'icona DOWNLOAD). Una volta decompresso, avviare il programma di installazione "CD4059.exe".
Per tutte le altre richieste utilizzate la sezione COMMENTI.

Utenti AVAST Antivirus - Se il programma non dovesse avviarsi, disattivate temporaneamente la protezione Avast. In alternativa, è possibile aggiungere il file (CD4059.exe) all'elenco delle esclusioni di Avast (Impostazioni->Esclusioni).

Scarica il programma 'CD4059 / HEF4059'  (CD4059.rar - 950 KB)

COMMENTI    [ TORNA ALL'INIZIO ]

[ Torna all'inizio della pagina ]

DISCLAIMER (Dichiarazione di esclusione di responsabilità) - Tutti i programmi presentati e descritti nel sito web https://www.narcisivalter.it possono essere utilizzati solo es esclusivamente ad uso privato e senza scopo di lucro, pertanto non commercializzati. Non sono di dominio pubblico per cui i diritti d'autore rimangono dell'ideatore. Per utilizzare a fini commerciali i programmi o parte di essi, si dovrà contattare l'Autore per concordare un'eventuale autorizzazione scritta.
- this application is provided with no explicit or implicit warranties of operation. I do not assume any responsibility for problems that may arise on the device where the application is installed. The program is a “demonstration” and no support of any kind is provided. By downloading and installing the program, you implicitly accept my terms of not taking responsibility. If you do not agree, do not download and / or install the file !
RESPONSABILITÀ - Tutti i programmi sono stati realizzati e sperimentati personalmente dall'autore, tuttavia l'autore stesso non garantisce, a chi li realizzerà, un sicuro e perfetto funzionamento. Molte informazioni e programmi presentati sul sito www.narcisivalter.it sono pensate e realizzate per un'utenza addetta ai lavori, specializzata nel settore informatico e quindi in grado di valutare la correttezza e la funzionalità dei programmi. Pertanto l'utente stesso accetta espressamente di utilizzare i contenuti del sito sotto la propria responsabilità.
IL CONTENUTO DI QUESTO SITO WEB E' STATO RILASCIATO A PURO TITOLO HOBBISTICO E/O DI STUDIO E L'AUTORE NON GARANTISCE LA MATEMATICA CERTEZZA DEL FUNZIONAMENTO DI TUTTI I PROGRAMMI E NON SI ASSUME NESSUNA RESPONSABILITÀ, ESPLICITA O IMPLICITA, RIGUARDANTE INCIDENTI E/O CONSEGUENTI POSSIBILI DANNI DERIVANTI DALL'USO DEL SOFTWARE SCARICABILE DA QUESTO SITO WEB. CHI SCARICA E UTILIZZA I PROGRAMMI DESCRITTI IN QUESTO SITO LO FA COME SUA LIBERA SCELTA ASSUMENDOSI TUTTE LE RESPONSABILITÀ CHE, EVENTUALMENTE, NE POTREBBERO DERIVARE.

Privacy Policy - Cookie Policy - Condizioni d'Uso