Sunteți pe pagina 1din 7

Cap.

5 Sinteza automatelor sincrone

Schema bloc generală este dată în fig.5.1., unde:


x z
CLC – circuit logic combinaţional; CLC
CL – circuit logic;
La automatele sincrone comutarea variabilelor de y
reacţie (variabilelor de stare sau secundare) se face CL Tact
sincron cu un tact extern.

Fig.5.1. Automat sincron

În funcţie de tipul circuitului logic de pe calea de reacţie, automatele sincrone


se clasifică după cum urmează:
- cu CBB de tip J-K pe calea de reacţie;
- cu CBB de tip D (registru de deplasare distribuit) pe calea de reacţie;
- cu numărătoare şi registre pe calea de reacţie;
- cu structuri complexe (ROM, RAM) pe reacţie.

5.1. Sinteza automatelor sincrone cu CBB de tip J-K pe calea de reacţie


Mai întâi se stabilesc nişte reguli privind utilizarea diagramelor K-V.
Se dă diagrama K-V din fig.5.2.a.

AB
CD 00 01 11 10
00 1 0 1 0
01 0 1 1 0
11 0 1 0 1
AB
10 1 1 0 0
C 00 01 11 10
0 D D 1 0
1 D 1 0 D

Fig.5.2.a) Diagrama K-V b) Contracţia diagramei K-V

Prin contracţie diagrama K-V se reduce prin introducerea unei variabile în


locaţiile diagramei eliminându-se 2 linii ale diagramei. Se obţine astfel o diagramă
K-V cu variabile incluse.

1
Din tabelul din fig.5.3. se dau câteva reguli de contracţie:

Variabile Expresie A xABV0


contractate ce se xV 0
introduce IV 0
IIV 00
în tabel V 0
x=0 x=1 IIIV
IV0000100101111000011110 1
m 0 0 0 10
11XAXAX+AX+A
n 0 1 x 1
Se construieşte tabelul astfel:
p 1 0 x 0
Pentru VI în tabelul din fig. a
q 1 1 1 10
se consideră locaţiile unde AB 0
I 0 A xA
avem O|A, adică combinaţiile x 1
II A 0 xA
m şi n. 00 11
III 1 A x +A
IV A 1 x+A 01 1
V A B x A+xB 11 1
10
a) b) 100001110110
0
Fig.5.3.a) Tabelul cu reguli de contracţie; b) Deducerea regulilor
1 pentru
introducerea funcţiilor în diagrama K-V 10
1
Prin introducerea funcţiilor de una sau mai multe variabile 0în diagramele K-
V se obţin reprezentări mai compacte, însă regulile de obţinere a 10formei minimale
sunt complexe şi greu de aplicat. 1
0
O metodă simplificată a regulii de minimizare cuprinde etapele:
1
1) În locaţiile cu “1” logic se consideră a fi valori indiferente şi se
minimizează formând suprafeţe cu locaţii ce conţin aceeaşi funcţie
(variabilă);
2) În locaţiile unde sunt incluse funcţii de una sau mai multe variabile se
consideră ca fiind “0” logic şi se creează suprafeţe cu locaţii de “1” logic.
3) Se sumează logic produsele rezultate din cele două etape.

Exemplu: Se dă diagrama din fig.5.4.a.


AB AB
C C ACD+ACD
00 00
01 01
11 11
100D+ED0E1E11D+Ea) Exemplu 100DD01XXDb) Diagrama corespunzătoare variabilei D
de diagramă AB AB
C C
00 BE 00 BC
01 01
11 11
2
100EE1EXXEc) Diagrama 100111d) Diagrama
corespunzatoare variabilei E Fig.5.4. corespunzatoare locatiilor cu
Rezultă că după minimizare, prin sumarea termenilor obţinuţi din diagramele
din fig.5.4.b, c, d se obţine expresia:
A BD  ACD  BE  BC
Sinteza unui automat sincron cu CBB de tip J-K pe reacţie
presupune următoarele etape:
1) Din protocolul de funcţionare propus pentru sinteza automatului se
identifică mărimile de intrare şi ieşire ce apar în fiecare secvenţă de
funcţionare a automatului.
2) Se construieşte graful de stări asociat evoluţiei secvenţiale a automatului.
Fiecărei secvenţe funcţionale i se asociază câte o stare. Se notează ieşirile
ce trebuie generate în fiecare stare, precum şi deciziile ce determină
evoluţia dintr-o stare în alta.
3) Se determină numărul variabilelor secundare necesar pentru codificarea
stărilor, din condiţia 2s>=p>2s-1 unde:
s – numărul variabilelor secundare
p – numărul stărilor din graf
În funcţie de numărul de variabile secundare necesar se codifică stările
grafului.
Numărul CBB de tip J-K va fi egal cu numărul variabilelor secundare
necesare pentru codificarea stărilor. Codificarea stărilor nu va pune probleme, ca la
sinteza Huffman pentru automatele asincrone referitoare la apariţia ciclurilor.
4) Se construieşte tabelul de codificare al stărilor (după codificarea binară şi
alfanumerică a stărilor din graful de stări). Acest tabel este de fapt o
diagramă K-V, la care se reprezintă pe linii şi coloane variabilele
secundare iar într-o locaţie se trece codul alfanumeric al stării ataşat
constucţiei variabilelor secundare pentru locaţia respectivă.
5) Se construiesc tabelele de evoluţie al stărilor y i(t+1), unde t+1 este
momentul următor determinat de durata impulsului de tact, faţă de
momentul actual t.
6) Se construiesc tabelele de excitaţie pentru fiecare CBB de tip J-K ce va
genera fiecare câte o variabilă secundară yi. În acest scop se folosesc
tabelele de funcţionare ale CBB de tip J-K din fig.5.4, asociind valorile
variabilelor secundare yi(t) ieşirilor Qt ale CBB J-K, şi valorile yi(t+1)
ieşirilor Q(t+1) ale CBB J-K. Se ştiu evoluţiile Q t →Qt+1 şi se determină
valorile intrărilor J şi K obţinându-se câte două tabele pentru fiecare CBB.

