Sunteți pe pagina 1din 6

Automate si microprogramare – note de curs 06 Eugenie Posdărăscu

A&mP 06

SISTEME NUMERICE DE ORDINUL 2


(CLS de ord. 2 - AUTOMATE ELEMENTARE)

2.3 Circuite de numărare


2.3.1 Caracterizarea circuitelor de numărare
Circuitele de numărare sunt automate numerice destinate numărării impulsurilor
aplicate la intrarea sa. Un circuit de numărare este format dintr-un număr n de celule de
memorare de ordinul 2, de tip T, JK sau D, interconectate, al căror conţinut formează la un
moment dat starea sa. Proprietatea esenţială a unei celule de
memorare din structura unui circuit de numărare este divizarea cu
2 a frecvenţei semnalului numeric de la intrare. q0

Un circuit de numărare poate fi privit ca un circuit secvenţial


cu un număr de stări distincte ce formează un cod. Codul în care se q1
face numărarea de către circuit este dat de succesiunea cuvintelor
de cod binare asociate stărilor acestuia. În funcţie de aplicaţiile
atribuite numărătorului sunt utilizate mai frecvent: codul binar q2
natural, codul binar reflectat (ciclic), codul BCD, etc. Vom deosebi,
astfel, numărătoare binar naturale, numărătoare Johnson,
numărătoare zecimale, etc. Numărătoarele binare folosesc toate
cele 2n stări posibile. Dacă în numărare se folosesc primele p stări
atunci vom spune de numărător că este un numărător modulo p. qp-1
Vom defini capacitatea unui numărător ca find egală cu
numărul stărilor distincte pe care le are. Vom defini factorul de Figura 6.9
divizare al numărătorului ca fiind raportul dintre frecvenţa
semnalului numeric de la intrare şi frecvenţa semnalului de la ieşire sau ca raportul dintre
numărul impulsurilor de la intrare şi numărul impulsurilor de la ieşire.
După modul de funcţionare, întâlnim:
- numărătoare asincrone, caracterizate de faptul că celulele acestora de
memorie nu comută simultan sub acţiunea unui impuls de ceas;
- numărătoare sincrone, caracterizate de faptul ca celulele acestora de
memorie comută simultan sub acţiunea unui impuls de ceas.
După modul în care este făcută numărarea deosebim:
- numărătoare directe, care numără direct, modificându-şi starea în ordine
crescătoare cu câte o unitate la fiecare impuls aplicat la intrare;
- numărătoare inverse, care numără invers, modificându-şi starea în ordine
descrescătoare cu câte o unitate la fiecare impuls aplicat la intrare;
- numărătoare reversibile, care numără în sens direct sau invers în funcţie de
comanda primită din exterior.

-5-
Automate elementare

2.3.2 Numărătoare directe asincrone

1 2 3 4 5 6 7 0
CK
„1” t
Clock

CK Q

T
Q0
Q t
0 1 0 1 0 1 0 1 0 1

CK Q
Q1
T Q 0 0 1 1 0 0 1 1 0 0 t

CK Q Q2
T 0 0 0 0 1 1 1 1 0 0 t
Q

a) b)
Figura 6.10

Am văzut în exemplul 6.1 că dacă intrarea T este pusă la 1 logic atunci pe ieşiri se obţin
două semnale numerice în antifază a căror frecvenţă este egală cu frecvenţa ceasului
împărţită la doi. Bistabilul T vom spune că e un numărător modulo 2. Dacă semnalul de pe
ieşirea Q a acestuia este conectat în continuare pe intrarea de ceas a unui al doilea bistabil
T, atunci pe ieşirea acestuia se va obţine de asemenea un semnal numeric cu frecvenţa
divizată cu doi faţă de cel de la intrare. Împreună cei doi bistabili T vor forma un numărător
modulo 4. Procesul poate continua daca mai departe vom conecta un al treilea bistabil T ca
în figura 6.10a. În acest ultim caz se obţine un numărător direct modulo 8. Formele de undă
corespunzătoare funcţionării acestui numărător sunt prezentate în figura 6.10b. Structura se
poate generaliza pentru n bistabili T conectaţi astfel, rezultatul fiind un numărător modulo 2 n.
Astfel de numărătoare au bistabilii T nesincronizaţi, bistabili nu comută în acelaşi
timp. Fiecare bistabil T adugă o întârziere care se propagă de la unul la altul. Din acest motiv
circuitele de numărare de acest fel se numesc numărătoare asincrone. Un număr mare de
bistabili T la un numărător asincron poate creea probleme din cauza timpilor de întârziere
cumulaţi. Perioada impulsurilor de ceas va trebui astfel aleasă încât, între două fronturi
active, să se poată stabiliza configuraţia binară de la ieşiri şi să rămână stabilă un interval
de timp suficient pentru comanda altor circuite.
Un circuit asincron cu numărare inversă se poate obţine păstrând aceiaşi structură
dar considerând ieşirile negate, Q , ca ieşiri ale numărătorului.

