You are on page 1of 11

Elektronska

brava

Podsetimo se zahteva za elektronsku bravu:

Implementacija - sekvencijalni digitalni sistem

❚ Kodiranje:
❙ koliko bita po ulaznoj veličini?
❙ koliko vrednosti u sekvenci?
❙ kako znamo kad se unese sledeća
ulazna vrednost?
❙ kako predstavljamo stanja sistema?
❚ Ponašanje:
❙ signal takta je potreban da bismo
znali kad možemo da vidimo stanje novi vrednost reset
ulaza (da su se smirili nakon promene) unos
❙ sekvencijalno: sekvenca vrednosti
treba da se unese
❙ sekvencijalno: pamtiti da li je došlo stanje
do greške takt
❙ specifikacija konačnih stanja
otvoreno/zatvoreno

13-May-20 Merni instrumenti - Digitalna elektronika 34




Implementacija - sekvencijalni digitalni
sistem (nastavak)

❚ Dijagram konačnih stanja


❙ Stanja: 5 stanja
❘ predstavljaju tačku izvršenja
❘ svako stanje ima izlaze
❙ Tranzicija: 6 iz stanja u stanje, 5 sopstvenih tranzicija, 1 globalna
❘ promene stanja nastupaju kad takt dozvoli
GREŠKA
❘ bazirano na vrednostima ulaza
zatvoreno
❙ Ulazi: reset, novi, resultati poređenja
❙ Izlaz: otvoreno/zatvoreno
C1!=value
C2!=vrednost C3!=vrednost
& new
& novi & novi
S1 S2 S3 OTVORENO
reset zatvoreno zatvoreno zatvoreno otvoreno
C1=vrednost C2=vrednost C3=value
& novi & novi & new

nije novi nije novi nije novi

13-May-20 Merni instrumenti - Digitalna elektronika 35



Implementacija - sekvencijalni digitalni


sistem (nastavak):

❚ Interna struktura
❙ put podataka
❘ memorija za kombinacije
❘ komparatori
❙ kontrola
❘ kontroler konačnih stanja
❘ kontrola za put podataka
❘ promene stanja na osnovu takta
novi jednako reset
vrednost
C1 C2 C3
multiplekser
mux
kontroler
kontrola
komparator
takt

jednako otvoreno/zatvoreno
13-May-20 Merni instrumenti - Digitalna elektronika 36

Implementacija - sekvencijalni digitalni


sistem (nastavak): kontroler konačnih stanja

❚ Kontroler konačnih stanja


❙ prepraviti dijagram stanja da uključi i internu strukturu

GREŠKA
zatvoreno

nije jednak nije jednak


& novi nije jednak
& novi & novi
S1 S2 S3 OTVORENO
zatvoreno zatvoreno zatvoreno
reset otvoreno
mux=C1 jednak mux=C2 jednak mux=C3 jednak
& novi & novi & novi

nije novi nije novi nije novi

13-May-20 Merni instrumenti - Digitalna elektronika 37




Implementacija - sekvencijalni digitalni
sistem (nastavak): kontroler konačnih stanja

❚ Kontroler konačnih stanja GREŠKA


❙ generisati tabelu stanja (nalik kombinacionoj tabeli) zatvoreno

nije jednak nije jednak nije jednakl


& novi & novi & novi
S1 S2 S3 OTVORENO
reset zatvoreno closed closed
otvoreno
mux=C1 equal mux=C2 equal mux=C3 equal
& new & new & new

nije novi nije novii nije novi

sledeće
reset novi jednako stanje stanje mux otvoreno/zatvoreno
1 – – – S1 C1 zatvoreno
0 0 – S1 S1 C1 zatvoreno
0 1 0 S1 ERR – zatvoreno
0 1 1 S1 S2 C2 zatvoreno
0 0 – S2 S2 C2 zatvoreno
0 1 0 S2 ERR – zatvoreno
0 1 1 S2 S3 C3 zatvoreno
0 0 – S3 S3 C3 zatvoreno
0 1 0 S3 ERR – zatvoreno
0 1 1 S3 OTV. – otvoreno
0 – – OTV. OTV. – otvoreno
0 – – ERR ERR – zatvoreno
13-May-20 Merni instrumenti - Digitalna elektronika 38

