Newsgroup: it.hobby.elettronica.digitale
Titolo: Latch S/R e combinazione non ammessa

Cosa succede se in un latch S/R (di tipo NAND) entrambi gli ingressi 
sono attivi bassi, quindi si ha una combinazione non ammessa?
Io deduco che entrambe le uscite Q e \Q sono alte, ma non capisco se 
questa è una condizione deterministica o dipende da alcune condizioni 
critiche (tempi di propagazione delle due porte...) e se il circuito 
potrebbe oscillare (cosa che vorrei evitare).
Se la condizione fosse deterministica e non casuale, sarei tentato di 
realizzare un latch S/R con due porte NAND che ho in casa per fare questo.
Colleghrei un tasto all'ingresso di set (tra una resistenza verso massa 
e l'alimentazione). Non appena il tasto si apre, devo attivare una 
uscita che deve rimanere attiva (anche se il tasto si richiude) fino a 
quando non vado a forzare un reset tramite una uscita di un 
microcontrollore.
Il microcontrollore sa che l'uscita si è attivata (il tasto si è aperto) 
andando proprio a leggere una delle due uscite del latch. Quindi, quando 
vede l'uscita attiva e dopo aver fatto una certa operazione, tenta di 
resettare il latch (impulso all'ingresso di reset). Se non ci riesce 
(l'uscita rimane attiva) capisce che il tasto è ancora aperto.
Mi chiedo cosa succede se il micro tenta di resettare il latch quando il 
tasto è aperto. Ci sarebbe, appunto, la combinazione non ammessa 
(entrambi gli ingressi attivi) durante l'impulso di reset. A me 
interessa che l'uscita rimanga attiva durante questo periodo, 
rispecchiando lo stato del tasto aperto.
Ci sarebbero controindicazioni secondo voi?

 (l'uscita rimane attiva) capisce che il tasto è ancora aperto.
Già che hai il micro non ti conviene acquisire direttamente 
l'interruttore? La logica di funzionamento la fai da codice.
O mi sono perso qualcosa?
Marco

 O mi sono perso qualcosa?
Sì, in realtà non ho specificato che l'azione conseguente all'apertura 
del tasto deve essere la più rapida possibile e vorrei farla interamente 
in hw, senza far intervenire il micro (con i suoi tempi) che avrebbe il 
solo scopo di visualizzare l'evento all'utente e resettare il bistabile.

 del tasto deve essere la pi� rapida possibile
Quindi meglio risparmiare delle inutili porte logiche, no?

 Quindi meglio risparmiare delle inutili porte logiche, no?
Si hai ragione, ma cosa suggerisci? Praticamente dovrei realizzare un
bistabile
che commuti quando c'è l'evento (apertura tasto) e rimanga in quello
stato fino
ad un altro evento (reset del micro).
Il più semplice bistabile che io conosca è un latch fatto da due porte
NAND
(o NOR) che hanno un tempo di propagazione dell'ordine dei ns
(famiglia HT),
cosa che a me andrebbe bene.

 che a me andrebbe bene.
Non è ben definito il comportamento che richiedi, soprattutto per quanto
riguarda i tempi di risposta. Parli di nanosecondi e tasti, cose che non
hanno molto in comune, visto che un tasto è attuato da un umano, per il
quale un centesimo di secondo è un tempo assolutamente aleatorio.
Anche se è un interruttore azionato da qualche meccanismo, dubito che il
tempo di risposta di un controller che risponde ad un interrupt causato
dall'apertura del tasto, interrupt che si autodisabilita per i pochi
millisecondi che dura il rimbalzo dell'interruttore, possa influire granché
sul funzionamento.
Quando poi vuoi resettare l'uscita, basta farlo, eventualmente (non è
chiaro) controllando lo stato della linea in entrata.

 tasto � aperto. Ci sarebbe, appunto, la combinazione non ammessa (entrambi 


 chiaro) controllando lo stato della linea in entrata.
Siccome avevo in mente un bistabile, stavo pensando di portare al micro 
la sua uscita da cui accorgermi dell'evento. Poi utilizzavo il segnale 
di reset del bistabile per ripristinare il meccanismo.

 switch aperto il sistema sia protetto.
Questo � un altro discorso, sul quale personalmente sono d'accordo. Ma 
non ha nulla che vedere con il tempo di risposta "troppo lungo".
Ma quindi invece di usare un latch non puoi usare un normale FF con reset?
Marco

 Mi piacerebbe far scattare l'evento
Puoi farlo in qualunque momento. Chi fa da s� fa per tre.
Non puoi pretendere che terzi ti aiutino nella masturbazione solo perch�
non hai una donna o sei troppo vigliacco per esternare la tua
omosessualit�.

 Ma quindi invece di usare un latch non puoi usare un normale FF con reset?
Infatti il mio tentativo iniziale era proprio quello di usare un FF. E 
funzionava anche... in parte.
Lo switch si apre, il FF scatta. Leggo con il micro l'uscita del FF e, 
dopo un certo tempo, faccio un reset del FF, il quale si resetta 
veramente, pur essendo lo switch ancora aperto.
Questo ovviamente perchč il FF č sensibile ai fronti e non ai livelli. 
Una soluzione č quella mettere in AND (o NAND) il segnale dello switch e 
il reset del micro, in modo che il FF si resetti solo se lo switch č chiuso.
Perň penso che la soluzione a latch (trasparente agli ingressi) sia piů 
lineare.

 omosessualit�.
Non mi dire che, dopo averla esternalizzata, tu sarai disponibile a 
masturbarmi... sarei tentato :-)

 masturbarmi... sarei tentato :-)
Questa è antica (alcune testate non ci sono più), ma splendida.
In edicola.
Cliente: Ha Tempo?
Giornalaio: Sì
- Ha Grazia?
- Sì
- Ha Mani di Fata?
- Sì
- Allora mi faccia una sega.

 lineare.
Di soluzioni ce ne sono molte :)
A te scegliere quella piů adatta al tuo progetto!
Ciao
Marco

 A te scegliere quella più adatta al tuo progetto!
Ho risolto usando un FF di tipo D dove utilizzo i due ingressi asincroni 
di SET e RESET, mettendo a massa l'ingresso D e l'ingresso di clock. In 
pratica utilizzo un FF come un latch.
La cosa importante è che questo FF (74HCT75 se non erro) ha uno stato 
delle uscite note in corrispondenza della combinazione SET/RESET non 
ammessa (entrambi attivi). Farò in modo che questo stato dell'uscita 
corrisponda all'attivazione della protezione, così il micro non potrà 
mai fare danni se lo switch è aperto.

 Questa è antica (alcune testate non ci sono più), ma splendida.
Anche questa fa morire... :-)
Un tizio entra precipitosamente in un negozio di alimentari e fa al 
commesso:
- Mi faccia un panino!
- Le spacco il culetto?
- Vabbe'... mi dia due brioches...