-2-
Automate si microprogramare – note de curs 06 Eugenie Posdărăscu

2.3.3 Numărătoare directe sincrone


O analiză făcută asupra numărătorului asincron din fig 6.10a şi urmărind formele de
undă (fig. 6.10b) se constată că o tranziţie a ieşirii bistabilului de ordinul k, Q k, are loc numai
dacă toţi biţii de pe ieşirile nenegate ale bistabililor de rang inferior, Q k-1, Qk-2, ..., Q0, se
găsesc în aceiaşi stare egali cu 1. Acest lucru ne determină să obligăm un bistabil T de
ordinul k să comute printr-o comandă de 1 logic venită chiar de pe intrarea T a sa prin
intermediul unui circuit de tip ŞI pe ale cărui intrări să fie puse ieşirile nenegate ale bistabililor
T anteriori, de rang inferior. Mai mult, toţi bistabilii vor fi acum sincronizaţi din aceiaşi bază
de timp pe intrările de CK. Structura rezultată din implementarea unui asemenea numărător
este prezentată în figura 6.11.

Up
Clock

CK T CK T CK T CK T

Q Q Q Q Q Q Q Q

Q3 Q2 Q1 Q0

Figura 6.11

Pentru UP = 0 numărătorul se blochează în starea de memorare iar pentru U P= 1 are


loc activarea procesului de numărare; comutarea bistabililor fiind făcută pe frontul activ al
ceasului. Relaţia de recurenţă a intrărilor este:

Tk = Qk −1  Qk −2    Q0  U P , cu T0 = U P (6.4)

Relaţiile 6.4 se mai pot scrie: Tk = Qk −1  Tk −1 , cu T0 = U P (6.5)

Noua implementare a numărătorului sincron devine (fig. 6.12):

Up
Clock

CK T CK T CK T CK T

Q Q Q Q Q Q Q Q

Q3 Q2 Q1 Q0

Figura 6.12

-5-
Automate elementare

2.3.4 Numărătoare reversibile

Circuitele prezentate în figurile 6.10, 6.11 şi 6.12 au reprezentat numărătoare directe,


pentru care trecerea de la o stare la alta se face în ordine crescătoare cu un bit. Pentru a
putea configura un numărător invers, trecerea de la o stare la alta trebuie să se facă cu un
bit în ordine descrescătoare. Evoluţia stărilor pentru numărarea directă şi inversă este
prezentată de tabelul 6.3. Pentru implementarea unui numărător invers putem avea mai
multe soluţii.
O soluţie, pe care deja am
STARE Num. directă Num. inversă
prezentat-o, presupune să păstrăm
implementarea unui numărător direct şi să q Q2 Q1 Q0 Q2 Q1 Q0
facem citirile pe ieşirile negate ale celulelor q0 0 0 0 1 1 1
bistabile. Semnalul de ceas va veni de la q1 0 0 1 1 1 0
ieşirea nenegată a bistabilului anterior, în q2 0 1 0 1 0 1
cazul numărătorului asincron, şi va veni de
q3 0 1 1 1 0 0
la un generator independent, în cazul
q4 1 0 0 0 1 1
numărătorului sincron (din tabelul 6.3).
q5 1 0 1 0 1 0
O altă soluţie pentru a obţine un
q6 1 1 0 0 0 1
numărător asincron invers constă în
q7 1 1 1 0 0 0
conectarea ieşirilor negate ale celulelor
bistabile pe intrarea de ceas a bistabilului Tabelul 6.3
următor, păstrând în felul acesta ca ieşiri
ale numărătorului ieşirile nenegate.
Clock Enable
count

