Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Circuito start-stop contatore

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[21] Re: Circuito start-stop contatore

Messaggioda Foto Utentekevinpirola » 14 set 2014, 0:32

ahhhhh OK, ADESSO ho capito, in questo modo riesco ad avere una informazione non sullo stato logico del segnale, bensì sul tipo di edge che ha avuto che è quello che mi interessa.... intelligente soluzione, senza dubbio, non ci avevo pensato. In effetti la FSM è composta da 3 stati, il resto è solo edge detection.


La prima cosa che mi viene da pensare per quanto riguarda i collegamenti in blu è la corrente in gioco, sabato sera, non ho molta voglia di guardare il datasheet del componente, ma potrebbe essere che la corrente in uscita non sia abbastanza per "pilotare" il flip-flop, anche se, in linea teorica dovrebbe avere un ingresso ad alta impedenza.
La seconda cosa che penso riguarda il fatto che commutando insieme i due flipflop, il secondo potrebbe non ricevere in ingresso un dato valido perché commuterebbe nell'esatto momento in cui sta cambiando il suo ingresso.

Altro al momento non mi viene in mente, però c'è anche da dire che in questi giorni ho sempre sentito dire cose del tipo "uno sdoppiarsi in quel modo dei collegamenti non va bene", era riferito a due uscite che insistevano sullo stesso ingresso, ma potrebbe essere che valga il contrario (un ingresso su 2 uscite).


La soluzione effettiva quale sarebbe? Foto Utenteboiler
Che la forza sia con te.
- E con il tuo spirito.
Avatar utente
Foto Utentekevinpirola
319 4 9
Expert
Expert
 
Messaggi: 310
Iscritto il: 14 dic 2011, 18:52

1
voti

[22] Re: Circuito start-stop contatore

Messaggioda Foto Utenteboiler » 14 set 2014, 9:55

kevinpirola ha scritto:In effetti la FSM è composta da 3 stati, il resto è solo edge detection.


Sì e no... si potrebbe filosofare sul fatto che anche la detezione del fianco sia uno stato ;-)

La seconda cosa che penso riguarda il fatto che commutando insieme i due flipflop, il secondo potrebbe non ricevere in ingresso un dato valido perché commuterebbe nell'esatto momento in cui sta cambiando il suo ingresso.


È questa. In un FF devi sempre soddisfare setup e hold. Il setup è ovviamente ampliamente soddisfatto... ma com'è l'hold? Quando non c'è logica tra un FF e l'altro è sempre una situazione a rischio. Il ritardo combinatorio è nullo, quindi l'unico elemento che gioca a favore dell'hold-time è il contamination-delay del FF precedente.

Ho anche scritto che il problema è solo teorico. Perché?
Perché i FF attuali hanno un hold time negativo! Ho qui per esempio la libreria di un processo da 90 nm. Non la posso pubblicare perché sottosta un NDA, ma per il FF di tipo D le condizioni di hold sono tutte negative (nell'ordine di grandezza delle decine di ps), mentre i contamination delay sono (ovviamente, non può essere altrimenti) positivi.
Questo vale sul silicio, appena vai sul padframe e sui pin di un chip, i tempi di dilatano. Se però guardi il datasheet di un FF "impacchettato", vedrai che quasi sempre è dato un hold-time di 0 ns.

La terza cosa che ho scritto è che devi stare attento a qualcosa. E questo vale in special modo se usi logica discreta su una breadboard.
È il clock skew. Se il clock nel mio schema arrivasse da destra verso sinistra raggiungerebbe il FF di arrivo qualche ps prima del FF di partenza, rosicando il margine che abbiamo sulla condizione di hold.

Boiler
Avatar utente
Foto Utenteboiler
26,4k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 5599
Iscritto il: 9 nov 2011, 12:27

0
voti

[23] Re: Circuito start-stop contatore

Messaggioda Foto Utentekevinpirola » 14 set 2014, 11:34

Molto interessante, in effetti potrebbe essere un caos per quanto riguarda il clock, però se conti che ogni FF è in un package da 2 i due pin del clock sono veramente molto vicini...

Sto pomeriggio mi faccio una tabellina di verità per questa FSM e domani in laboratorio, se ho tempo, la implemento...
Che la forza sia con te.
- E con il tuo spirito.
Avatar utente
Foto Utentekevinpirola
319 4 9
Expert
Expert
 
Messaggi: 310
Iscritto il: 14 dic 2011, 18:52

0
voti

[24] Re: Circuito start-stop contatore

Messaggioda Foto Utenteboiler » 14 set 2014, 18:32

kevinpirola ha scritto:Molto interessante, in effetti potrebbe essere un caos per quanto riguarda il clock, però se conti che ogni FF è in un package da 2 i due pin del clock sono veramente molto vicini...


Forse non ti è chiaro l'ordine di grandezza dei tempi di cui stiamo parlando... su PCB il fronte ci mette 5 ps a fare un mm. Su breadboard non oso immaginare...

È anche vero che puoi sfruttare lo skew a tuo favore facendo venire il clock dalla parte giusta.

Boiler
Avatar utente
Foto Utenteboiler
26,4k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 5599
Iscritto il: 9 nov 2011, 12:27

0
voti

[25] Re: Circuito start-stop contatore

Messaggioda Foto Utentekevinpirola » 14 set 2014, 19:46

nel progetto finito si parla di circa 15/20 ps perciò, sapendolo posso usare i FF nell'ordine giusto, collegando i due clock uno dopo l'altro...

Ora invece sto provando la FSM solo che mi trovo attualmente con una tabella con 5 variabili, devo fare una mappa di karnaugh a 2 livelli, considerando prima AB/CD e S=1 e poi AB/CD e S=0.

Provando a farla con 2 stati soli, chiamati "wait" e "count". D'altronde per passare da wait a count l'unico modo è con un 01 su D1 e Q1 e viceversa l'unico modo è con un 01 su D50 e Q50.

Devo provare, ma non mi ispira usare 3 stati, si complica tutto ancora di più.
Che la forza sia con te.
- E con il tuo spirito.
Avatar utente
Foto Utentekevinpirola
319 4 9
Expert
Expert
 
Messaggi: 310
Iscritto il: 14 dic 2011, 18:52

0
voti

[26] Re: Circuito start-stop contatore

Messaggioda Foto Utentekevinpirola » 17 set 2014, 22:28

Dopo ore perse per niente sono arrivato alla conclusione che userò un 555 in configurazione monostabile, con i due segnali che pilotano lo start e lo stop.

Il ritardo (sulla carta) dovrebbe essere minimo, nell'ordine delle decine di nanosecondi.

Uso una rete RC + diodo per ottenere uno "spike" del segnale che mi accende o spegne l'impulso.

Testato in bredboard funziona alla grande. Ora devo progettare la PCB e vedere con piste dimensionate e distanze minime cosa succede.

Appena avrò 10 minuti di tempo e voglia posterò lo schema se per caso qualcuno ha interesse a replicare il circuito.


(devo aggiungere che mi sto adoperando per usare un sistema rio della national instruments con labview, per provare le prestazioni tramite microcontrollore).
Che la forza sia con te.
- E con il tuo spirito.
Avatar utente
Foto Utentekevinpirola
319 4 9
Expert
Expert
 
Messaggi: 310
Iscritto il: 14 dic 2011, 18:52

Precedente

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Google Adsense [Bot] e 44 ospiti