Si realizzi il circuito indicato in fig.9 costituito da 4 flip flop del tipo 7474 ed una porta NAND 7400.
Fig.9 Contatore Johnson ad autocorrezione
Si osservi che gli ingressi CLR dei primi due flip flop e l'ingresso PRE del terzo flip flop sono collegati al port HI che conferisce il livello logico alto. L'uscita complementata dell'ultimo flip flop, indicata con QN4, è collegata all'ingresso D del primo flip flop tramite un "bubble". Analogamente si ha il collegamento a V1, tramite bubble, degli ingressi di clock di tutti i flip flop.
Come è noto dalla teoria (vedi esercizio n.32 pag.218 Esercizi di Elettronica Digitale), la presenza della porta NAND, con ingressi collegati a Q1 e Q2 negato ed uscita che pilota le
linee asincrone CLR dei flip flop 3 e 4, consente di far rientrare il circuito nel ciclo Johnson se, accidentalmente, il dispositivo si dovesse venire a trovare in uno stato non previsto. Per questo motivo il circuito si chiama contatore Johnson ad autocorrezione.
Il ciclo Johnson prevede per le uscite Q1 Q2 Q3 Q4 il seguente ciclo binario:
0000 1000 1100 1110 1111 0111 0011 0001
che corrisponde alle cifre esadecimali:
0 8 C E F 7 3 1
Il generatore V1, di tipo VPULSE, è definito ad onda quadra con periodo di 200ns e con tempi di salita e di discesa trascurabili ma non nulli. I livelli di tensione sono 0 e 5V.
Le impostazioni si effettuano entrando in Stimulus Editor come nei precedenti casi. L'uscita di V1 rappresenta il clock del circuito.
Il generatore V2, anch'esso di tipo VPULSE, è definito di valore 0V fino 90ns, con tempo di salita di 0.5ns, e di valore 5V dall'istante 90.5ns in poi. La sua uscita è collegata agli ingressi di preset dei flip flop con uscite Q1 Q2 e Q4.
Si osservi che avremmo potuto utilizzare come generatori di tensione i DigStim come si è fatto nei casi precedenti al posto dei generatori VPULSE.
Imponendo i flip flop inizialmente azzerati, l'analisi temporale mostra, nel tempo relativo al primo periodo di clock, lo stato del contatore al valore: Q1 Q2 Q3 Q4 = 1 1 0 1, cor-rispondente alla cifra esadecimale D, non previsto dal ciclo Johnson.All'inizio del terzo ciclo di clock, grazie all'azione di correzione della porta NAND, il contatore rientra nel ciclo Johnson portandosi al valore 1000 corrispondente alla cifra esadecimale 8.
Poiché il circuito presenta segnali analogici V1 e V2, l'analisi del funzionamento viene elaborata da PspiceA/D. Tra le tracce disponibili di Probe troviamo V2 convertita in forma digitale in $N_0001$AtoD3 e V1 convertita in digitale col nome ck$AtoD4.
In fig.10 si mostra la tempificazione di tali linee, di Q1...Q4 e di Y sviluppata per 2µs.
Fig. 10 Forme d'onda per il contatore Johnson ad autocorrezione
In fig.11, infine, si forniscono due tempificazioni scorrelate temporalmente tra di loro al fine di poter valutare pienamente la commutazione dal livello basso al livello alto di V2, segnale analogico, tra gli istanti 90ns e 90.5ns.
La successiva tempificazione fornisce le stesse linee mostrate nella precedente fig.10 con l'aggiunta della linea indicata con Qbus che rappresenta l'insieme delle linee Q1 Q2 Q3 Q4.
Per ottenere i due grafici distinti si seleziona Plot/Add Plot dall'interno di Probe e successivamente Plot/Unsync Plot.
Nel grafico superiore si rappresenta V2 e si allarga l'asse dei tempi intorno a 90ns con Plot/X Axis Setting/Data Range/User Define: 89ns 91ns.
Fig.11 In alto: Particolare della tensione V2 tra gli istanti 89ns e 91ns
In basso: Forme d'onda per il contatore Johnson ad autocorrezione con l'aggiunta del BUS Qbus
Nel grafico inferiore, il nome delle prime due forme d'onda sono Preset e Clock, senz'altro comprensibili rispetto a quelli visti nella precedente figura
Per ottenere ciò si seleziona Trace/Add e si inserisce alla voce Trace Command: $N_0001$AtoD3;Preset. La voce Preset dopo il punto e virgola è il nome che sarà visualizzato sullo schermo al posto di $N_0001$AtoD3.
Si ripete la stessa procedura per la voce Clock
Per ottenere Qbus, infine, si seleziona Trace/Add e si inserisce alla voce Trace Command: {Q1 Q2 Q3 Q4 }; Qbus
Per salvare le schermate di Probe faticosamente costruite si seleziona Tools/Display Controls e si inserisce il nome che si desidera definire alla voce New Name: Johndat.
Per visualizzare tali schermate a distanza di tempo è sufficiente avviare Probe caricando il file AUTOJOHN.DAT e attivando Tools/Display Controls. Si seleziona il file che interessa tra quelli elencati, ad esempio Johndat(TRAN), e si clicca su Restore.
Le informazioni sul contenuto delle schermate di Probe che abbiamo salvato si trovano nel file PROBE.DSP.