Zugangs Sicherungssystem E Key

background image

Mit der hier vorgestellten Schaltung können
zwei Relais über elektronische Schlüssel akti-
viert werden. Dabei basieren die Schlüssel
auf so genannten iButton-ICs von Dallas
Semiconductor, die in erster Linie dafür ent-
wickelt wurden, Alarmsysteme ein- und aus-
zuschalten. Es sind aber auch viele andere
Anwendungen denkbar, wie z.B. eine
Zugangskontrolle für PCs oder das Öffnen von
Türen und Garagentoren. Gegenüber kon-
ventionellen Systemen bietet der elektroni-

HAUS&HOF

22

Elektor

11/2000

E-Key

Zugangs-Sicherungs-System

Heutzutage wird der
Buchstabe ”E” allen
möglichen Begriffen
vorangestellt, die in
unserem elektroni-
schen Zeitalter als
trendy gelten, wie
z.B. E-Mail, E-Busin-
ess und E-Life. Oft
hat das wenig mit
Elektronik zu tun.
Nicht so beim E-Key,
einem wirklich elek-

tronischen Schlüssel mit

iButton-ICs von Dallas Semiconductor.

e-Key-Eigenschaften

Max. Anzahl verschiedener Schlüssel:

7

Ausgänge:

2 (Relais)

Max. Entfernung zwischen Lesekontakt und Platine:

15 m

Ausgabe von Schlüsselkodes via RS232

Einstellung der Systemdaten via RS232

Watchdog

Stromversorgung:

7 - 15 V Gleichspannung

Stromaufnahme:

max. 50 mA (abhängig vom Relaiszustand)

Auf Basis von iButton™ ICs

Entwickelt von P. Gros

background image

empfangen. Sobald ein Befehl eintrifft, sendet
der DS1990A die dem Befehl entsprechenden
Daten zurück. Jede Datenübertragung wird
durch einen CRC (cyclic redundancy check)
gesichert. Dieser CRC basiert auf einem 8-bit-
Polynom (X8 + X5 + X4 +1). Das Flussdia-
gramm des DS1990A-Protokolls ist in

Bild 3

angegeben.

Betriebsablauf und Anwendung

Der Mikrocontroller der Auswerteeinheit
beginnt mit dem Laden der Identitätskodes
aus seinem EEPROM-Bereich in ein Register.
Da der verwendete AT90S1200 64 Bytes ent-
hält, verwenden wir 7 Bereiche zu 6 + 2
Bytes. Dadurch kann die Schaltung bis zu 7
verschiedene Schlüssel an ihrem Identitäts-
kode erkennen.
Für jeden der 7 Schlüssel werden 6 Bytes
gespeichert, die die Seriennummer enthalten,
dazu kommen noch 2 Bytes, die die Anzugs-

sche Schlüssel viele Vorteile. Das
System besteht aus drei Komponen-
ten: Benutzerinterface, Auswerte-
einheit und Steuerinterface.
Um maximale Sicherheit zu errei-
chen, ist es wichtig, das Benutzer-
interface vollständig von den ande-
ren beiden Komponenten zu trennen.
Bei konventionellen elektronischen
Schließsystemen wie zum Beispiel
Kodeschlössern bilden Benutzer-
interface (Tastatur) und Auswertung
eine Einheit in einem gemeinsamen
Gehäuse und sind so tätlichen Über-
griffen und möglichen Manipulatio-
nen ausgesetzt.
Bei dem hier beschriebenen System
besteht das Benutzerinterface aus
einem Lesekontakt mit zwei
Anschlüssen, der dem Batteriehalter
einer Knopfzelle ähnelt – genauso
wie die Bauform des iButton von der
einer Knopfzelle inspiriert wurde.
Dieser Lesekontakt kann über eine 2-
Drahtverbindung bis zu 15 m von der
Auswerteschaltung entfernt ange-
ordnet werden. Die Auswerteeinheit
lässt sich so gut versteckt und van-
dalismusgeschützt an einem siche-
ren Ort unterbringen, wobei der
Lesekontakt mit seinen Anschlüssen
keine Möglichkeit der Manipulation
bietet.

Der Schlüssel

Der ‘iButton’ von Dallas Semicon-
ductor sieht tatsächlich aus wie eine
Knopfzelle mit einem Durchmesser
von etwa 17 mm und einer Dicke von
3 bis 5 mm. Die 5 mm dicke Version
kann in einem speziellen Halter
untergebracht werden, damit man
den Knopf wie einen Schlüsselan-
hänger an einem Schlüsselring oder
Schlüsselbund tragen kann (siehe
Foto). Eine andere Möglichkeit ist die
”Integration” in ein Uhren-Armband
(

Bild 1).

Wie eine Knopfzelle hat auch der
Button nur zwei Anschlüsse, näm-
lich Masse und den aktiven
Anschluss, über den ein serieller
Datenaustausch mit der Auswerte-
einheit erfolgt. Es gibt eine ganze
Button-Familie unterschiedlicher
Komplexität, die von einem simplen
6-Byte-Kode (48 bit) bis zu einer
Speicherstruktur mit Passwortab-
frage reicht.
Sobald ein Button über den Lese-
kontakt mit der Auswerteeinheit ver-

bunden ist, beginnt die serielle Kom-
munikation mit einem Mikrocontrol-
ler in der Auswerteeinheit.

Bei dem hier verwendeten

DS1990A handelt es sich um das ein-
fachste Mitglied der Familie der
iButton’ mit folgendem Inhalt:

– einem ”Familienkode” (1 Byte)
– einem Identitätskode von 6 Bytes

(48 Bits)

– einem Check-Byte (CRC).

Das iButton-Protokoll

Der ‘iButton’ stellt seine internen
Daten zum Auslesen bereit, sobald
über den Lesekontakt Spannung
angelegt wird. Um der Leseeinheit
seine Präsenz zu signalisieren, legt
der Button die aktive Leitung auf
Low (siehe graue Linie in

Bild 2a).

Dieser ”presence puls” triggert die
interne Initialisierung des Button.
Nach Ende der Initialisierung wird
der Low-Pegel wieder aufgehoben,
wonach ein interner Pull-up-Wider-
stand wirksam wird. Nach dem
Ende des Intervalls t

RSTH

kann ein

Befehlskode gesendet werden.
In Bild 2a ist das für die Initialisie-
rung verfügbare Zeitfenster einge-
zeichnet. Dem geht ein vom Leser
ausgesandter ‘Master Reset Pulse’
zur Reinitialisierung des iButton vor-
aus. In unserem Fall korrespondiert
der Anschluss des iButton an die
Lesekontakte mit dem Zeitfenster
‘t

RSTH

’ (= ‘Master R

x

Presence

Pulse’).

Datenübertragung

Auf den internen Speicher des
DS1990A iButton wird über die 1-
Draht-Leitung zugegriffen, wobei
das Protokoll den Ablauf des Daten-
transfers regelt. Es gibt drei Arten
des Datentransfers:
Schreiben eines High-Pegels (‘1’)
(Bild 2b); Schreiben eines Low-
Pegels (‘0’) (Bild 2c) und Lesen eines
Datenbits (Bild 2d). Das Protokoll
definiert Zeiten (time slots) für die
Dauer des Anlegens der relevanten
Logikpegel, damit so die übertra-
genen Daten auf der Empfangsseite
korrekt gelatched werden können.
Am Ende der Resetphase geht der
DS1990A in den Command-entry-
Modus, d.h., er ist bereit, Befehle zu

HAUS&HOF

23

11/2000

Elektor

Bild 1. Hier ist ein iButton als elektronischer
Schlüssel an einem Uhrarmband befestigt
(Foto: Dallas Semiconductor).

background image

zeit (Ein-Zeit) der beiden Ausgangsrelais
festlegen. Auf diese Weise kann man definie-
ren, welcher Schlüssel welches Relais (oder
auch beide) für wie lange anziehen lässt. So
kann man die Auswerteeinheit zwei oder drei
verschiedene Aktionen ausführen lassen, je
nachdem, welcher Schlüssel gelesen wird.
Das ermöglicht es, Zugangsberechtigungen
für verschiedene Schlüsselbesitzer zu diffe-
renzieren.
Die acht verbleibenden Bytes erlauben Zähl-
funktionen, zum Beispiel um die Zahl der
watchdog-aktivierten Resets oder die CRC
des betreffenden EEPROM-Bereichs zu regi-
strieren.
Die Systemparameter können über ein RS-232-
Terminal oder einen PC mit Terminalprogramm
(z.B. Hyperterminal) geladen werden. Die
zulässigen Befehle sind in

Tabelle 1 gelistet.

Die Befehle müssen in Großbuchstaben
genau wie angegeben eingetippt werden, da
der Prozessor wegen des geringen ROM-
Bereichs nicht sehr ”intelligent” ist. Als
ersten Befehl kann man

D eingeben, um zu

kontrollieren, dass die EEPROM-Bereiche
noch keine Kodes enthalten.
Mit dem Befehl

S kann man das System an

einen neuen Schlüssel ”gewöhnen”: Nach
dem Befehl eine Zahl zwischen 1 und 7 ein-
geben und dann den Schlüssel (iButton) an
den Lesekontakt anlegen. Der Identitätskode
des Schlüssels wird jetzt ausgelesen und
unter der zuvor eingegebenen Position (1 bis
7) gespeichert.
Für die beiden Relais ist eine Anzugszeit von
5 Sekunden voreingestellt (Default). Eine
Änderung dieser Einstellung erfolgt mit dem
Befehl

A.

Mit Befehl

C kann ein in der eingegebenen

Position ‘n’ gespeicherter Identitätskode wie-
der gelöscht werden.
Der letzte Befehl,

Z, löscht alle EEPROM-

Bereiche.
Die LED D2 bleibt normalerweise anfangs
dunkel. Wenn der EEPROM-Bereich leer ist,
erzeugt der Auto-CRC einen Fehler. Das wird
automatisch durch Verwendung der Befehle
A, C, S oder Z korrigiert.

Die Schaltung

Das Schaltbild des Zugangssicherungssy-
stems ist in

Bild 4 zu sehen. Zentral steht

der mit 4 MHz getaktete Atmel-Mikrocon-
troller AT90S1200, der zwar relativ langsam,
aber allemal schnell genug für diese Anwen-
dung ist. Er verfügt über 1024 Bytes Flash-
Programmspeicher, 32

Bytes RAM in

32 Registern, 64 Bytes EEPROM, einen Inter-
rupt-Eingang, I/O-Ports und einen Watch-
dog-Reset.

HAUS&HOF

24

Elektor

11/2000

Bild 2. Impulsdiagramme: (a) Initialisierung, (b) Schreiben einer logischen 1; (c)
Lesen einer logischen 0; (d) Warten auf Daten (Quelle: Dallas Semiconductor).

Table 1. e-Key Befehlsübersicht

Befehl

Bezeichnung

Aktion

AnXXYY

Action

n=Schlüsselnummer, XX= Relais-1 aktiv,

YY= Relais-2 aktiv

XX=00 keine Aktion, Inkrement 1 s (ca.)

Cn

Clear

Lösche Identitätskode des Schlüssels ‘n’.

D

Dump

Lösche gesamten EEPROM-Bereich

Sx

Set key

Einlesen Identitätskode eines neuen Schlüssels,

speichern im reservierten EEPROM-Bereich

x ist die Schlüsselnummer (1 - 7).

Default ‘Ein’-Zeit der Relais ca. 5 s.

Z

Zero

System-Reset und EEPROM löschen

a

b

c

d

background image

Handler bestimmt die Quelle des Interrupts
(PD1 oder PD2).
Die Kommunikation über die RS232-Schnitt-
stelle bietet folgende Möglichkeiten:
– Registrierung neuer Schlüssel
– Deaktivierung von Schlüsseln
– Anzeige der Identitätskodes erkannter

Schlüssel

– Anzeige des gelesenen Schlüsselkodes bei

