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
•
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.