34
Iasi , 2010 Universitatea Tehnica “Gh. Asachi”, Iasi Facultatea : I.E.E.I.A Specializarea: Stiinte Ingineresti Aplicate Coordonator: S.l. Dr.Ing. Cristian Zet Student: Boca Bogdan Grupa: 6308

Proiect_CN ceas

Embed Size (px)

Citation preview

Universitatea Tehnica Gh. Asachi, Iasi Facultatea : I.E.E.I.A Specializarea: Stiinte Ingineresti Aplicate

Proiect la disciplina de Circuite Numerice

Coordonator: S.l. Dr.Ing. Cristian Zet Student: Boca Bogdan Grupa: 6308

Iasi , 2010

Iasi , 2010

Cuprins:

1. Generalitati: 2. Tema proiectului: 3. Schema Bloc: 4. Functionarea ceasului numeric: Divizorul de frecventa 5. Numaratorul 6. Afisarea Multiplexata 7. Multiplexorul 8. Decodificatorul BCD 7 Segmente 9. Decodificatorul BCD-zecimal 10. Alarma

11. Comparatorul 12. Butonul 13. Specificatii 14. Ceasul numeric 15. Bibliografie:

1

Generalitati:

Proiectul implementat si simulat cu ajutorul programului MAX+2; Trebuie respectate in totalitate toate cerintele impuse de profesor; Aditional circuitului executat cu ajutorul programului MAX+2 se va realiza un document Word in care se va explica si exemplifica datele necesare intelegerii circuitului;

Fiecare bloc exemplificat va trebui sa contina obligatoriu si formele de unda; In realizarea cerintelor se solicita lucrul individual; Pentru orice nelamurire va trebui sa apelam la bibliografie sau la profesor;

Tema proiectului:

Ceas numeric, cu anod comun, alarma, 12 ore, minute, secunde, AM, PM. Frecventa de 16MHz. Afisare multiplexata.

2

Schema Bloc:

Unde avem : O oscilator cu Quartz; DF divizor de frecventa; N numarator; D blocul de decodificare (decodificatorul); A afisarea; NA numarutorul pentru alarma; C(semnul de egal) comparatorul; ORE, MIN, ORE_AL, MIN_AL butoane pentru setare;

3

Functionarea ceasului numeric:Oscilatorul de quartz genereaza impulsuri cu o frecventa de 16MHz in cazul de fata, semnalul este divizat cu ajutorul unui divizor de frecventa, astfel incat la iesirea divizorului sa obtine 1Hz, adica echivalentul a frecventei unei secunde. De la divizorul de frecventa vor merge impulsuri catre numaratorul general, adica numaratorul care numara secundele, minutele si orele, si la numaratorul pentru alarma. Ambele numaratoare pot fi resetate (controlate) cu ajutorul butoanelor de control. De exemplu numaratorul pentru alarma nu va intra in functiune pana cand nu vom actiona butoanele care-l controleaza. Din ambele numaratoare semnalul va fi directionat catre comparator, care la randul lui le va compara si va transmite mai departe impuls catre difuzor in cazul in care numaratoarele vor ajunge la egalitate. Insa de la numaratorul de baza va merge semna si catre afisor. Afisorul ne va informa, adica este blocul periferic care realizeaza interactiunea cu mediul . De pe el vom putea citi ora exacta.

4

Divizorul de frecventaDivizara semnalului preluat de la oscilatorul cu quartz se face cu ajutorul blocului de divizarea a frecventei. La intrarea in divizor avem 16MHz, iar la iesire trebuie sa obtine 1Hz. Divizorul de frecventa are la baza numaratoarele. pentru implementarea divizorului va trebui sa recurgem la legarea in serie a 7 numaratoare(divizoare). Insiruirea de nuamratoare va fi : 1 divizor cu 16, si 6 divizoare cu 10. Aceasta topologie a fost dedusa cu ajutorul formule: 1Hz este egal cu frecventa initiala divizata cu ajutorul factorului de divizare:1Hz f0 Nd

