plik


ÿþCzytnik-programator kart chipowych P R O J E K T Y Czytnik-programator kart chipowych, cz[ 2 kit AVT-468 KoÒczymy prezentacjÍ konstrukcji czytnika - programatora kart chipowych. W tej czÍúci artyku³u przedstawimy listÍ rozkazÛw wykorzytywanych do sterowania prac¹ karty chipowej oraz sposÛb wymiany informacji pomiÍdzy mikrokontrolerem obs³uguj¹cym kartÍ, a programem terminalowym. SkrÛtowo przedstawimy takøe bardzo efektown¹, przyk³adow¹ aplikacjÍ czytnika. Rozkazy steruj¹ce prac¹ go czasu odpowiedzi zosta³o po- karty X76F640 dyktowane chÍci¹ utrudnienia Jak wspomniano w pierwszej øycia potencjalnym w³amywa- czÍúci artyku³u transfer danych czom. Pojawienie siÍ sygna³u do i z karty odbywa siÍ poprzez ACK oznacza, øe has³o by³o dwuprzewodow¹ magistralÍ, ktÛra prawid³owe. Jeøeli w ci¹gu 10 jest funkcjonalnie bardzo podobna ms karta nie wygeneruje po- do znanego standardu I2C. twierdzenia naleøy uznaÊ, øe W identyczny sposÛb generowane has³o by³o b³Ídne. s¹ przez Mastera warunki Start Podanie b³Ídnego has³a powo- i Stop, w taki sam sposÛb prze- duje automatyczne zwiÍkszenie biega transmisja kaødego bitu, stanu licznika b³Ídnych prÛb! Je- nieco inaczej za to odbierane jest øeli nieuprawnione prÛby bÍd¹ potwierdzenie ACK. ponawiane, to po Ûsmej karta Pomocny w wyjaúnieniu prob- zostaje zablokowana! lemu bÍdzie rys. 11. Wykonanie Sterowanie prac¹ karty umoø- jakiegokolwiek polecenia przez liwia 12 rozkazÛw o kodach po- wewnÍtrzny automat steruj¹cy danych w tab. 1. PokrÛtce je karty chipowej jest uwarunkowa- omÛwimy: ne podaniem przez uøytkownika - READ ARRAY 0/1. Polecenia uprawnionego has³a o d³ugoúci odczytu zawartoúci komÛrki wy- 64 bitÛw. Has³o jest wysy³ane branej matrycy pamiÍciowej zawsze po bajcie polecenia (rys. o adresie podanym w dwÛch ko- 11). Kaødy wpis has³a do karty lejnych (po haúle) bajtach. Kar- powoduje uruchomienie cyklu ta po odebraniu tego polecenia zapisu matrycy EEPROM, ktÛry wysy³a w odpowiedzi wskazany trwa ok. 5 ms. Dopiero po tym bajt danych. Moøliwe jest takøe czasie karta jest w stanie odpo- losowe odczytanie dowolnej wiedzieÊ uøytkownikowi, czy po- z 256 kolejnych komÛrek pa- dane has³o jest prawid³owe, czy miÍci poprzez wys³anie do kar- teø nie. Zastosowanie tak d³ugie- ty mniej znacz¹cej czÍúci adre- Elektronika Praktyczna 10/98 63 Czytnik-programator kart chipowych Rys. 11. Format ramki danych podczas zapisu sektora. su. Adres ten musi zostaÊ po- dotychczasowego has³a dostÍpu przy pomocy ktÛrego bez trudu przedzony generowanym przez do polecenia zerowania zawar- moøna kartÍ zaprogramowaÊ lub Mastera warunkiem START. toúci karty. odczytaÊ jej zawartoúÊ, wykorzys- W przypadku pominiÍcia wa- - RESET PASSWORD. Rozkaz po- tuj¹c standardowe programy ter- runku START kolejne takty ze- woduj¹cy wyzerowanie zawar- minalowe. garowe wysy³ane do karty spo- toúci rejestrÛw hase³ oraz oby- Sk³adnia tego jÍzyka jest bar- woduj¹ wysy³anie przez ni¹ dwu matryc pamiÍciowych Ar- dzo prosta - szczegÛ³y przedsta- bajtÛw o kolejnych adresach. ray0 i Array1. Wys³anie tego wiamy poniøej. Tak wiÍc moøliwy jest odczyt polecenia do karty jest najpros- zawartoúci kilku komÛrek pa- tszym sposobem jej szybkiego, Odczyt matryc miÍci po jednokrotnym podaniu ca³kowitego wyzerowania. pamiÍciowych adresu, bez koniecznoúci dodat- - RESET DEVICE. Rozkaz umoø- Array0 i Array1 kowego adresowania kaødego liwiaj¹cy uruchomienie karty po Sk³adnia polecenia: odczytu. zablokowaniu jej przez licznik Rda:xxxxxxxxxxxxxxxx:AAAA - SECTOR WRITE 0/1. Rozkaz nieuprawnionych prÛb dostÍpu. a - numer matrycy 0 lub 1; umoøliwiaj¹cy zapis informacji Przy pomocy tego polecenia x - znaki szesnastkowe 0..F do matrycy pamiÍciowej pod moøna takøe wyzerowaÊ ten licz- sk³adaj¹ce siÍ na has³o READ0/1; wybrany adres. Podobnie jak nik, przed przekroczeniem do- A - znaki szesnastkowe 0..F w przypadku polecenia odczy- puszczalnego limitu prÛb (8). sk³adaj¹ce siÍ na adres pocz¹tko- tu, jako nastÍpne musi zostaÊ - ACK POLLING. Polecenie koÒ- wy (zakres 0000..1FFFh). przes³ane do karty has³o dostÍ- cz¹ce procedurÍ zapisu do pa- W odpowiedzi na takie polece- powe. Moøliwy jest jednoczes- miÍci has³a (rys. 11). Moøna je nie sterownik odeúle (jeøeli has³o ny wpis 32 bajtÛw danych, takøe wykorzystaÊ do kontroli dostÍpu by³o poprawne!) zawar- ktÛre zapisywane s¹ w matrycy aktualnego stanu karty (czy zo- toúÊ wybranej komÛrki pamiÍci. EEPROM w jednym cyklu pro- sta³ zakoÒczony proces zapisu gramowania. Kaøda transmisja matrycy EEPROM). Odczyt zawartoúci blokÛw bloku danych wpisywanych do Kody instrukcji, ktÛre nie zo- matryc pamiÍciowych pamiÍci musi byÊ zakoÒczona sta³y wymienione w tab. 1 s¹ nie- Array0 i Array1 znakiem STOP. legalne i nie powinny byÊ stoso- Sk³adnia polecenia: - CHANGE READ 0/1 PAS- wane. Raa:xxxxxxxxxxxxxxxx:AAAA SWORD. Polecenie umoøliwia- a - numer matrycy 0 lub 1; j¹ce zmianÍ dotychczasowego Sterowanie czytnika - x - znaki szesnastkowe 0..F has³a zabezpieczaj¹cego obydwie programatora sk³adaj¹ce siÍ na has³o READ0/1; matryce kart przed odczytem. Wymienione wczeúniej rozkazy A - znaki szesnastkowe 0..F Zmiana kaødego z tych hase³ umoøliwiaj¹ bezpoúredni¹ komu- sk³adaj¹ce siÍ na adres pocz¹tko- wymaga podania poprzedniego nikacjÍ z kart¹, stanowi¹c najniø- wy (zakres 0000..1FFFh). has³a, co zapobiega moøliwoúci sz¹ warstwÍ komunikacji. W odpowiedzi na takie pole- nieuprawnionego dostÍpu do za- Zastosowanie w programatorze cenie sterownik odeúle (jeøeli wartoúci karty. mikrokontrolera zwalnia uøytkow- has³o dostÍpu by³o poprawne!) - CHANGE WRITE 0/1 PAS- nika w znacznym stopniu z ko- 256 kolejnych bajtÛw wybranej SWORD. Polecenie podobne do niecznoúci poznania szczegÛ³Ûw matrycy pamiÍciowej, pocz¹wszy poprzedniego, z t¹ rÛønic¹, øe dotycz¹cych transmisji danych od podanego adresu. Jeøeli adres dotyczy has³a zabezpieczaj¹cego oraz wszelkich niuansÛw wynika- pocz¹tkowy AAAA bÍdzie wiÍk- kartÍ przed zapisem. j¹cych ze specyfikacji producen- szy od 1F00h wys³ane zostan¹ - CHANGE RESET PASSWORD. ta. Z tego teø powodu powsta³ takøe kolejne bajty pocz¹wszy od Rozkaz umoøliwiaj¹cy zmianÍ jÍzyk nieco wyøszego poziomu, adresu 0. Elektronika Praktyczna 10/98 64 Czytnik-programator kart chipowych Tab. 1. Bajt HasBo Starszy bajt MBodszy bajt Opis polecenia (64 bity) dodatkowy dodatkowy 10000000 READ0 Adres MSB Adres LSB Odczyt matrycy Array0 10001000 READ1 Adres MSB Adres LSB Odczyt matrycy Array1 10010000 WRITE0 Adres MSB Adres LSB Zapis sektora w matrycy Array0 10011000 WRITE1 Adres MSB Adres LSB Zapis sektora w matrycy Array1 10100000 READ0 00000000 00000000 Zmiana hasBa READ0 10101000 READ1 00000000 00000000 Zmiana hasBa READ1 10110000 WRITE0 00000000 00000000 Zmiana hasBa WRITE0 10111000 WRITE1 00000000 00000000 Zmiana hasBa WRITE1 11000000 RESET 00000000 00000000 Zmiana hasBa RESET 11100000 RESET brak brak Zerowanie rejestrów haseB oraz obydwu matryc pamiciowych 11101000 RESET brak brak Zerowanie licznika bBdnych prób dostpu i ew. zawarto[ci matryc oraz rejestrów haseB 11110000 brak brak brak Sygnalizacja koDca wpisu hasBa. Polecenie wykorzystywane przez procedur ACK Polling Zapis sektora matryc a - numer matrycy 0 lub 1; pamiÍciowych x - znaki szesnastkowe 0..F Array0 i Array1 sk³adaj¹ce siÍ na dotychczasowe Sk³adnia polecenia: has³o WRITE0/1; Wra:xxxxxxxxxxxxxxxx:AAAA y - znaki szesnastkowe 0..F a - numer matrycy 0 lub 1; sk³adaj¹ce siÍ na nowe has³o x - znaki szesnastkowe 0..F WRITE0/1. sk³adaj¹ce siÍ na has³o WRITE0/1; Polecenie umoøliwia zmianÍ A - znaki szesnastkowe 0..F dotychczasowego has³a zabezpie- sk³adaj¹ce siÍ na adres pocz¹tko- czaj¹cego matryce Array0 i Array1 wy (zakres 0000..1FFFh). przed zapisem. Wys³anie takiego ci¹gu zna- kÛw do programatora prze³¹cza Zmiana hase³ odczytu go w tryb oczekiwania na dane Sk³adnia polecenia: - kolejne 32 bajty (jeøeli nie Cra:xxxxxxxxxxxxxxxx:yyyyyy- bÍdzie to ci¹g znakÛw RST) yyyyyyyyyy zostan¹ wpisane po zadany ad- a - numer matrycy 0 lub 1; res. x - znaki szesnastkowe 0..F sk³adaj¹ce siÍ na dotychczasowe Anulowanie ostatniego has³o READ0/1; polecenia y - znaki szesnastkowe 0..F Sk³adnia polecenia: sk³adaj¹ce siÍ na nowe has³o RST READ0/1. Wys³anie polecenia RST powo- Polecenie umoøliwia zmianÍ duje natychmiastowy powrÛt kon- dotychczasowego has³a zabezpie- trolera programatora do stanu czaj¹cego matryce Array0 i Array1 oczekiwania (logicznego wyzero- przed odczytem. wania). DziÍki temu moøna np. anulowaÊ ostatnio wys³ane pole- Zmiana has³a cenie zapisu matrycy pamiÍcio- zabezpieczaj¹cego dostÍp wej. do poleceÒ RESET Polecenie to nie ma øadnego Sk³adnia polecenia: wp³ywu na kartÍ. Crr:xxxxxxxxxxxxxxxx:yyyyyy- yyyyyyyyyy Zmiana hase³ zapisu x - znaki szesnastkowe 0..F Sk³adnia polecenia: sk³adaj¹ce siÍ na dotychczasowe Cwa:xxxxxxxxxxxxxxxx:yyyyy- has³o RESET; yyyyyyyyyyy y - znaki szesnastkowe 0..F Elektronika Praktyczna 10/98 65 Czytnik-programator kart chipowych sk³adaj¹ce siÍ na no- we has³o RESET. Polecenie umoøli- wia modyfikacjÍ has- ³a zabezpieczaj¹cego dostÍp do poleceÒ zerowania rejestrÛw hase³, licznika b³Íd- nych prÛb i matryc pamiÍciowych. Zerowanie matryc pamiÍciowych oraz rejestrÛw hase³ Sk³adnia polece- Rys. 12. Okno programu wy[wietlajcego zdjcie u|ytkownika karty. nia: DRS:xxxxxxxxxxxxxxxx x - znaki szesnastkowe 0..F jestracji i identyfikacji osÛb sk³adaj¹ce siÍ na has³o RESET. wchodz¹cych do chronionego po- Polecenie umoøliwia wyzero- mieszczenia. wanie licznika b³Ídnych prÛb, Mniejsz¹ matrycÍ pamiÍciow¹ obydwu matryc pamiÍciowych Array0 wykorzystano do przecho- oraz rejestrÛw hase³. wywania numeru identyfikuj¹ce- go posiadacza karty. MatrycÍ pa- Poprawne wykonanie polece- miÍciow¹ Array1 wykorzystano nia sygnalizowane jest przez pro- do przechowywania zdjÍcia uøyt- gramator tekstowym potwierdze- kownika karty. Plik zawieraj¹cy niem ìOK...î. W przypadku b³Ídu zdjÍcie musi mieÊ objÍtoúÊ 8192B sk³adni polecenia wysy³any jest i powinien byÊ zapisany w stan- komunikat o przypuszczalnym b³Í- dardzie JPG. Przy pomocy osob- dzie. nego okna prezentowanego pro- Przy pomocy zestawu pole- gramu moøliwy jest zapis iden- ceÒ przedstawionego powyøej tyfikatora oraz zdjÍcia do karty moøliwe jest wykonanie prak- chipowej. tycznie wszystkich operacji na Prezentowane oprogramowanie karcie z poziomu programu ter- bÍdzie wchodzi³o w sk³ad zesta- minalowego. Implementacja tych wu AVT-468. poleceÒ w dowolnym programie Piotr ZbysiDski, AVT narzÍdziowym, napisanym spe- cjalnie z myúl¹ o wspÛ³pracy z czytnikiem umoøliwia osi¹g- niÍcie bardzo interesuj¹cych Autor zastrzega moøliwoúÊ efektÛw - przyk³adem niech bÍ- modyfikacji programu steruj¹- dzie program obs³uguj¹cy stero- cego prac¹ czytnika - progra- wany elektronicznie zamek matora. Informacje o wpro- z identyfikacj¹ osÛb wchodz¹- wadzonych modyfikacjach bÍ- cych. d¹ do³¹czane do zestawÛw AVT-468. Przyk³adowa aplikacja DziÍki uniwersalnej konstruk- Trwaj¹ prace nad prostym, cji karty chipowe mog¹ znaleüÊ autonomicznym czytnikiem ca³y szereg zastosowaÒ. Jednym kart chipowych, ktÛre bÍdzie z najbardziej oczywistych jest moøna stosowaÊ jako stacjo- elektroniczna kontrola dostÍpu. narne sterowniki zamkÛw W laboratorium AVT powsta³o elektromagnetycznych. Projekt proste oprogramowanie dla kom- takiego urz¹dzenia przedsta- putera PC (Windows 95) steru- wimy w jednym z najbliø- j¹ce prac¹ czytnika (rys. 12), szych numerÛw EP. ktÛre moøna wykorzystaÊ do re- Elektronika Praktyczna 10/98 66

Wyszukiwarka

Podobne podstrony:
czytnik programator kart chipowych 02
Czytnik programator kart chipowych
Czytnik Programator Kart SIM GSM SIM SCAN
Programator kart chipowych 3
sterowniki programowalne plc, cz??? 3
Programowany termostat, część 1
Profesjonalne programowanie Czesc 2 Mysl niskopoziomowo pisz wysokopoziomowo propr2
Obsługa kart pamięci Flash, część 2
Obsługa kart pamięci Flash, część 7
Obsługa kart pamięci Flash, część 4
Programuje w Delphi i C Builder II czesc
Obsługa kart pamięci Flash, część 3

więcej podobnych podstron