Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Rilevare un segnale logico prima di un altro

Elettronica lineare e digitale: didattica ed applicazioni

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

1
voti

[11] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto Utenteboiler » 19 lug 2013, 16:55

DoeM ha scritto:Attenzione che questo circuito è asincrono. L'ultimo FF D è anche sostituibile con un più semplice SR.


Anche il primo è asincrono :twisted:
E come tali io non ci farei affidamento.

KISS: Keep it strictly synchronous.

Questo vuol dire che ci serve un clock. O ce l'abbiamo o ce lo creiamo e usiamo dei FF per attraversa il clock-domain boundary senza metastabilità.

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

1
voti

[12] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto Utentedbe8f » 19 lug 2013, 23:34

Grazie mille Boiler,

Il tuo post [11] non ci capisco un gran chè perché di elettronica non ne capisco tanto per non dire niente :oops: .

Appena ho un po di tempo, riempisco la tabella. Ma a me sembra difficile pottere realizare la funzione solo con delle porte a base di AND, NAND, OR, NOR,...

Comunque sono curioso di vedere il risultato perché non havevo pensato a mettere nella tabella le colonne (n-1) :!:
Delle tabelle di verità "normali" n'e ho fatte e ci riesco, sperò non sbaggliarmi a riempire la tua :!:

Buona notte
Dario
Avatar utente
Foto Utentedbe8f
35 3
 
Messaggi: 20
Iscritto il: 16 lug 2013, 18:19
Località: Svizzera francese

0
voti

[13] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto Utenteboiler » 20 lug 2013, 10:02

dbe8f ha scritto:Il tuo post [11] non ci capisco un gran chè perché di elettronica non ne capisco tanto per non dire niente :oops:


Quello era per DoeM :cool:

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

0
voti

[14] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto Utentedbe8f » 20 lug 2013, 11:04

Ciao Boiler,

E vero, quello di DoeM non ci havevo capito tanto ma quando tu scrivi:
Boiler [11] ha scritto:Anche il primo è asincrono :twisted:
E come tali io non ci farei affidamento.

KISS: Keep it strictly synchronous.

Questo vuol dire che ci serve un clock. O ce l'abbiamo o ce lo creiamo e usiamo dei FF per attraversa il clock-domain boundary senza metastabilità.


Anchè questo non capisco tutto mi dispiace, vorrei capire ma non è il mio campo...

Grazie Boiler e a presto, la tabella, la riempio appena possibile.

Dario
Avatar utente
Foto Utentedbe8f
35 3
 
Messaggi: 20
Iscritto il: 16 lug 2013, 18:19
Località: Svizzera francese

1
voti

[15] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto UtenteDoeM » 20 lug 2013, 11:24

dbe8f ha scritto:Speò essere stato abbastanza chiaro, non è facile da spiegare.


Allora, mi pare di aver capito quasi tutto. :D Solo un ultimo dubbio: come si capisce in che direzione si stanno muovendo i treni? Il sistema invia un valore di tensione diverso? Perché se non c'è modo di saperlo direttamente, mi sa che serve considerare almeno tre diversi blocchi, non due.

boiler ha scritto:Anche il primo è asincrono :twisted:
E come tali io non ci farei affidamento.
KISS: Keep it strictly synchronous.


Certo che anche il primo è asincrono, ma quello è così palese che non ci ho tenuto a specificarlo. Sull'ingresso di clock non è collegato un clock. E, come ho detto, non funziona. :-)
Sul fatto di non fare affidamento su alcun circuito asincrono, sono totalmente in disaccordo: evitare logica asincrona è essenziale se si sta lavorando in domini di logica sincrona. Qua stiamo parlando di un plastico ferroviario, non di una FPGA. Non per niente, il motto KISS è nato nell'ambito dei progetti sincroni statici su CPLD/FPGA.
Non vedo perché ad un semaforo dovrebbe dare fastidio un ingresso asincrono (rispetto a quale clock poi? il semaforo ha un clock?). :D
Avatar utente
Foto UtenteDoeM
580 2 6
Expert
Expert
 
Messaggi: 182
Iscritto il: 11 lug 2011, 1:09

0
voti

[16] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto Utentedbe8f » 20 lug 2013, 15:02

Ciao DoeM,

Per cambiare il senso, lo si fa con un interruttore che mi attiva un relè. In senso normale il contatto del relè mi invia 0V e quando l'inverto (l'interruttore) il contatto del relè mi invia 12V. Questo segnale è inviato al circuito di commando che contiene una logica. La carta di commando di un blocco riceve questo segnale e il segnale del tronco successivo. Se entrambi i troncchi non hanno lo stesso livello (0-0 o 1-1) vuol dire che sono in senso opposto nelle tratte. In questo caso, il treno non puo andare sulla tratta successiva. Con una porta XNOR ho risolto il caso.