Divizorul cu 16: Divizorul cu 16, dupa cum am spus mai sus este un numarator care poate fi implementat cu ajutorul a 4 celule bistabile de tip JK. Tabelul de adevar:

5

Sinteza VK a numaratorului:

J 3 Q 2 * Q1 * Q 0 K 3 Q 2 * Q1 * Q 0 J 2 Q1 * Q 0 K 2 Q1 * Q 0

J1 Q0 K1 Q0 J0 1K0 1

Forma de unda:

6

Circuitul logic:

Default Symbol:

7

Circuitul logic al divizorului de 16MHz:

Formele de unda ale divizorului cu 16MHz:

Default symbol:

8

NumaratorulNumrtoarele sunt CLS care nmr impulsurile aplicate la intrare. Ele furnizeaz la ieiri codul numrului de ordine al impulsului n semnalul de intrare. In acest proiect vom folosi doar numaratoare sincrone, adica celulele bistabile de tip JK vor comuta pe un semnal de tact comun. Numaratorul este blocul care ne va numara in ordine, secundele, minutele si orele. Este compus la randul sau dintri blocuri de numarare, blocul pentru secunde, blocul pentru minute si blocul pentru ore. La ficeare 60 de secunde numaratorul de secunde va trimite un impuls de comanda catre numaratorul de minute, care la randul sau va trimite un impuls de comanda catre numaratorul de ore la fiecare 60 minute. Fiecare din blocurile de numarare in parte vor contine cate doua celule de numarare separate, una pentru unitati si una pentru zeci:

Din numarator vor iesi 2 butoane de comanda, unul pentru minute si unul pentru ore. In cazul in care va trebui sa setam ora, va trebui sa apasam butoanele respective. Resetul numaratorului este comun pentru toate cele trei blocuri de numarare.

9

Numaratorul 0-9 Tabelul de adevar:

Diagramele V-K:

J 3 Q 2 * Q1 * Q 0

K 3 Q0J 2 Q1 * Q 0 K 2 Q1 * Q 0

J 1 Q0 * Q 3 K1 Q0 J0 1 K0 1

10

Circuitul logic:

Forma de unda:

Default symbol:

11

Numaratorul 0-5: Tabelul de adevar:

Diagramele V-K:

J 2 Q1 * Q 0

K 2 Q0

J 1 Q0 * Q 2 K1 Q0 J0 1 K0 1Formele de unda:

12

Numaratorul total Circuitul logic:

Default symbol:

Nuamaratorul pana la 2 este o simpla celula JK, adic aun circuit bistabil, care realizeaza divizarea frecventeui cu 2.

13

Formele de unda:

Toate sintezel numaratoarelor se fac in baza tabeluli de functionare a ciruitelor bistabile de tip JK:

Afisarea Multiplexata

14

Pentru afisarea vom folosi modelul multiplexat, care implica 4 multiplexoare cu cate 6 intrari , un decodificator 7 segmente, undecodificator zecimal si un numarator de selectii ale multiplexoarelor. In acest caza vom avea la 6 intrari ale multiplexoarelor 3 selctii deci vom folosi un numarator de selectii care numara de la 0-5 adica, care are 6 stari. n cazul de fata folosesc LED-uri, iar celulele de afiare le voi construi cu anod comun. Pentru acest tip celulele se aprind cu 0 logic (tensiune sczut) aplicat pe catozii necomuni ai diodelor. Schema interna a acestui tip de afiare i reprezentarea schematic a decodificatorului sunt prezentate mai jos:

MultiplexorulCircuitele de multiplexare sunt CLC care realizeaz comutarea datelor de la una din intrri ctre o ieire unic. Selecia intrrii se face printr-un cod numeric (cuvnt de adres) de m bii, unde 2m reprezint numrul total de intrri. Pentru un cuvnt de adres de m bii se pot selecta 2m intrri: n=2m. Tabelul de adevar:

Y A 0 * A1 * A 2 * I 0 A 0 * A1 * A 2 * I 1 A 0 * A 1 * A 2 * I 2 A 0 * A 1 * A 2 * I 3 A 0 * A1 * A 2 * I 4 A 0 * A1 * A 2 * I 5

15

