background image

Aleksander Koter
Michał Kowalewski

PMIK

Dokumentacja do projektu układu realizującego zamek cyfrowy.

Układ będzie realizował zamek cyfrowy, czyli urządzenie, które przykładowo zezwala 

na otwarcie drzwi jakiegoś pomieszczenia, sejfu, szafy pancernej itp. Jego zadaniem jest 
ochrona dostępu, co gwarantuje dostęp do informacji (otworzenie zamka) osobie która jest do 
tego upoważniona (zna kod otwierający zamek).

Funkcje jakie ma spełniać układ:

Czterocyfrowy kod dostępu (PIN) – będzie realizowany za pomocą potencjometru (o 
odpowiednio wyskalowanej podziałce w zakresie cyfr od 0 do 9.), 

Blokada zamka na czas określony po wprowadzeniu trzech błędnych kodów – w 
celach bezpieczeństwa aby ktoś niepożądany nie próbował złamać kodu. Oprócz 
domyślnego czasu blokady zamka będzie istniała możliwość zmiany tego czasu przez 
administratora (SU - Super User’a) czyli użytkownika posiadającego wyższe 
uprawnienia od zwykłego użytkownika.

Możliwość otworzenia zamka tylko w odpowiednich godzinach – zdefiniowanych 
domyślnie z możliwością ich zmiany przez administratora (SU). Administrator będzie 
mógł zdefiniować możliwość dostępu z dokładnością do 1 godziny ( ustawienia te 
będą reprezentowane przez 24bitową tablice).

Uwzględnienie tzw. „time out’u”(czasu zwłoki)  – czyli czasu oczekiwania na 
wprowadzenie kolejnej cyfry kodu. Jeśli użytkownik przekroczy czas będzie musiał 
wprowadzić kod od początku.

Komunikacja z urządzeniem przy wykorzystaniu klawiatury i wyświetlacza LCD – 
wszelkie komunikaty będą wyświetlane na wyświetlaczu LCD. Do komunikowania 
się z urządzeniem (wprowadzania ustawień) będzie służyła klawiatura.

Komunikacja z urządzenie z wykorzystaniem RS-232 – urządzenie będzie wysyłało 
status zamka.    

Administrator (Super User) – użytkownik posiadający większe uprawnienia niż 

zwykły użytkownik. Dodatkowe uprawnienia to możliwość wszelkich zmian w systemie: 
zmiana kodu (PIN) otwierającego zamek, czasu w jakim zamek może być otwierany, czasu 
blokady zamka po ustalonej liczbie błędnych prób wprowadzenia kodu, możliwość zmiany 
czasu zegara (spowodowane np. zmianą czasu zimowego/letniego). Identyfikacja SU będzie 
przebiegała poprzez podanie przez niego przypisanego mu pięciocyfrowego kodu za pomocą 
klawiatury, co pozwoli na dodatkowe fizyczne zabezpieczenie tego kluczowego konta.

Lista modułów wykorzystywanych w projekcie:

Zegar czasu rzeczywistego (RT)

Pamięć nie ulotna EEPROM

Szyna I

2

C

background image

Port RS-232

Wyświetlacz ciekłokrystaliczny LCD

Klawiatura

Aby zwiększyć niezawodność programu (poprawne działanie) po każdym uruchomieniu 
będzie przeprowadzany test pamięci w postaci sprawdzania sumy kontrolnej. Układ będzie 
zawierał prosty interfejs do komunikacji z użytkownikiem. Będzie informował w jakim jest 
stanie (otwarty/zamknięty), umożliwiał wprowadzenia kodu, informował o ewentualnej 
blokadzie spowodowanej ograniczeniami czasowymi bądź błędnym wprowadzeniem kodu. 
Po wprowadzeniu kodu przez Super User’a pojawi się menu umożliwiające wprowadzenie 
zmian w ustawieniach zamka.

Proponowany podział kodu na bloki funkcjonalne:
-Obsługa I2C
-Obsługa klawiatury
-Obsługa wyświetlacza LCD
-Odczyt nastawu potencjometru
-Obsługa menu ustawień administratora
-Obsługa zegaru czasu rzeczywistego
-Obsługa pamięci EEPROM
-Obsługa RS-232

W pamięci EEPROM trzymane będą nastepujące dane:
-hasło, timeout,delay, liczbe prób  użytkownika i opóźnienie akceptacji nastawu
  potencjometru-   każda po 1B => 5B
-godziny dostepu użytkownika – 3B
-hasło, timeout,delay, liczbe prób  administratora  każda po 1B => 4B
Łącznie 12 bajtów danych.

Plan pracy nad projektem:

1. Zapoznanie się z wykorzystywanymi w projekcie blokami (budowa, sposób działania, 

sposób komunikacji z nimi – sterowania blokami).

2. Oprogramowanie każdego bloku z osobna, sprawdzenie działania.
3. Próba połączenia działających osobno bloków, spełniających osobno funkcje 

wykorzystywane w projekcie.

4. Testowanie układu – poprawienie ewentualnych usterek.
5. Oprogramowanie interfejsu użytkownika.
6.  Testowanie gotowego projektu.


Document Outline