CK T CK T CK T CK T

Q Q Q Q Q Q Q Q
Mod
numărare

D0 D1 D0 D1 D0 D1 D0 D1
s MUX s MUX s MUX s MUX
O O O O

Q3 Q2 Q1 Q0

Figura 6.13
Implementarea unui numărător asincron reversibil de tip up-down, care să aibă
posibilitatea să numere şi înăinte, şi înapoi, va impune utilizarea unor multiplexoare de tip
MUX 2x1. O primă soluţie presupune utilizarea la ieşirile fiecărui bistabil a unui MUX 2x1, astfel
că ieşirile numărătorului vor fi date de ieşirile multiplexoarelor (figura 6.13). În acest caz pe
intrarea de selecţie a multiplexoarelor se alege modul de numărare (1 pentru numărarea
directă şi 0 pentru numărarea inversă).

-4-
Automate si microprogramare – note de curs 06 Eugenie Posdărăscu

O soluţie mai bună pentru implementarea unui numărător asincron reversibil care
reduce numărul de multiplexoare constă în utilizarea celei de-a doua soluţii pentru
numărarea inversă (figura 6.14). Ieşirile multiplexorului sunt conectate pe intrările de ceas
iar ieşirile nenegate ale bistabililor rămân ca ieşiri ale numărătorului indiferent de modul de
numărare selectat.
Clock Enable
count

CK T CK T CK T CK T

Q Q Q Q Q Q Q Q

Mod D0 D1 D0 D1 D0 D1
numărare
s MUX s MUX s MUX
O O O

Q3 Q2 Q1 Q0
Figura 6.14

Enable count
Depăşire

Clock

CK T CK T CK T CK T

Q Q Q Q Q Q Q Q

D0 D1 D0 D1 D0 D1 D0 D1
s MUX s MUX s MUX s MUX
O O O O

Mod
Numărare Q3 Q2 Q1 Q0
U/D

Figura 6.15

În figura 6.15 este prezentată structura unui numărător sincron reversibil. Numărarea
directă este obţinută pentru U/D = 1 iar cea inversă pentru U/D = 0. Ieşirile numărătorului sunt
aceleaşi cu ieşirile celulelor de memorie care sunt sincronizate cu semnalul de ceas pe
intrările CK. Numărătorul e prevăzut cu o ieşire de depăşire (OVFL = 1) care semnalizează
atunci când s-a încheiat un ciclu de numărare.

-5-
Automate elementare

Extinderea numărătoarelor
În figura 6.16 este implementat un numărător de 8 biţi pornind de la circuite reversibile
de numărare de 4 biţi. Pentru o numărare directă, circuitul porneşte cu toate ieşirile de la 0.
Primul numărător păstrează starea de inactivitate atâta timp cât nu primeşte un impuls de 1
logic pe intrarea de activare COUNT, deci COUNT = OVFL = 1. Acest lucru se întâmplă
atunci când toate ieşirile primului numărător sunt în 1 logic, după care la tactul următor de
ceas, OVFL = 0, ieşirile primului numărător trec toate în 0 şi Q4 = 1.

Clock

Mod
numărare

U/D CK U/D CK Activare


Depăşire
OVFL COUNT OVFL COUNT

Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0

Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
Figura 6.16

2.3.5 Numărător presetabil


Numărătorul presetabil este caracterizat de faptul că numărătoarea poate să înceapă
de la un număr care poate fi încarcat din exterior, înăinte de activarea procesului de
numărare, printr-o comandă specială de încărcare LOAD. Atunci când primeşte comanda de
încărcare numărătorul se comportă ca un registru realizat cu structuri master-slave, dacă
este vorba de o încărcare sincronă, sau cu structuri de tip latch, dacă este vorba de o
încărcare asincronă. Unele numărătoare mai prezintă şi o comandă suplimentară de resetare
CLEAR prin care starea numărătorului, dată de conţinutul său, este adusă la zero, adică e
ştearsă. Ieşirile CARRY şi BORROW sunt pentru a semnaliza umplerea sau golirea
numărătorului.

CK I3 I2 I1 I0
LD
CARRY
Numărător U/D
presetabil
COUNT
BORROW
CLR
Q3 Q2 Q1 Q0

Figura 6.17

-6-

S-ar putea să vă placă și