Sinteza_circuitelor_secventiale

13
1 4 Sinteza circuitelor secventiale Presupune: Găsirea unui circuit care satisface specificaţiile de intrare-ieşire impuse Există două metode de sinteză: Metoda matricială (folosită la sinteza circuitelor cu număr mic de intrări) Metoda ordinogramei Etapele metodei ordinogramei sunt următoarele: 1. construirea pornind de la datele temei a diagramei de stări 2. codificarea stărilor 3. proiectarea schemei logice Pentru studierea sintezei, luăm ca şi exemplu sistemul de comandă al unui cărucior. Construirea pornind de la datele temei a diagramei de stări Căruciorul parcurge un drum limitat de limitatoarele de cursă L d si L s (Fig.11.1. 1). Motorul căruciorului este comandat cu semnalele M s şi M d . În regim automat, căruciorul porneşte doar dacă Ls=1. La apăsarea comutatorului C 1 căruciorul trebuie să execute un ciclu dus întors, iar la acţionarea comutatorului C 2 , două cicluri dus întors. Dacă se acţionează C 2 în timp ce se execută un ciclu iniţiat de C 1 , se vor executa în mod automat două cicluri. M C1 C2 Ls Ld Ms , Md Fig.11.1. 1 În Fig.11.1. 2.este prezentată diagrama stărilor.

description

Sinteza_circuitelor_secventiale

