1Hz sorgente di clock per CPLD

C

cosmicboy

Guest
Ciao gente,

Sto lavorando su un semplice orologio 7 segmento del progetto utilizzando un XC9536 dalla CPLD Xilinx.Ho una certa esperienza con microcontrollori, ma questa è la prima volta che verrà utilizzato uno CPLD quindi essere gentile

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorriso" border="0" />Per generare la I tempi figurato l'opzione più semplice sarebbe quella di utilizzare un tipo di cristallo e guardare 32.768kHz divario di acquisire l'1Hz tuttavia Sono un po 'confuso dalla pin per incarichi esterni orologi.Su un semplice sistema di microcontrollori vorrei utilizzare il OSC1/OSC2 coppia per collegare il cristallo, ma non ho potuto vedere un accordo simile in pinout descrizioni per la XC9536.Per aggiungere alla mia confusione, ho trovato questo po 'di circuiti e io non posso fare alcun senso fuori di esso:<img src="http://img411.imageshack.us/img411/1189/clkbb1.png" border="0" alt=""/>Un cancello di NAND?Non riesco a usare il cristallo su di esso
la propria?(con tappi di carico)

L'altro problema è come faccio a dividere in realtà l'orologio?Ho in programma di utilizzare in modo VHDL sarebbe semplicemente "attendere 1ns" tra le mie istruzioni?Sono un po 'confusa e, se si può apprezzare un po' di luce

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorriso" border="0" />
Thanks a lot!

 
dovete generare un contatore div da 32 ....
CPLD sulla scheda di dati si ottiene il pin su cui devi collegare il clk ...
dopo ...ns è non solo per la simulazione per la sintesi ... OK

 
Un oscillatore richiede un amplificatore con feedback e spostamento di fase.In questo schema, U2A e le relative componenti fornire tale funzione.U2B e U2C piazza a forma d'onda.

La CPLD non fornisce una built-in oscillatore / amplificatore, come si può trovare in un microcontrollore.Se ritieni che la tentazione di provare comunque, prima di leggere l'ultimo commento su questa pagina:
http://www.xilinx.com/support/answers/24167.htm

Sintesi strumenti generalmente non supportano VHDL's "attendere" dichiarazione.È necessario attuare un contatore (molto semplice).Se l'oscillatore funziona a 32768 Hz, quindi a 15 bit si dividono in giù a 1 Hz.Da notare che a 15 bit di consumare una porzione significativa dei 36 macrocelle nel piccolo XC9536 CPLD.

 
Secondo la mia stima approssimativa, l'orologio più probabile progetto non va bene uno XC9536 considerare il 7-segmento decoder, anche senza un divisore di frequenza, quando clock a 1 Hz.

