Module_circ_secv.pdf
-
Upload
catalin-oancea -
Category
Documents
-
view
215 -
download
2
Transcript of 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:
- 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;
- 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
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
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
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
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:
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
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
- 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
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 :
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
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,
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
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)
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.