Implementacija - sekvencijalni digitalni


sistem (nastavak): kodiranje

❚ Tabela stanja za kodiranje


❙ stanje može biti: S1, S2, S3, OTVORENO, ili GREŠKA
❘ porebno je najmanje 3 bita za kodiranje: 000, 001, 010, 011, 100
❘ ili 5: 00001, 00010, 00100, 01000, 10000
❘ biramo 4 bita: 0001, 0010, 0100, 1000, 0000
❙ izlazni mux može da bude: C1, C2, or C3
❘ potrebno je 2 do 3 bita za kodiranje
❘ biramo 3 bita: 001, 010, 100
❙ izlazi otvoreno/zatvoreno može da bude: otvoreno ili zatvoreno
❘ treba 1 ili 2 bita za kodiranje
❘ biramo 1 bit: 1, 0

13-May-20 Merni instrumenti - Digitalna elektronika 39



Implementacija - sekvencijalni digitalni


sistem (nastavak): kodiranje

❚ Tabela stanja za kodiranje


❙ stanje može da bude: S1, S2, S3, OTVORENO, ili GREŠKA
❘ biramo 4 bita: 0001, 0010, 0100, 1000, 0000
❙ izlazni mux može da bude: C1, C2, ili C3
❘ biramo 3 bita: 001, 010, 100
❙ izlaz otvoreno/zatvoreno moze da bude: otvoreno ili zatvoreno
❘ biramo 1 bit: 1, 0
sledeće
reset novi jednako stanje stanje mux otvoreno/zatvoreno
1 – – – 0001 001 0
0 0 – 0001 0001 001 0
0 1 0 0001 0000 – 0 dobar izbor za kodiranje!
0 1 1 0001 0010 010 0
0 0 – 0010 0010 010 0 mux je identičan sa
0 1 0 0010 0000 – 0 poslednja 3 bita stanja
0 1 1 0010 0100 100 0
0 0 – 0100 0100 100 0 otvoreno/zatvoreno je
0 1 0 0100 0000 – 0 identično prvom bitu
0 1 1 0100 1000 – 1 stanja
0 – – 1000 1000 – 1
0 – – 0000 0000 – 0
13-May-20 Merni instrumenti - Digitalna elektronika 40


Implementacija - sekvencijalni digitalni
sistem (nastavak): implementacija kontrolera

❚ Implementacija kontrolera
specijalni element kola
novi jednako reset
(zove se registar), za
pamćenje ulaza
mux kad takt to odredi
kontrola kontroler
takt

novi jednako reset


otvoreno/zatvoreno
mux
komb. logika
kontrola
stanje takt

otvoreno/zatvoreno

13-May-20 Merni instrumenti - Digitalna elektronika 41







Pokušajmo sa implementacijom na malo drugačiji način. Dijagram toka signala ukazuje na
mogućnost da se koristi brojač jer u standardnoj sekvenci sistem prelazi iz jednog u drugo
stanje bez preskakanja. Postoji i posebno stanje «greška» u koje se prelazi ako se ne ispune
uslovi za prolazak kroz standardnu sekvencu.
Koristićemo dvobitni brojač, kod koga će stanja biti:

Izlaz brojača Stanje
00 S1
01 S2
10 S3
11 OTVORENO

Dodaćemo još jedan flip-flop koji će označiti da je sistem prešao u stanje greške. Izlaz ovog
flip-flopa će zabraniti dalje brojanje brojača i svaku drugu aktivnost u kolu dok se ne pritisne
taster «RESET».
Pretpostavimo da tastatura generiše BCD kod pritisnutog tastera i da ima još jedan izlazni
signal koji predstavlja signal «novi» - dok je pritisnut taster, generiše se BCD kod i signal
«novi» je na logičkoj jedinici.
Napravićemo komparator za četvorobitne digitalne signale koji poredi dva četvorobitna
broja i na izlazu daje signale «Veće», «Manje» i «Jednako». Nama je interesantan samo
signal «Jednako» koji ćemo označavati sa «EQ».
Multiplekser je takođe četvorobitni i obezbeđuje da se na osnovu stanja ulaza S0 i S1
izabere koji će od četiri četvorobitna ulazna signala biti prosleđen na izlaz.