Per quanto riguarda il vostro circuito oscillatore, è (o l'originale circuito designer) apparentemente confusi due valori di resistenza, sicuramente non funziona esattamente come stabilito.Inoltre, i fabbricanti di cristallo normalmente richiedono un unbuffered inverter invece di U2A, ma si spera con HC00.Epson specifica del 20 M R15, R14 di 500 k e C8/C9 del 10 p con LF guardare cristallo, uno di 470 ohm R14 sarebbe corretto per MHz cristalli.

PS: Ho dimenticato di menzionare, che un contatore CD4060 contiene un divisore di 2 ^ 14 e il circuito oscillatore, ho utilizzato in precedenza per LF orologi orologio con cristalli.

 
Grazie mille per tutte le vostre risposte.

Se eliminare il cristallo opzione,
ritengo che a questo punto ho tre scelte:

-Se si utilizza un oscillatore piuttosto che un cristallo (qualcosa di simile: http://uk.farnell.com/1278042/passives/product.us0?sku=EPSON-TOYOCOM-SG-3030JF), sarebbe 'stabile' abbastanza ?(Con questo vorrei ancora dividere
all'interno della CPLD, che, come lei ha detto che prendere un sacco di spazio?)

-Se il divario di cristallo usando un 4060 per ottenere 2Hz, e poi un 4013 di ulteriore divisione per 2, è per me una bella 1Hz impulso, ho usato questo prima, quando ho costruito un orologio-logica binaria.Anche in questo caso ciò è abbastanza stabile?(Non
c'è bisogno di dividere, piacevole e semplice al costo di due componenti esterni)

-Come ultima risorsa, credo possa solo utilizzare un 555 per generare 1Hz

<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Razz" border="0" />

(Non
c'è bisogno di dividere, di nuovo aggiunta di componenti)Se si dovesse fare una scelta che si potrebbe fare per voi, o
c'è un'alternativa migliore?I vostri commenti sono molto apprezzati.

Salute.

 
Un cristallo oscillatore dovrebbe avere sostanzialmente la precisione richiesta per un orologio.Un errore, ad esempio, a 50 ppm si tradurrebbe in una deviazione 4 sec / giorno, che non
è molto buono, ma deve essere accettabile.È possibile raggiungere una maggiore precisione di messa a punto da un condensatore nel circuito di cristallo o utilizzare una più accurata oscillatore.

CD4060 La proposta è stata motivata essenzialmente da ridurre la parte contare.Una singola / 2 divisore dovrebbe essere meglio attuate in CPLD.D'altro canto, è possibile costruire la completa orologio CMOS da parti in quanto molte persone non "nel corso degli ultimi millennio".

 
FVM ha scritto:

Un cristallo oscillatore dovrebbe avere sostanzialmente la precisione richiesta per un orologio.
Un errore, ad esempio, a 50 ppm si tradurrebbe in una deviazione 4 sec / giorno, che non è molto buono, ma deve essere accettabile.
È possibile raggiungere una maggiore precisione di messa a punto da un condensatore nel circuito di cristallo o utilizzare una più accurata oscillatore.
 
Presumo che si stanno costruendo uno a 4 cifre HH: MM orologio, e non un HH: MM: SS orologio.Collegamento LED 28 segmenti direttamente alla CPLD consuma 28 dei 36 disponibili macrocelle.(O un numero inferiore di un po 'se non hai bisogno di tutti i segmenti della sinistra cifra.) È possibile utilizzare i registri di segmento di Stato-macchina contatori, ma avrai ancora bisogno di altri sei macrocelle per l'attuazione del divario da-60-secondo contatore .Che non lascia macrocelle sufficiente per costruire una frattura da-32768-counter.Non credo che non c'è alcun modo di stipare tutto in un piccolo XC9536.

A 555 potrebbe generare facilmente 1 Hz, o addirittura 1 / 60 Hz, ma la frequenza di precisione sarebbe troppo povero per un orologio.Un cristallo oscillatore è la strada da percorrere.

Potreste essere in grado di acquistare un oscillatore di cristallo con un divisore di built-in e 1 Hz uscita.Mi ricordo vagamente uno vedere alcuni anni fa.
Ultimo a cura di echo47 il 07 aprile 2008 3:20, edited 1 volta in totale

 
echo47 ha scritto:

Presumo che si stanno costruendo uno a 4 cifre HH: MM orologio, e non un HH: MM: SS orologio.
Collegamento LED 28 segmenti direttamente alla CPLD consuma 28 dei 36 disponibili macrocelle.
(O un numero inferiore di un po 'se non hai bisogno di tutti i segmenti della sinistra cifra.) Dovrai sei macrocelle più per attuare il divario da-60-secondo contatore.
Che non lascia macrocelle sufficiente per costruire una frattura da-32768-counter.
Non credo che non c'è alcun modo di stipare un intero orologio progetto in un piccolo XC9536.
 
Un modo veloce per stimare approssimativamente il numero necessario di macrocelle è quello di aggiungere tutte le flip-flops nel suo design, più l'eventuale uscita pin che non sono direttamente legati ad un flip-flop.Inoltre, se il disegno contiene grandi equazioni logica, alcuni macrocelle supplementari possono essere consumati.Puoi provare a costruire diversi disegni in ISE a vedere cosa succede.Io non
sono un esperto CPLD,
in modo che altri ragazzi possono avere una migliore suggerimenti.

Utilizzando la tecnica di stima che, si avrebbe bisogno di circa 4 * 7 = 28 macrocelle driver per il segmento di Stato registri, più 6 macrocelle per la divisione per 60 secondi contatore, maggiorato del 15 per macrocelle il divario-32768-by.That's circa 49 macrocelle.Un disegno a scansione LED richiederebbe un numero analogo di circa macrocelle.Un XC9572 sarebbe molto grandi sia per approccio.

CPLD sono molto piccole rispetto ad un FPGA.

 
Sintesi per la progettazione logica destinato famiglia è il solo metodo adatto per conoscere l'esatto fabbisogno di risorse, a mio parere.Si può naturalmente ridurre la logica equazioni a mano e la mappa di CPLD macrocelle.Ma al di là della logica numero massimo termini di macrocell, si deve considerare anche i vincoli di instradamento particolare.Ciò si è reso necessario 20 anni fa, quando la progettazione logica GAL, senza
todays strumenti ad alto livello.

Se un secondo display è destinato, multiplexing uscite può essere necessario inserire un XC9572, credo.

 
Ho provato l'imbottitura un semplice multiplexati 4-cifre 12-ore (28 flops segmento più 7 uscite) in un XC9536, e si adatta molto come mi aspettavo.C'è stato solo spazio sufficiente per circa la metà degli input divisore, quindi il mio ingresso di clock è pari a 256 Hz.Ho la sensazione che la progettazione è piuttosto stretto, perché ho avuto a casaccio con l'ottimizzazione delle impostazioni per evitare di rimanere a corto di risorse.

 
Penso che mi recherò per un XC9572 solo per andare sul sicuro e cercherò di mantenere quanto più semplice possibile, utilizzando solo 4 cifre, 7 segmenti e anche utilizzare un 4060 per ottenere 2Hz, che ridurrà l'orologio dividendo in la CPLD.
seem to have problems with 'ghosting'

Non voglio usare multiplexing come ho sempre
sembrano avere problemi con il 'fantasma'

<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Neutro" border="0" />
Questo thread è stato di grande aiuto, vi ringrazio tutti molto

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorriso" border="0" />
 
Prima di scegliere un CPLD, si può provare a implementare il vostro disegno con ISE per vedere come si adatta bene.

Per eliminare fantasma in una visualizzazione a scansione, il display in bianco brevemente quando rafforzamento alla cifra successiva.

Happy clocking!

 
Hai a dividere l'orologio (32.768KHz) da 2 ^ 15 a 1Hz orologio.Si risolverà il problema.

 

Welcome to EDABoard.com

Sponsor

Back
Top