J K Qt Qt+1 Qt Qt+1 J K
0 0 0 0 0 0 0 0 Qt Qt+1 J K
0 0 1 1 1 1 0 0 Fi 0 0 0 x g
0 1 0 0 0 0 0 1 0 1 1 x 5.5.
0 1 1 0 1 0 0 1 1 0 x 1
1 0 0 1 0 1 1 0 1 1 x 0
1 0 1 1 1 1 1 0 0   x
3 
1 1 0 1 0 1 1 1 1 x 
1 1 1 0 1 0 1 1
7) Se determină (sintetizează) funcţiile de excitaţie din tabelele de excitaţie
(funcţiile logice asociate intrărilor J şi K ale fiecărui CBB). Expresiile
acestor funcţii nu este obligatoriu să fie minime, astfel încât se pot folosi
şi multiplexoare pentru implementarea acestor funcţii.
8) Se determină funcţiile logice ale ieşirilor generate. De obicei ieşirile
primesc direct codul stării respective în care se generaeză. De exemplu,
dacă în starea codificată prin variabilele de stare y1y2 = 01 se generează
ieşirea z1 atunci funcţia logică a ieşirii z1 va fi: z1  y1 y2 .
9) Se realizează circuitele funcţiilor de excitaţie şi al funcţiilor de ieşire (se
construieşte CLC-ul (circuitul logic combinaţional) folosiind expresiile
funcţiilor de execuţie şi al funcţiilor de ieşire). Se conectează după aceea
structura obţinută la CBB J-K.
Obs. Dacă în locaţiile tabelelor de excitaţie apar funcţii logice complexe ce
depind de variabilele de intrare este recomandat să se folosească
multiplexoare (eliminându-se punctul 7, sinteza funcţiilor de excitaţie, din
actualul algoritm de sinteză) pentru obţinerea funcţiilor de excitaţie.

Aplicaţie

Se cere realizarea unui automat pentru controlul unei instalaţii de umplere a


unui bazin cu apă de la 2 surse. Se consideră că cele 2 surse de apă sunt
inepuizabile.
Sursa notată cu S1 se află la o distanţă mică de bazin, apa fiind pompată cu
ajutorul pompei P1 de debit mic.
Sursa notată cu S2 se află la o distanţă mare, folosindu-se pompa P2 de debit
mare pentru aducerea apei în bazin.
Instalaţia este prezentată schematic în figura 5.6 a.

y1y2
00
(1)

1 Nm 0
P1 P2 a
S1 S2 01
(2)

1 D 0
NM m
Bazin 10 11
(3) P1 P2 (4)
Nm

1 0 N 1
NM 0 a M
4
TD
a) b)
Fig. 5.6.

Pentru vizualizarea nivelului de apă în bazin se folosesc două traductoare de


nivel Nm (nivel minim) şi NM (nivel maxim). Nm=1 dacă nivelul apei scade sub Nm,
iar NM =1 dacă nivelul apei creşte peste NM.
Umplerea bazinului cu apă se face cu ajutorul pompei P1, dacă este consum
de apă mic, când Dm=1, (testându-se traductorul de debit TD) sau cu ajutorul
pompei P2 dacă este consum de apă mare, când Dm=0.
Se doreşte sinteza unui automat sincron cu CBB J-K pe reacţie ce va
funcţiona conform grafului de stări din figura 5.6 b şi care va avea schema bloc din
figura 5.7.
Nm
P1
NM
Dm A
P 2

Fig. 5.7.

Pentru sinteză s-a parcurs prima etapă identificându-se mărimile de intrare şi


ieşire. Următoarele 3 etape sunt obţinute folosind graful de stări din figura 5.5 b,
unde s-au introdus 2 stări suplimentare (ce nu generează nici o ieşire) pentru
uşurarea procesului de sinteză ca să nu apară două blocuri de decizie unul după
altul fără bloc de stare între ele. Fiind 4 stări stabile, pentru codificarea lor sunt
necesare 2 variabile de stare, de unde rezultă că se vor folosi 2 CBB J-K.
Se construieşte tabelul de evolutie al stărilor, figura 5.7.