In quanto alla storia di asincrono, sincrono,... vi faccio interà fiduccia perché non ci capisco proprio niente.

Sperò avere risposto alla domanda.

A presto, perché mia moglie mi chiede di falciare il prato !
Dario
Avatar utente
Foto Utentedbe8f
35 3
 
Messaggi: 20
Iscritto il: 16 lug 2013, 18:19
Località: Svizzera francese

1
voti

[17] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto UtenteDoeM » 21 lug 2013, 11:19

Mi pare di aver capito.
Come la vedresti allora come soluzione quella di considerare contemporaneamente tre blocchi adiacenti; nel caso i due soli estremi siano occupati (1-0-1, dove 1 sono le sezioni occupate e 0 quella libera) significa che abbiamo due treni diversi vicini, separati da una sola sezione.
Nel caso la sezione centrale divenga occupata (diventando 1-1-1) allora significa che i due treni si stanno per scontrare, e bisogna accendere il segnale "semaforo rosso" (nel blocco centrale).
Questo segnale deve restare attivo fintantoché uno dei blocchi estremi non si libera, cioè diventa 1-1-0 oppure 0-1-1. Che ne pensi? La logica è quella giusta? Potrebbe andare?
Avatar utente
Foto UtenteDoeM
580 2 6
Expert
Expert
 
Messaggi: 182
Iscritto il: 11 lug 2011, 1:09

1
voti

[18] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto Utentedbe8f » 23 lug 2013, 9:32

Ciao Boiler,

Ecco ho riempito la tabella di verità in allegato.

Ma c'è una cosa che non capisco. Io ho solo due entrate DB (B) e DBS (C) le entrate n-1 (A e D) dove le prendo ?
perché se facio lo schema con delle porte mi esce l'allegato seguente.

Grazie per le tue risposte.
Cordialmente

Dario.
Allegati
SchemaTab_Verita.JPG
SchemaTab_Verita.JPG (19.43 KiB) Osservato 2488 volte
Tab_Verita.JPG
Tab_Verita.JPG (33.71 KiB) Osservato 2488 volte
Avatar utente
Foto Utentedbe8f
35 3
 
Messaggi: 20
Iscritto il: 16 lug 2013, 18:19
Località: Svizzera francese

0
voti

[19] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto Utentedbe8f » 23 lug 2013, 9:37

Ciao DoeM,

Sto rifletendo alla tua proposizione
Come la vedresti allora come soluzione quella di considerare contemporaneamente tre blocchi adiacenti; nel caso i due soli estremi siano occupati (1-0-1, dove 1 sono le sezioni occupate e 0 quella libera) significa che abbiamo due treni diversi vicini, separati da una sola sezione.
Nel caso la sezione centrale divenga occupata (diventando 1-1-1) allora significa che i due treni si stanno per scontrare, e bisogna accendere il segnale "semaforo rosso" (nel blocco centrale).
Questo segnale deve restare attivo fintantoché uno dei blocchi estremi non si libera, cioè diventa 1-1-0 oppure 0-1-1. Che ne pensi? La logica è quella giusta? Potrebbe andare?
Mi sembra interessante ma forse difficile (per me) a gestire :!: :!: :!: .

Devo provare in entrambe le direzioni e con la giunta degli scambi... perché in ferrovia ci sono anchè quelli #-o #-o .

A presto
Cordialmente
Dario
Avatar utente
Foto Utentedbe8f
35 3
 
Messaggi: 20
Iscritto il: 16 lug 2013, 18:19
Località: Svizzera francese

0
voti

[20] Re: Rilevare un segnale logico prima di un altro

Messaggioda Foto Utenteboiler » 24 lug 2013, 22:35

dbe8f ha scritto:Ma c'è una cosa che non capisco. Io ho solo due entrate DB (B) e DBS (C) le entrate n-1 (A e D) dove le prendo ?
perché se facio lo schema con delle porte mi esce l'allegato seguente.


Lo schema è corretto.
Ricavare l'entrata DB(n-1) è facile:



L'ideale sarebbe un clock generato dalla logica che genera i segnali, quindi sincrono.
Ma non mi pare sia il caso.
Ti devi quindi generare tu un clock, per esempio con un banale 555.
Se il clock non è sincrono, c'è il rischio di metastabilità, si risolve con due flipflop in serie, come ti ha già detto DoeM.

L'uso di linee dati, specialmente generate con contatti e sensori, come clock lo sconsiglio: se i fronti non sono ripidi e puliti (bouncing) vai sicuramente incontro a problemi.

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

PrecedenteProssimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 183 ospiti