Transcript of Sinteza_circuitelor_secventiale

  • 1

    4 Sinteza circuitelor secventiale Presupune:

    Gsirea unui circuit care satisface specificaiile de intrare-ieire impuse Exist dou metode de sintez:

    Metoda matricial (folosit la sinteza circuitelor cu numr mic de intrri)

    Metoda ordinogramei Etapele metodei ordinogramei sunt urmtoarele:

    1. construirea pornind de la datele temei a diagramei de stri 2. codificarea strilor 3. proiectarea schemei logice

    Pentru studierea sintezei, lum ca i exemplu sistemul de comand al unui crucior.

    Construirea pornind de la datele temei a diagramei de stri Cruciorul parcurge un drum limitat de limitatoarele de curs Ld si Ls (Fig.11.1. 1). Motorul cruciorului este comandat cu semnalele Ms i Md. n regim automat, cruciorul pornete doar dac Ls=1. La apsarea comutatorului C1 cruciorul trebuie s execute un ciclu dus ntors, iar la acionarea comutatorului C2, dou cicluri dus ntors. Dac se acioneaz C2 n timp ce se execut un ciclu iniiat de C1, se vor executa n mod automat dou cicluri.

    M

    C1 C2

    Ls Ld

    Ms , Md

    Fig.11.1. 1

    n Fig.11.1. 2.este prezentat diagrama strilor.

  • 2

    M1 Iniializare

    M2 Depl.dreapta

    M3 Depl.stnga

    M4 Depl.dreapta

    M5 Depl.stnga

    M6 Depl.dreapta

    M7 Depl.stnga

    LsC2

    Ls

    Ld

    Ld

    Ld

    LsC1 C2

    C2

    Ls

    Ls

    Fig.11.1. 2

    Codificarea strilor n exemplul propus, nu putem codifica cele 7 stri cu 3 variabile binare, deoarece orice codificare a strilor pentru diagrama din Fig.11.1. 2 duce la obinerea unor curse critice. Se impune astfel o codificare adiacent a strilor adiacente, ceea ce nseamn c toate strile ntre care au loc tranziii trebuie s aib coduri adiacente. Prin urmare, pentru a se respecta condiia de codificare adiacent a strilor adiacente, vor trebui introduse cteva stri suplimentare; ceea ce conduce la o codificare cu 4 variabile a strilor din Fig.11.1. 2. Fig.11.1. 3 prezint noua diagram a strilor.

    M1 0000

    M2 0010

    M3 0110

    M4 1000

    M5 1100

    M6 1101

    M7 0101

    LsC2

    Ls

    Ld

    Ld

    Ld

    LsC1 C2

    C2

    Ls

    M9 0100

    M8 1010

    M10 1110

    M11 0001

    Ls

    Fig.11.1. 3

  • 3

    4.1 Sinteza automatelor secveniale asincrone Etapele sintezei sunt:

    1. ntocmirea diagramei de stri 2. Codificarea strilor 3. ntocmirea matricilor de tranziie

    La ntocmirea matricilor de tranziie se folosesc digramele VID acestea sunt de fapt nite diagrame Karnough n care se introduc variabilele de intrare n relaii. Pentru cazul exemplului nostru, variabilele de intrare sunt Ls, Ld, C1 i C2. Pe baza matricii strilor i tranziiilor se determin digramele VID ale strilor urmtoare: x1, x2, x3 i x4. Matricea strilor este n Fig.11.1. 4.

    x1x2 \ x3x4 00 01 11 10 00 M1 M11 - M2 01 M9 M7 - M3 11 M5 M6 - M10 10 M4 - - M8

    Fig.11.1. 4

    4. Scrierea ecuaiilor de stare Pe baza matricii strilor i a diagramei de stri se ntocmesc matricile de tranziie ce sunt utilizate pentru scrierea ecuaiilor de stare. Astfel, ecuaiile de stare se scriu fcnd un SAU Intre termenii obinui grupnd celule care conin aceeai expresie logic cu celule care conin x (respectiv -), iar celule ce conin 1 cu celule care conin x (respectiv -).

    X1: x1x2 \ x3x4 00 01 11 10

    00 LsC2 0 - C2 01 0 0 - C2 11 1 Ld/ - 1 10 1 - - 1

    LdxxxxCxxLs +++= 4141231C2x4x3x2x1X1 x2:

    x1x2 \ x3x4 00 01 11 10 00 0 0 - Ld 01 0 Ls/ - 1 11 1 1 - 1 10 Ld - - 0

  • 4

    LdxxxxxLsxxxLdxxxx +++= 321214213212 x3:

    x1x2 x3x4 00 01 11 10 00 LsC1 0 - 1 01 0 0 - Ls/ 11 0 0 - 0 10 0 - - 0

    321321143213 xxxLsxxxCLsxxxxx ++= X4:

    x1x2 x3x4 00 01 11 10 00 0 0 - 0 01 0 1 - 0 11 Ls 1 - 0 10 0 - - 0

    Lsxxxxxxx += 4321424

    5. Obinerea ecuaiilor de ieire. Ieirile automatului sunt semnalele Ms i Md (comand rotire dreapta i stnga a motorului cruciorului). Ecuaiile de ieire se scriu pe baza diagramelor VID ale semnalelor de ieire.

    Md: x1x2 x3x4 00 01 11 10 00 0 0 - 1 01 0 0 - 0 11 0 1 - 0 10 1 - - 0

    41321321 xxxxxxxxMd ++= Ms:

    x1x2 x3x4 00 01 11 10 00 0 0 - 0 01 0 1 - 1 11 1 0 - 0 10 0 - - 0

    4321321421 xxxxxxxxxxMs ++=

    4.2 Sinteza circuitelor secveniale sincrone

  • 5

    La aceste circuite, tranziiile au loc la anumite momente de timp ce sunt marcate de impulsurile de sincronizare. Pe perioada dintre dou impulsuri de sincronizare toate strile sunt stabile i se menin constante. Nu mai apare problema curselor critice, iar hazardul static existent nu determin funcionare incorect.

    4.2.1 Implementarea circuitelor secveniale sincrone cu bistabile i pori

    Pentru codificarea strilor pot fi aplicate aceleai reguli ca n cazul circuitelor asincrone. Circuitele de memorie de tip sincron impun anumite restricii semnalelor aplicate la intrri: semnalele de intrare asincrone trebuie s condiioneze schimbarea valorii unei singure variabile de stare. Pentru exemplul nostru vom folosi codificarea prezentat n Fig.11.1. 3. Pentru realizarea circuitului de comand folosim 4 bistabile de tip J-K, iar variabilele de stare sunt x1, x2, x3 i x4. Tabelul de excitaie a intrrilor n funcie de valorile strii prezente i a celei urmtoare l avem n Fig.11.2. 1 (att pentru bistabile JK, ct i pentru bistabile D).

    Fc. de excitaie Qn Qn+1 J K D

    0 0 0 X 0 0 1 1 X 1 1 0 X 1 0 1 1 X 0 1

    Fig.11.2. 1

    Ecuaiile intrrilor J i K se obin pe baza urmtoarelor diagrame VID:

    Jx1 i Kx1:

    x1x2 x3x4 00 01 11 10 00 X X - X 01 X X - X 11 0 Ld - 0 10 0 - - 0

    x1x2 x3x4 00 01 11 10 00 LsC2 0 - C2 01 0 0 - C2 11 X X - X 10 X - - X

    243212311 CLsxxxxCxxJ X += ; LdxK X = 41

    Jx2 i Kx2:

  • 6

    x1x2 x3x4 00 01 11 10 00 X X - X 01 1 Ls - 0 11 0 0 - 0 10 X - - X

    x1x2 x3x4 00 01 11 10 00 0 0 - Ld 01 X X - X 11 X X - X 10 Ld - - 0

    LdxxLdxxJ X += 31312 ; LsxxxxxxK X += 4214312

    Jx3 i Kx3:

    x1x2 x3x4 00 01 11 10 00 X X - 0 01 X X - Ls 11 X X - 1 10 X - - 1

    x1x2 x3x4 00 01 11 10 00 LsC1 0 - X 01 0 0 - X 11 0 0 - X 10 0 - - X

    14213 CLsxxxJ X = ; 13213 xLsxxxK X +=

    Jx4 i Kx4:

    x1x2 x3x4 00 01 11 10 00 X 1 - X 01 X 0 - X 11 X 0 - X 10 X - - X

    x1x2 x3x4 00 01 11 10 00 0 X - 0 01 0 X - 0 11 Ls X - 0 10 0 - - 0

    LsxxxJ X = 3214 ; 214 xxK X =

    Semnalele de comand au ecuaiile sunt acelea de la sinteza anterioar:

    41321321 xxxxxxxxMd ++=

    4321321421 xxxxxxxxxxMs ++= Prin urmare, pe baza relaiilor mai sus determinate, se poate proiecta circuitul de comand al cruciorului folosind 4 bistabile J-K conectate prin logica ecuaiilor de mai sus.

    4.2.2 Utilizarea decodificatoarelor la sinteza circuitelor secveniale sincrone

    Utilizarea decodificatoarelor de stare simplific sinteza circuitelor secveniale sincrone. Avnd strile decodificate, ecuaiile de excitaie pentru intrrile bistabilelor se pot scrie direct din diagrama strilor.

  • 7

    Pentru exemplul considerat se va studia implementarea automatului folosind un decodificator zecimal ce prezint ieirile active pe 0L. Si-n acest caz rmn valabile problemele legate de codificarea adiacent a strilor adiacente i respectiv de sincronizarea intrrilor asincrone care provoac tranziii neadiacente. Considerm rezolvat problema sincronizrii intrrilor; prin urmare, prin punerea la mas a intrrii cu ponderea cea mai mare, vom transforma decodificatorul ntr-un decodificator 3 la 8.

    Avem 3 variabile de stare avem 3 bistabile. Intrrile J ale acestora se activeaz la trecerea variabilei asociate din 0 n 1, iar intrrile K la trecerea variabilei din 1 n 0. Notm cu P0P7 produsele standard pe care le obinem la ieirea decodificatorului. In Fig.11.2. 2. avem diagrama de stri cu codificarea aleas pentru strile acesteia.

    P0 Iniializare 000

    P3 Depl.dr. 011

    P4 Depl.stg. 100

    P1 Depl.dr. 001

    P5 Depl.stg. 101

    P6 Depl.dr. 110

    P7 Depl.stg. 111

    LsC2

    Ls

    Ld

    Ld

    Ld

    LsC1 C2

    C2

    Ls

    Ls

    Fig.11.2. 2

    Obinem urmtoarele ecuaii:

    LdPLdPJ X += 131 LsPLsPK X += 741

    LsPCLsPJ X += 5102 LsPCPLdPK X ++= 72332

    LdPCPCLsPJ X ++= 621103 LsPLsPLdPK X ++= 7533

    613 PPPMd ++= 754 PPPMs ++=

    La scrierea acestor ecuaii se observ c produsul logic dintre o stare i un semnal de intrare care determin trecerea automatului ntr-o alt stare se aplic la intrarea de tip J a unui bistabil dac aceasta este 0 n starea prezent i devine 1 n starea urmtoare; sau la intrarea de tip K dac ea este 1 n starea prezent i devine 0 n starea urmtoare. Se observ c prin codificarea adiacent a strilor ntre care au loc tranziii, o tranziie este nsoit de schimbarea strii unui singur bistabil.

  • 8

    Intruct strile sunt decodificate, expresiile variabilelor de ieire se exprim direct n funcie de stri. Schema electric a automatului este dat n Fig.11.2. 3.

    20 0 21 1 22 2 23 3 4 5 6 7 8 9

    D E C O D

    LdPLdPJ X += 131LsPLsPK X += 741

    613 PPPMd ++= 754 PPPMs ++=

    .

    .

    .

    J R Q T/ K

    J R Q T/ K

    J R Q T/ K

    X1

    X2

    X3

    P0/ P1/ P2/ P3/ P4/ P5/ P6/ P7/

    &

    &

    Md

    Ms

    Tact

    Init

    C1

    C2

    & &

    &

    & &

    &

    JX1

    KX1

    Ld P3

    P1

    Ls

    P4

    P7

    Fig.11.2. 3

    4.2.3 Utilizarea multiplexoarelor i a numrtoarelor la sinteza circuitelor secveniale sincrone

    Utilizarea numrtoarelor cu ncrcare paralel i a multiplexoarelor simplific i mai mult sinteza circuitelor secveniale. Multiplexoarele folosite n rezolvarea problemei vor fi de tipul SN74151, cu 8 intrri de date i 3 intrri de adrese. Numrtorul sincron cu ncrcare paralel SN74163 are:

    4 ieiri de date: QA, QB, QC, QD o intrare de ncrcare paralel: LOAD o intrare de iniializare: CLR 4 intrri de date: DA, DB, DC, DD o intrare de tact: CLK o intrare de numrare: COUNT

    El se simbolizeaz ca n Fig.11.2. 4:

    QA QB QC QD

    LOAD CLR 3 2 1 0 CLK

    Fig.11.2. 4

  • 9

    Dac la terminalul de ncrcare se aplic nivel logic sczut (LOAD=0) pe frontul descresctor al impulsului de tact se va face ncrcarea paralel a datelor aplicate la intrrile de date DA, DB, DC, DD (sunt intrri ale bistabilelor) De notat faptul c intrrile de ncrcare paralel sunt separate, pe cnd intrrile de tergere sunt legate mpreun la intrarea comun de tergere CLR. Aducerea la zero a celor 4 bistabile se face prin aplicarea unui semnal 0 logic pe intrarea de tergere (CLR=0) Cnd se aplic semnal 1 logic la intrarea de numrare (COUNT=1) coninutul numrtorului se incrementeaz pe frontul descresctor al impulsului de tact Pentru ca numrtoarele binare cu ncrcare paralel s poat fi utilizate la memorarea strilor unui circuit secvenial se impune condiia ca diagrama strilor s nu conin dect cel mult ramificaii duble, condiie ce poate fi respectat prin introducerea unor stri suplimentare.

    Si Si

    Sj Sj Sk

    Sk

    Sl

    S1

    Skl

    I1 I2 I3 I1

    I2 I3

    I2+I3

    Fig.11.2. 5

    Codificarea strilor se face astfel nct o stare urmtoare se obine prin incrementarea coninutului numrtorului, iar cealalt stare urmtoare se obine prin ncrcarea paralel a acestuia.

    M0 Ini. 000

    M1 Depl.dr. 001

    M2 Depl.stg. 010

    M6 Depl.dr. 110

    M3 Depl.stg. 011

    M4 Depl.dr. 100

    M5 Depl.stg. 101

    LsC2

    Ls

    Ld

    Ld

    Ld

    LsC1 C2

    C2

    Ls

    Ls

    Fig.11.2. 6

    La ntocmirea diagramei strilor nu sunt necesare stri suplimentare, deoarece diagrama nu conine ramificaii multiple (triple) sau de ordin mai mare (Fig.11.2. 6).

  • 10

    In schema ce se va realiza semnalele care se vor aplica la intrrile de numrare i de ncrcare paralel vor fi sincronizate; prin aceasta se sincronizeaz toate semnalele de intrare asincrone. Pe baza diagramei de stare cu strile codificate se vor scrie funciile logice ale semnalelor ce se aplic la intrrile numrtorului: condiia de numrare (COUNT), condiia de ncrcare paralel (LOAD), codul strilor la care se face saltul, condiia de iniializare (CLR). Din diagrama strilor se observ c secvena de numrare este: M0M1M2M3M4M5. Salturi exist ntre strile: M0M6, M1M6, M2M0, M6M3, M5M0. Scrierea funciilor logice se poate face direct din diagrama strilor. Astfel, numrtorul trebuie incrementat atunci cnd trebuie s se efectueze o tranziie din secvena principal de numrare. Acest tip de tranziie se efectueaz n starea M0 dac se aplic semnalul logic: LsC1; n starea M1, dac se aplic semnalul logic Ld; n starea M2 dac se aplic C2 1. Funcia de numrare:

    LdPLsPCPLdPCLsPCOUNT ++++= 4322110

    Numrtorul trebuie ncrcat paralel atunci cnd trebuie s efectueze tranziii care nu sunt codificate n secvena binar de numrare. Aceste tranziii se efectueaz din starea M0 dac produsul logic 12 = CLs , din starea M1 dac 12 =C , din starea M2 dac 1=Ls . 2. Condiia de ncrcare paralel este:

    LdPLsPLsPCPCLsPLOAD ++++= 6522120 3. Intrrile de date trebuie s conin codul strii la care se face saltul; adic n starea P0,

    intrrile DA, DB, DC trebuie s asigure tranziia n starea P6 (s aib aplicat combinaia 110). Similar, din starea P1, trebuie asigurat saltul n starea P6, s.a.m.d.

    6610

    10

    PDCPPPDB

    PPDA

    =

    ++=

    +=

    Aceasta ntruct: DA DB DC 1 1 0 P0 1 1 0 P1 0 0 0 P2 0 0 1 P6 0 0 0 P5

    4. STPCLR = (punere sub tensiune) In Fig.11.2. 7. este schema logic a circuitului implementat cu multiplexoare i numrtor.

    4.2.4 Utilizarea memoriilor fixe programabile PROM la sinteza circuitelor secveniale sincrone

  • 11

    Utilizarea memoriilor fixe mpreun cu alte circuite cum ar fi registre, numrtoare, multiplexoare, permite realizarea circuitelor secveniale sincrone caracterizate printr-o flexibilitate sporit. Vom proiecta dou structuri de circuite secveniale realizate cu memorii fixe programabile PROM. De notat c indiferent de structura adoptat, memoriile PROM ndeplinesc n general urmtoarea funcie: aplicndu-se la intrrile de adresare ale memoriei codul strii prezente, la ieire apare codul strii urmtoare la care se poate face saltul i eventual funciile de ieire. In Fig.11.2. 8 este prezentat un circuit secvenial realizat cu multiplexoare, numrtoare i memorie PROM; acest circuit lucreaz dup diagrama strilor fcut anterior i se obine prin nlocuirea circuitului decodificator i a porilor logice folosite pentru obinerea semnalelor: DA, DB, DC, Ms i Md cu o memorie PROM. Semnalele care se aplic la intrrile de date ale multiplexoarelor sunt identice n cele dou cazuri.

    P0/ P1/ P6/

    CDB 442

    23 22 21 20

    QA QB QC

    CLR LO AD 23 22 21 20 CLK COUNT

    C B A 0 1 2 MUX 3 1 4 5 6 7

    LsC2C2Ls

    00

    LsLd

    0

    D Q

    T

    A B C 01

    MUX 22 3

    4567

    LsC2 Ld C2 Ls Ld 0 0 0

    Q D

    T &

    &

    P6

    P0/ P1/

    P0/ P1/ P2/ P3/ P4/ P5/ P6/

    P1/ P4/ P6/

    & M d

    P2/ P3/ P5/

    & M s

    Fig.11.2. 7

    De notat c ntruct diagrama strilor are numai 7 stri, codificate cu 3 variabile de stare, memoria cea mai mic de care ar fi nevoie ar trebui s aib 8 cuvinte de 3 bii. ntruct nu se produc memorii cu capacitate aa mic se va folosi memoria SN74188 organizat n 32 cuvinte a cte 8 cifre binare; o asemenea memorie poate fi folosit pentru generarea att a strii urmtoare ct i a funciilor de ieire: Ms i Md. In schem intrrile cu ponderea cea mai mare (23, 24) sunt legate la mas; prin urmare se pot adresa doar primele 8 cuvinte.

  • 12

    In exemplul dat memoria este incomplet folosit, ceea ce este de fapt un fenomen general datorat numrului limitat de tipuri de memorie produse n serie. Tabelul de programare al memoriei se completeaz pe baza datelor din diagrama strilor; pentru fiecare stare, la adresa selectat de codul acesteia, se memoreaz codul strii urmtoare, care se obine prin salt, deci nu prin incrementare.

    SN74188 D A D B DC

    24 23 22 21 20

    QA QB QC

    CLR LO AD 23 22 21 20 CLK COU NT

    C B A 0 1 2 M UX 3 1 4 5 6 7

    LsC2C2Ls

    00

    LsLd

    0

    D Q

    T

    A B C 01

    M U X 22 3

    4567

    LsC 2 Ld C2 Ls Ld 0 0 0

    Q D

    T

    M s M d

    Fig.11.2. 8

    In tabelul de mai jos se prezint programarea memoriei (cu * s-au notat biii neutilizai). Intrri Ieiri 24 23 22 21 20 7 6 5 4 3 2 1 0 0 0 0 0 0 * * * 0 0 1 1 0 0 0 0 0 1 * * * 1 0 1 1 0 0 0 0 1 0 * * * 0 1 0 0 0 0 0 0 1 1 * * * 0 1 * * * 0 0 1 0 0 * * * 1 0 * * * 0 0 1 0 1 * * * 0 1 0 0 0 0 0 1 1 0 * * * 1 0 0 1 1 0 0 1 1 1 * * * 0 0 0 0 0 A B C Nu se folosesc Md Ms QA QB QC In Fig.11.2. 9 este prezentat o alt structur de circuit secvenial sincron implementat cu memorie PROM. Pentru structura prezentat la codificarea strilor nu se mai impune restricia ca acestea s prezinte o secven de numrare. Deci exist o mai mare libertate la codificarea strilor. Dezavantajul acestei structuri este c necesit mai mult memorie. Pentru exemplificare s-a considerat aceeai diagram a strilor; intrrile la multiplexoare rmn neschimbate. De notat c n acest caz se vor utiliza 24 cuvinte de memorie (de 3 ori mai multe cuvinte dect n structura anterioar).

  • 13

    MUX 1

    MUX 2

    MEMORIE PROM

    REGISTRU DE STARE

    Intrri Ieiri

    1 0

    Fig.11.2. 9

    Adrese Ms Md A B C 0 0 0 0 0 * * * 0 0 0 0 0 0 0 0 0 1 * * * 0 1 0 0 1 0 0 0 1 0 * * * 1 0 0 1 0 0 0 0 1 1 * * * 1 0 0 1 1 0 0 1 0 0 * * * 0 1 1 0 0 0 0 1 0 1 * * * 1 0 1 0 1 0 0 1 1 0 * * * 0 1 1 1 0 0 0 1 1 1 * * * 0 0 0 0 0 0 1 0 0 0 * * * 0 1 0 0 1 0 1 0 0 1 * * * 1 0 0 1 0 0 1 0 1 0 * * * 1 0 0 1 1 0 1 0 1 1 * * * 0 1 1 0 0 0 1 1 0 0 * * * 1 0 1 0 1 0 1 1 0 1 * * * * * * * * 0 1 1 1 0 * * * * * * * * 0 1 1 1 1 * * * * * * * * 1 0 0 0 0 * * * 0 1 1 1 0 1 0 0 0 1 * * * 0 1 1 1 0 1 0 0 1 0 * * * 0 0 0 0 0 1 0 0 1 1 * * * * * * * * 1 0 1 0 0 * * * * * * * * 1 0 1 0 1 * * * 0 0 0 0 0 1 0 1 1 0 * * * 1 0 0 1 1 1 0 1 1 1 * * * * * * * * LOAD COUNT

    La completarea tabelului se ine cont de urmtoarele dou reguli: 1. Fiecare multiplexor trateaz o condiie de tranziie 2. Dac multiplexoarele dau 00 la ieire, atunci starea viitoare este identic cu starea

    prezent 3. Situaia cu activarea ieirilor pentru ambele multiplexoare este nepermis