y1 y1 y1
y2 0 1 y2 0 1 y2 0 1
Nm
0 (1) (3) 0 0 0 0 NM
1 1 1 Dm
(2) (4) 1 NM NM
Fig. 5.7

Tabelele de evoluţie a stărilor sunt construite în fig. 5.7. Liniile şi coloanele


sunt codificate cu ajutorul variabilelor de stare y 1 şi y2 la momentul t. În locaţii se
trec, pentru fiecare stare în parte, valorile la momentul următor t+1 ale variabilelor
y1 şi y2. (adică valorile variabilelor de stare ce codifică stările unde evoluează
automatul).

5
Astfel, pentru locaţia y1y2=00, corespunzătoare stării stabile (1), conform
grafului de stări, automatul evoluează în starea (2) dacă N m=1 şi atunci y1y2=01
(adică y1(t+1)=0 şi y2(t+1)=1 sau revine în starea (1) dacă Nm=0 şi y1y2=00 (adică
y1(t+1)=0 şi y2(t+1)=0). În locaţia corespunzătoare lui y1(t+1) se va trece 0 iar în
locaţia corespunzătoare lui y2(t+1) se va trece Nm .
În locaţiile corespunzătoare stării (2) se trece y 1(t+1)=1 şi y2(t+1)= D m ,
deoarece automatul evoluează daca Dm=1 în starea (3) pentru care y1y2=10 (adică
y1(t+1)=1 şi y2(t+1)=0), sau evoluează în starea (4), pentru care y 1y2=11 (adică
y1(t+1)=1 şi y2(t+1)=1). Se observă că indiferent de valoarea variabilei de intrare
Dm , atunci y1(t+1)=1. Dacă Dm=1 atunci y2(t+1)=0, iar dacă Dm=0 atunci y2(t+1)=1
şi în acest caz y2(t+1) are valori complementare faţă de Dm (adică y2(t+1)= D m).
Celelalte locaţii ale tabelelor de evoluţie a stărilor se complementează asemănător.
La construcţia tabelelor de excitaţie (fig. x3), pentru fiecare circuit basculant
se folosesc tabelele de funcţionare din fig. 5.4. şi tabelele de evoluţie a stărilor.
Astfel, în tabelul de evoluţie a stărilor, corespunzător lui y 1(t+1), în fig. X4, se
asociază y1(t)=Q1(t) şi y1(t+1)=Q1(t+1), unde Q1(t) şi Q1(t+1) sunt ieşirile primului
bistabil la momentul actual, respectiv la momentul următor.
Pentru locaţia corespunzătoare stării (1), y1(t)=0 iar y1(t+1)=0, ieşirea
evoluând din Q1(t)=0 în Q1(t+1)=0 şi conform primei linii din tabelul de
funcţionare (fig. 5) intrările bistabilului vor trebui să ia valorile j1=0 , k1=x .
Pentru locaţia corespunzătoare stării (2), y1(t)=0 iar y1(t+1)=1, ieşirea
evoluând din Q1(t)=0 în Q1(t)=1 şi conform celei de-a doua linii din tabelul de
funcţionare (fig. 5) intrările bistabilului vor trebui să ia valorile j1=1 , k1=x ş.a.m.d.
Sintetizând se obţin funcţiile:
J1  y 2

K1  N M y1  y2
__
J 2  N m y1  N M y1

Dm
__
0
K 2  D12m MUX KM2 y1
y1  N
Funcţia K are o expresie N
2 complexă pentru că există variabile incluse în
3 y2 y1

fiecare locaţie şi pentru reprezentare M


se foloseşte un MUX; la fel şi pentru J şi K .
2 1
Structura automatului este prezentată în fig. X6 unde P1  y1 y 2 şi P2  y1 y 2 .
N m 012 MUX J2
y y NM 3 y y y y
y2 1 0 1 y2 1 0 1 y2 1 0
2 1
1 y2 1 0 1
0 0 x 0 x 1 0 Nm N M 0 x x
Fig.5.8
1K1 x
0

1 1 x 1 x N M123 yMUX x 1 Dm N M
N
y
Pentru J2 şi K se folosesc multiplexoare. 2 1

(J1) :
Sinteza (K1) M (J2) (K2)
Py1  yJ1 y 2
P2 1Q1 1
P2  y1 y 2
T
Q1
K1

y2Q J 2
2
P1 6T
Q 2K 2
Tact (Clk)
Fig. 5.9

Bibliografie:
1. Dorin Popescu – Automate programabile, Editura Sitech, Craiova, 2003.
2. Emil Pop, Monica Leba, – Microcontrollere şi automate programabile, Editura didactică
şi pedagogică, Bucureşti, 2003.
3. Mircea Ivănescu, Sisteme avansate de conducere în robotică, Editura Scrisul Românesc,
Craiova, 2003.
4. Mircea Ivănescu, Roboţi industriali, Editura Universitaria, Craiova, 1994.
5. Mircea Ivănescu, Ion Cauţil, Automate industriale, Editura Scrisul Românesc, Craiova,
1984.
6. Ilie Borcoşi, Automate secvenţiale şi programabile- note de curs

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