Czytnik programator kart chipowych


Czytnik-programatorYkart chipowych
P R O J E K T
Czytnik-programator kart
chipowych, część 1
kit AVT-468
Artykuł prezentujący
konstrukcjÍ czytnika-
programatora kart chipowych
bÍdzie skÅ‚adaÅ‚ siÍ z dwÛch
czÍÅ›ci. W pierwszej z nich
przedstawiamy zasadÍ dziaÅ‚ania
kart chipowych, sposÛb ich
dziej zaawansowa-
programowania oraz konstrukcjÍ
ne wykorzystujÄ…
elektrycznÄ… urzÄ…dzenia.
liczniki liczby
Za miesiąc przybliłymy
bÅ‚Ídnie podanych haseÅ‚,
sposÛb sterowania pracÄ… a zawartośĘ najlepiej zabezpie-
czonych kart jest chroniona przez
programatora-czytnika oraz
mikrokontrolery zintegrowane
bardzo efektowną, przykładową
Tematyka kart chipowych staÅ‚a z kryptokonrolerami, ktÛrych po-
aplikacjÍ.
siÍ w ostatnich miesiÄ…cach bardzo konanie jest niezwykle trudne.
modna zarÛwno wÅ›rÛd elektroni- Pomimo opracowania wielu
kÛw, jak i ogromnej rzeszy ìsza- niezÅ‚ych standardÛw opisujÄ…cych
rychî ludzi. Jest to efekt coraz strukturÍ fizycznÄ… i sposÛb pracy
szerszego ich stosowania - kaÅ‚dy interfejsu Å‚Ä…czÄ…cego wnÍtrze karty
telefon komÛrkowy sieci GSM jest ze Å›wiatem, panuje w tej dziedzi-
wyposaÅ‚ony w takÄ… kartÍ, coraz nie dośĘ duÅ‚y ìbaÅ‚aganî, ktÛry
wiÍksza liczba automatÛw telefo- w znacznym stopniu utrudnia za-
nicznych ìwoliî pobieraĘ opÅ‚aty projektowanie uniwersalnego pro-
za rozmowy z kart chipowych, gramatora do wszystkich typÛw
a nie magnetycznych. Takłe po- kart chipowych. Dodatkową, na-
siadacze kont bankowych zostanÄ… prawdÍ niebagatelnÄ…, trudnoÅ›ciÄ…
wkrÛtce wyposaÅ‚eni w takie karty. jest utajnienie fragmentÛw doku-
Z wyglÄ…du karta chipowa przypo- mentacji przez producentÛw kart.
mina zwykÅ‚Ä… kartÍ kredytowÄ… lub Dlaczego to robiÄ…? Produkcja
bankomatowÄ…, z tÄ… rÛÅ‚nicÄ…, Å‚e na kart to dobry biznes, ale ich
jej jednej stronie znajdujÄ… siÍ ìrozkuwanieî jest jeszcze lepszym.
efektownie wyglądające złocone
pola stykowe. O czym w artykule nie
CÛÅ‚ to wiÍc, tak naprawdÍ, jest bÍdÍ pisaÅ‚ i dlaczego
ta ìkarta chipowaî? Wbrew pozo- Od razu siÍ zastrzegam - urzÄ…-
rom nie jest łatwo odpowiedzieĘ dzenie prezentowane w artykule
na to pytanie. Najprostszą jest nie zostało opracowane z myślą
odpowiedü, Å‚e jest to karta wy- o Å‚adowaniu ìlewychî impulsÛw
posaÅ‚ona w ukÅ‚ad scalony, ktÛry do kart telefonicznych, czy teÅ‚
najczÍÅ›ciej speÅ‚nia rolÍ elementu zapisywaniu sobie do karty kre-
Podstawowe parametry i możliwości
pamiÍciowego. Rzadko jednak spo- dytowej nieograniczonych limitÛw
programatora:
tyka siÍ karty integrujÄ…ce w we- pieniÍdzy do wydania. Co wiÍcej
programuje i odczytuje zawartość pamięci
wnÍtrznym chipie samÄ… tylko pa- - zapewniam Was, Å‚e podejmowa-
kart chipowych X76F100 i X76F640;
sterowany jest przez dowolny program miÍĘ. Zazwyczaj karty chipowe sÄ… nie takich prÛb zdecydowanie nie
terminalowy;
wyposaÅ‚one w mniej lub bardziej ma sensu. Zastosowane we wspÛÅ‚-
wymiana danych odbywa siÄ™ poprzez port
zaawansowane mechanizmy za- czesnych kartach zabezpieczenia
szeregowy RS232 (19200/8N1 lub 19200/
bezpieczajÄ…ce ich zawartośĘ. Naj- (biorÄ…c dodatkowo pod uwagÍ
8N2);
prostsze takie rozwiązania polega- trudności, a w zasadzie niemoł-
rozmiar bufora danych: 32B;
czas programowania sektora pamięci (32
jÄ… na zastosowaniu haseÅ‚ dostÍpu nośĘ, zdobycia kompletnej doku-
bajty): poniżej 11ms;
do poszczegÛlnych blokÛw logicz- mentacji) zapewniajÄ… bardzo duÅ‚e
zasilanie: 8..12VDC lub AC, pobór prądu ok.
nych (partycji) pamiÍci, nieco bar- bezpieczeÒstwo informacjom tam
20mA.
Elektronika Praktyczna 9/98
34
Czytnik-programator kart chipowych
(osobne dla zapisu/odczytu). Tak-
Å‚e inne polecenia, nie zwiÄ…zane
bezpośrednio z operacjami na
matrycy pamiÍciowej, wymagajÄ…
do uaktywnienia odpowiedniego
hasÅ‚a. W sumie dostÍpu do ukÅ‚a-
du X76F640 chroni aÅ‚ piÍĘ haseÅ‚
o dÅ‚ugoÅ›ci 64 bitÛw kaÅ‚de.
- Licznik powtÛrzeÒ, ktÛry stano-
wi bardzo wałny element zabez-
pieczajÄ…cy zawartośĘ pamiÍci.
Jełeli wystąpi kilka (osiem) nie-
uprawnionych (bez podania od-
powiedniego hasÅ‚a) prÛb dostÍ-
pu do jakiejkolwiek funkcji pa-
miÍci, nastÍpuje automatyczne
zerowanie obydwu matryc pa-
Rys. 1. Schemat blokowy karty chipowej X76F640.
miÍciowych. DziÍki temu moÅ‚na
zapisanym. Co prawda karty te- w kartach Centertela!) doszedÅ‚em z prawdopodobieÒstwem bliskim
lefoniczne nie zawierają w sobie do wniosku, łe w czasie zmarno- pewności załołyĘ, łe osoby nie-
mikroprocesora z wyszukanymi al- wanym na Å›ledzenie zachowania powoÅ‚ane nie bÍdÄ… w stanie po-
gorytmami zabezpieczajÄ…cymi, ale karty po kolejnych prÛbach dostÍ- dejrzeĘ informacji zapisanych
zastosowane w nich bardzo proste pu, wiÍcej moÅ‚na zarobiĘ sprze- w matrycach pamiÍciowych.
zabezpieczenia gwarantujÄ… ich dajÄ…c te karty. - Rejestr odpowiedzi identyfikujÄ…-
kompletne skasowanie (w przy- Tak wiÍc, z jednej strony kusi cej, ktÛry jest uzupeÅ‚nieniem
padku struktur EEPROM) - otrzy- eksperymentowanie, z drugiej stro- układu X76F640. Wbudowanie
mujemy w ten sposÛb bardzo dro- ny nie bardzo siÍ to opÅ‚aca! tego rejestru w strukturÍ karty
gÄ… pustÄ… kartÍ, ktÛrÄ… moÅ‚na pÛü- WyciÄ…gniÍcie wnioskÛw pozosta- gwarantuje speÅ‚nienie wymogÛw
niej wykorzystaĘ we własnej ap- wiam Wam. standardu ISO7816 (opisuje spo-
likacji (jeÅ‚eli znany jest produ- sÛb przekazywania danych
cent karty) lub wyzerowanie do- Co wobec tego? z i do karty). Rejestr ten jest
stÍpnych jednostek - a moÅ‚na to Wszystkie argumenty zniechÍ- faktycznie zaprogramowanÄ…
zrobiĘ bez trudu (w przypadku cajÄ…ce Was do marnowania czasu, przez producenta ìna sztywnoî
struktur EPROM). ktÛre przedstawiÅ‚em powyÅ‚ej, nie 32-bitowÄ… matrycÄ… pamiÍciowÄ…,
Dla porzÄ…dku wyjaÅ›niÍ, aby za- majÄ… na celu zamkniÍcie tematu ktÛra pozwala jednoznacznie
pobiec traceniu czasu na Å‚amanie i zakoÒczenie artykuÅ‚u! SÄ… bo- okreÅ›liĘ czytnikowi z jakim ty-
ìszyfrÛwî Telekomunikacji Polskiej wiem dostÍpne na rynku bardzo pem ukÅ‚adu ma do czynienia.
lub bankÛw, dlaczego przeÅ‚amanie interesujÄ…ce karty chipowe, ktÛre
nawet najprostszych zabezpieczeÒ moÅ‚na samodzielnie zastosowaĘ W celu zachowania zgodnoÅ›ci
jest maÅ‚o prawdopodobne. w ciekawych aplikacjach. Co wiÍ- z jedynym liczÄ…cym siÍ w Å›wiecie
Karty, ktÛrych struktura jest cej - jest do nich dostÍpna niezÅ‚a standardem mechanicznym, opi-
zgodna ze standardem przemysło- dokumentacja, a cena samych kart sującym rozmieszczenie elemen-
wym (np. ODS, Gemplus, S&O, nie powoduje udaru u potencjal- tÛw stykowych w kartach chipo-
ORGA), wymagajÄ… do poprawnego nych klientÛw. wych, karta X76F640 ma wypro-
wykorzystania wpisania do mat- Schemat blokowy karty wyko- wadzenia jak na rys. 2. W pew-
rycy pamiÍciowej kilku znakÛw rzystanej w prezentowanym projek- nym uproszczeniu moÅ‚na przyjąĘ,
charakteryzujÄ…cych ich wydawcÍ cie przedstawiono na rys. 1. Å‚e ich rozkÅ‚ad jest identyczny
(np. bank lub firmÍ telekomuni- Na pierwszy rzut oka karta z zaleceniami standardu ISO7816.
kacyjnÄ…). Znaki te sÄ… zapamiÍty- X76F640 to zwykÅ‚a pamiÍĘ EEP- Warto wspomnieĘ, Å‚e ukÅ‚ad
wane zazwyczaj w matrycy EP- ROM z interfejsem I2C! Ale tylko X76F640 wystÍpuje w kilku wer-
ROM, do ktÛrej skasowania nie- na pozÛr! UkÅ‚ad X76F640 rzeczy-
zbÍdne jest zastosowanie promie- wiÅ›cie integruje w swojej struktu-
niowania ultrafioletowego. Matry- rze dwa niezaleÅ‚ne bloki pamiÍci
ca EPROM jest zabezpieczona EEPROM (jeden o pojemności 8kB,
przed niepowoÅ‚anym odczytem. drugi o pojemnoÅ›ci 32B), a oprÛcz
Zastosowanie takiej procedury mo- nich kilka moduÅ‚Ûw dodatkowych:
dyfikacji karty wymagaÅ‚oby jej - Blok porÛwnywania haseÅ‚ wej-
bardzo precyzyjnego demontału ściowych ze wzorcami. Odpo-
(struktury sÄ… zazwyczaj zalane wiada on za weryfikacjÍ haseÅ‚
masą syntetyczną nie przepusz- wpisywanych do układu przez
czajÄ…cÄ… Å›wiatÅ‚a). zewnÍtrzny sterownik. Warto
Po serii prÛb (przecieÅ‚ nie zwrÛciĘ uwagÍ, Å‚e dostÍp do
mogÍ siÍ przyznaĘ w EP, Å‚e nie kaÅ‚dego z obszarÛw pamiÍcio-
Rys. 2. Wyprowadzenia układu
potrafiÅ‚em przeÅ‚amaĘ zabezpieczeÒ wych wymaga osobnego hasÅ‚a
X76F640.
Elektronika Praktyczna 9/98
35
Czytnik-programator kart chipowych
sjach obudÛw. W prezentowanym Xicor produkuje karty przysto- Jak widaĘ konstrukcja elekt-
urzÄ…dzeniu wykorzystywane bÍdÄ… sowane do pracy w temperatu- ryczna urzÄ…dzenia jest stosunko-
ukÅ‚ady w obudowach standardo- rach standardowych (0..+70oC) wo prosta. ìSercemî programatora
wych kart chipowych (pełne ozna- oraz rozszerzonych (-20..+85oC), jest jeden z najnowszych mikro-
czenie ukÅ‚adu X76F640Y), ale co jest cechowane literÄ… kontrolerÛw rodziny ST62, ukÅ‚ad
dostÍpne sÄ… takÅ‚e ukÅ‚ady w obu- E w oznaczeniu. DostÍpne sÄ… tak- noszÄ…cy oznaczenie ST62T30B
dowach: łe wersje pracujące z niskimi (US1). Jest on wyposałony w du-
- SOIC8 (ozn. X76F640A); napiÍciami zasilania (2,7..3,6V). Å‚Ä… pamiÍĘ programu (8kB), we-
- nieobudowanej struktury (ozn. SÄ… one oznaczone dodatkowym wnÍtrznÄ… pamiÍĘ EEPROM, RAM
X76F640H i W); sufiksem ì-2,7î. oraz szereg interesujÄ…cych peryfe-
- 8-pinowego moduÅ‚u, bez obudo- ryjnych moduÅ‚Ûw wewnÍtrznych,
wy w postaci karty noÅ›nej (ozn. Opis urzÄ…dzenia spoÅ›rÛd ktÛrych w projekcie wy-
X76F640X). MoÅ‚emy teraz przejśĘ do omÛ- korzystano port komunikacji sze-
wienia tajnikÛw konstrukcji pro- regowej UART, timer oraz watch-
gramatora-czytnika. Jego schemat dog.
elektryczny przedstawiono na Program wpisany do pamiÍci
rys. 3. procesora odpowiada za popra-
wnÄ… pracÍ caÅ‚ego programatora,
konfiguracjÍ portÛw, obsÅ‚ugÍ prze-
rwaÒ (wykorzystano dwa spoÅ›rÛd
dostÍpnych) itp. Na list. 1 przed-
stawiono fragment tego programu,
zawierajÄ…cy procedurÍ inicjalizacji
rejestrÛw i urzÄ…dzeÒ wewnÍtrz-
nych procesora oraz dwie proce-
dury przedstawiajÄ…ce sposÛb reali-
zacji odczytu 32 bitÛw sÅ‚owa
Response To Reset, ktÛre umoÅ‚-
liwia rozpoznanie typu karty wło-
Å‚onej do czytnika. Kolejne odczy-
tane bajty słowa RTR są zwracane
przez procedurÍ read_byte w aku-
mulatorze, a procedura info_a (po-
miniÍto jÄ…, ze wzglÍdu na dÅ‚ugośĘ
listingu) odpowiada za wysyłanie
komunikatÛw diagnostycznych do
komputera PC.
Poniewał jednym z najwałniej-
szych problemÛw na jakie napo-
tykajÄ… konstruktorzy systemÛw
mikroprocesorowych jest popra-
wne wyzerowanie procesora po
wÅ‚Ä…czeniu zasilania i blokadÍ jego
pracy przy napiÍciu o nieprawid-
łowej wartości, w programatorze
zastosowano scalony generator
sygnału zerującego firmy Dallas,
ktÛry nosi oznaczenie DS1813
(US2). Schemat blokowy przybli-
Å‚ajÄ…cy jego budowÍ wewnÍtrznÄ…
przedstawiono na rys. 4. Mołli-
woÅ›ci tego ukÅ‚adu sÄ… wiÍksze od
wymagaÒ aplikacji - poniewaÅ‚ nie
jest wykorzystywany układ wspo-
magajÄ…cy zerowanie rÍczne. Ze
wzglÍdu na niemal identycznÄ…
cenÍ ukÅ‚adu DS1813 z ukÅ‚adami
DS1811 (i podobnymi) wybÛr padÅ‚
na układ bardziej elastyczny.
W aplikacji wykorzystano tylko
8 linii I/O procesora. Zastosowa-
nie stosunkowo dułego procesora
z rodziny ST62 mołe wywoływaĘ
wobec tego pewne wątpliwości.
Rys. 3. Schemat elektryczny urzÄ…dzenia.
Elektronika Praktyczna 9/98
36
Czytnik-programator kart chipowych
Listing 1.
;*************************************************************** card3 set cs,drb
;* Czytnik kart chipowych z RS232 ld a,x
;*************************************************************** cpi a,4
.title  Chip_Card jrz card2
.input  rejestry.a62 jp card5
.vers  st6230 card2 ldi drwr,rtr_err.w
.romsize 8 ldi y,rtr_err.d
.pp_on call info_a
.dp_on card6 res lederr,drd
.w_on call wait
set lederr,drd
rst .equ 4 ; portc call wait
insert .equ 5 ; portc jrs insert,drc,card6
cs .equ 4 ; portb card5 ret
sda .equ 5 ; portb
scl .equ 6; portb
ledprog .equ 6; portd ;***************************************************************
lederr .equ 7 ; portd ;* Procedura INFO - wysyla 16 znakow komunikatu przez RS232
;***************************************************************
info_a *******************
.section 1
.org 0h
;***************************************************************
;*************************************************************** ;* Procedura odczytu bajtu R_T_R
;* Inicjalizacja procesora ;* Odczytany bajt znajduje sie w A
;*************************************************************** ;* Informacje odbierane sa w kolejnosci: BYTE0 LSB..MSB, BYTE1...
begin ldi ddrd,11100000b ; wyjscie dla UARTa i LEDow ;***************************************************************
ldi ord,11100000b ; read_byte:
ldi drd,00000000b res ledprog,drd
clr a
ldi ddrc,00010000b ; ustala wyjscie dla RST set scl,drb
ldi orc,00010000b jrr sda,drb,b7_1 ; oznacza, ze odebrany bit jest rowny 1
ldi drc,00000000b set 0,a
b7_1 res scl,drb
ldi ddrb,01010000b ; wyjscia SCL, CS, set scl,drb
; SDA na razie  wejscie jrr sda,drb,b6_1
ldi orb,01010000b ; zalezy od bitu PB5 set 1,a
ldi drb,00010000b b6_1 res scl,drb
set scl,drb
reti jrr sda,drb,b5_1
set 2,a
set 7,drd ; gasi LEDa ERR b5_1 res scl,drb
set 6,drd ; gasi LEDa PROG set scl,drb
jrr sda,drb,b4_1
ldi ior,00010000b ; wlacza przerwania set 3,a
ldi uartcr,00101001b ; ustala, ze: b4_1 res scl,drb
; - szybkosc: 19200b/s (8n1 lub 2) set scl,drb
; - aktywne przerwanie od RECEIVERa jrr sda,drb,b3_1
set 4,a
b3_1 res scl,drb
;*************************************************************** set scl,drb
;* Odczytuje z karty RESPONSE TO RESET i wysyla do PC jrr sda,drb,b2_1
;* Wykorzystany bufor TEMP i V, X! set 5,a
;*************************************************************** b2_1 res scl,drb
card res ledprog,drd ; opoznienie po wlaczeniu zasilania set scl,drb
call wait jrr sda,drb,b1_1
ldi x,0 ; zeruje bajt kontrolny czy set 6,a
00/FF b1_1 res scl,drb
set ledprog,drd set scl,drb
res cs,drb jrr sda,drb,b0_1
set rst,drc set 7,a
set scl,drb ; impuls zegara inicjujacy R_T_R b0_1 res scl,drb
nop ; niezbedne opoznienie (katalog!) set ledprog,drd
nop ret
nop
res scl,drb wait ldi v,0ffh
res rst,drc l2 ldi a,0ffh
ldi v,4 ; ilosc bajtow do odczytania l1 dec a
rd_rtr call read_byte jrnz l1
ld uartdr,a dec v
cpi a,0 jrnz l2
jrz dodaj ret
cpi a,0ffh
jrz dodaj .section 32
jp card1 .org 00h
dodaj inc x ; zwieksza stan licznika bajtow 00/FF jp uart_int ; skok do obslugi przerwania od REC UART
card1 jrr 6,uartcr,card1 ; wysyla odczytany bajt do PC
dec v .org 0eh
jrz card3 reset jp begin
jp rd_rtr
WybÛr na ST62T30B padÅ‚ regowej transmisji danych jest wano oprÛcz elementÛw tworzÄ…-
z dwÛch zasadniczych powodÛw. prosta, niezawodna i moÅ‚liwe cych interfejs takÅ‚e pompÍ Å‚adun-
1.Ma on duÅ‚Ä… pamiÍĘ dla progra- jest wykorzystanie stosunkowo kowÄ…, dziÍki ktÛrej napiÍcie 5V
mu, co pozwoliło na dośĘ swo- dułych szybkości (do 38,4kb/s), jest przetwarzane do poziomu
bodne (czytaj rozrzutne) gospo- co jest niewykonalne w przy- ą9..12V, co w zupełności spełnia
darowanie niÄ…. Program sterujÄ…- padku programowej emulacji in- wymagania stawiane przez stan-
cy po ìdoszlifowaniuî zajmuje tefejsu. dard RS232.
ok. 6,3kB, przy czym z pewnoÅ›- Tak wiÍc zwyciÍÅ‚yÅ‚a wygoda W egzemplarzu modelowym
ciÄ… daÅ‚oby siÍ go jeszcze nieco projektanta - co wziÄ…wszy po ADM232L, ktÛry charakteryzuje
zmniejszyĘ, ale nie w takim uwagÍ cenÍ ukÅ‚adu - jest wystar- siÍ wbudowanymi doskonaÅ‚ymi
stopniu, aby zejśĘ poniÅ‚ej kry- czajÄ…cym uzasadnieniem w tym zabezpieczeniami antyprzepiÍcio-
tycznego progu 4kB (takie procesorze. wymi, niewielkim poborem mocy,
ìkwantyî pojemnoÅ›ci pamiÍci UkÅ‚ad US3 speÅ‚nia rolÍ kon- a do poprawnej pracy wystarczajÄ…
dostÍpne sÄ… w rodzinie ST62). wertera napiÍciowego, poÅ›redni- mu cztery niewielkie kondensato-
2.Procesory ST62T30B majÄ… wbu- czÄ…cego pomiÍdzy mikrokontrole- ry o pojemnoÅ›ci ok. 1µF. MoÅ‚na
dowany sprzÍtowy port szerego- rem ST62T30B i liniÄ… RS232. oczywiÅ›cie zastosowaĘ zamiast
wy, dziÍki czemu obsÅ‚uga sze- W strukturÍ tego ukÅ‚adu wbudo- ADM232L dowolnÄ… innÄ… wersjÍ
Elektronika Praktyczna 9/98
37
Czytnik-programator kart chipowych
rem op-
tycznym jest dio-
da D4 (ozn. CARD),
ktÛra swoim Å›wiece-
Rys. 4. Budowa układu zerującego
niem sygnalizuje
DS1813.
włołenie karty (lub
tego popularnego układu, ale wy- czegoś do niej me-
maga to zazwyczaj dobrania po- chanicznie podobne-
jemnoÅ›ci kondensatorÛw C12..15 go) do uchwytu Zl2.
(patrz uwagi w wykazie elemen- Pozostałe elemen-
tÛw). ty urzÄ…dzenia sÄ… dośĘ
DośĘ intrygujÄ…co (przyznacie typowe i nie bÍdÍ ich
wszyscy) wyglÄ…da na schemacie szczegÛÅ‚owo omawiaÅ‚.
inwerter, wykonany w oparciu Wartko jedynie zwrÛ-
o tranzystor T1 i dwa rezystory: ciĘ uwagÍ na fakt
R1, R2. Zastosowanie tego skom- zastosowania na we-
plikowanego układu miało na jściu zasilania most-
celu zlikwidowanie niedorÛbki ka prostowniczego
(tak to niestety wygląda!) projek- w układzie Graetza,
Rys. 5. Rozmieszczenie elementów na płytce
tantÛw interfejsu UART w ukÅ‚a- dziÍki czemu polary-
drukowanej.
dzie ST62T30B. NiedorÛbka ta zacja napiÍcia we-
polega na wysyÅ‚aniu na pin TxD jÅ›ciowego moÅ‚e byĘ dowolna, sygnalizowane zewnÍtrznie zapa-
informacji w postaci zanegowa- moÅ‚liwe jest takÅ‚e zasilanie na- leniem na chwilÍ diod ERR
nej, co zdecydowanie uniemoÅ‚li- piÍciem zmiennym. i PROG, nastÍpnie zgaÅ›niÍciem
wia pracÍ interfejsu. Tak wiÍc, diody ERR i po chwili PROG.
po zastosowaniu inwertera przed Montał i uruchomienie Taka sekwencja oznacza, łe ini-
ukÅ‚adem AD232 problemy z po- PÅ‚ytkÍ programatora zaprojek- cjalizacja procesora przebiegÅ‚a pra-
prawnoÅ›ciÄ… transmisji danych towano jako dwustronnÄ… z meta- widÅ‚owo. NastÍpnie naleÅ‚y pod-
zniknÍÅ‚y. W egzemplarzu modelo- lizowanymi otworami. Widok mo- Å‚Ä…czyĘ do programatora i kompu-
wym zastosowano pojedynczy in- zaiki ściełek obydwu stron płytki tera PC kabel RS232 i uruchomiĘ
weter serii TinyLogic, ale ze przedstawiono na wkładce we- dowolny program terminalowy.
wzglÍdu na trudny montaÅ‚ (SMD) wnÄ…trz numeru, a schemat mon- Doskonale do tego celu nadaje siÍ
i stosunkowo wysokÄ… cenÍ ukÅ‚adu taÅ‚owy pÅ‚ytki na rys. 5. Hyper Terminal (rys. 6), stano-
zdecydowanie lepszym rozwiąza- Montał urządzenia nie ma spe- wiący standardowe wyposałenie
niem okazaÅ‚ siÍ inwerter tranzys- cjalnych wymagaÒ. Przed wluto- Windows 95 lub TERM95 (rys. 7),
torowy. waniem w pÅ‚ytkÍ stabilizatora US4 ktÛry jest czÍÅ›ciÄ… skÅ‚adowÄ… Nor-
Programator zostaÅ‚ wyposaÅ‚o- naleÅ‚y przykrÍciĘ do niego radia- ton Commandera. Programy termi-
ny w cztery diody sygnalizacyjne tor, a nastÍpnie przykrÍciĘ go do nalowe mogÄ… pracowaĘ w dowol-
LED, ktÛre w pewnym stopniu pÅ‚ytki drukowanej. Po wykonaniu nym trybie znakowym z wyÅ‚Ä…czo-
uÅ‚atwiajÄ… diagnostykÍ urzÄ…dzenia. tych czynnoÅ›ci moÅ‚na przyluto- nym echem lokalnym. Najlepszym
Dioda D1 (ozn. PWR) sygnalizuje waĘ koÒcÛwki stabilizatora do rozwiÄ…zaniem jest wykorzystanie
Å›wieceniem fakt doÅ‚Ä…czenia na- punktÛw lutowniczych. Bardzo trybu ANSI lub HEX.
piÍcia zasilajÄ…cego do programa- waÅ‚ne jest takÅ‚e - uwaga dla tych Parametry transmisji naleÅ‚y za-
tora. Zalecany dla niej kolor to CzytelnikÛw, ktÛrzy nie zakupiÄ… daĘ nastÍpujÄ…co:
zielony. Dioda D2 (ozn. PROG) zestawu - aby złącze Zl1 było
informuje uÅ‚ytkownika, Å‚e proce- Å‚eÒskie! Ze wzglÍdÛw bezpieczeÒ-
sor wymienia z kartÄ… informacjÍ, stwa warto zastosowaĘ pod ukÅ‚ad
w zwiÄ…zku z czym nie wolno jej US1 podstawkÍ.
wyjmowaĘ z uchwytu Zl2. W eg- Do uruchomienia układu po-
zemplarzu modelowym zastoso- trzebny bÍdzie kabel 1:1 zakoÒ-
wano diodÍ o Å‚ÛÅ‚tym kolorze czony zÅ‚Ä…czami 9-stykowymi (z
Å›wiecenia. DiodÍ D3 (ozn. ERR) jednej strony mÍskim, z drugiej
wykorzystano do sygnalizowania Å‚eÒskim) oraz zasilacz o napiÍciu
bÅ‚ÍdÛw wystÍpujÄ…cych podczas wyjÅ›ciowym 8..15VDC i wydajnoÅ›-
pracy programatora. Najbardziej ci prÄ…dowej min. 20mA.
ìlogicznymî kolorem tej diody Po wÅ‚Ä…czeniu zasilania proce-
jest oczywiÅ›cie czerwony. Ostat- sor wykonuje prostÄ… procedurÍ
Rys. 6. Widok okna programu
nim zastosowanym sygnalizato- testowÄ…, ktÛrej wykonywanie jest
Hyper Terminal.
Elektronika Praktyczna 9/98
38
Czytnik-programator kart chipowych
- T:. Jełeli po kilku sekundach
na ekranie terminala pojawi siÍ
odpowiedü ìTEST OK....î moÅ‚na
przyjąĘ, łe programator działa
poprawnie. Jełeli taki komunikat
siÍ nie pojawi naleÅ‚y dokÅ‚adnie
sprawdziĘ jakośĘ montału i zasto-
sowanych elementÛw.
Rys. 8. Widok okna działającego
Dla ciekawskich - jak
programu TERM95.EXE.
karta i procesor ze sobÄ…
- ramka 8-bitowa; rozmawiajÄ…?
- szybkośĘ transferu 19200b/s; Wymiana danych pomiÍdzy
- bity stopu 1 lub 2; procesorem sterujÄ…cym pracÄ… pro-
- brak bitu parzystości. gramatora i kartą jest dośĘ złoło-
W skrÛcie moÅ‚na je zapisaĘ na. Dzieje siÍ tak pomimo zasto-
jako: 19200/8N1 lub 19200/8N2. sowania popularnego interfejsu,
Po uruchomieniu i skonfiguro- ktÛry w znacznym stopniu jest
waniu programu terminalowego zgodny ze standardem I2C. Zgod-
Rys. 8. Sposób przesyłania danych.
naleły napisaĘ na ekranie (co nośĘ polega przede wszystkim na
w praktyce oznacza wysłaĘ do tym, łe początek i koniec kałdej
programatora) polecenie autotestu przesyłanej ramki wymaga wyge-
nerowania przez procesor (pracu-
WYKAZ ELEMENTÓW
jÄ…cy jako Master) warunkÛw
START i STOP. Wykorzystywane
Rezystory
są takłe pozostałe elementy pro-
R1, R2, R3: 3,3k&!
cesu transmisji danych poprzez
R4, R7: 680&!
szynÍ I2C, typowe dla ogÛlnie
R5, R6: 390&!
znanych standardÛw.
Kondensatory
Na rys. 8 przedstawiono pod-
C1, C2, C3: 100µF/25V
stawowy algorytm transmisji da-
C5, C6, C7, C8: 100nF
nych. Jak widaĘ kałde polecenie
C9, C10: 10µF/10V
(omÛwimy je w drugiej czÍÅ›ci ar-
C11, C16: 47µF/10V
tykułu) wymaga potwierdzenia nie-
C12, C13, C14, C15: 1µF/25V
zaleÅ‚nym hasÅ‚em, ktÛrego dÅ‚ugośĘ
C17, C18: 27pF
wynosi 64 bity. Na rys. 9 przed-
Półprzewodniki
stawiono sposÛb ìodpytywaniaî
D1, D2, D3, D4: LED karty o potwierdzenie ACK. Taka
M1: mostek 500mA/50V procedura nie jest typowa dla
Rys. 9. Algorytm "odpytywania"
standardowych ukÅ‚adÛw I2C. War-
T1: BC547
karty o znak ACK
to zwrÛciĘ uwagÍ, Å‚e brak potwier-
US1: ST62T30B - zaprogramowany
(bez bajtu polecenia).
dzenia ACK nie powoduje uznania
US2: DS1813 (dowolna wersja
transmisji za niewałną, jełeli trwa
w obudowie TO-92)
krÛcej niÅ‚ 10ms (czas niezbÍdny
US3: ADM232L*
do zapisania matrycy EEPROM).
US4: 78M05 lub podobny
Na rys. 10 przedstawiono algorytm
w obudowie TO-220
ìodpytywaniaî karty po wysÅ‚aniu
Różne
bajtu polecenia.
X1: 8MHz - oscylator kwarcowy
Wszelkie problemy z ogranicze-
Zl1: złącze kątowe, żeńskie DB9
niami czasowymi rozwiÄ…zuje op-
Zl2: złącze z czujnikiem karty
rogramowanie sterujÄ…ce pracÄ… mik-
7434L0825S01-08 firmy FCI lub
rokontrolera.
LM08 RS-Components
Piotr Zbysiński, AVT
Zl3: złącze zasilania
Radiator
DokoÒczenie artykuÅ‚u znajdzie
Zasilacz 8..12VDC/100mA lub
siÍ w paüdziernikowym numerze
podobny
EP.
Kabel RS232/1:1 (złącza: męskie/
Dane katalogowe kart chipo-
żeńskie)
wych X76F100 i X76F640 sÄ… do-
* Jeżeli zamiast układu ADM232L zostanie
stÍpne do koÒca paüdziernika
zastosowany standardowy układ XX232
kondensatory C12..15 powinny mieć pod adresem: www.avt.com.pl/avt/
pojemność 10µF. W przypadku
ep/ftp.
Rys. 10. Algorytm "odpytywania"
zastosowania układu ADM232A
Kody X76F640 udostÍpniÅ‚a do
kondensatory C12..15 powinny mieć karty o znak ACK
pojemność 100nF każdy. testÛw firma E-2000 Setron.
(z wykorzystaniem bajtu polecenia).
Elektronika Praktyczna 9/98
39


Wyszukiwarka

Podobne podstrony:
Czytnik programator kart chipowych, część 2
czytnik programator kart chipowych 02
Czytnik Programator Kart SIM GSM SIM SCAN
Programator kart chipowych 3
zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6
Międzynarodowy Program Badań nad Zachowaniami Samobójczymi
CSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)
Instrukcja Programowania Zelio Logic 2 wersja polska
Program wykładu Fizyka II 14 15
roprm ćwiczenie 6 PROGRAMOWANIE ROBOTA Z UWZGLĘDNIENIEM ANALIZY OBRAZU ARLANG
io port programming 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a
2009 12 Metaprogramowanie algorytmy wykonywane w czasie kompilacji [Programowanie C C ]
Podstawy Programowania Wersja Rozszerzona
koło Programy Goofy
PROGRAMY

więcej podobnych podstron