Sunteți pe pagina 1din 6

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

A&mP 07

SISTEME NUMERICE DE ORDINUL 2


(CLS de ord. 2 - AUTOMATE ELEMENTARE)

2.4 Automate elementare cu registre şi numărătoare

2.4.1 Automate de tip numărător modulo p < 2 n


Circuitele de numărare binare asincrone sau sincrone prezentate sunt circuite de
numărare modulo 2n care se caracterizează prin faptul că plecând de la o stare iniţială trec
în sens crescător sau descrescător prin toate cele 2 n stări posibile. Structura acestora
conţineau n celule binare, de regulă bistabile master-slave.

În foarte multe aplicaţii se doreşte realizarea unui numărător care să parcurgă un


număr mai mic de stări p < 2n , adică un numărător modulo p. Un exemplu în acest sens este
numărătorul decadic (modulo 10). Fiind un numărător care trece prin p stări numărul de
celule de memorie folosite poate fi mai mic decât n. Numărul minim de celule de memorie
necesar pentru proiectarea unui astfel de numărător este:

Ncelule =1+ [log2 (p-1)] (6.6)

Aceste celule trebuie interconectate astfel ca în evoluţia automatului să nu apară (2 n


– p) stări. Sinteza ce urmează a fi făcută trebuie să conducă la configurarea unui CLC care
să asigure comenzile necesare pe intrările bistabililor utilizaţi pentru ca aceştia să
funcţioneze după o evoluţie prognozată (vezi modelul din figura 6.9). Vom propune două
soluţii de sinteză:

1) Sinteza prin omiterea stărilor neimplicate în procesul de numărare;


2) Sinteza prin recunoaşterea stării finale qp-1.

Folosirea primei soluţii presupune sinteza automatului prin intermediul unor funcţii de
evoluţie a stărilor nespecificate complet, cu reprezentare prin tabel de adevăr sau tabele
Veich-Karnaugh (vezi exemplul 6.3). Cele mai multe aplicaţii de acest tip se bazează pe
omiterea stărilor finale ceea ce reprezintă o soluţie avantajoasă, mai uşor de implementat.
Există însă şi unele probleme. Este cazul situaţiilor în care numărătorul „se agaţă” într-o
stare omisă oarecare, din motive de perturbaţii externe, şi refuză să o părăsească sau trece
din aceasta într-o altă stare omisă. Pentru aceasta trebuie avut în vedere ca numărătorul să
fie proiectat astfel ca să asigure ieşirea din astfel de situaţii.

-5-
Automate elementare

Cea de-a doua soluţie impune ca în circuitul de reacţie să existe un CLC care va
recunoaşte starea finală şi, astfel, va transmite o comandă de resetare a numărătorului.
Această a doua soluţie poate să evite problemele apărute la prima soluţie.
Indiferent de soluţia convenită,
Q
pentru implementarea numărătorului, în Q + J K T D funcţie

alegerea tipului de bistabili se va ţine 0 0 0 x 0 0 memorare 0

cont de tabelele de adevăr ale acestora. 0 1 1 x 1 1 comutare în 1


În tabelul 6.4 este descrisă comportarea 1 0 x 1 1 0 comutare în 0
bistabililor JK, T şi D în planul evoluţiei 1 1 x 0 0 1 memorare 1
stărilor.
Tabelul 6.4

Exemplul 6.3

Să se proiecteze un numărător modulo 5 utilizând bistabili JK, prin metoda omiterii


stărilor neimplicate.

Soluţie:

Numărul de bistabili JK utilizaţi pentru implementarea acestui tip de numărător este


dat de N = 1+[log24] = 3. În concluzie, numărătorul va fi caracterizat de 3 biţi de stare Q2,
Q1 şi Q0 a căror evoluţie este prezentată prin biţii de stare Q 2+ , Q1+ şi, respectiv, Q 0+ în

