-_ _
_-
--_ -_ D'
-=_ following
section is for
- -_ d' locals at d'
Hungarian stati-
ons wordware.
on float
~~
|
Magyarországon bevezetett telefonkártya leírása
A kártya (50 és 120 egységes egyformán) egy 256 bites tárolóeszközt és
az olvasás- programozáshoz szükséges logikai áramkört rejt magában.
Az alábbi ábrák a lábkiosztást, bekötést és felép‚tést mutatják.
________________ __________________________________________
| 8 ||7 ||6 || 5 | | +--------<---------+ |
| || || || | | ------------- ----------- |
| \\__||__// | | | 96+160 bit | | |<+-----|<(6)WE
| \ ____ / | | |tárolóterület|--<---|c‚mszámláló|<|-+---|<(7)CK
|----// \\----| | ------------- | |<|-|-+-|<(8)RE
|----\\____ \----| | | ----------- | | | |
| /__ __\ | | ------------- ----------- | | | |
| // || \\ | | |kimeneti árk.|--<---|programozó |<+ | | |
| || || || | | | |-- | logika |<--+ | |
| 1 ||2 ||3 || 4 | | ------------- | | |<----+ |
---------------- | | | ----------- |
| | ----------| |
------------------------------------------
| | | | |
(2) (5) (4) (3) (1)
OUT VCC GND VPP NC
A tárolóterület elsõ 96 bitje (0.-tól 95.-ig) csak olvasható (széria-
szám,egyéb adatok). A további 160 bit (96.- 255.) égethetõ, itt az
elejétõl a bitek 0 állapota jelzi a meglévõ egységet, amely 1-be éget-
hetõ. Ezen a részen az egységek száma mint információ egy bizonyos
algoritmus alapján van tárolva. A tárolóterületet a címszámláló címzi
meg, amely a CK órajel, -RE reset engedélyezõ és WE programozas engedé-
lyezõ bemenetek állapotától függõen vagy resetelõdik (0. címre áll),
vagy növeli egyel a címet, vagy nem változtat a címen. A programozó
logika feladata az égetõ impulzus engedélyezése a címszámláló állásának
megfelelõ címen.
1-es láb: (NC) nincs bekötve a chip-be.
2-es láb: (OUT) a kimenet. Az adott címen a bit állapota jelenik meg,
ha a CK órajel bemenet L szintũ. A CK bemenet H, akkor az OUT is
általában H szintet vesz fel.
3-mas láb: (VPP) az égetõ feszültség bemenete. A kártya olvasásakor
+5V-ot kell a VPP-re kapcsolni,ellenkezõ esetben nem mũködik a kimeneti
áramkör. &EACUTE;getéshez 21-25V pozitív feszültség kell.
4-es láb: (GND) a tápfeszültség testpontja.
5-ös láb: (VCC) +5V tápfeszültség.
6-os láb: (WE) égetést engedélyezõ bemenet.Ha a WE=H szintũ és VPP=21V,
akkor a CK bemenet 50mS ideig tartó H impulzusa hatására elég a bit
L-bõl H-ba. Olvasás során WE=L kell.
7-es láb: (CK) órajel bemenet. H impulzus hatására a WE, a -RE és a VPP
állapotától függõen lép, vagy marad eredeti állapotában,vagy nullázódik
a címszámláló, vagy égetés történik.
8-as láb: (-RE) reset engedélyezõ bemenet.A minusz jel a felülhuzást, a
negált jelet helyettesíti. L szintje esetén a CK órajel bemeneten H-ból
L-be lefutó él nullázza (reset), H szintje esetén pedig lépteti a
címszámlálót, ha ez alatt WE=L szintũ volt.
A fenti ki- és bemenetek L ill. H szintje a TTL szinteknek megfelelõek.
A CK, WE ás -RE bemenetek egyes kombinációira a címszámláló reakciója,
vagyis, hogy mi történik a kártyában,VPP=5V esetén, az alábbi példákból
látható.
+--------------+ +--------------+ +-----------+
CK--+ +-- --+ +-- --+ +-----
+---------+
WE=L------------------ L------------------- -------+ +--
XXXXXXXXXXXXXX XXXXXXXXXXXXX------- XXXX XXXXXXXXXX
-REXXXXXXXXXXXXXX------ XXXXXXXXXXXXX XXXX------XXXXXXXXXX
Reset Lép Reset
+-------+ +-----------+ +-----------+
CK-----+ +------ --+ +----- -----+ +--
+--------------+ +---------+ +---------+
WE--+ +-- -------+ +-- --+ +-------
XXXXXXXXXXXXXXXXXXXX XXXX------XXXXXXXXXX XXXXXXXXXXXXXX------
-REXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX XXXXXXXXXXXXXX
Nem lép, nincs reset! Lép Lép
+--------------------+ +--------------------+
CK--+ +-- --+ +---
------+ +-------- +----------+
WE +----------+ -------+ +--------
XXXXXXXXXXXXXX-------XXXXX XXXXXXXXXXXXXXXXXXXX-------
-REXXXXXXXXXXXXXX XXXXX XXXXXXXXXXXXXXXXXXXX
Lép Lép
Az X azt jelöli, hogy ott mindegy milyen allapotban van a bemenet.
Az alábbi táblázat a címszámláló pontos mũködését mutatjaVPP=5V esetén.
+-----+-----+-----+-----+-------------+
| A | B | C | D | |
+-----+-----+-----+-----+ |
| WE+ | WE+ | CK+ | CK+ | Címszámláló |
| -RE | CK | WE | -RE | |
+-----+-----+-----+-----+-------------+
| X | X | 0 | 1 | Lép egyet |
+-----+-----+-----+-----+-------------+
| X | X | 0 | 0 | Reset |
+-----+-----+-----+-----+-------------+
| 1 | 1 | 1 | X | Lép egyet |
+-----+-----+-----+-----+-------------+
| 0 | 1 | 1 | X | Reset |
+-----+-----+-----+-----+-------------+
| X | 0 | 1 | X | Nem változik|
+-----+-----+-----+-----+-------------+
Az A oszlop a WE bemenet felfutó élénél a -RE bemenet,
a B oszlop a WE bemenet felfutó élénél a CK bemenet,
a C oszlop a CK bemenet lefutó élénél a WE bemenet,
a D oszlop a CK bemenet lefutó élénél a -RE bemenet állapotát mutatja.
A telefonkészülék a kártya kiolvasását a következõképpen végzi:
A kártyát behelyezve a készülékbe, WE=L, VPP=0V, -RE=L, CK=L szintũek.
VCC=5V bekapcsol, majd 13-15 mS mulva a VPP=5V lesz. Ezután 600 ≤S
elteltével a CK bemenet H-ba ugrik és 8 ≤S után vissza L-be (reset).
Ekkor a címszámláló a 0. címre ugrik és a kimeneten (OUT) megjelenik a
0. címen lévõ bit állapota. A CK bemenet lefutó élét követõen 60 ≤S
mulva a -RE bemenet H-ba vált, majd 13 ≤S mulva a CK bemenet ismét
H-ba ugrik 8 ≤S idõre és vissza L-be (címszámláló egyet lép). A
kimeneten megjelenik az 1. cím állapota. Ezután a 8 ≤S hossz£ órajel
impulzusok 70 ≤S-enként követik egymást egészen a 255. címig. A 255.
cím beolvasása után a készülék -RE=L szintet, majd 200 ≤S mulva
VPP=0V-ot, ezt követve 500 ≤S idõvel VCC=0V-ot kapcsol. Ezután kis idõ
mulva megjelenik a készülék LCD kijelzõjén a kártyán lévõ egységek
száma. Az alábbi ábra a fenti jelsorozatot mutatja.
++ ++ ++ ++ ++
CK----------++-------++-------++-------++-------++----- - - ----------
+----------------------------------- - - -+
-RE-----------------+ +--------
+--------+ 0.bit +------------------+ 3.bit ++ 4.bit +---+
OUT--+ +-------+ 1.bit 2.bit +-------++----- - - ----+ +-
WE=L-------------------------------------------------------------------
+--------------------------------------------------------------+
VCC--+ VCC=5V +--
+---------------------------------------------------------+
VPP-----+ VPP=5V +----
Tárcsázás közben a kártya nem kap tápfeszültséget. Mikor a hívott fél
felveszi a kagylót, az elõzõ teljes beolvasási ciklus megismétlõdik,
majd a tápfesz kikapcsolása nélkül, mint a beolvasásnál, egy reset után
ellépteti a címszámlálót az elégetendõ bitre és elégeti azt a következö
módon.CK=L, WE=L, VPP=5V, -RE=H, címszámláló az 1-be égetendõ bit címén
áll. VPP-re a készülék 21V körüli feszültséget kapcsol, majd 100 ≤S
mulva a WE bemenetet H-ba valtja, ezután 25 ≤S-mal a CK bemenetet is
H-ba váltja és 50 mS idõ után kapcsolja vissza L-be. Ez az 50 mS volt
az égetési impulzus. A CK lefutó élétõl 60 ≤S mulva a VPP-t visszakap-
csolja 5V-ra, majd 360 ≤S elteltével a WE bemenetet L szintbe váltja.
Ezzel vége az égetési ciklusnak, a tápfesz kikapcsolása nélkül reset
és teljes beolvasás következik (ellenõrzi a készülék a bit leégetését).
Ezután a tápfesz kikapcsolása nélkül reset és mégegy teljes beolvasást
hajt végre. A tápfeszt továbbra sem szakítja meg, reset és az elsõ 0
állapotú bitre léptetés következik, ez általában az elsõ bitek vala-
melyike. Ezt a bitet a fent már részletezett égetési ciklussal megpro-
bálja leégetni.
Természetesen ez nem fog sikerülni, mert az elsõ 96 bit nem égethetõ,
valószínũ csak védelmi okokból csinálja. Ezután a tápfesz kikapcsolása
nélkül reset, újra beolvassa az egész 256 bitet és kikapcsolja a táp-
feszt a fent leírt módon. Ennek a több ciklusból álló folyamatnak a
végén jelenik meg az LCD kijelzõn az egyel csökkentett egységszám. Ha
egy egységnek megfelelõ telefonalási idõ eltelt, a fenti leégetési
procedúra megismétlõdik és megint kevesebb lesz egy egységgel.
Ez a leégetési procedúra a telefonkészülék processzorának programjának
változtatása során módosulhat, például korábban egyszerũbb volt: az
egység leégetése után csak egyszer olvasta be a 256 bitet és utána nem
próbált égetni az elsõ 96 bites területre.
Az alábbi ábra egy bit elégetését és az utána következõ resetet, majd a
beolvasás elejét mutatja.
+--------------+ ++ ++ ++
CK-------------+ +---------------++-------++-------++----
------------------------------------------+ +----------------
-RE +--------+
+-------------------------------+ 0.bit +--------------
OUT-------------+ +-------+ 1.bit 2.bit
+------------------------------+
WE-------+ +-----------------------------
+-----------------------------+
VPP---+ VPP=21V +----------------------------------
VPP=5V VPP=5V
50 egységes, 0 egységre leégetett kártya tartalma:
|0.bit 63.bit|
01000000 10011010 10111110 10110101 01001011 00101011 01100111 01010000
00000001 00000010 00001111 11101111 11001111 11111111 11111111 11111111
11111111 11111111 11111111 11111110 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
|192.bit 255.bit|
50 egységes, 1 egységet tartalmazó kártya tartalma:
01000000 10011010 01000100 01101101 01001011 00101111 00010110 10001101
00000001 00000010 00111111 11101111 00001111 11111111 11111111 11111111
11111111 11111111 11111111 11111110 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
50 egységes, 4 egységet tartalmazó kártya tartalma:
01000000 10011010 01101011 01010100 01001011 00101100 00011100 11101000
00000001 00000010 01001111 11101111 00001111 11111111 11111111 11111111
11111111 11111111 11111111 11110000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Az elõzõ 50 egységes kártya 3 egységre leégetve:
01000000 10011010 01101011 01010100 01001011 00101100 00011100 11101000
00000001 00000010 01001111 11101111 00001111 11111111 11111111 11111111
11111111 11111111 11111111 11111000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Az elõzõ 50 egységes kártya 2 egységre leégetve:
01000000 10011010 01101011 01010100 01001011 00101100 00011100 11101000
00000001 00000010 01001111 11101111 00001111 11111111 11111111 11111111
11111111 11111111 11111111 11111100 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Az elõzõ 50 egységes kártya 1 egységre leégetve:
01000000 10011010 01101011 01010100 01001011 00101100 00011100 11101000
00000001 00000010 01001111 11101111 00001111 11111111 11111111 11111111
11111111 11111111 11111111 11111110 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Az elõzõ 50 egységes kártya 0 egységre leégetve:
01000000 10011010 01101011 01010100 01001011 00101100 00011100 11101000
00000001 00000010 01001111 11101111 11001111 11111111 11111111 11111111
11111111 11111111 11111111 11111110 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Egy másik 50 egységes, 50 egységet tartalmazó kártya:
10111001 10000011 11100010 01000101 01000000 10010100 00011101 00111110
00000001 00001010 00010001 11100000 00000000 00000000 01001001 10101000
01000000 00000000 10000000 01100000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Az elõzõ kártya 0 egységre égetve:
10111001 10000011 11100010 01000101 01000000 10010100 00011101 00111110
00000001 00001010 00010001 11100000 11101111 11111111 11111111 11111111
11111111 11111111 11111111 11111110 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
120 egységes, 120 egységet tartalmazó kártya:
10111000 10000011 11011101 00111000 01000000 10011010 00011100 11101000
00000001 00000011 00010001 11100000 00000000 00000000 00111000 01000000
10000000 00000000 00100000 00000000 00000000 00000001 00000000 00000000
00000000 00000000 00000010 00000110 00000000 00000000 00000000 00000000
Az elõzõ kártya 119 egységre leégetve:
10111000 10000011 11011101 00111000 01000000 10011010 00011100 11101000
00000001 00000011 00010001 11100000 00001000 00000000 00111000 01000000
10000000 00000000 00100000 00000000 00000000 00000001 00000000 00000000
00000000 00000000 00000010 00000110 00000000 00000000 00000000 00000000
Az elõzõ kártya 118 egységre leégetve:
10111000 10000011 11011101 00111000 01000000 10011010 00011100 11101000
00000001 00000011 00010001 11100000 00001100 00000000 00111000 01000000
10000000 00000000 00100000 00000000 00000000 00000001 00000000 00000000
00000000 00000000 00000010 00000110 00000000 00000000 00000000 00000000
Az elõzõ kártya 117 egységre leégetve:
10111000 10000011 11011101 00111000 01000000 10011010 00011100 11101000
00000001 00000011 00010001 11100000 00001110 00000000 00111000 01000000
10000000 00000000 00100000 00000000 00000000 00000001 00000000 00000000
00000000 00000000 00000010 00000110 00000000 00000000 00000000 00000000
Az elõzõ kártya 21 egységre leégetve:
10111000 10000011 11011101 00111000 01000000 10011010 00011100 11101000
00000001 00000011 00010001 11100000 00001111 11111111 11111111 11111111
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
11111111 11111100 00000010 00000110 00000000 00000000 00000000 00000000
Az elõzõ kártya 0 egységre leégetve:
10111000 10000011 11011101 00111000 01000000 10011010 00011100 11101000
00000001 00000011 00010001 11100000 11101111 11111111 11111111 11111111
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111 11111000 00000000 00000000 00000000
Az elsõ 96 bit egy része szériaszámként értelmezhetõ, a további 160 bit
az egységek tárolóterülete.Ezen a részen (az összes egységet tartalmazó
kártyánál) elszórva mindíg található 10 db 1-es, melyek helyezete az
ellenõrzõ algoritmus miatt kötött, az adott szériaszámhoz tartozik.
Átírásuk,vagy az elsõ 96 bit változtatása különbözõ hibaüzeneteket vált
ki a készülékbõl. Hibás kártyával való kisérletezésre a "Pillanatnyilag
nem áll rendelkezésre" üzenet alatt a telefonkészülék felhív egy
telefonszámot, melyre DTMF kódokkal információt közöl. Ezt persze
hibátlan használat esetén is megteszi valamilyen gyakorisággal.
<~><-><+> FEJlesztés aLATt <#><*><.>
A TKSIM.SCH nevü file Orcad V3.2 verzióval készült, egy egyszerũ áram-
köri példát mutat a telefonkártya szimulálására, ami hibamentesen
mũködik a fent közölt beolvasási és égetési algoritmust használó
készülékekkel.
A TKSIM.LIB file a TKSIM.SCH file könyvtári elemeit tartalmazza.
Az áramkör mũködése a következõ:
A CK, -RE és WE jeleket nand kapuk fogadják, melyek a CD4040 lefutó
élre binárisan számláló IC-nek elõállítják a reset és órajeleket. A
számláló Q0-Q7 kimenetei a 28C16 EEPROM A0-A7 címvezetékeit hajtja meg,
melyek az EEPROM 256 byte-os részét tudják megcímezni. Az EEPROM fenn-
maradó A8, A9 és A10 címvezetékeit H szintre kell kötni, vagy ezen
kívül egy kapcsoló sorra, ha több kártya tartalmát is beégetjük és
ezeket kapcsolgatni akarjuk. Az EEPROM valamelyik I/O lába (a beégeten-
dõ tartalom úgy van megadva, hogy mindegy melyik) egy felhúzó ellen-
álláson és két inverteren keresztül kerül az OUT-ra. A felhúzó ellen-
állás fontos, mert az egység leégetésekor az EEPROM I/O lába bemenet,
amit H-ba kell húzni. A VPP égetõ feszültség egy zénerrel, ellenállás-
sal és inverterrel úgy van kialakítva, hogy 5 vagy 21V esetén az
EEPROM-nak -CE jelet prezentál. Másik két zéner és ellenállás után a
VPP=0 vagy 5V L szintként, a 21V pedig H szintként jelentkezik. Ez
engedélyezi a WE jellel együtt a CK beégetõ impulzusát, mely egy
kb. 10mS-es impulzust elõállító tagon keresztül jut az EEPROM -WE
lábára. Két nand és egy inverter gondoskodik arról, hogy az elsõ 96
byte megcímzésekor ne juthasson el az égetõ impulzus az EEPROM-ba. Az
áramkör kis fogyasztása érdekében fontos, hogy minden IC CMOS legyen!
A zenerek BZX vagy ZPD legyen,mert más típusoknál nagy szórások szoktak
elõfordulni.
Az EEPROM tartalma egy az elõzõekben már bitenként közölt 120 egységes
kártya tartalma, amely most úgy van átalakítva, hogy egy bit egy byte-
nak felel meg és a byte minden bitje egyformán 0 vagy 1. Ez a 256 byte
a TK120.BIN nevũ file-ban található, melyet az EEPROM-ba a 0. címtõl
kell beégetni. A többi 256 byte-os szeletre is beégethetõ ugyanez a
tartalom, így a jelzett kapcsolósorral lehet (A8, A9, A10-es címveze-
tékek) átkapcsolni. A TK50.BIN nevũ file-ban egy hasonlóan átalakított
50 egységes kártya tartalma található.
A telefonkészülékbe a csatlakozást egy fantom kártyával lehet
megoldani. Nyáktervezõ programmal pontosan megtervezhetõ az aranyozott
rész. A lábak átmenõ lyukakon keresztül a panel alsó oldalán a végéhez
vezethetõk egy csatlakozóra. A panel alját széles vékony ragasztó
szalaggal el kell szigetelni. A kártya 0.8mm-es (szabványos) nyákból
készíthetõ.
~!~
|