Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Elektroniczny klucz DS1991

glock
-
-
Posty:4
Rejestracja:12 sie 2005, o 16:59
Lokalizacja:Radom
Elektroniczny klucz DS1991

Postautor: glock » 30 sie 2005, o 22:24

Nie wie ktoś przypadkiem jak wykorzystując AVR odczytać numer seryjny pastylki DS1991 (takiej jak w samochodowych immobilizerach), jaki układ do tego potrzebny by zrealizować komunikację 1-wire między pastylką a procesorem ?

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 31 sie 2005, o 03:48

Do komunikacji One wire na AVR nie potzrebujesz układów posredniczacy. jak piszesz w Bascomie to są tam gotowe komendy i wszystko jest łatwe proste i przyjemne. polecam lekture helpa od bascoma i notke aplikacyjna od DS'a i wszytsko bedzie jasne.

radzio
Moderator
Moderator
Posty:967
Rejestracja:13 maja 2003, o 10:33
Lokalizacja:Sosnowiec
Kontaktowanie:

Postautor: radzio » 31 sie 2005, o 08:05

Tu masz procedurki w asemblerze :D A reszta wiedzy, jak pisał przedmówca w dataszitach Dallasa :wink:

Kod: Zaznacz cały

.include "2313def.inc" #define DQ_PORT DDRD #define DQ 5 #define SET_DQ cbi DQ_PORT, DQ #define CLR_DQ sbi DQ_PORT, DQ ; procedura opóźniająca o (5+5*rdel) * 0,25 us delay: nop subi rdel, 1 brne delay ret ; procedura generujaca sygnał reset na linii 1wire ow_reset: cli CLR_DQ ; stan niski na linii 1wire ldi rdel, 255 ; rcall delay ; ldi rdel, 119 ; opóźnienie ok 480 us rcall delay ; SET_DQ ; stan wysoki na linii 1wire ldi rdel, 255 ; rcall delay ; ldi rdel, 119 ; opóźnienie ok 480 us rcall delay ; sei ret ; procedura nadania bitu przez linię 1wire ow_write_bit: cli ; zablokowanie przerwań CLR_DQ ; stan niski na linii 1wire ldi rdel, 7 rcall delay cpi acc, 0 breq dalej SET_DQ dalej: ldi rdel, 80 rcall delay SET_DQ sei ret ; procedura odczytu bitu z linii 1wire ow_read_bit: cli CLR_DQ ldi rdel, 1 rcall delay SET_DQ ldi rdel, 11 rcall delay ldi acc, 1 sbis IN_DQ, DQ ldi acc, 0 sei ret ; procedura wsłania bajtu na linię 1wire ow_write: mov temp, acc ; zapamiętanie danej wejściowej w rejestrze temp ldi count, 1 ; załadowanie do licznika wartości początkowej loop1: mov acc, temp ; przywrócenie danej wejściowej and acc, count ; iloczyn logiczny danej wejściowej i licznika rcall ow_write_bit ; wywołanie procedury zapisu bitu lsl count ; przesuniecie licznika o 1 bit w lewo cpi count, 0 ; sprawdzenie, czy licznik = 0 brne loop1 ; jeśli nie to wróc na początek pętli ret ; procedura odczytu bajtu z linii 1wire ow_read: ldi temp, 0 ; wyzerowanie rejestru temp ldi count, 1 ; załadowanie do licznika wartości początkowej loop2: rcall ow_read_bit ; wywołanie procedury odczytu bitu z linii 1wire cpi acc, 0 ; porównanie zwróconej wartośći z liczbą 0 breq rd1 ; jeśli równe to skocz do rd1 or temp, count ; jeśli rózne to wykonaj sumę logiczną temp i licznika rd1: ldi rdel, 6 ; opóźnienie rcall delay lsl count ; przesunięcie licznika o 1 bit w lewo cpi count, 0 ; sprawdzenie, czy licznik = 0 brne loop2 ; jeśli nie to skocz na początek pętli mov acc, temp ; przepisanie temp do acc ret

glock
-
-
Posty:4
Rejestracja:12 sie 2005, o 16:59
Lokalizacja:Radom

Postautor: glock » 31 sie 2005, o 13:10

No tak ale ta pastylka działa na zasadzie zbliżenia i w nocie aplikacyjnej nie moge doszukać się schematu układu odbiorczego, w tym cały problem.
Tu jest o jaką pastylkę mi chodzi: http://www.allegro.pl/show_item.php?item=61284437

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 31 sie 2005, o 14:23

Mylisz dzialanie pastylek z kartami RFID czyli transponderami. Pastylki działaja na zasadzie galwanicznego połaczenia z procesorem odczytującym. poczytaj jednak te notke aplikacyjną ;)

McKEE
-
-
Posty:186
Rejestracja:7 cze 2004, o 10:02
Lokalizacja:Gniewkowo_Toruń

Postautor: McKEE » 1 wrz 2005, o 06:57

Ta pastylka to jakby taka bateryjka , ma dwa odizolowane bieguny, jedną podłaczasz do masy , drugi to zasilanie i transfer danych , obie muszą sie fizycznie stykać z odpowiednimi końcówkami procesora lub innego układu pośredniczącego. Poszukaj na EP , potoczna nazwa to klucz lub pastylka Dallas .

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości