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

 

 

Predstavitev naloge:

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 pošilja 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 (krajši 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:

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!