module_circ_secv.pdf

17
Circuite secvențiale * porțile, mux, decodificatoare: ieșirea depinde doar de intrare (circuite combinționale) * circuitele secvențiale – sunt circuite a căror ieșire depinde atît de intrare, cît și de starea (ieșirea) curentă Necesitate (ex. simplu): automat de vînzare În plus, alte funcții esențiale în sistemele digitale: memorare, interfațare, sincronizare, creerea de automate. * D.p.v. constructiv: circuite regenerative - caracterizate prin faptul că au două stări electrice diferite şi prin faptul că trecrea dintr-o stare în alta se face prin proces regenerativ * deosebiri: - la circuitele neregenerative tensiunea de ieşire depinde permanent de tensiunea de intrare; - la circuitele regenerative comutarea este iniţiată de un impuls de declanşare (din exterior sau datorită îndeplinirii unei condiţii de circuit), iar funcţionarea circuitului nu mai depinde în continuare de impulsul de comandă; * elemente necesare pentru un circuit regenerativ: - sursă de alimentare în curent continuu; - amplificator cu reacţie pozitivă (sau dispozitiv cu rezistenţă negativă); - element de stocare temporară a energiei; * după timpul în care circuitul stă în fiecare din cele două stări: - CBB; - CBM; - CBA; - CBS CBB asimetric (trigger Schmitt). Schema de principiu a unui CBB pentru studiul condiţiilor generale de funcţionare a circuitelor regenerative, se consideră un amplificator cu reacţie pozitivă format, de exemplu, din două inversoare:

Upload: catalin-oancea

Post on 26-Jan-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Module_circ_secv.pdf

Circuite secvențiale

* porțile, mux, decodificatoare: ieșirea depinde doar de intrare (circuite

combinționale)

* circuitele secvențiale – sunt circuite a căror ieșire depinde atît de intrare, cît și de

starea (ieșirea) curentă

Necesitate (ex. simplu): automat de vînzare

În plus, alte funcții esențiale în sistemele digitale: memorare, interfațare,

sincronizare, creerea de automate.

* D.p.v. constructiv: circuite regenerative - caracterizate prin faptul că au două

stări electrice diferite şi prin faptul că trecrea dintr-o stare în alta se face prin

proces regenerativ

* deosebiri:

- la circuitele neregenerative tensiunea de ieşire depinde permanent de

tensiunea de intrare;

- la circuitele regenerative comutarea este iniţiată de un impuls de declanşare

(din exterior sau datorită îndeplinirii unei condiţii de circuit), iar funcţionarea

circuitului nu mai depinde în continuare de impulsul de comandă;

* elemente necesare pentru un circuit regenerativ:

- sursă de alimentare în curent continuu;

- amplificator cu reacţie pozitivă (sau dispozitiv cu rezistenţă negativă);

- element de stocare temporară a energiei;

* după timpul în care circuitul stă în fiecare din cele două stări:

- CBB;

- CBM;

- CBA;

- CBS – CBB asimetric (trigger Schmitt).

Schema de principiu a unui CBB

pentru studiul condiţiilor generale de funcţionare a circuitelor regenerative,

se consideră un amplificator cu reacţie pozitivă format, de exemplu, din

două inversoare:

Page 2: Module_circ_secv.pdf

- circuitul are două stări stabile:

S1: oLoHoL VVVVVV 121 ;

S2: oHoLoH VVVVVV 121 .

- schimbarea stării: proces regenerativ dacă amplificarea pe buclă este 1 :

- starea iniţială S1: 1V creşte (perturbaţie din exterior, de ex.) inversorul I2

intră în zona liniară 2V , inversorul I1 intră şi el în zona liniară 1V creşte şi,

dacă reacţia pozitivă are caracter regenerativ, circuitul trece în starea S2; procesul

este în avalanşă.

* determinarea condiţiei de funcţionare regenerativă:

- se desface bucla de reacţie:

- se desenează caracteristicile de transfer ale celor două inversoare presupuse

identice;

Page 3: Module_circ_secv.pdf

