Nell’articolo di oggi analizzeremo nel dettaglio il funzionamento del flip-flop sincrono.
Negli articoli precedenti abbiamo visto:
- Come funziona una CPU: progetto di circuiti logici #0
- Come funziona una CPU: Flip-Flop SR asincrono #0.1
Facciamo un riepilogo.
Il flip-flop è un circuito sequenziale, che ha le seguenti caratteristiche:
-
- i valori delle uscite dipendono sia dai valori correnti degli ingressi, sia dalla storia passata del sistema (dai valori applicati in precedenza)
- implementano funzioni dipendenti dal tempo
- sono in grado di memorizzare informazioni
- sfruttano i ritardi delle porte (mediante i flip-flop).
Il flip-flop è un elemento circuitale in grado di memorizzare un bit (funzionalmente non è poi tanto diverso dalle memorie RAM, ROM, Flash, etc.) che opera insieme alle porte logiche all’interno di un circuito. Può essere costruito violando una delle regole dei circuiti combinatori ben formati: quella che prevede l’assenza di cicli all’interno del circuito stesso.
Arriviamo subito al sodo.
Il flip-flop sincrono è realizzabile connettendo un Flip-Flop SR asincrono (rappresentato nella metà destra dello schema circuitale) con due porte AND sincronizzate da un segnale di Clock.
Quando il Clock vale 0, le porte AND producono in uscita il valore 0 e le due porte NOR si trovano nella configurazione S=0, R=0. Pertanto, il flip-flop mantiene il proprio valore.
Quando il Clock vale 1, il circuito si comporta in modo analogo ad un flip-flop SR asincrono e potrà quindi mantenere o commutare il proprio valore di uscita in funzione dei valori sugli ingressi S ed R.
Si possono eventualmente aggiungere due ulteriori segnali P (preset) e C (clear) come ingressi, rispettivamente, della prima e della seconda porta NOR. Essi possono forzare il valore delle uscite, indipendentemente dal Clock! In questo caso, però, non si ha più a che fare con un flip-flop sincrono bensì con uno asincrono
Arriviamo
Iscriviti ai nostri gruppi Telegram
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano