7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
1/13
8. Numrtoare- Proiectare iaplicaii.
8.1 Numrtorde impulsuri.a.Funcia principala numrtorului de impulsuri este aceea de a genera un numrde variabile deieire care indicnumrul de impulsuri de ceas aplicate la intrare ; n general variabilele de ieirereprezintstarea logica variabilelor de stare implementate prin circuite basculante bistabile. Aciunea
de incrementare a numrtorului este numitCount Up (CU).Un exemplu simplu de numrtormodulo 16 ( hexazecimal )este implementat cu patru CBBJK masterslave.
Figura 1 Implementarea unui numrtormodulo 16.
Funcionarea CBBJK master slaven regimul toggledetermincomutaia n starea complementarpefrontul decresctor al ceasului propriu Ti.Din diagrama de impulsuri din figura 2 se constat ccircuitul din figura 1 parcurge toate strile logice intre
0000 ( 0hexa )pnla1111 ( Fhexa ), deci funcioneazca un numrtormodulo 16 ( hexazecimal ).Se va observa cfiecare modul de rang 2ieste comandat de modulul de ordin inferior 2i-1,acumulnd astfelntrzieri de comutaie ale rangurilor superioare.
Figura 2 Diagrama de impulsuri
t
CLK
t
1
t
t
t
Q0
J0 K0
Q3Q2Q1Q0 T3T2T1T0
J1 K1 J2 K2 J3 K3
Q3Q2Q1Q0
Q1
Q2
Q3
0 1 2 3 4 5 6 7 8 9 A B
C D E F 0
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
2/13
Notnd cu ntrzierea de stabilizare a ieirilor Q0, Q1, Q2, Q3 se observcbitul Q0 comutdup fade CLK,bitul Q1 comutdup2 fade CLK,bitul Q2 comutdup3 fade CLKibitul Q3 comutdup4 fade CLK.
Generalizare : considerm cstructura se extinde la n biinumrtormodulo 2n.In cazul cel maidefavorabil starea comunicatde ctrenumrtordevine stabildupntrzierea maximn* care are loc
atunci cnd comutMSB(bitul cel mai semnificativ).
b. Proiectarea unui numrtormodulo 16 cu ntrziere de comutaie constant.
Operarea numrtorului se bazeazpe regula de incrementare a valorii hexazecimale a celor patrubiideieire. Fiecare bit Qide rang 2
icomutn starea opusatunci cnd toibiiide rang 2kundek Qn+1= Qn, respectiv dacJ = K = 1 => Qn+1= Qn
Rezulturmtoarele condiii comand:J0 = K0 = 1, J1 = K1 = Q0, J2 = K2 = Q0 * Q1 = a, J3 = K3 = Q0 * Q1 *Q2 = b;
In schema logics-a sintetizat isemnalul Carry = Q0 * Q1 *Q2 * Q3 *CLK. Carry este utilizat pentru aconecta un numrtorde ordin superior, realiznd astfel un numrtormodulo 256.
Figura 3 Schema logica numrtorului cu ntrziere de comutaie constant.
Concluzii :
ntrzierea de comutaie interna celor patru biieste stabilitprin nsumarea timpului destabilizare a ieirilor modulelor logice : t1(ntrzierea de comutaie a variabilelor de stareQi), t2(ntrzierea de stabilizare a ieirilor porilor AND), tsu(intervalul de prestabilizare aintrrilor J iK). Frecvena maxima ceasului CLK se calculeazcu formula fmax= 1 / (t1+t2+ tsu).
Ieirea Carry = Q0 * Q1 *Q2 * Q3 *CLK este ntrziatfade ceasul CLK datorittimpului de propagare prin poarta AND.
c. Funcii suplimentare ale numrtoarelor.
In scopul creterii funcionalitii numrtorului, se pot proiecta intrride comandsuplimentare.1.
Semnalul de intrare Clear (CLR) sauReset are scopul de a trece toate variabilele de stare lavaloarea 0 logic. Semnalul are prioritate fade incrementarea valorii Count Up (CU)ipoate acionan mod asincron sau sincronizat de ctreceasul CLK. Semnalul poate fi AL(activ n 0 logic) sau AH(activ n 1 logic) n funcie de implementarea acestei funcii logice.
J0 K0
Q3Q2Q1Q0 T3T2T1T0
J1 K1 J2 K2 J3 K3
CLK
1
Carry
a b
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
3/13
2.Semnalul de intrare Load (LD) sauPreset (P) are scopul de a ncrca fiecare variabilde stare Qicu valoarea logicspecificatde intrarea de date Di. Semnalul are prioritate fade incrementareavalorii Count Up (CU)ipoate aciona n mod asincron sau sincronizat de ctreceasul CLK.Semnalul
poate fi AL(activ n 0 logic) sau AH(activ n 1 logic) n funcie de implementarea acestei funciilogice.Not:n general semnalul Cleareste prioritar fade Load, dar cele dousemnale nu pot fi active n
acelai timp.
d. Funcia de reversibilitate a sensului de numrare.
In exemplele prezentate anterior, numrtorul cretevaloarea cu o unitate pentru fiecare impuls al ceasului.In anumite aplicaii este necesar ca numrtorul sdescreascvaloarea cu o unitate pentru fiecare impuls al
ceasului.
Funcia de reversibilitate a sensului de numrare reprezintposibilitatea de a inversa sensul de numrareprin variante specifice de control.
Varianta 1 : Controlul cu ceas individual pentru sens.Circuitul are douintrride ceas, CU (Count Up)pentru modul de numrare cresctoriCD (Count
Down)pentru modul de numrare descresctor. In acest caz vor fi generate douieiri de transport Carry(CRY) iBorrow (BRW)care permit interconectarea n cascada mai multor module de acelai tip.Semnalul CRY va fi o copie a CUatunci cnd numrtorul ajunge la valoarea maxim (Fpentrunumrtorul hexazecimal), iar semnalul BRW va fi o copie a CDatunci cnd numrtorul ajunge lavaloarea minim(0pentru numrtorul hexazecimal)Varianta 2 : Controlul cu ceas unic CLK iintrare de specificare a sensului.Circuitul are o singur intrare de ceas, CLK io intrare DIRde control al sensului. DacDIR=1numrtorul va numra cresctor, iar dac DIR=0numrtorul va numra descresctor . In acest caz va figenerato singurieire de transport RippleCarry (RC). RippleCarry (RC) va deveni activatunci cndnumrtorul se afln starea finalFpentru numrtorul hexazecimal dacDIR=1, respectiv 0pentrunumrtorul hexazecimal dacDIR=0. RippleCarry (RC)permite interconectarea n cascada mai multor
module de acelai tip.In figura 4 este reprezentat flowchart-ul ASMal unui numrtorreversibil care funcioneazconform cuVarianta 2.
Figura 4
DIR DIR DIR DIR
DIR DIR DIR DIR
DIR DIR DIR DIR
DIR DIR DIR DIR
0 1 2 3
4 5 6 7
8 9 A B
C D E F
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
4/13
Codurilor hexazecimale asociate celor 16 stri sunt reprezentate n tabel.
Val. Q3 Q2 Q1 Q00 0 0 0 01 0 0 0 12 0 0 1 0
3 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 1A 1 0 1 0B 1 0 1 1C 1 1 0 0D 1 1 0 1E 1 1 1 0F 1 1 1 1
Analiza tranziiilor de stare aratc:
Pentru modul incremental, fiecare bit Qide rang 2icomutn starea opusatunci cnd toi biii derang 2kundek
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
5/13
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0
Q3, Q2
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1
0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1
1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 0 1
1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1
DIR = 1 Q3 Q2 Q1 Q0
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0
Q3, Q2
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 - - 0 0 1 - - 1
0 1 0 0 1 0 0 1 - - - - 0 1 0 1 - - 0 1 1 - - 1
1 1 - - - - 1 1 - - - - 1 1 0 1 - - 1 1 1 - - 1
1 0 - - - - 1 0 0 0 1 0 1 0 0 1 - - 1 0 1 - - 1
DIR = 1 J3 J2 J1 J0
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0
Q3, Q2
0 0 - - - - 0 0 - - - - 0 0 - - 1 0 0 0 - 1 1 -
0 1 - - - - 0 1 0 0 1 0 0 1 - - 1 0 0 1 - 1 1 -
1 1 0 0 0 0 1 1 0 0 1 0 1 1 - - 1 0 1 1 - 1 1 -1 0 0 0 1 0 1 0 - - - - 1 0 - - 1 0 1 0 - 1 1 -
DIR = 1 K3 K2 K1 K0
Funciile de control ale vaiabilelor { (J3,K3), (J2,K2), (J1,K1), (J0,K0) } iRippleCarry (RC) sunt:
J0 = K0 = 1, independent de DIR
J1 = K1 = Q0 *DIR + Q0 *DIR
J2 = K2 = Q1 *Q0 *DIR + Q1 *Q0 *DIR
J3 = K3 = Q2 *Q1 *Q0 *DIR + Q2 *Q1 *Q0 *DIR
RC = Q3 *Q2 *Q1 *Q0 *DIR + Q3 *Q2 *Q1 *Q0 *DIR
e. Numrtoarezecimale.Numrtoarele hexazecimale prezentate anterior sunt numrtoare binare, deoarece parcurg cele 24coduribinare ale celor patru bii de stare.Numrtorul zecimal (decadic) beneficiazde patru bii de stare, dar
parcurge numai 10 stri: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }pentru sensul incrementalUP.
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0Q3, Q20 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 10 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 11 1 - - - - 1 1 - - - - 1 1 - - - - 1 1 - - - -1 0 0 1 - - 1 0 1 0 - - 1 0 1 0 - - 1 0 1 0 - -DIR = 0 Q3 Q2 Q1 Q0
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0Q3, Q2
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 10 1 0 0 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 11 1 - - - - 1 1 - - - - 1 1 - - - - 1 1 - - - -1 0 1 0 - - 1 0 0 0 - - 1 0 0 0 - - 1 0 1 0 - -DIR = 1 Q3 Q2 Q1 Q0
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
6/13
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0
Q3, Q2
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 - - 0 0 1 - - 10 1 0 0 0 0 0 1 - - - - 0 1 1 0 - - 0 1 1 - - 1
1 1 - - - - 1 1 - - - - 1 1 - - - - 1 1 - - - -1 0 - - - - 1 0 1 0 - - 1 0 1 0 - - 1 0 1 - - -DIR = 0 J3 J2 J1 J0
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0Q3, Q2
0 0 - - - - 0 0 - - - - 0 0 - - 0 1 0 0 - 1 1 -
0 1 - - - - 0 1 1 0 0 0 0 1 - - 0 1 0 1 - 1 1 -
1 1 - - - - 1 1 - - - - 1 1 - - - - 1 1 - - - -1 0 1 0 - - 1 0 - - - - 1 0 - - - - 1 0 - 1 - -DIR = 0 K3 K2 K1 K0
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0
Q3, Q2
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 - - 0 0 1 - - 1
0 1 0 0 1 0 0 1 - - - - 0 1 0 1 - - 0 1 1 - - 1
1 1 - - - - 1 1 - - - - 1 1 - - - - 1 1 - - - -1 0 - - - - 1 0 0 0 - - 1 0 0 1 - - 1 0 1 - - -DIR = 1 J3 J2 J1 J0
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0
Q3, Q2
0 0 - - - - 0 0 - - - - 0 0 - - 1 0 0 0 - 1 1 -
0 1 - - - - 0 1 0 0 1 0 0 1 - - 1 0 0 1 - 1 1 -
1 1 - - - - 1 1 - - - - 1 1 - - - - 1 1 - - - -1 0 0 1 - - 1 0 - - - - 1 0 - - - - 1 0 - 1 - -
DIR = 1 K3 K2 K1 K0
Funciile de control minimizate ale vaiabilelor { (J3,K3), (J2,K2), (J1,K1), (J0,K0) } iRippleCarry (RC)
J0 = K0 = 1, independent de DIR
J1 = Q0 *DIR + Q2 *Q0 *DIR + Q3 *Q0 *DIR K1 = Q0 *DIR + Q0 *DIR
J2 = Q1 *Q0 *DIR + Q3 *Q0 *DIR K2 = Q1 *Q0 *DIR + Q2 *Q0 *DIR + Q3 *Q0 *DIR
J3 = Q0 *DIR + Q2 *Q1 *Q0 *DIR K3 = Q0 *DIR + Q0 *DIR
RC = Q3 *Q2 *Q1 *Q0 *DIR + Q3 *Q2 *Q1 *Q0 *DIR
f. Numrtoaretipice utilizate n aplicaii.In acest paragraf se vor prezenta tabelele de funcionare ale unor numrtoareintegrate produse decompaniile de profil.
1) Tipurile 74HCT192 (decadic) i74HCT193 (hexazecimal).
Mod de operare Intrri IeiriMR LD CU CD D0 D1 D2 D3 Q0 Q1 Q2 Q3 CRY BRW
Master Reset (MR) 1 - - - - - - - 0 0 0 0 1Incarcare paralela 0 0 - 0 0 0 0 0 0 0 0 1Incarcare paralela (hex) 0 0 - 1 1 1 1 1 1 1 1 1Incarcare paralela (dec) 0 0 - 1 0 0 1 1 0 0 1 1
CU (hex) 0 1 1 - - - - 1 1 1 1 1CU (dec) 0 1 1 - - - - 1 0 0 1 1CD (hex/dec) 0 1 1 - - - - 0 0 0 0 1
Semnificaiile semnalelor de intrare iprioritile lor de execuie sunt:
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
7/13
Master Reset (MR): determintrecerea n 0 logic a celor 4 biide stare; este semnal asincron,activ n 1 logic (AH) iare prioritatea de execuie cea mai mare n raport cu celelalte funcii.Dacceasul CD este activ se genereazsemnalul BRW, ct timp starea numrtorului este0000.
Incrcare paralel(LD): determinncrcarea asincrona celor 4 biide stare cu valorileintrrilor de date Di Qi; este semnal activ n 0 logic (AL) iare prioritatea de execuie mai
mare n raport cu funciile de numrare determinate de ceasurile CU sau CD. Dacnumrtorul se ncarccu 0000 iceasul CD este activ se genereaza semnalul BRW. Dacnumrtorul sencarccu 1111 iceasul CU este activ se genereazsemnalul CRY pentruvarianta hexazecimal, iar dacnumrtorul sencarc cu 1001 iceasul CU este activ segenereazsemnalul CRY pentru varianta zecimal.
Funcia de numrare incrementaleste comandatde ceasul CU pe frontul cresctor, serealizeazdacMR = 0, LD = 1 iCD = 1.
Funcia de numrare decrementaleste comandatde ceasul CD pe frontul cresctor, serealizeazdacMR = 0, LD = 1 iCU = 1.
Cele doutipuri de numrtoaresunt asamblate n capsulde 16 terminale (pini) cu aceeai alocare.
Figura 5: Alocare pini pentru circuitele 74HCT192 (decadic) i74HCT193 (hexazecimal)
2) Tipurile 74HCT162 (decadic) i74HCT163 (hexazecimal).Cele doutipuri de numrtoarenumrnumai n sens cresctor, pe frontul cresctor al ceasului CLK.Toate operaiile sunt executate sincron n momentul frontului cresctor al ceasului CLK.Intrrile specificate n tabela de funcionare reprezintcondiii de operare (semnale condiionale),iarexecuia condiiei de operare este validatde ctreceasul CLKcare este semnalul executiv, n momentulfrontului cresctor.Ceas Intrri Ieiri (Stare) Ripple CarryCLK MR LD CEP CET D0 D1 D2 D3 Q0
n+1 Q1n+1 Q2
n+1 Q3n+1 RC
MR 0 - - - - - - - 0 0 0 0 0LD 1 0 - - 0 0 0 0 0 0 0 0 0Load (hex) 1 0 - - 1 1 1 1 1 1 1 1 CETLoad (dec) 1 0 - - 1 0 0 1 1 0 0 1 CETCount (hex) 1 1 1 1 - - - - Staren+ = Staren + 1 1, Stare = FCount (dec) 1 1 1 1 - - - - Staren+ = Staren + 1 1, Stare = 9Hold 1 1 0 0 - - - - Q0n Q1n Q2n Q3n 0
Hold (hex) 1 1 0 1 - - - - Q0n
Q1n
Q2n
Q3n
1, Stare = FHold (dec) 1 1 0 1 - - - - Q0n Q1n Q2n Q3n 1, Stare = 9Hold 1 1 1 0 - - - - Q0n Q1n Q2n Q3n 0
Q0Q1 Q2 Q3CD CU
1
D11
GND
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
MRD0 LD D2BRW
CRYVCC D3
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
8/13
Semnificaiile semnalelor de intrare iprioritile lor de execuie sunt:
Master Reset (MR): determintrecerea sincronn 0 logic a celor 4 biide stare; este semnalasincron validat sincron de CLK, activ n 0 logic (AL) iare prioritatea de execuie cea maimare n raport cu celelalte condiii de operare (semnale condiionale).
Incrcare paralel(LD): determinncrcarea sincrona celor 4 biide stare cu valorileintrrilor de date Di Qi; este semnal asincron validat sincron de CLK, activ n 0 logic (AL)
iare prioritatea de execuie mai mare n raport cu condiiile de operare Count iHold.Not: dacnumrtorul se ncarccu 1111 isemnalul CEP = 1 (AH) se genereazsemnalulRipple Cary (RC) pentru varianta hexazecimal, iar dacnumrtorul se ncarc cu 1001 isemnalul CEP = 1 (AH) se genereazsemnalul Ripple Cary (RC) pentru varianta zecimal.
Semnalele condiionale CEP iCET: permit operaia de numrare Count numai dacsuntsimultan egale cu 1 logic; semnalul CET are funcia suplimentarde a valida sau invalidaieirea de transport Ripple Cary (RC).
Funcia de numrare Count este comandatde ceasul CLK pe frontul cresctor, se realizeazdacMR = 1, LD = 1, CEP = 1 iCET = 1.
Funcia Hold are rolul de a opri operaia Count ieste determinatde semnalele condiionaleCEP = 0 i/sau CET = 0.
Cele doutipuri de numrtoaresunt asamblate n capsulde 16 terminale (pini) cu aceeai alocare.
Figura 6: Alocare pini pentru circuitele 74HCT162 (decadic) i74HCT163 (hexazecimal)
8.2 Aplicaii ale numrtoarelor sincrone.Numrtoarele sincrone prezentate mai sus n paragraful f. punctul 2)pot fi utilizate n aplicaii diverse carevor fi ilustrate n exemplele urmtoare:
a) Proiectarea unui numrtorbinar modulo n.Specificarea cerinelor de proiectare:
Numrtorul va numra n sens direct, din starea iniial(00000000)BIN= (00)HEX. Se va alege modulul n = (100)DEC, deci starea final va fi (01100011)BIN= (63)HEX= (99)DEC. Se va utiliza modelul 74HCT163 (hexazecimal).
Se va analiza posibilitatea utilizrii modelului 74HCT193 (hexazecimal).Analiza cerinelor impune:
Utilizarea a dounumrtoareconectate n cascad, primul denumit NUM0pentru cifra unitilorhexazecimale, iar acesta l comandpe cel de al doilea denumit NUM1pentru cifra zecilorhexazecimale. Interconectarea intre NUM0 iNUM1 este obinutprin intermediul ieirii RC0 aNUM0care controleazintrarea CEP1; intrrile CET0, CEP0iCEP1sunt conectate la 1 logic(figura 7).
Implementarea circuitelor adiionale asigur decodificarea strii finale 01100011 a numrtoarelorcare genereaz semnalul de ncrcare LD; numrtoarele se vor ncrca cu valoarea iniial00000000. O altopiune de implementare este decodificarea strii finale 01100011 a numrtoarelorcare genereazsemnalul Master Reset MR, care va reseta la 0 logic cei 8 bii de stare.
Q0 Q1 Q2 Q3
CEPCLK D1 GND
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
MR D0
LD
D2
RCVCC
D3
CET
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
9/13
Not: Decodificarea completa strii finale care genereazsemnalul LD sau MR, ambele de tipAL, este datde expresia:
LD = Q7 *Q6 *Q5 *Q4 *Q3 *Q2 *Q1 *Q0Optimizare LD: se observcn procesul de numrare incremental(n sens cresctor) se potignora zerourile din codul strii finale in acest caz semnalul LD sau MR (opiune) este:
LD = Q6 *Q5 *Q1 *Q0.
Figura 7: Schema numrtorului modulo 100realizat cu numrtoare74HCT163 (hexazecimal)
Posibilitatea utilizrii modelului 74HCT193 (hexazecimal) trebuie sincont de faptul csemnalul dencrcare LD este asincron iare prioritate de execuie n raport cu procesul de numrare cresctoare cuceasul CU.Pentru realizarea numrtorului modulo 100 este necesar ca semnalul LD sfie generat prindecodificarea valorii (100)DEC, respectiv (01100100)BIN, deci LD = Q6 *Q5 *Q2.Nota: Semnalul LD are un timp de viaa foarte scur t, deoarece imediat ce este generat va producencrcarea valor i i 00000000, ceea ce determinca LD srevinla valoarea logic1 duptimpul de
propagare prin poarta NAND care il creaz. Existposibil itatea ca puterea semnalu lu i LDsfi einsuficientpentru a ncrcatoibiii de stare Q0 la Q7 la valoarea 0 logic, ceea ce evideniazprobabil itatea curselor cri tice autoinduse. In concluzie aceasta opiune nu este recomandat .
Figura 8: Generarea semnalului LD cu durata .
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
Q3
CEP0=VccCLK D1 GNDMR D0
LD
D2 D3
CET0=VccQ0 Q1 Q2RC0VCC
Q4 Q5 Q6 Q7
CEP1CLK D5 GNDMR D4
LD
D6
RCVCC
D7
CET1=Vcc
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
NUM0
NUM1
1Q0
Q3
Q4
Q67
5
2
Stare numrtor 99DEC
LD durata
00DEC100DEC
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
10/13
b) Proiectarea unui numrtormodulo n cu douintervale de funcionare ciclic.Specificarea cerintelor de proiectare:
Numrtorul va numra n sens direct , pacurgnd intervalele de valori zecimale specificate prin
condiiile:
3 Val 96 sau 127 Val 240 Se va utiliza modelul 74HCT163 (hexazecimal).
Analiza cerinelor impune: Utilizarea a dounumrtoareconectate n cascad, primul denumit NUM0pentru cifra unitilor
hexazecimale care l comandpe cel de al doilea denumit NUM1pentru cifra zecilor hexazecimale.Interconectarea ntre NUM0 iNUM1 este obinutprin intermediul ieirii RC0 a NUM0carecontroleazintrarea CEP1; intrrile CET0, CEP0iCEP1sunt conectate la 1 logic.
Implementarea circuitelor adiionale care genereazsemnalul de ncrcare LDrespecturmtoarelereguli: decodificarea strii 96DEC=01100000 va ncrca numrtoarele cu datele 127DEC=01111111, iardecodificarea strii 240DEC=11110000 va ncrca numrtoarele cu datele 3DEC=00000011, prezentate ntabela urmtoare.
CLK LD Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 D7 D6 D5 D4 D3 D2 D1 D0
LDmin 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1LDmax 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1
Semnalul LD = LDmin * LDmax, unde LDmin = Q7 *Q6 *Q5iLDmax = Q7 *Q6 *Q5*Q4Valorile celor 8 intrri de date D7...D0 ncrcate de ctreLDmin sauLDmaxsunt: D7 = 0, D1 = D0 = 1; D6 = D5 = D4 =D3=D2 = 1, dacLDmin = 0 D6 = D5 = D4 =D3 =D2 = 0, dacLDmax = 0
Pentru implementarea comenzilor numrtoarelor se folosesc porilogiceimultiplexoarede tip MUX
2/1 (figura 9)
Figura 9: Controlul numrtorului cu douintervale de funcionare ciclic.
c) Utilizarea numrtoarelor pentru implementarea circuitelor secveniale.Numrtorul este utilizat pentru implementarea variabilelor de stare ale ASM. Folosind funciile de
numrare incrementalCUincrcarea paralelsincronLDse obin soluii simplificate de proiectare afunciilor de tranziie ale variabilelor de stare.
Se introduce o regula de codificare adaptatspecific funcionrii numrtorului:
Tranziia din starea prezentSpctrestarea succesoare Ss1, determinatde valoarea logica intrrii t(Sp) = 1,se va realiza prin incrementarea valorii numrtorului (Count Up).Codul binar al strii Ss1va fi: cod(Ss1) = cod(Sp) + 1; n cazul particular al tranziiei directeprin 1 logic se pstreazaceeai regul;
Tranziia din starea prezentSpctrestarea succesoare Ss0determinatde valoarea logica intrrii t(Sp) = 0 se va realiza prinncrcarea paralelLD. Codul binar al strii Ss0nueste condiionat de codul strii Sp.
LDmin
LDmaxD5 D4D7
Q7
D6
LD
Q6
Q6
Q5
Q7
Q5Q4
d0
0 1 1
d1
0 1 0 1
0 1 0 1
0 1
d0 d0d1 d1d1 d0 d1 d0
D4D3 D2 D0D1
adr MUX
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
11/13
In figura 10 sunt prezentate regulile de codificare imodul de tratare al cazurilor particulare pentru o
secvende stri ale unui ASM.
Figura 10
Starea m are codul 0101 ipentru x=1trece prin incrementare n starea pcare are codul 0110, decicodp=codm+1.Starea n are codul 0111itrece prin incrementare n starea s1cu codul 1000. Starea s1afost introdussuplimentar n ASMpentru a se respecta regula de tranziie prin 1logic. Starea s1estecontrolatde constanta 0logic iva executa tranziie corectn starea p.In figura 11 esteprezentat reproiectarea de la Cap.7 (2.4) utiliznd numrtorul sincron pentru starea
ASM.
Figura 11
n
p
m
s1x y0 00 0 1
1
0101
0110 1000
0111
0
1
0VP
S3
1
S5
S4
S6
S7 S8
Enter
S81
Val
S_give
1001
1
0
Val
pin VP
Eject
Pick S_Pick
0
0
0
1
0100
0101
0110
1010
0111 1000
S9
1
Eject
Pick
1
0
0011
1
pin IP
CA
Enter
0
1
S0
S1
S2
0
1
IC
Wait
CI
AC
0
1
0010
0000
0001
Val
Enter
Pick
1011
S10
S11
S4
S6
S5
VP
S7
S9
S8
0
0
Val
S_give
Eject
Eject
Pick S_Pick
Pin VP
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
12/13
Codificarea strilor respectregulile impuse pentru controlul prin CUiLDal numrtorului sincron.Se observca fost necesar sfie introduse doustri suplimentare, S9iS11, controlate de ctreconstant0logic, pentru a se asigura consistena regulilor de codificare.
Proiectarea funciilor de tranzitie este dependentde cele patru ieiri { Q3, Q2, Q1, Q0 } ale
numrtorului ieste activnumai dacvariabila de intrare care controleaza tranziia prin intermediulieirii multiplexorului MUX 16/1 INTRRI ,este egala cu 0 (Y_control =0).
Sinteza celor patru intrri de date { D3, D2, D1, D0 } ale numrtorului este prezentatn diagrameleKarnaugh din figura 12.
Q1, Q0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0Q3, Q20 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 00 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0
1 1 - - - - 1 1 - - - - 1 1 - - - - 1 1 - - - -1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
D3 D2 D1 D0
Figura 12.
Funciile de tranziie minimizate sub forma disjunctivau expresiile urmtoare, iar implementarea cu
pori NAND / AND este ilustratn figura 13.
D3 = Q3 * Q0 + Q2 * Q0 + Q1 * Q0D3 = Q2 * Q0D3 = Q2 * Q0 + Q1 * Q0 + Q3 * Q1D3 = Q3 * Q0
Cele apte variabile de ieire : Introducere card IC, Autentificare card AC, Introducere pinIP, Verificarepin VP, Introducere suma Val, Eliberare card Eject, Eliberare suma S_give.In organigrama realizatanterior au fost definite urmtoarele aptecomenzi iapartenena acestora lastrile logice. Comenzile sunt generate numai n strile n care au fost alocate, iar valoarea logicva fi
comandactivn1 logic (AH), respectiv comandactivn0 logic (AL). In tabelul de mai jos au fostdefinite tipurile AH sau AL ale celor 7 comenzi :
Starei
semnificatie Nume ASM Tip activS0Introducere card IC IC AHS1 Autentificare card AC AC AHS3 Introducere pinIP pinIP AHS4 Verificare pin VP pin VP ALS5 Verificare Val Val AHS7 Eliberare card Eject Eject AHS8 Eliberare suma S_give S_give ALS10 Eliberare card Eject Eject AH
Implementarea semnalelor de comandeste realizatcu n decodificator 4/16 ipori logice. Ieirile
decodificatorului sunt de tip AL.Proiectarea circuitului sub forma unei scheme logice este prezentat n figura 13.
7/21/2019 08. Numaratoare - Proiectare Si Aplicatii
13/13
Figura 13: Implementarea ASM cu numrtorsincron.
Funcii de tranziie
Numrtor sincron 4 biiMUX 16/1
INTRARIQ0 Q1 Q2 Q3
CETCLK
D1MR
D0LD
D2
a1
1D3
CEP
a0d0a3 a2
d2
d3
d4
d5
d6
d7
d8
d1
CI
CA
Enter
VP
Enter
Val
Pick
S_Pick
Wait
d12
d11
d10
d9
0
Pick
0
d13
d15
d14
Y_control
Q0Q1 Q2Q3
Q0
Q1
Q2
Q3
Q0
EN0EN1
A (20)
Q0
pin IP
Q1
Q3
Q3
0123
S7 S6
IC
B (21)
Dec 7...0
AC
C (22) A (20)B (21)C (22)
Dec F...8
Q2
S0S5 S1
ValS_give
456789ABCDEF
Eject
S4S12 S8S14 S13 S9
pin VP
S3S10S11
S15
Top Related