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ęść 2czytnik programator kart chipowych 02Czytnik Programator Kart SIM GSM SIM SCANProgramator kart chipowych 3zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6Międzynarodowy Program Badań nad Zachowaniami SamobójczymiCSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)Instrukcja Programowania Zelio Logic 2 wersja polskaProgram wykładu Fizyka II 14 15roprm ćwiczenie 6 PROGRAMOWANIE ROBOTA Z UWZGLĘDNIENIEM ANALIZY OBRAZU ARLANGio port programming 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a2009 12 Metaprogramowanie algorytmy wykonywane w czasie kompilacji [Programowanie C C ]Podstawy Programowania Wersja Rozszerzonakoło Programy GoofyPROGRAMYwięcej podobnych podstron