- dacă se închide bucla de reacţie, adică dacă: io vv (prima bisectoare) se

obţin 3 puncte de funcţionare, dacă 1A : două stabile (după o variaţie mică în

jurul punctului respectiv, se revine la starea iniţială după anularea perturbaţiei) şi

un punct de funcţionare instabil (orice mică perturbaţie la intrarea duce punctul de

funcţionare în unul din cele două puncte stabile:;

Recapitulare: Circuite basculante bistabile, implementate cu

porți logice

Circuite bistabile RS fără ceas

S R Qn

0 0 Qn-1

0 1 0

1 0 1

1 1 NEPERMIS

Circuite bistabile RS cu ceas, active pe nivel (Latch)

CLK S R Qn

0 X X Qn-1

1 0 0 Qn-1

1 0 1 0

Page 4: Module_circ_secv.pdf

1 1 0 1

1 1 1 NEPERMIS

Circuite bistabile D cu ceas, active pe nivel (Latch)

CLK D Qn

0 X Qn-1

1 0 0

1 1 1

Circuite bistabile JK cu ceas, active pe nivel (Latch)

CLK J K Qn

0 X X Qn-1

1 0 0 Qn-1

Page 5: Module_circ_secv.pdf

1 0 1 0

1 1 0 1

1 1 1 Qn-1\ (negat)

Circuite bistabile cu ceas, active pe front (Flip-flop) – ex pt circ. D

QM

Page 6: Module_circ_secv.pdf

Timpi limită în CBB

Circuitele bistabile au ca date de catalog doi timpi limită în ceea ce privește

variația semnalelor de intrare în raport cu CLK : tsetup și thold. Astfel, pentru a fi

garantat că este corect citită, intrarea trebuie să fie stabilă cu cel puțin tsetup înainte

ca semnalul CLK să devină activ, și trebuie să rămână așa cel puțin thold după ce

CLK a devenit activ. Altfel, dacă semnalul CLK este activ și intrarea se schimbă,

momentul în care ea se schimbă trebuie să fie la cel puțin tsetup după ce CLK s-a

schimbat, iar CLK trebuie să rămână activ cel puțin thold după ce intrarea s-a

schimbat.

De asemenea, CBB sunt caracterizate de un timp de propagare (timpul necesar ca

ieșirea să se schimbe atunci când intrarea s-a schimbat). În funcție de tipul

circuitului și de arhitectura lui internă, e posibil să mai apară și alți timpi limită.

Ex – circ D tip flip-flop, master-slave

- tsetup este dat de tp prin master, a.î. la apariția CLK valoarea lui Ds să fie cea

corectă

- thold este dat de condiția ca D master să nu se schimbe înainte ca semnalul

CLK să fie negat și nici până ce el nu se propagă la ieșirea porții 1.

Tipic, tsetup = (1.5-3) thold, dar ei depind de arhitectura internă a bistabililor D (care e

diferită de cea de principiu, din figura de mai sus).

Dacă acești timpi nu sunt respectați, nu este garantat că intrarea va fi prelucrată (că

ieșirea se va schimba corespunzător).

1

Page 7: Module_circ_secv.pdf

Implementarea CBB

Pt circuitul D tip latch – f. des folosit, pornind de la celula de bază:

- CLK=1 – reacția întreruptă, Q=D (după propagarea prin inversoare)

- CLK = 0 – intrarea este decuplată, se menține valoarea lui Q în buclă

Avantaj: doar 6 tranzistoare (2/ invertor) ! (schema cu porți – 18 tranzistoare)

Problemă: tranzistorul n transmite bine 0, (0V), dar nu 1 (în loc de Vdd este Vdd-

Vp și lent)

Soluție:

Poarta de transmisie

Tranzistoarele n și p în paralel:

Regim staționar 1 logic – n blocat, p deschis, Vo=Vin

Regim staționar 0 logic – n deschis, p blocat, Vo=Vin

Regim dinamic 1 logic – și n conduce inițial, apoi se

blochează

Schema CBB:

Page 8: Module_circ_secv.pdf

8 tranzistoare (în loc de 18). Funcționare bună. O dată ce D a fost citit, dacă nu mai

apare un nou impuls CLK, valoarea lui D este menținută de bucla de reacție – cât

timp circuitul e alimentat.

Implementarea de circuite active pe front (flip- flop)

A. Implementarea statică:

- Folosind principiul Master-slave și schema de mai sus a bistabilului D

- Sunt în total 16 tranzistoare

- tsetup este dat de propagarea D pană la QM și menținerea lui (2tpinv+2tgate)

- thold este tpinv (pt. CLK) + tgate (pt. ca sigur QM să nu se schimbe)

- tp este propagarea QM la ieșira lui QS, adică 2tpinv + tgate

Page 9: Module_circ_secv.pdf

B. Implentarea dinamică:

- Soluție agresivă pt reducerea nr. de tranzistoare

- Funcționarea: bazată pe capacitățile parazite CGS ale tranzistoarelor MOS

- Astfel, putem considera că la QM este conectată o capacitate parazită CM

(suma CGS pentru cele două tranzistoare din slave) iar la Q o capacitate

parazită CS (suma CGS pentru circuitele la care bistabilul e conectat –

acestea nu sunt reprezentate). Schema devine:

QM

Page 10: Module_circ_secv.pdf

- Dacă D =0 și CLK=0, QM devine 1 – capacitatea parazită dată de intrările

în slave se încarcă

- Cand CLK=1, ieșirea master intră în starea de mare impedanță, iar

capacitatea CM rămâne încărcată, deci ieșirea slave va trece în zero

(conduc tranzistoarele NMOS). Capacitatea CS se descarcă, iar ieșirea

bistabilului/ intrarea etajelor următoare este în 0 logic

- Cand CLK=1, CS rămâne descărcată (chiar daca QM se schimbă), deci la

ieșire se păstrează 0 logic

OBS Ideal, capacitățile rămân încărcate/ descărcate un timp “infinit”, în realitate

ele se descarcă/ încarcă prin curenții de scăpare ai tranzistoarelor (în stare blocată,

prin MOS trece un curent f.f. mic între drenă și sursă). În acest caz, tensiunea pe

condensator variază spre o valoare de echilibru dată de divizorul de tensiune

format de cele 2 tranzistoare. Valoarea finală depinde de caracteristicile reale ale

celor 2 tranzistoare, deci ajunge fie la 0 fie la 1 logic, așadar la funcționare

incorectă.

QM

CM CS

Page 11: Module_circ_secv.pdf

De aceea, această schemă funcționează corect dacă tCLK<<tdescărcare. Ea se folosește

numai în (unele) blocuri interne din circuitele integrate. Cum tdescărcare este în

circuitele integrate de ordinul s, schema funcționează pentru tCLK de ord ns – zeci

ns.

Deoarece schema este în permanență în regim dinamic (dat de încărcarea/

descărcarea capacităților parazite), această soluție se numește implementare

dinamică.

Avantaje:

- Dimensiune mult mai mică

- Timpi de setup și de propagare mai mici (doar întârzierea printr-un singur

inversor)

Limitare: folosită doar în blocuri de circuit care sunt accesate suficient de des, a.î.

tCLK<<tdescărcare.

Aplicații ale circuitelor basculante bistabile

Regiștri

Registru de deplasare/ registru serie-paralel

Schema (cu bistabili D) – în cazul general pe n biți

La fiecare ceas activ (front pozitiv al semnalului CLK) fiecare bistabil citește

intrarea; biții se deplasează spre dreapta. Este folosit ca:

- registru de deplasare (shift), sau

- ca registru ce primește date serial (de la un port serial) și, după n perioade de ceas

dă la ieșire (Q1-Qn) datele paralel (cuvânt)

Versiune completă – include mecanismul de încărcare paralelă și selecție mod

încărcare/ shift :

Page 12: Module_circ_secv.pdf

Shift\ (Load) =1 – încarcă datele paralele

Shift\ (Load) =0 – deplasează datele seriale (citind cite o nouă data în 1)

Cel mai folosit: registrul parallel – citește datele la fiecare front al ceasului și le

menține la ieșire pînă la următorul front

Page 13: Module_circ_secv.pdf

Folosit pentru interfațarea blocurilor (combinaționale) și obținerea de circuite

sincrone = circuite a căror stare se schimbă doar la tranzițiile ceasului

Ex – blocul de adunare/ scădere pe n biți

- Intrările trebuie menținute “până se calculează ieșirile”

- Ieșirile devin corecte pe rând (primul S0, ultimul Sn-1, datorită calculului

deplasării)

- Dificil de gestionat

- Circuit sincron :

o intrările sunt citite la o tranziție a ceasului (și menținute constante

pînă la următoarea)

o ieșirile sunt citite la tranziția ceasului = deci trebuie să fie stabile și

corecte mai repede decît o perioadă de ceas

Acest principiu se poate aplica pentru orice bloc combinațional : în felul acesta

apare un circuit sincron, cu o stare bine precizată la orice tranziție 0 -> 1 a

ceasului.

În plus, prin interfațarea cu regiștri, se poate implementa un sistem pipe-line, în

care fiecare bloc are intrările menținute constant o perioadă de ceas,

Page 14: Module_circ_secv.pdf
Page 15: Module_circ_secv.pdf

Numărătoare

- incrementează/ decrementează conținutul la fiecare clk activ

- pot fi:

o asincrone (intrarea de clk este ieșirea unui alt bistabil)

o sincrone (toți bistabilii au același clk)

Numărător asincron

-se poate realiza cu practic orice bistabili, dar principiul e același

-schema identică pentru incrementare/ decrementare – diferența dată de frontul pe

care sunt activi bistabilii:

- frontul descrescător pentru incrementare

- frontul crescător pentru decrementare

-asincron – tranziția este dată de ieșirea bistabilului, deci pentru bistabilul n apare o

întîrziere față de clk = tp*(n-1)

D

CLK

PRE

CLR

Q

Q

A1

D

CLK

PRE

CLR

Q

Q

A2

V1

PULSE(0 1 0 1n 1n 5u 10u 10)

D

CLK

PRE

CLR

Q

Q

A3

D

CLK

PRE

CLR

Q

Q

A4

.tran 60u

Page 16: Module_circ_secv.pdf

Mașini cu stări finite (automate secvențiale)

Circuite cu mai multe stări, a căror funcționare depinde de starea curentă și de

combinația intrărilor. Astfel, în funcție de intrări automatul poate trece într-o nouă

stare (din mulțimea –finită – a stărilor definite) și poate genera o altă ieșire (sau

poate rămâne în starea existentă).

0µs 6µs 12µs 18µs 24µs 30µs 36µs 42µs 48µs 54µs

0.0V0.1V0.2V

0.3V0.4V0.5V0.6V0.7V

0.8V0.9V1.0V

0.0V0.1V0.2V0.3V0.4V0.5V0.6V0.7V0.8V0.9V1.0V

0.0V0.1V0.2V0.3V0.4V0.5V0.6V0.7V0.8V0.9V1.0V

V(n004)

V(n003)

V(n005)

6µs 12µs 18µs 24µs 30µs 36µs 42µs 48µs 54µs 60µs

0.0V0.1V0.2V0.3V0.4V0.5V0.6V0.7V0.8V0.9V1.0V

0.0V

0.2V

0.4V

0.6V

0.8V

1.0V

0µs 6µs 12µs 18µs 24µs 30µs 36µs 42µs 48µs 54µs 60µs

0.0V

0.2V

0.4V

0.6V

0.8V

1.0V

V(n002)

V(n001)

V(n005)

Page 17: Module_circ_secv.pdf

Aplicații – pentru implementarea de circuite de comandă neprogramabile și (foarte

important) a multor blocuri din circuitele digitale, inclusiv din microprocesoare.

Ieșirile pot depinde în mod direct fie exclusiv de starea circuitului (tip Moore), fie

direct de stare și de intrări (tip Mealy).

OBS Numărătoarele sunt și ele mașini cu stări finite.