Circuitul logic:

Forma de unda:

Default symbol:

16

Decodificatorul BCD 7 SegmenteDecodificatorul BCD - 7 segmente este un CLC utilizat pentru comanda circuitelor de afiare numerice ce utilizeaz celule de afiare cu 7 segmente ( LED-uri, LCD, becuri). Circuitul prezint 4 intrri (A, B, C, D; N=D23+C22+B21+A20) ce codific cifra de afiat, i 7 ieiri (a, b, c, d, e, f, g) pentru comanda segmentelor. Pentru a obine un decodificator BCD 7 segmente pentru celul de afiare cu anod comun, ieirile trebuie s fie active pe 0 logic. Pentru aceasta se neag toate ieirile circuitului anterior. O alt modalitate este aceea de a face sinteza grupnd zerourile, fr ns a inversa variabilele Tabelul de adevar

17

Diagramele V-K:

a ( A B C) * (B C D) * ( A C D) * (B D)

a a (A B C) * (B C D) * (A C D) * (B D)

b ( A B D) * ( A B D) * (B C) * (C D)

b b ( A B D) * ( A B D) * (B C) * (C D)

c (B C) * ( A D) * (C D)

c c (B C) * ( A D) * (C D)

d ( A B C D) * (A B C) * (B C D) * (B C D) * (A B D)

d d ( A B C D) * (A B C) * (B C D) * (B C D) * (A B D)

18

e (A B C) * (A B D)

e e (A B C) * (A B D)

f (A C D) * (B C D) * (A B C) * (B C D)

f f (A C D) * (B C D) * (A B C) * (B C D)

g (B C D) * (B C D) * (B C D) * (A B D)

g g (B C D) * (B C D) * (B C D) * (A B D)

Am facut siteza diagramelor V-K , iar pentru ca circuitul logic sa fie mai simplu, il vom construi doar cu porti SI-NU. Pentru aceasta am aplicat relatiile lui DeMorgan in relatiile sintetizate mai sus. Desi in tabelul de adevar avem 16 stari , noi nu folosim decat 7, restul tabelului l-am completat cu 1 logic pentru a rejecta starile nedorite, si impulsurile false care s-ar putea sa apara pe parcursul simularii circuiului.

19

Circuitul logic:

Forma de unda:

20

Decodificatorul BCD-zecimalDecodificatoarele sunt CLC care activeaz un numr de ieiri logice funcie de cuvntul de cod aplicat la intrare. Decodificatorul de adresa este un CLC care activeaz linia de ieire corespunztoare adresei numerice prezente pe intrri. Pentru un cuvnt de cod de n bii sunt posibile 2n cuvinte, deci corespunztor sunt necesare 2n ieiri. Practic exist decodificatoare integrate cu 3 intrri, necesitatea utilizrii mai multor intrri putnd fi rezolvat prin expandare. Tabelul de adevar:

D 0 0 0 0 0 0

C 0 0 0 0 1 1

B 0 0 1 1 0 0

A 0 1 1 1 1 1

Y0 0 1 1 1 1 1

Y1 1 0 1 1 1 1

Y2 1 1 0 1 1 1

Y3 1 1 1 0 1 1

Y4 1 1 1 1 0 1

Y5 1 1 1 1 1 0

Diagramle V-K:

21

Y0 A * B * CY1 A * B * C Y2 A * B

Y3 A * BY4 A * B * C

Y5 A * B * C

Forma de unda:

22

Circuitul logic:

Schema circuitului logic de afisare multiplexata construita in programul Max+2 are ca si legaturi intre blocurile de baza magistralele, pentru a fi inteleasa cat mai usor si pentru anu obosi ochiul. Decodificatorul zecimal si numaratorul de selectie a multiplexoarelor introduc in forma de unda perturbatii, care nu afecteza circuitul si nu sunt observate cu pchiul liber. Insa pentru a elimina si acest mic inconvenient se la apela la un numarator care face automat numararea 1,2,4,8,16,32 care nu contine imensitatea de porti ale decodificatorului, deci nu va da impulsuri false de scurta durata respectiv intarzierile semnalelor vor fi mai mici.

23

Circuitul logic al afisarii multiplexate:

24

AlarmaAlarma ceasului numaric este alcatuita dintr-un bloc de numarare care contine doua celule de numarare pentru minute respectiv pentru ore. Incrementarae se face separat pentru fiecare celula cu semnalul de dupa divizorul de frecventa, dar este conditionata de cate un buton pentru fiecare in arte. La apasarea butonului care are in componenta o celula bistabil semnalul va trece catre numarator care se va incrementa cu ora dorita pentru alarma. La iesirile numaratorului principal si a celui de alarma va fi conectat un comparator, care va compara bit cu bit, de la cel mai nesemnificativ la cel mai semnificativ, iar daca rezultatul este pozitiv, atunci comparatorul va trimite la randul sau semnal catre difuzor care ne va alerta. Numaratorul pentru alarma: Schema logica:

25

Default Symbol:

Formele de unda pentru acest numarator sunt exact ca si pentru numaratorul principal.

ComparatorulComparatoarele numerice sunt CLC care permit determinarea valorii relativ dou numere binare. Circuitul prezint 2 grupuri de intrri de cte n bii la care se aplic cele dou numere ce se compar i 3 ieiri care prin starea lor logic semnalizeaz relaia dintre cele dou numere: mai mare, egal sau mai mic. Pentru simplificarea circuitului logic si pentru a elimina mai multe porti care ar putea introduce 0 intarziere semnificativa in circuit, vom sintetiza circuitul doar pentro singura iesire, adica acea de egal.

A B

n n

Comparator numeric

A> B A= B A< B

26

Tabelul de adevar:

YA B A0 * A1 * A 2 * A 3 * B 0 * B1 * B2 * B 3 A0 * A1 * A 2 * A 3 * B0 * B1 * B 2 * B3 A0 * A1 * A 2 * A 3 * B0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3 A 0 * A 1 * A 2 * A 3 * B 0 * B1 * B 2 * B 3YAB (A 0 B0 A1 B1 ) * (B2 A 2 B 3 A 3 )Circuitul logic:

27

Forma de unda:

Default ymbol:

ButonulButonul este un circuitlogic secvential, defapt are la baza un ciruct logic secvential, si anume o celula de tip JK. L-am introdus in circuitul ceasului numeric pentru a facilita utilizatorui acesul indirect la componentele interne, pentru a da un reset numaratoarelor, sau pentru a fiza ora exacta a ceasului numeric, toate acestea bineinteles daca acest circuit ar duce la fabricarea unui ceas. Circuitul logic:

28

Circuitul de mai sus in comonenta unuinumarator arata in felul urmator:

Forma de unda este cea a unui circuit basculant bistabil obisnuit:

29

Specificatii Fiecare forma de unda din acest proiect are o anumita intarziere fata de clocul initial, asta se datoareaza portilor din componenta circuitelor logice, de exemplu in imaginea urmatoare este aratata o intarziere de 11 ns la forma de unda a numaratorului de ore:

Pentru a simula corect divizorul de frecventa am modificat gridul programului la 62,4n(adica 16MHz la intrare); Pentru simularea finala vom specifica endtime-ul de 10000 s, iar gridul il vom seta la 10 ms, pentru simula cat mai real circuitul ceasului numeric. Ceasul numeric prezinta si un ciruit logic care are functia de instiintare a celor care il folosesc daca se afla pana la jumatatea zilei sau dupa jumatatea ei. Adica functia de AM-PM. Defapt aceasta functie este indeplinita de un numarator care numara pana la 2 si o combinatie de porti logice, adica LC(logica de comanda). Taota operatia se bazeaza pe comutarea circuitelor la tact descrescator(negatv) al ceasului. Forma de unda:

30

Circuitul logic, compus din numaratoarele ce incrementeaza unitatile si zecile de ore, si logica de comanda:

31

Ceasul numericCircuitul integrat al ceasului numeric:

Bibliografie: Cursul de Circuite Numerice, S.l. Dr.Ing. Cristian Zet; A. Valachi, M. Brsan Tehnici numerice i automate;

32