Uniwersalny zamek K T Y
P R O J E szyfrowy
Uniwersalny zamek
szyfrowy
kit AVT-311
Na łamach EP (EP4/93)
opis zamka szyfrowego był
juł prezentowany. Oto jego
kolejna wersja, ktrej
konstrukcja została oparta na
mikrokontrolerze PIC16C84.
Mikrokontroler PIC16C84 po- -prostot układową;
słułył do konstrukcji prostego -mołliwie dułą liczb kombinacji
zamka cyfrowego. Cechą wyrł- kodowych, a wcale nie muszą to
niającą go w swej klasie jest re- byĘ ciągi liczbowe, wynoszącą
programowalnośĘ w układzie - pa- 1163;
miĘ programu i fragment pamici -odpornośĘ na wyłączenie zasila-
danych są typu EEPROM. Poza nia, polegającą na tym, łe kod
tym ma on wszystkie cechy cha- otwarcia jest pamitany niezaleł-
rakterystyczne dla procesorw nie od zasilania układu.
PIC16CXX: Na rys.1 pokazano schemat
-architektura harwardzka, czyli elektryczny zamka szyfrowego.
pamiĘ programu i pamici da- Sercem urządzenia, i zarazem je-
nych są rozdzielone; dynym układem scalonym, jest
-wszystkie rozkazy są wykonywa- mikroprocesor PIC16C84. Zapisa-
ne w czterotaktowym cyklu; ny w nim program steruje całym
-układ watchdoga ma niezalełny urządzeniem. Do linii portw pro-
od systemowego zegar; cesora dołączono klawiatur mat-
-cztery rodzaje oscylatorw zega- rycową 3x4, tranzystor włączający
ra systemowego; przekanik PK1, piszczyk oraz
-jednopoziomowy układ przerwa dwie diody LED, słułące do syg-
o priorytetach rdeł ustawia- nalizacji stanu zamka. Zasilanie
nych programowo; procesora, diod LED i klawiatury
-w pełni statyczna logika CMOS; zapewnia stabilizator typu
-szeroki zakres napiĘ zasilania: LM7805. Zegar procesora jest ty-
2.0V do 6.0V; pu RC, nie ma bowiem potrzeby
-niewielki pobr mocy. stosowania kwarcu, jeśli układ
Dodatkowo, oprcz 36 8-bito- nie wykonuje precyzyjnych po-
wych rejestrw, dla programisty miarw czasu. Na tym w zasadzie
dostpna jest rwnieł nieulotna mołna zakoczyĘ opis budowy
64-bajtowa pamiĘ EEPROM. zamka. Bardziej interesujący jest
Wprawdzie producent dostarcza program zapisany w pamici mik-
wersj co najwyłej 10MHz, ale rokontrolera.
trzeba pamitaĘ, łe taki zegar Zanim omwimy program za-
odpowiada zegarowi 30MHz w ar- mka, skupmy si na chwil na
chitekturze procesora z rodziny klawiaturze. Jest to klawiatura
'51. Do naszych zastosowa to ał membranowa, wykonana w wersji
nadto. bez opisu klawiszy. Opis klawiszy
jest sprawą ułytkownika, czyli
Opis układu zamiast standardowych napisw
Nasz zamek posiada nastpu- ułytkownik mołe, w formie pod-
jące walory: kładu, przyjąĘ własny układ kla-
Elektronika Praktyczna 1/97
33
Uniwersalny zamek szyfrowy
ADR jest modyfikowana oraz
sprawdzane jest, czy jest to kod
klawisza # (rys.2), gdył naciśni-
cie klawisza # oznacza zakocze-
nie wprowadzania kodu otwarcia.
Dwukrotne błyśnicie i ciągłe
świecenie si diody zielonej oraz
włączenie przekanika jest sygna-
łem, łe zamek został otwarty.
W stanie otwarcia zamka ist-
nieje mołliwośĘ zmiany kodu ot-
warcia. Ałeby utrudniĘ osobom
niepowołanym tego rodzaju mani-
pulacje, zakodowano rwnieł do-
stp do procedury szyfrującej.
Tym razem jest to kod stały : 1-
5-8-0-*. Podanie takiej sekwencji
znakw spowoduje przeniesienie
sterowania na początek programu,
do procedury szyfrującej. Pomyłka
w jej wprowadzaniu oznacza, łe
trzeba bdzie ją powtrzyĘ od
początku. Sam znak gwiazdki za-
myka zamek.
Jełeli kod odczytanej komrki
i kod klawisza rłnią si od sie-
bie, program przechodzi do ptli
Rys. 1. Schemat elektryczny zamka szyfrowego.
obok i w niej oczekuje na naciś-
wiatury. Na rys.2, dla potrzeb Zmienna EEADR widoczna na nicie klawisza #, juł bez porw-
tego artykułu, przyjto układ kla- rys.3 jest zmienną systemową nywania wspomnianych wartości.
wiatury telefonicznej. Dalej poka- oznaczającą biełący adres pamici Kiedy juł ten klawisz zostanie
łemy, jak stworzyĘ inny układ EEPROM mikrokontrolera. Do niej naciśnity, zielona dioda LED oś-
klawiatury. zapisuje si wstpnie wartośĘ od- miokrotnie zabłyśnie i zapali si
powiadającą adresowi najstarszej dioda czerwona D1. Taka jest
Algorytm pracy procesora komrki pamici. sygnalizacja podania błdnego ko-
Algorytm programu pokazano Odczyt klawiatury w tym urzą- du otwarcia. W tym stanie mik-
na rys.3 i 4. Rys.3 dotyczy algo- dzeniu jest sekwencyjny. Klawia- rokontroler pozostanie ał do na-
rytmu programu głwnego, zaś tura jest matrycą włącznikw 3x4. ciśnicia dowolnego klawisza.
rys.4 przedstawia procedur szyf- Co pewien czas, zalełny od we- Wtedy program powrci na począ-
rującą kod otwarcia. wntrznego układu timera, spraw- tek procedury otwierania zamka,
Po restarcie procesora nastpu- dzany jest stan klawiszy. Wykry- dając kolejną szans na jego ot-
je sprawdzenie, czy pamiĘ EEP- cie naciśnicia klawisza powoduje warcie.
ROM nie zawiera kodu. Brak zapis jego kodu do bufora klawia- Opiszemy teraz procedur szyf-
kodu oznacza, łe we wszystkich tury. Przy zwolnionych przycis- rowania kodu otwarcia zamka. Jak
64 bajtach pamici jest zapisana kach klawiatury w buforze jest to widaĘ na rys.4, wejście do niej
liczba 0FFH. Naleły wic wywo- wpisywany kod 0FFH. Procedura jest sygnalizowane zapaleniem si
łaĘ procedur szyfrującą kod ot- odczytu klawiatury najpierw ocze- obu diod, czerwonej i zielonej.
warcia. O procedurze szyfrującej kuje na naciśnicie klawisza, a po- Ustawiany jest adres początkowy
napiszemy dalej, teraz dokoczy- tem na jego zwolnienie, zapisując
my omawianie programu głwne- kod naciśnitego klawisza do
go. Po wykryciu zapisu danych osobnej komrki pamici danych.
w pamici EEPROM procedura Po odczytaniu klawiatury,
szyfrowania jest omijana i zamek w celu potwierdzenia jej naciśni-
jest zamykany. W ten sposb cia, dioda koloru zielonego (na
układ broni si przed prbą roz- schemacie z rys.1 jest to dioda
kodowania poprzez wyłączenie za- D2) błyśnie krtko, a piszczyk
silania. rwnie krtko zapiszczy (przy-
Po zakoczeniu kodowania jmijmy dla uproszczenia opisu, łe
zamka nastpuje jego zamknicie. jeśli dioda D2 błyśnie, to rwnieł
Zrobiono to w celu natychmiasto- odzywa si piszczyk). Nastpuje
wego sprawdzenia poprawności odczyt komrki pamici EEPROM
kodu otwarcia. Przechodzimy za- o adresie zawartym w EEADR. Jeś-
tem do właściwej procedury ot- li kod odczytanej komrki i kod
Rys. 2. Wygląd klawiatury
wierania zamka. klawisza są zgodne, zmienna EE-
membranowej.
Elektronika Praktyczna 1/97
34
Uniwersalny zamek szyfrowy
WR, RD, ktre są bitami rejestru
EECON1. Zmienna EEADR, jak
juł wyłej napisano, pamita adres
komrki pamici, w zmiennej EE-
DATA zawarto daną przeznaczoną
do zapisu albo bdzie tam dana
odczytana z pamici EEPROM.
Wskanik RD, poprzez jego
ustawienie, inicjuje odczyt z ko-
mrki pamici o adresie zawar-
tym w EEADR. Ustawiony
wskanik WR, po zezwoleniu
przez ustawienie wskanika
WREN, inicjuje zapis do pamici
EEPROM. Zapis do niej jest ob-
warowany dodatkowymi warunka-
mi. Przed zapisem właściwego
bajtu naleły:
-do EEADR wpisaĘ właściwy ad-
res komrki pamici EEPROM;
-do EEDATA wpisaĘ daną do
zapisu;
-ustawiĘ bit WREN;
-wyłączyĘ system przerwa
w mikrokontrolerze;
-do rejestru EECON2 wpisaĘ 55H;
-do rejestru EECON2 wpisaĘ 0A-
AH;
-włączyĘ system przerwa w mik-
rokontrolerze;
-ustawiĘ bit WR inicjujący zapis.
Tak skomplikowany sposb za-
pisu jest podyktowany chcią za-
pewnienia maksymalnej ochrony
danych przed ich utratą. W mo-
mencie zerowania mikrokontrolera
nie mołna przewidzieĘ, czy przy-
padkiem nie nastąpi inicjacja za-
pisu poprzez ustawienie bitu WR.
Ustawienie takiej bariery prak-
tycznie uniemołliwia taki przypa-
dek. Jeśli załołymy, łe taka sek-
wencja rozkazw, jak wyłej wy-
mieniona jest mołliwa, to przy 14
bitach słowa procesora i potrzeb-
nych do zapisu co najmniej 6 słw
programu, prawdopodobiestwo
samorzutnego pojawienia si właś-
ciwej sekwencji zapisującej jest
rwne 1/(214*6) = 5.17x10-26.
Rys. 3. Algorytm procedury głównej zamka szyfrowego.
Naleły wiedzieĘ, łe czas trwa-
pamici EEPROM, nastpuje od- obraziĘ sobie pracowite nia zapisu wynosi ok. 10ms,
czyt klawiatury z jednoczesnym wklepywanie tak wielkiej liczby dlatego w przypadku prby zapi-
błyśniciem diody zielonej. znakw. W razie pomyłki proces su sekwencji bajtw warto sko-
Zmienna EEADR mołe byĘ tak wprowadzania kodu otwarcia na- rzystaĘ z systemu przerwa, ktry
długo dekrementowana (jej war- leły zacząĘ od początku. ma mołliwośĘ obsługi przerwania
tośĘ jest zmniejszana o 1), ał Kilku słw wyjaśnienia wyma- od zakoczenia zapisu do pamici
osiągnie wartośĘ 0, wtedy proce- ga zapis i odczyt pamici EEP- EEPROM. W opisywanym urządze-
dura jest automatycznie zakoczo- ROM. Dostp do pamici EEP- niu taka potrzeba nie wystpowa-
na. Procedur szyfrowania mołna ROM jest mołliwy poprzez jed- ła ze wzgldu na długie czasy
zakoczyĘ wcześniej poprzez na- nobajtowe okno, obsługiwane odczytu klawiatury, dochodzące
ciśnicie klawisza # i ten przypa- przez trzy rejestry - EECON2, do 1 sekundy. Bit WR jest auto-
dek bdzie w praktyce czściej EEADR i EEDATA - oraz przez matycznie zerowany po zakocze-
spotykany, poniewał trudno wy- trzy zmienne jednobitowe: WREN, niu procesu zapisu.
Elektronika Praktyczna 1/97
35
Uniwersalny zamek szyfrowy
szy. Kałdy pin taś-
my połączeniowej
klawiatury został
opisany jako ciąg
znakw podłączo-
nych do danego pi-
nu. Ałeby uzyskaĘ
zwarcie po naciś-
niciu konkretnego
klawisza, naleły na
rys.6 znaleĘ go na
dwch rłnych
nłkach opisu złą-
cza JP1.
W czasie uru-
chomienia zasilamy
układ ze rdła na-
picia 12V. Przed
Rys. 5. Płytka drukowana zamka szyfrowego.
włołeniem proce-
sora PIC naleły na nłkach 14 Inne oznakowanie
i 5 podstawki sprawdziĘ obecnośĘ klawiatury
napicia zasilającego procesor, wy- Autor celowo przewidział sto-
noszącego 5V. sowanie klawiatury membranowej
Teraz naleły bardzo uwałnie bez opisu. Wprowadzanie kilku-
postpowaĘ, aby nie doprowadziĘ nastocyfrowych ciągw liczb nie
do sytuacji, w ktrej nie bdzie jest wygodne, a tylko takie ciągi
znany kod otwarcia zamka. Wkła- zapewnią znaczną trudnośĘ otwo-
damy procesor w podstawk, włą- rzenia zamka. Autor proponuje
czamy zasilanie. Po pierwszym dwie zasady kodowania. Kiedyś,
włączeniu jest uruchamiana pro- w nie tak odległych czasach, gdy
cedura szyfrowania kodu otwar- komputery były marzeniem fan-
cia, czyli obie diody si świecą. tastw, do pamitania np. cyfr
Za pierwszym razem naleły wpro- liczby pi uływano łatwych do
wadziĘ szyfr jednoznakowy, ko- zapamitania sentencji. Liczba li-
cząc go znakiem #. Potem trzeba ter poszczeglnych słw określała
Rys. 4. Algorytm procedury
go sprawdziĘ, prbując wpisaĘ kolejną cyfr. Np. Daj, o pani,
szyfrującej.
ten sam szyfr. Zamek powinien o boska Mnemozyno, pi liczb...
Proces odczytu nie wymaga tak si otworzyĘ, co bdzie sygnali- W naszym zamku, zamiast pa-
skomplikowanej obsługi. Wystar- zowane stałym świeceniem diody mitaĘ długie ciągi cyfr, zapami-
czy ustawiĘ bit RD bajtu kontrol- zielonej. tajmy znany nam zwrot, ktrego
nego EECON1. Po zakoczeniu W stanie otwarcia zamka mo- liczba liter poszczeglnych słw
transmisji danej do EEDATA, bit łemy zmieniĘ kod na obrany
RD zostanie automatycznie wyze- przez nas. Musimy nacisnąĘ po
rowany. kolei klawisze 1-5-8-0-*. Naciśni-
cie kałdego z tych klawiszy jest
Montał i uruchomienie sygnalizowane jednym piśniciem
Rys.5 przedstawia rozmieszcze- piszczyka i jednym błyśniciem
nie elementw na płytce. Projekt diody zielonej. Wybranie innego
płytki drukowanej przedstawiono klawisza lub zmiana kolejności
na wkładce wewnątrz numeru. spowoduje dwukrotne piśnicie
Montał płytki zaczynamy od wlu- piszczyka i dwukrotne błyśnicie
towania podzespołw na swoje diody zielonej. Wtedy, chcąc prze-
miejsce na płytce. Pod mikrokon- kodowaĘ zamek, musimy wprowa-
troler proponujemy zastosowaĘ dzaĘ od początku t sekwencj
podstawk. Nie zapomnijmy znakw. Zamknicie zamka pole-
o właściwym wlutowaniu diod ga na przyciśniciu klawisza *.
o odpowiednich kolorach na Wybranie błdnego kodu za-
swoich miejscach. Podłączamy koczy si ośmiokrotnym błyśni-
klawiatur do złącza JP1. Układ ciem diody zielonej i ciągłym
połącze wewntrznych klawiatu- świeceniem diody czerwonej.
ry przedstawiono na rys.6. Taśma Diod czerwoną mołna zgasiĘ
wychodząca z klawiatury ma sie- dowolnym klawiszem i zacząĘ
dem ściełek, taka jest bowiem wprowadzanie kodu od począt-
Rys. 6. Układ połączeń klawiatury
sumaryczna liczba kolumn i wier- ku.
membranowej 3x4.
Elektronika Praktyczna 1/97
36
Uniwersalny zamek szyfrowy
WYKAZ ELEMENTÓW
Rezystory
R1, R2, R3, R5: 10k&! (5,6k&!20k&!)
R4, R8: 200&! (180&!300&!)
R6, R7: 100k&!
Kondensatory
C1, C2, C6: 100nF (47nF150nF)
C3, C4: 100F/25V
C5: 240pF
Półprzewodniki
D1: Dioda LED Ć5 koloru
czerwonego
D2: Dioda LED Ć5 koloru
zielonego
Q1: BD643, BD645, BD647, BD649 Rys. 7. Wkładki kodowe dla zwrotów CHRZSKRZYBOCZEK i APELAJDA
SKLIWA.
U1: PIC16C84-04/P, PIC16C84-10/P
- zaprogramowany
bdzie oznaczaĘ cyfry kodu. nisława Lema, a jego ksiąłki są
U2: LM7805, LM78M05
Drugim sposobem łatwiejszego pełne neologizmw oraz wyrazw
Różne
kodowania jest zakodowanie zwro- zupełnie niezrozumiałych i nie
JP1: rząd siedmiu złoconych
tu, przez zastąpienie układu do- posiadających znaczenia. Poniłej
pinów
tychczas omwionej klawiatury te- podano dwa przykłady takich
JP2, JP3: Złącze ARK2
lefonicznej układem liter. Budowa zwrotw. Są to:
PK1: przekaznik RA2, RA2P, RA2Z, klawiatury zapewnia łatwą wymian CHRZ SKRZYBOCZEK
na napięcie 12V
wkładki opisującej klawisze. APELAJDA S KLIWA
Klawiatura membranowa 3x4 bez
Zakodowany zwrot powinien Na rys.7 pokazano układy kla-
opisu albo z opisem klawiatury
byĘ na tyle egzotyczny, aby nie wiatury dla obu tych zwrotw.
telefonicznej
został łatwo rozpoznany. Autor Przyjemnego kodowania!
podstawka DIL18
jest miłośnikiem twrczości Sta- Mirosław Lach, AVT
Elektronika Praktyczna 1/97
37
Wyszukiwarka
Podobne podstrony:
Uniwersalny wyświetlacz cyfrowyuniwersalny zamek szyfrowyINSTRUKCJA OBSŁUGI CYFROWY MIERNIK UNIWERSALNY UNI T UT 90 A 0077 PLPodstawy Cyfrowego Przetwarzania SygnalówZamek musi być widocznyFotografia cyfrowa w kryminalistyce aspekty techniczno prawneOpętany zamekInstrukcja obsługi Przenośna uniwersalna ładowarka USB Nokia DC 18gondowicz uniwersalna historia nikczemnosciFotografia cyfrowa Ćwiczenia praktycznePierwsze kroki w cyfrówce cz4więcej podobnych podstron