Uz ovako predviđene signale vidimo da izlazi brojača mogu direktno da upravljaju signalima
za izbor ulaza na multiplekseru.


Tastatura ima 5 digitalnih izlaza, 4 za BCD kod tastera koji je pritisnut i jedan za signal
«Novi», koji je na logičkoj jedinici za vreme dok je pritisnut bilo koji taster. Ako se pritisnu
dva ili više tastera istovremeno, ne generiše se signal «Novi».



Taster «Reset» je izveden posebno.

Kolo za zadavanje unapred zadatih cifara na multiplekseru može da se napravi na sledeći
način:



Do sada je prikazano kako možemo da zadamo tri unapred zadate cifre, na osnovu stanja
brojača definišemo koja od tih cifara će da se prosledi ka komparatoru i komparator
generiše signal «EQ» kad je uneta cifra na tastaturi jednaka izabranoj unapred zadatoj cifri.

Signal koji obezbeđuje da se izlaz brojača uveća za jedan treba da se dovede na CLK ulaz
brojača. Ovaj signal se dobija pomoću I kola na čijem jednom ulazu je signal «EQ» sa
komparatora, a na drugom signal «Novi» sa tastature.




Da bismo obezbedili da se izlaz brojača promeni tek kad se otpusti taster (kad signal «Novi»
padne na logičku nulu), možemo da koristimo brojač koji reaguje na zadnju ivicu.



Signal za otvaranje vrata generiše se kad oba izlaza brojača postanu logičke jedinice, što
može da se dekoduje običnim dvoulaznim I kolom.

Ako hoćemo da obezbedimo da daljim pritiskanjem tastature ne dođe do promene stanja na
brojaču, dovoljno je da na četvrti ulaz multipleksera dovedemo neku kombinaciju koja ne
može da se generiše na tastaturi (npr. sve logičke jedinice).

Signal «RESET» na brojaču će da isključi bravu i da vrati signal u stanje čekanja na unos prve
cifre.


Signal «RESET» za brojač možemo da generišemo kolom sa slike:



Prikazano je kolo koje ima više funkcija:

1. Nakon dolaska napajanja (dioda obezbeđuje da se kondenzator isprazni kad nestane
napajanje) kondenzator počinje da se puni i za vreme koje je određeno vrednostima
kondenzatora i otpornika napuniće se do nivoa koji je dovoljan da izlaz Šmitovog kola
promeni vrednost sa logičke jedinice na logičku nulu, tako da se nakon uključenja napajanja
generiše signal «RESET» dok se ne uspostavi normalno napajanje za svaki deo kola. Kod
sekvencijalnih kola važno je uspostavljanje početnog stanja nakon uključenja napajanja.
2. Pritiskom na taster RESET prazni se kondenzator i nakon otpuštanja tastera opet
kondenzator počinje da se puni, što takođe generiše signal «RESET» na izlazu Šmitovog kola
3. Kondenzator može da se isprazni i logičkom jedinicom na ulazu RES1, čime će se tranzistor
dovesti u stanje zasićenja i takođe generisati signal «RESET» na izlazu Šmitovog kola.

Ostaje još kolo koje će da se aktivira kad dođe do pogrešnog unosa i da zabrani dalje
unošenje podataka sa tastature dok se ne pritisne taster RESET. Ovo kolo može da se
napravi pomoću jednog flip-flopa sa asinhronim ulazima. Set ovog flip-flopa biće signal da je
pritisnut taster, ali da nije ispravna cifra zadata na tastaturi. Reset ovog flip-flopa je isti
signal koji resetuje i brojač i dovodi sistem u početno stanje. Izlaz ovog flip-flopa treba da
zabrani da se izlaz brojača promeni i da se generiše signal za otključavanje brave.

You might also like