Exemplu de contor cu direct

În Fig. A.35 prezintă configurația contorului cu un contor direct (contor de sumare), realizat prin trei declanșatoare. Acest contor contează în această ordine: 0,1,2, ... 7,0. Pentru contorizarea inversă, adică facturile sunt de ordinul a 0,7,6. se utilizează scheme similare (a se vedea exercițiul A.26). La construirea acestor scheme simple, posibilitatea de a comuta stări este utilizată în flip-flop T.







Acum vom lua în considerare posibilitatea de a implementa contoare bazate pe flip-flop-uri D. În special vorbim despre structura contorului, care poate citi atât în ​​ordine directă, cât și în ordine inversă, în funcție de valoarea la intrarea controlului extern. Pentru ca exemplul dat să nu fie prea mare, ne limităm la un cont modulo 4, pentru care sunt suficienți doi biți de stare reprezentând patru valori posibile.

Contorul va fi construit pe baza tehnologiei standard pentru sinteza circuitelor secvențiale. Acest circuit este considerat în direcția înainte dacă semnalul de intrare x este 0 și în sens invers, dacă semnalul de intrare este 1. Valoarea curentă a contorului se va schimba pe marginea negativă a semnalului de ceas. Să presupunem că suntem deosebit de interesați de starea contorului în momentul în care numărăm la 2. Prin urmare, la valoarea contorului 2, vom emite semnalul de ieșire z = 1, iar restul timpului z va fi 0.

Un astfel de contor poate fi implementat ca un circuit secvențial. Pentru a determina noua valoare a contorului, care va fi setată după următorul impuls de ceas, este suficient să se cunoască valoarea lui x și valoarea curentă a contorului. Valorile sale anterioare nu sunt necesare pentru aceasta. Dacă valoarea curentă este 2 și x = 0, următoarea valoare este 3. Și nu contează dacă valoarea curentă este obținută prin numărarea directă de la 1 sau prin numărarea înapoi de la 3.







Înainte de a arăta cum este implementată această schemă, să descriem comportamentul acesteia folosind diagrama de stare. Contorul nostru are patru stări diferite: S0, S1, S2 și S3. O diagramă de stare este un grafic în care statele sunt reprezentate de cercuri (uneori numite noduri). Tranzițiile între state sunt reprezentate de săgeți cu inscripții. Eticheta asociată cu săgeata indică ce valoare a variabilei x provoacă tranziția dată și ce valoare a contorului este obținută ca rezultat. Diagrama de stare a contorului nostru cu o contorizare directă / inversă este prezentată în Fig. A.47. De exemplu, o săgeată provenind din starea S1 (contra = 1) la x = 0 indică starea lui S2. Este raportat că în timp ce circuitul este în starea S1 și x = 0, valoarea de ieșire a z trebuie să fie 0. Săgeata care conduce de la nodul S2 la nodul S3 indică faptul că atunci când x = 0, următorul ciclu de ceas va merge la stare S3, iar valoarea de ieșire a z va fi setată la 1.

Rețineți că diagrama de stare descrie comportamentul funcțional al contorului în afara oricărei conexiuni cu implementarea sa specifică. Deci, fig. A.47 poate corespunde unui circuit digital, unui dispozitiv de calcul mecanic sau unui program de calculator. Astfel de diagrame permit descrierea oricărui sistem cu comportament secvențial.

Ca alternativă la diagrama de stare, puteți utiliza tabela de stat pentru a reprezenta aceleași informații. O astfel de tabelă pentru exemplul nostru este prezentată în Fig. A.48. Descrie tranzițiile de la fiecare stare curentă la următoarele stări. definită de valoarea de intrare x. Semnalul de ieșire z este determinat de starea curentă a circuitului și valoarea de intrare a lui x.

Exemplu de contor cu direct

Fig. A.47. Diagrama de stare pentru un contor cu o factură înainte / înapoi modulo 4, care semnalizează valoarea de 2







Articole similare

Trimiteți-le prietenilor: