| Author |
Message
|
zasoby Poziom 19

Joined: 11 Jul 2002 Posts: 792
|
#1
05 Jan 2006 12:33 Pastylki Dallas - pamięć dotykowa |
|
|
|
W systemie dostępowym przeważnie stosuje się karty magnetyczne, chipowe lub karty zbliżeniowe RFID. To rozwiązanie jest dosyć nowe - klucz wygląda jak bateria do płyty głównej.
Zalety pamięci dotykowej:
- niesamowicie mała 5mm średnica
- pole magnetyczne nie wpływa w żaden sposób na pamięć
- obudowa odporna na zewnętrzne działanie czynnikó atmosferycznych i przemysłowych
- w pełni zabezpieczona
Sam czujnik w formie dwóch blaszek może być zamontowany wszędzie, do jego podłączenia wystarczy jedna para przewodów (dwa przewody).
W załączniku znajduje się przykładowy układ obsługujący pastylki Dallas DS1990A (koszt około 16PLN za pastylkę). Jego działanie jest bardzo proste - mikrokontroler odczytuje numer pastylki po czym weryfikuje ten numer z informacją zapisaną w EEPROM. Jeżeli wszystko jest poprawnie wysterowuje przekaźnik, który np. steruje otwarciem drzwi. Oprócz tego generuje dźwięk potwierdzający. Przekaźnik 5V.
Przykładowy program dla mikrokontrolera AVR
| Code: |
;*Includes*
.include "1200def.inc"
;* Pin Definitions*
.equ RxD =6
.equ TxD =0
.equ LED =2
;*Global Register Variables*
.def greska =r16
.def temp1 =r17
.def temp2 =r18
.def temp3 =r19
.def acca =r20
.def accb =r21
.def ZL =r30
.def ZH =r31
;* Interrupt Vectors*
rjmp RESET
;*************
;* FUNCTION
;*
;* w30us (1+(1+2)*79+4=242=30.25us)
;*************
w30us:
ldi temp1,79 ;1~
tloop1: dec temp1 ;1~
brne tloop1 ;2~ 1+(1+2)*79+4=242=30.25us
ret ;4~
;*************
;* FUNCTION
;*
;* w5us
;*************
w5us:
ldi temp1,12 ;1~
tloop2: dec temp1 ;1~
brne tloop2 ;2~ 1+(1+2)*13+4=242=5.5us
ret ;4~
;*************
;* FUNCTION
;*
;* w480us
;*************
w480us:
ldi temp1,0x5
tl13: ldi temp2,0xff
tl12: dec temp2
brne tl12
dec temp1
brne tl13
ret
;*************
;* FUNCTION
;*
;* w300us
;*************
w300us:
ldi temp1,0x4
tl23: ldi temp2,0xff
tl22: dec temp2
brne tl22
dec temp1
brne tl23
ret
;*************
;* FUNCTION
;*
;* w200ms
;*************
w200ms: ldi temp3, 16 ;1~
tl3: ldi temp2, 0x82 ;1~
tl2: ldi temp1, 0xff ;1~
tl1: dec temp1 ;1~
brne tl1 ;2~
dec temp2 ;1~
brne tl2 ;2~
dec temp3 ;1~
brne tl3 ;2~
ret ;4~
;*************
;* FUNCTION
;*
;* test
;*************
test: sbi PORTD,0 ; Tx =1
rcall w480us
cbi PORTD,0 ; Tx =0
rcall w30us
rcall w30us
rcall ima
ret
;*************
;* FUNCTION
;*
;* ima
;*************
ima: in acca,pind
andi acca,0x40
brne l2
ldi greska,0x02
l2: rcall w480us
ret
;*************
;* FUNCTION
;*
;* citanje/read
;*************
citanje:
rcall w_one
rcall w_one
rcall w_zero
rcall w_zero
rcall w_one
rcall w_one
rcall w_zero
rcall w_zero
ret
;*************
;* FUNCTION
;*
;* w_one
;*************
w_one:
sbi portd,TxD
rcall w5us
cbi portd,TxD
rcall w60us
ret
;*************
;* FUNCTION
;*
;* w_zero
;*************
w_zero:
sbi portd,TxD
rcall w60us
cbi portd,TxD
rcall w5us
ret
;*********************************
;* FUNCTION
;*
;* w60us (1+(1+2)*160+4=125~=60.62us
;*********************************
w60us:
ldi temp1,160 ;1~
tl4: dec temp1 ;1~
brne tl4 ;2~
ret ;4~
;*********************************
;* FUNCTION
;*
;* read_no
;*********************************
read_no:
clr ZH
ldi ZL,0x08
rl2: dec ZL
ldi temp3,0x08
clr acca
rl1: asr acca
andi acca,0x7f
sbi portd,TxD
nop
nop
nop
nop
cbi portd,TxD
rcall w5us
in accb,pind
lsl accb
andi accb,0x80
rcall w60us
add acca,accb
dec temp3
brne rl1
st Z,acca
cpi ZL,0x00
brne rl2
ret
;*************
;* FUNCTION
;*
;* r_bit
;*************
EERead_seq:
in temp1,EEAR ;get address
inc temp1 ;increment address
out EEAR,temp1 ;output address
sbi EECR,EERE ;set EEPROM Read strobe
;This instruction takes 4 clock cycles since
;it halts the CPU for two clock cycles
sbi EECR,EERE ;set EEPROM Read strobe 2nd time
;This instruction takes 4 clock cycles since
;it halts the CPU for two clock cycles
in temp2,EEDR ;get data
ret
;***** Copy 8 bytes of EEPROM to registers
copy:
out EEAR,accb ;EEAR <- $ff (start address - 1)
ldi ZL,8 ;Z-pointer points to r8
loop2: rcall EERead_seq ;get EEPROM data
st Z,temp2 ;store to SRAM
inc ZL
cpi ZL,16 ;reached the end?
brne loop2 ;if not, loop more
ret
;*************
;* FUNCTION
;*
;* provera/checking
;*************
provera:
ldi temp3,0x08
mov acca,r0
mov accb,r8
rcall lp1
mov acca,r1
mov accb,r9
rcall lp1
mov acca,r2
mov accb,r10
rcall lp1
mov acca,r3
mov accb,r11
rcall lp1
mov acca,r4
mov accb,r12
rcall lp1
mov acca,r5
mov accb,r13
rcall lp1
mov acca,r6
mov accb,r14
rcall lp1
mov acca,r7
mov accb,r15
rcall lp1
ret
lp1: cpse acca,accb
ret
dec temp3
breq lp2
lp3: ret
lp2: ldi greska,0x08
rjmp lp3
;*********************************
; beep Tonski signal, LED i rele
;*********************************
beep:
sbi portd,LED
ldi acca,0x07
bl2: ldi temp3,0xff
bl1: sbi portd,1
rcall w300us
cbi portd,1
rcall w300us
dec temp3
brne bl1
dec acca
brne bl2
clr greska
cbi portd,LED
ret
RESET:
main:
clr greska
ldi temp1,0xff
out ddrb,temp1
sbi DDRD,2
sbi DDRD,1
sbi DDRD,0
l6: rcall test
andi greska,0x02
breq l6
rcall citanje
rcall read_no
ldi accb,0xff
rcall copy
rcall provera
andi greska,0x08
breq ll1
rcall beep
ll1: ldi accb,0x07
rcall copy
rcall provera
andi greska,0x08
breq ll2
rcall beep
ll2: rjmp main
|
http://www.mikroelektronika.co.yu/english/magazine/articles/14.htm
| Description: |
|
| Filesize: |
10.67 KB |

|
|
|
| Back to top |
|
 |
Google

|
#
05 Jan 2006 12:33 |
|
|
|
|
|
| Back to top |
|
 |
ElSor Poziom 10

Joined: 24 Jul 2005 Posts: 49 Location: Ozimek
|
#2
06 Jan 2006 12:38 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
Dobry artykul
|
|
| Back to top |
|
 |
VSS Poziom 17

Joined: 12 Sep 2002 Posts: 405 Location: Poznań
|
#3
06 Jan 2006 14:39 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
| ElSor wrote: |
| Dobry artykul |
a na mój gust lipa, za każdym razem jak chcę dodać kolejną pastylkę mam kompilować soft ?? nie widze żadnych juperów do konfiguracji. projekt jest niedokończony.
|
|
| Back to top |
|
 |
walent25 Poziom 10

Joined: 11 Dec 2003 Posts: 53
|
#4
06 Jan 2006 20:01 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
Szkoda, że to takie stare, 10 lat temu montowali takie zabezpieczenie w Polonezie, pierwsze immobilizery. Strasznie niewygodne i bardzo widoczne, pastylka ma kilkanaście mm a nie 5 (widać to nawet na zdjęciu)
|
|
| Back to top |
|
 |
Jarema Poziom 21

Joined: 26 Jun 2002 Posts: 1216 Location: KRK II
|
#5
07 Jan 2006 01:34 Pastylki Dallas - pamięć dotykowa |
|
|
|
Witam,
Mam pytanko w jakim celu w tym układzie siedzi BSS100 ?
Nieraz używałem pastylek i wykorzystywałem do tego tylko jedną linię portu procka więc troche dziwi mnie to rozwiązanie.
Poza tym odnoszę wrażenie, że przedstawiony tutaj układ jest testerem pastylek i niczym więcej.
|
|
| Back to top |
|
 |
Google

|
#
07 Jan 2006 01:34 |
|
|
|
|
|
| Back to top |
|
 |
ghost Poziom 18

Joined: 04 Oct 2002 Posts: 551 Location: Kraków
|
#6
07 Jan 2006 10:08 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
| Jarema wrote: |
Witam,
Mam pytanko w jakim celu w tym układzie siedzi BSS100 ? |
jesli zasilanie i dane ida jedna linia to moze jest to pewna forma resetu pastylki?
I moze bardziej odporna na zaklocenia/ o wiekszym zasiegui niz po prostu noga procka
| Jarema wrote: |
Poza tym odnoszę wrażenie, że przedstawiony tutaj układ jest testerem pastylek i niczym więcej. |
To po co bylby w tym ukladzie uklad wyzwalajacy w postaci przekaznika?
|
|
| Back to top |
|
 |
Jarema Poziom 21

Joined: 26 Jun 2002 Posts: 1216 Location: KRK II
|
#7
07 Jan 2006 12:21 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
| ghost wrote: |
| Jarema wrote: |
Witam,
Mam pytanko w jakim celu w tym układzie siedzi BSS100 ? |
jesli zasilanie i dane ida jedna linia to moze jest to pewna forma resetu pastylki?
I moze bardziej odporna na zaklocenia/ o wiekszym zasiegui niz po prostu noga procka
| Jarema wrote: |
Poza tym odnoszę wrażenie, że przedstawiony tutaj układ jest testerem pastylek i niczym więcej. |
To po co bylby w tym ukladzie uklad wyzwalajacy w postaci przekaznika? |
1. Czyżby 25mA nie wystarczało - nigdy nie miałem z tym problemów.
2. Przekaźnik może sygnalizować czy CRC jest np. prawidłowe :P
|
|
| Back to top |
|
 |
qjas Poziom 13

Joined: 27 Nov 2002 Posts: 133 Location: -
|
#8
07 Jan 2006 15:13 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
Hm, na schemacie jest blad, sygnal z pastylki idzie m.in do R2, no chyba ze zamiarem autora jest cykanie przekaznika w takt idacych informacji ;]
|
|
| Back to top |
|
 |
