UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHIKO Tržaška 25, Ljubljana
ELEKTRONSKA KLJUČAVNICA
Predstavitev idejne zasnove elektronske ključavnice Predstavitev naloge Sestavil: Jure Jakofčič jure.j@hotbot.com Mentor: doc. dr. Tadej Tuma tadej.tuma@fe.uni-lj.si
S pomočjo učnega realno časovnega mikroprocesorskega sistema RT-02 (izdelanega na osnovi Motorola 6803) je potrebno izdelati model elektronske ključavnice, ki bo del varnostnega sistema. Elektronska ključavnica prebere ključ in na podlagi prebrane kode odredi, ali ima imetnik ključa dostop do prostorov, ki jih sistem varuje.
Če koda ključa ustreza se postavi v kontrolnem registru ključavnice bit, ki pomeni dovoljenje za vstop. Hkrati pa se postavita tudi bita, katera nam povesta kateri ključ je odklenil ključavnico (v prototipu smo imeli tri ključe dva ključa odklepata ključavnico, eden pe ne). V kolikor se pojavi napaka pri vstavljanju ključa, branju kode ali pa se v ključavnico vstavi napačen ključ, se postavijo odgovarjajoči biti v kontrolnem registru, ki nam povedo vzrok napake.
DEFINICIJA PROBLEMA:
Narediti je potrebno programsko opremo za obstoječo maketo elektronske ključavnice. Maketa preko IR senzorjev bere kodo na ključu in jo poilja preko serijskega vmesnika. Naloga je sprejeti in obdelati te impulze ter zagotoviti ustrezne krmilne spremenljivke za ostale rutine, ki so povezane z elektronsko ključavnico.
STROJNA OPREMA:
Maketa čitalca bere preko IR senzorjev dve kodi. Prva koda urezana na levi strani ključa, so urni impulzi, druga urezana na desni strani ključa pa je koda ključa. Urni impulzi so na ključu realizirani ožje (kraji impulz) in se začnejo kasneje zato, da ne pride do napak pri branju kode z desne strani ključa, če je ključ slabo izdelan ali pa je vodilo ključavnice ohlapno in je možno ključ vstaviti postrani.
Koda ključa ima 8 spremenljivk (1/0), zato rabimo 8 urnih impulzov za dekodiranje le-te. Ker nam ob prehodu skozi senzor enica urnega impulza na ključu zapre senzor, dobimo na izhodu nizko stanje kot urni impulz. Ob prehodu urinega impulza iz nizkega na visoko stanje pa preberemo še pdatkovni bit kode ključa.
PROGRAMSKA OPREMA:
Rutina prebere kodo s ključa ko ga vstavimo in preverja, ali smo ključ popolnoma izvlekli. Če pride do napake (narobe vstavljen ključ, napačen ključ ali ključ puščen v ključavnici za več kot štiri sekunde) nas na to opozori tako, da postavi bite napak v kontrolno-statusnem registru, jih ohrani v istem stanju dve sekundi in jih nato avtomatsko izbriše.
Algoritem poteka po naslednjem zaporedju:
- preverimo če je postavljena katera izmed napak in če je katera postavljena jo zadržimo za dve sekundi
- preverimo če od začetka dekodiranja ključa ni preteklo štiri sekunde in javimo napako, če je ta čas potekel
- beremo PIA in ugotavljamo, ali je prisoten urin impulz na ključu
- beremo kodo s ključa med vstavljanjem ključa
- beremo kodo s ključa med izvlečenjem ključa
- primerjamo prebrani kodi s predhodno nastavljenima kodama in nastavimo statusne ter kontrolne spremenljivke za komunikacijo z ostalimi rutinami
Dekodiranje ključa je časovno omejeno in mora biti opravljemo pred potekom štirih sekund, v nasprotnem primeru program javi napako. Ta del programa je napisan zato, da omogoča večjo fleksibilnost sistema; naprimer če se vstavi ključ do polovice in se ga nato izvleče, program preprečuje čakanje na preostalih osem podatkovnih bitov, ki bi jih dobil ob normalni vstavitvi in izvleku ključa.
Da zagotovimo delovanje ključavnice tudi ob hitrem vstavljanju in izvleku ključa sem vstavil rutino v urnik štirikrat.
Programska koda čitalca. Diagram poteka rutine Programska koda celotnega sistema.
OPOZORILO!
Rutina deluje le, če je vpisana koda ključa na predvideni lokaciji (CODE_1,CODE_2), v kolikor se koda prebrana s čitalcem ujema z eno izmed kod vpisanih v spominu se v kontrolno-statusnem registru postavi bit za odklenitev in odgovarjajoča bita, ki določata kateri ključ je odklenil ključavnico. Če se prebrana koda ne ujema z nobeno izmed vpisanih kod se postavi bit, ki določa napačen ključ. Program deluje tako, da dva ključa odklepata ključavnico, eden pa ne. KLJUČ MORAMO VSTAVITI TAKO, DA IMA URO NA LEVI STRANI!