Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Czytnik−programator

P R O J E K T Ykart chipowych

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-
programatora-czytnika oraz czonych kart jest chroniona przez
bardzo efektown¹, przyk³adow¹ mikrokontrolery zintegrowane
aplikacjÍ. Tematyka kart chipowych sta³a z†kryptokonrolerami, ktÛrych po-
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ø
Podstawowe parametry i możliwości najczÍúciej spe³nia rolÍ elementu zapisywaniu sobie do karty kre-
programatora: pamiÍciowego. Rzadko jednak spo- dytowej nieograniczonych limitÛw
✓ programuje i odczytuje zawartość pamięci tyka siÍ karty integruj¹ce w†we- pieniÍdzy do wydania. Co wiÍcej
kart chipowych X76F100 i X76F640; wnÍtrznym chipie sam¹ tylko pa- - zapewniam Was, øe podejmowa-
✓ 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/
8N2); bezpieczaj¹ce ich zawartoúÊ. Naj- (bior¹c dodatkowo pod uwagÍ
✓ rozmiar bufora danych: 32B; prostsze takie rozwi¹zania polega- trudnoúci, a†w†zasadzie niemoø-
✓ 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.
20mA. nych (partycji) pamiÍci, nieco bar- bezpieczeÒstwo informacjom tam

34 Elektronika Praktyczna 9/98


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
Rys. 1. Schemat blokowy karty chipowej X76F640.
zerowanie obydwu matryc pa-
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..+70 oC) wo prosta. ìSercemî programatora
wych kart chipowych (pe³ne ozna- oraz rozszerzonych (-20..+85 oC), 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Ê
Rys. 3. Schemat elektryczny urządzenia. wobec tego pewne w¹tpliwoúci.

36 Elektronika Praktyczna 9/98


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),
Rys. 4. Budowa układu zerującego ktÛra swoim úwiece-
DS1813. niem sygnalizuje
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,
tantÛw interfejsu UART w†uk³a- dziÍki czemu polary- Rys. 5. Rozmieszczenie elementów na płytce
dzie ST62T30B. NiedorÛbka ta zacja napiÍcia we- drukowanej.
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.

38 Elektronika Praktyczna 9/98


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
programu TERM95.EXE. Dla ciekawskich - jak
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
Rezystory START i†STOP. Wykorzystywane
R1, R2, R3: 3,3kΩ s¹ takøe pozosta³e elementy pro-
R4, R7: 680Ω cesu transmisji danych poprzez
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"
T1: BC547 standardowych uk³adÛw I2C. War-
karty o znak ACK
US1: ST62T30B − zaprogramowany to zwrÛciÊ uwagÍ, øe brak potwier- (bez bajtu polecenia).
US2: DS1813 (dowolna wersja dzenia ACK nie powoduje uznania
w obudowie TO−92) transmisji za niewaøn¹, jeøeli trwa
US3: ADM232L* krÛcej niø 10ms (czas niezbÍdny
US4: 78M05 lub podobny do zapisania matrycy EEPROM).
w obudowie TO−220 Na rys. 10 przedstawiono algorytm
Różne ìodpytywaniaî karty po wys³aniu
X1: 8MHz − oscylator kwarcowy bajtu polecenia.
Zl1: złącze kątowe, żeńskie DB9 Wszelkie problemy z†ogranicze-
Zl2: złącze z czujnikiem karty
niami czasowymi rozwi¹zuje op-
7434L0825S01−08 firmy FCI lub rogramowanie steruj¹ce prac¹ mik-
LM08 RS−Components rokontrolera.
Zl3: złącze zasilania Piotr Zbysiński, AVT
Radiator
DokoÒczenie artyku³u znajdzie
Zasilacz 8..12VDC/100mA lub
podobny siÍ w†paüdziernikowym numerze
Kabel RS232/1:1 (złącza: męskie/
EP.
żeńskie) Dane katalogowe kart chipo-
* Jeżeli zamiast układu ADM232L zostanie
wych X76F100 i†X76F640 s¹ do-
zastosowany standardowy układ XX232 stÍpne do koÒca paüdziernika
kondensatory C12..15 powinny mieć pod adresem: www.avt.com.pl/avt/
pojemność 10µF. W przypadku ep/ftp.
zastosowania układu ADM232A Rys. 10. Algorytm "odpytywania"
kondensatory C12..15 powinny mieć Kody X76F640 udostÍpni³a do karty o znak ACK
pojemność 100nF każdy. testÛw firma E-2000 Setron. (z wykorzystaniem bajtu polecenia).

Elektronika Praktyczna 9/98 39

You might also like