jedem Schlüsselkontakt. Bei CRC-Fehler
wird ein Rauten-Zeichen (#) angezeigt.

An PB2 kann eine LED angeschlossen wer-
den. Hier ist es D2, die aufleuchtet, wenn
alles in Ordnung ist, d.h., nach Initialisierung
mit korrektem CRC.
Die Ports PB0 und PB1 steuern die beiden
Relais, die ebenfalls mit Anzeige-LEDs ver-
sehen sind (D4 und D5).
Zur Stromversorgung der Schaltung ist ein
Steckernetzteil mit einer Gleichspannung von
7 bis 15 V vorgesehen, die unstabilisiert sein
kann. Diode D1 dient als Verpolschutz beim
Anschluss dieser Spannung an den 5-V-Span-
nungsregler IC1, der für die Betriebsspan-
nung der Schaltung sorgt.
Der RESET-Eingang des Mikrocontrollers
braucht nicht angeschlossen zu werden, da
der Atmel über einen internen Power-on-
Reset verfügt.

Bauhinweise

Platinenlayout und Bestückungsplan sind in
Bild 5 zu finden. Auf der einseitigen Platine
ist nur eine Drahtbrücke zu bestücken (zwi-
schen C3 und C4). Weiter gibt es keine
Besonderheiten. Für die RS232-Verbindung ist
wie fast immer eine gewinkelte Buchse auf
die Platine zu löten. Bevor man den program-
mierten
Mikrocontroller in die Fassung ein-
setzt (die gedrehte Pins haben sollte), sollte
man an die ansonsten komplett bestückte
Platine Betriebsspannung anlegen und
anhand der Schaltung an den Punkten mes-
sen, die mit der 5-V-Betreibsspannung ver-
bunden sind. Nach dieser Spannungskon-
trolle wird die Spannung wieder abgeklemmt
und der Controller (richtig herum) eingesetzt.
Wer den AT90 selbst programmieren
möchte, der kann auf den Quellkode zurück-
greifen, der sowohl auf Diskette als auch per
(Gratis-)Download vom Elektor-Site
(

www.elektor.de

) bezogen werden kann.

Für die Assemblierung steht der Atmel-
Assembler AVRASM.EXE auf dem Atmel-
Website zum Download zur Verfügung.

Das Programm

Nach dem Power-up-Reset werden Ports,
Timer und Watchdog initialisiert. Gleichzeitig
wird ein automatischer CRC über den

Das Lesen eines iButton erfolgt über
die Portleitung PD2, die gleichzeitig
als Interrupt-request-Eingang fun-
giert. Man muss eine ‘1’ program-
mieren, um den internen 1-k-Pull-up-
Widerstand zu aktivieren (an +5 V
zu legen) und so eine ”Phantom-
speisung” für den am Lesekontakt
anliegenden iButtons zu realisieren.
Ein Blick auf das Impulsdiagramm
zeigt, dass der iButton unmittelbar
danach die Leitung für 470

µ

s auf

Low legt. Diese Pegeländerung an
PD2 triggert einen Interrupt-
Request, der seinerseits die Lese-
operation startet.

Ein (TTL-Pegel-) RS232-Interface
wird durch Verwendung der Portlei-
tungen PD0 und PD1 implementiert.
PD0 überträgt die Daten (9,600
bits/s, keine Parität, 1 Stoppbit),
wobei R1 den Strom auf einen siche-
ren Wert begrenzt und so das Inter-
face vor Kurzschluss schützt.
Portleitung PD1 wird als Empfangs-
leitung für Daten verwendet, die
durch R2, R5 und T1 auf TTL-Pegel
gebracht werden. Widerstand R3
erzeugt zusammen mit D3 einen
Interrupt-Request, sobald über die
serielle Eingangsleitung Zeichen
empfangen werden. Der Interrupt-

HAUS&HOF

25

11/2000

Elektor

Bild 3. Flussdiagramm für Befehlsablauf und Datenfluss.

background image

EEPROM-Speicher ausgeführt. Ist dieser kor-
rekt, leuchtet D2 auf, die Schaltung ist jetzt
betriebsbereit und wartet auf einen Interrupt-
Request. Sobald dieser eintrifft, wird die Her-

kunft festgestellt (Schlüssel-Lese-
kontakt oder RS232-Dateneingang).
Diese beiden Fälle werden im Fol-
genden behandelt.

Key Read Interrupt
Als Erstes wird der Befehlskode
gesandt. Die daraufhin vom iButton
ausgegebenen Bytes werden einge-
lesen und mittels CRC geprüft. Das
Ergebnis muss Null sein. Wenn
nicht, wird das Fehlerzeichen (#)
über die serielle Schnittstelle aus-
gegeben und der Vorgang beendet.
Ist der CRC korrekt (0), werden die
eingelesenen Bytes über die serielle
Schnittstelle ausgegeben. Als Näch-
stes erfolgt der Vergleich des einge-
lesenen Kodes mit einem im
EEPROM gespeicherten Kode. Wird
kein übereinstimmender Kode im
EEPROM gefunden, wird der Vor-
gang jetzt beendet und das System
wartet wieder auf einen Interrupt.
Wenn der eingelesene Kode mit
einem im EEPROM gespeicherten
Kode übereinstimmt, wird das Relais
angesteuert, das diesem Kode durch
die entsprechenden Bytes zugeord-
net ist. Nach Ablauf der für dieses
Relais festgelegten Anzugsdauer
fällt das Relais wieder ab. Die Schal-
tung ist jetzt wieder bereit, einen

HAUS&HOF

26

Elektor

11/2000

(MISO)PB6

(MOSI)PB5

(AIN1)PB1

(AIN0)PB0

PD2(INT0)

PD3(INT1)

(SCK)PB7

(OCI)PB3

PD0(RxD)

PD1(TxD)

PD6(ICP)

PD4(T0)

PD5(T1)

XTAL1

XTAL2

RESET

S1200

AT90

IC1

PB4

PB2

20

10

19

18

17

16

15

14

13

12

11

5

4

1

2

3

6

7

8

9

C7

100n

C6

22p

C5

22p

C2

100n

C3

100n

C1

100µ
25V

C4

10µ
16V

7805

IC1

K3

1

2

3

4

5

6

7

8

9

K5

X1

4MHz

R4

10k

R5

100k

R7

1k

R9

1k

D1

1N4001

D3

1N4148

D2

D5

K2

K1

T1

BC547

R3

1k

R2

10k

R1

5k6

T3

BC557

R6

10k

D6

1N4148

RE1

K4

R10

1k

D4

T2

BC557

R8

10k

D7

1N4148

RE2

5V

5V

5V

5V

000089 - 13

Bild 4. Im Prinzip besteht der e-Key-Leser nur aus dem Atmel-Mikrocontroller AT90S1200.

background image

Interrupt zu verarbeiten. Solange ein
Relais angezogen ist, kann kein
Schlüssel am Lesekontakt erkannt
werden.

RS232 Interrupt
Ein vom PC oder Terminal über die
RS232-Schnittstelle gesandtes Zei-
chen wird vom Prozessor sofort
geprüft. Ist das Zeichen gültig, wird

sofort der entsprechende Befehl
ausgeführt. Wird das Zeichen als
ungültig erkannt, wird ein Fehler-
zeichens (*) über die RS232-Schnitt-
stelle zurückgesandt (zum PC oder
Terminal).

(000089-1e)

HAUS&HOF

27

11/2000

Elektor

Bild 5. Platinenlayout und Bestückungsplan des Zugangskontrollsystems.

000089-1

(C) ELEKTOR

C1

C2

C3

C4

C5

C6

C7

D1

D2

D3

D4

D5

D6

D7

H1

H2

H3

H4

IC1

IC2

K1

K2

K3

K4

K5

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

RE1

RE2

T1

T2

T3

X1

+

000089-1

0

000089-1

(C) ELEKTOR

Stückliste:

Widerstände:

R1 = 5k6
R2,R4,R6,R8 = 10 k
R3,R7,R9,R10 = 1 k
R5 = 100 k

Kondensatoren:

C1 = 100 µ/25V stehend
C2,C3,C7 = 100 n
C4 = 10 µ/10 V stehend
C5,C6 = 22 p

Halbleiter:

D1 = 1N4001
D2,D4,D5 = LED
D3,D6,D7 = 1N4148
T1 = BC547
T2,T3 = BC557
IC1 = 7805
IC2 = AT90S1200 (programmiert,

EPS 000089-41)

Außerdem:

K1 = 2-polige

Platinenanschlussklemme für
Platinenmontage (Raster 5mm)

X1 = 4-MHz-Quarz
RE1,RE2 = Printrelais 6 V, 1

Umschaltkontakt, z.B. V23057-
B0001-A101 (Siemens)

K3 = 9-polige Sub-D-Buchse für

Platinenmontage

K4,K5 = 3-polige

Platinenanschlussklemme (Raster
7,5 mm)

Schlüssel = Serial Number

iButton™ DS1990A (Dallas
Semiconductor, RS Components,
Farnell # 790-461)

Optional: Schlüsselhalter DS9093A
Lesekontakt für iButton™ DS9092

(RS Components, Farnell # 790-
473)

Platine EPS 000089-1 (siehe

Serviceanzeige in der Heftmitte)

Optional: Quellkode (Diskette EPS

000089-11 oder Download)

Quellen

im Internet

Mehr zum DS1990A, dem iButton-Chip
oder zum Atmel-Assembler findet man unter
folgenden Webadressen:

http://www.ibutton.com
http://www.dalsemi.com
http://www.atmel.com


Wyszukiwarka

Podobne podstrony:
05 DFC 4 1 Sequence and Interation of Key QMS Processes Rev 3 1 03
high key
first certificate practice tests and key 2
CARPROG BMW Key programmer manual
CD-KEY The Godfather (PC GAME) All, CD KEY'E
Answer Key Grammar Test 4, grammar tests 1-5
Midsummers Day Wordsearch Answer Key
Key Skills 4
automat bram garazowych key wiper
Marura Repetytorium PR Quick Test 12B key
Clockwise Advanced Practice Key
ListeningPracticeThroughDictation 3 Answer key
Key Concepts in Language and Linguistics
Answer Key Short Tests 11AB
Matura Repetytorium PR Quick Test 2B key
how to use toyota lexus smart key programmer

więcej podobnych podstron