tabelul de adevăr 6.5. Utilizând tabelul 6.4 pentru evoluţiile funcţiilor de stare în cazul
implementării cu bistabili JK şi tabelul de adevăr al aplicaţiei 6.5, se întocmesc tabelele VK
din care se vor extrage cele 6 funcţii de stare corespunzătoare acestei aplicaţii:

J 2 = Q1  Q0 , K 2 = 1
Starea Starea
curentă următoare
J 1 = K 1 = Q0 ,
Q2 Q1 Q0 Q 2+ Q1+ Q 0+
J 0 = Q2 , K 0 = 1 (6.7) 0 0 0 0 0 1

0 0 1 0 1 0
0 1 0 0 1 1

0 1 1 1 0 0

1 0 0 0 0 0

1 0 1 x x x

1 1 0 x x x

1 1 1 x x x

Tabelul 6.5

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

Tabelele 6.6
Q1 Q 0 Q1 Q 0
00 01 11 10 00 01 11 10
Q2 Q2
0 0 0 1 0 0 x x x x
1 x x x x 1 1 x x x

Funcţia J 2 Funcţia K 2

Q1 Q 0 Q1 Q 0
00 01 11 10 00 01 11 10
Q2 Q2
0 0 1 x x 0 x x 1 0
1 0 x x x 1 x x x x

Funcţia J 1 Funcţia K 1

Q1 Q 0 Q1 Q 0
00 01 11 10 00 01 11 10
Q2 Q2
0 1 x x 1 0 x 1 1 x
1 0 x x x 1 x x x x

Funcţia J 0 Funcţia K 0

Circuitul de numărare modulo 5 rezultat este reprezentat în figura 6.18.

1 1

J2 K2 J1 K1 J0 K0
Clock
CK CK CK
Q2 Q2 Q1 Q1 Q0 Q0

Figura 6.18

Exemplul 6.4
Să se proiecteze un numărător modulo 6 utilizând bistabili T prin metoda recunoaşterii
stării finale.
Soluţie:
Numărul de bistabili T utilizaţi pentru implementarea acestui tip de numărător este
dat de N = 1+[log25] = 3. Metoda recunoaşterii stării finale presupune că numărătorul
evoluează normal pâna la starea q p-1 = q5 iar în momentul în care se atinge starea qp, prin
intermediul unui circuit de recunoaştere a acestei stări, aflat pe calea de reacţie, se aplică

-5-
Automate elementare

un impuls de ştergere (STROBE) a STARE Num. directă Reacţie

informaţiilor din celulele numărătorului. Acest impuls q Q2 Q1 Q0 R


va fi însă foarte scurt, o durată  dată de timpii de q0 0 0 0 1
propagare prin bistabili. Pe timpul acestei durate la q1 0 0 1 1
ieşirile numărătorului afişează starea nedorită q p.
q2 0 1 0 1
Se constată funcţia de ştergere R care q3 0 1 1 1
defineşte circuitul de reacţie ia valoarea 0 doar q4 1 0 0 1
pentru Q2 = Q1 = 1 şi va fi definită de relaţia: q5 1 0 1 1

R = Q2  Q1 q6 1 1 0 0
q7 1 1 1 x

Tabelul 6.7
In
„1”

CK T2 CK T1 CK T0
R R R
Q2 Q1 Q0
Figura 6.19

Q2 Q1 Q0

2.4.2 Numărătorul decadic


STARE Q3 Q2 Q1 Q0
Numărătorul decadic este un circuit de numărare
q0 0 0 0 0
modulo 10. Tabelul 6.8 ne prezintă cele 10 stări ale
q1 0 0 0 1
numărătorului. Numărul de bistabili utilizaţi pentru
q2 0 0 1 0
implementarea acestui tip de numărător este: q3 0 0 1 1
N = 1+[log29] = 4 q4 0 1 0 0
O soluţie de implementare a acestui circuit este să q5 0 1 0 1
folosim un bistabil ca numărător modulo 2 conectat la un q6 0 1 1 0

numărător modulo 5. Circuitul rezultat este redat în figura q7 0 1 1 1