Google

|
#
07 Jan 2006 15:13 |
|
|
|
|
|
| Back to top |
|
 |
SIEKIERA_666 Poziom 17

Joined: 30 Oct 2002 Posts: 414 Location: DĄBROWA GÓRNICZA
|
#9
07 Jan 2006 15:43 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
Witam
Jak umieścic w EEPromie informacje o np 3 lub 5 pstylkach?
Może siakiś przykład??
Pozdrawiam SIEKIER'A
:twisted:
|
|
| Back to top |
|
 |
Jarema Poziom 21

Joined: 26 Jun 2002 Posts: 1216 Location: KRK II
|
#10
08 Jan 2006 00:00 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
| qjas wrote: |
| Hm, na schemacie jest blad, sygnal z pastylki idzie m.in do R2, no chyba ze zamiarem autora jest cykanie przekaznika w takt idacych informacji ;] |
Owszem, nie powinno być tam połączenia.
| SIEKIERA_666 wrote: |
Witam
Jak umieścic w EEPromie informacje o np 3 lub 5 pstylkach?
Może siakiś przykład??
Pozdrawiam SIEKIER'A
:twisted: |
Najpierw trzeba znać ich ID, które dla każdej pastylki zajmuje 8 bajtów.
Program zamieszczony przez Gulsona (chyba) jest kompletny więc jedynie trzeba dopisać obsługę porównania ID dla pozostałych pastylek.
|
|
| Back to top |
|
 |
igabriel Poziom 16

Joined: 11 Jul 2005 Posts: 297 Location: Dąbrowa Górnicza
|
#11
08 Jan 2006 15:25 Re: Pastylki Dallas - pamięć dotykowa |
|
|
|
jeśli ktoś chce skorzystać z tego rodzaju "klucza" to niech poszuka w archiwlnych numerach "Elektroniki Praktycznej" chyba z końca lat 90-tych,tam był opisany układ z pastylkami Dallas, wtedy były sprzedawane gotowe zestawy do montażu , są to układy sprawdzone i działają do dzisiaj...
|
|
| Back to top |
|
 |
Ronin64 Poziom 22

Joined: 07 Feb 2006 Posts: 1825 Location: EBR
|
#12
13 Apr 2006 16:35 Pastylki Dallas - pamięć dotykowa |
|
|
|
My produkujemy zabezpieczenia wykożystujące pastylki Dallas'a i mamy mnóstwo zamówień, czasami aż za dużo ...
|
|
| Back to top |
|
 |