q8 1 0 0 0
6.20. Mai întâi este făcută divizarea cu 2 iar semnalul
q9 1 0 0 1
rezultat este aplicat pe intrarea de ceas a numărătorului
modulo 5. Tabelul 6.8
„1”

J0 K0 Intrare
Numărător modulo 5 CK CK
Q0 Q0

Q3 Q2 Q1 Q0
Figura 6.20

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

2.4.3 Divizoare programabile

Dacă fCK reprezintă frecvenţa Clock


fCK
ceasului unui numărător binar, atunci pe
ieşirea Q0 se obţine un semnal cu
„1”
CK I3 I2 I1 I0 LD
1
frecvenţa f 0 = f CK , pe ieşirea Q1 vom U/D
2 OVFL
COUNT Semnal
avea un semnal cu frecvenţa Q3 Q2 Q1 Q0 fq. f
1 1
f1 = f 0 = 2 f CK , şi aşa mai departe
2 2
pe ieşirea Qk se obţine frecvenţa Figura 6.21
1
fk = f CK .
2 k +1

Considerând un număr p oarecare se pune problema construirii de circuite numerice


care să divizeze frecvenţa iniţială de ceas cu acest număr, deci să obţinem un semnal cu
frecvenţa:
1
f =  f CK (6.8)
p

Un divizor programabil reprezintă un circuit electronic la care factorul de divizare


poate fi modificat în funcţie de un cuvânt de cod aplicat ca o comandă din exterior. Un astfel
de divizor programabil se poate realiza cu ajutorul unui numărător reversibil (fig. 6.21). Pe
intrarea CK se aplică un semnal de frecvenţă fCK iar pe ieşirea de depăşire OVFL se obţine
un semnal de frecvenţă f dat de relaţia 6.8. Numărul p prin care se face divizarea se aplică
pe intrările de încărcare ale numărătorului I n, ...I1, I0. Activarea numărătorului s-a făcut prin
aplicarea de „1” logic pe intrările Up/Down şi COUNT, astfel că se numără înapoi de la
valoarea p prestabilită la început până la 0. Când se ajunge la 0, ieşirea OVFL se activează
şi comandă încărcarea numărătorului cu numărul prestabilit p. După încărcare, starea
numărătorului se schimbă ceea ce face ca să dispară semnalul de OVFL precum şi comanda
de încărcare. Din acest moment se continuă numărarea înapoi şi procesul continuă astfel ca
la fiecare p impulsuri de ceas vom avea un impuls pe ieşirea OVFL.

Deoarece impulsul oferit la ieşirea de OVFL este de durată mică şi necontrolabil, este
posibil ca schema din figura 6.21 să funcţioneze eronat, anularea acestui impuls poate
compromite operaţia de încărcare a numărătorului. Pentru prevenirea acestui fenomen
semnalul de comandă OVFL este memorat pe durata palierului negativ a unui tact de ceas
de către un latch format din două porţi NAND (figura 6.22).

-5-
Automate elementare

O soluţie pentru realizarea


divizorului programabil poate fi şi
introducerea pe bucla dintre ieşirea de Semnal
Clock fq. f
OVFL şi intrarea de încărcare LOAD a fCK

unui bistabil RS care face ca memorarea


impulsului de la ieşirea OVFL să fie
memorat pe toată durata unui impuls de „1”
CK I3 I2 I1 I0 LD
tact. Ieşirea de Q se va conecta la U/D
OVFL
intrarea LOAD iar pe ieşirea Q se va oferi COUNT
Q3 Q2 Q1 Q0
semnalul de frecvenţă divizată.

Figura 6.22

Realizarea unor divizoare


programabile cu numărătoare sincron presetabile este posibilă dacă ieşirea OVFL a acestora
este legată direct la intrarea de LOAD care, o dată activată, va realiza încărcarea la următorul
front activ al ceasului astfel că pe durata unui tact de ceas ieşirea OVFL rămâne constantă.

-6-

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